001package org.hl7.fhir.utilities; 002 003/** 004 * This enumeration is special, and hand crafted. It only supports a subset of the actual published FHIR versions, those that are still supported. 005 * @author graha 006 * 007 */ 008public enum FhirPublication { 009 NULL, 010 DSTU1, 011 DSTU2, 012 DSTU2016May, 013 STU3, 014 R4, 015 R4B, 016 R5; 017 018 public static FhirPublication fromCode(String v) { 019 if (VersionUtilities.isR2Ver(v)) 020 return FhirPublication.DSTU2; 021 if (VersionUtilities.isR2BVer(v)) 022 return FhirPublication.DSTU2016May; 023 if (VersionUtilities.isR3Ver(v)) 024 return FhirPublication.STU3; 025 if (VersionUtilities.isR4Ver(v)) 026 return FhirPublication.R4; 027 if (VersionUtilities.isR4BVer(v)) 028 return FhirPublication.R4B; 029 if (VersionUtilities.isR5Ver(v)) 030 return FhirPublication.R5; 031 return null; 032 } 033 034 public String toCode() { 035 switch (this) { 036 case DSTU1: return "0.01"; 037 case DSTU2: return "1.0.2"; 038 case DSTU2016May: return "1.4.0"; 039 case STU3: return "3.0.1"; 040 case R4: return "4.0.1"; 041 case R4B: return "4.3.0"; 042 case R5: return "5.0.0"; 043 default: 044 return "??"; 045 } 046 } 047 048 049}