
001package org.hl7.fhir.convertors.conv30_50.resources30_50; 002 003import org.hl7.fhir.convertors.VersionConvertorConstants; 004import org.hl7.fhir.convertors.context.ConversionContext30_50; 005import org.hl7.fhir.convertors.conv30_50.datatypes30_50.ContactDetail30_50; 006import org.hl7.fhir.convertors.conv30_50.datatypes30_50.UsageContext30_50; 007import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; 008import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Period30_50; 009import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; 010import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; 011import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; 012import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; 013import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; 014import org.hl7.fhir.dstu3.model.Extension; 015import org.hl7.fhir.dstu3.model.StringType; 016import org.hl7.fhir.dstu3.model.UriType; 017import org.hl7.fhir.exceptions.FHIRException; 018import org.hl7.fhir.r5.model.Enumeration; 019import org.hl7.fhir.r5.model.NamingSystem; 020 021public class NamingSystem30_50 { 022 023 public static org.hl7.fhir.dstu3.model.NamingSystem convertNamingSystem(org.hl7.fhir.r5.model.NamingSystem src) throws FHIRException { 024 if (src == null) 025 return null; 026 org.hl7.fhir.dstu3.model.NamingSystem tgt = new org.hl7.fhir.dstu3.model.NamingSystem(); 027 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyDomainResource(src, tgt); 028 if (src.hasUrlElement()) 029 tgt.getExtension().add(new Extension().setUrl(VersionConvertorConstants.EXT_NAMINGSYSTEM_URL).setValue(Uri30_50.convertUri(src.getUrlElement()))); 030 if (src.hasVersionElement()) 031 tgt.getExtension().add(new Extension().setUrl(VersionConvertorConstants.EXT_NAMINGSYSTEM_VERSION).setValue(String30_50.convertString(src.getVersionElement()))); 032 if (src.hasName()) 033 tgt.setNameElement(String30_50.convertString(src.getNameElement())); 034 if (src.hasTitleElement()) 035 tgt.getExtension().add(new Extension().setUrl(VersionConvertorConstants.EXT_NAMINGSYSTEM_TITLE).setValue(String30_50.convertString(src.getTitleElement()))); 036 037 if (src.hasStatus()) 038 tgt.setStatusElement(Enumerations30_50.convertPublicationStatus(src.getStatusElement())); 039 if (src.hasKind()) 040 tgt.setKindElement(convertNamingSystemType(src.getKindElement())); 041 if (src.hasDate()) 042 tgt.setDateElement(DateTime30_50.convertDateTime(src.getDateElement())); 043 if (src.hasPublisher()) 044 tgt.setPublisherElement(String30_50.convertString(src.getPublisherElement())); 045 for (org.hl7.fhir.r5.model.ContactDetail t : src.getContact()) 046 tgt.addContact(ContactDetail30_50.convertContactDetail(t)); 047 if (src.hasResponsible()) 048 tgt.setResponsibleElement(String30_50.convertString(src.getResponsibleElement())); 049 if (src.hasType()) 050 tgt.setType(CodeableConcept30_50.convertCodeableConcept(src.getType())); 051 if (src.hasDescription()) 052 tgt.setDescriptionElement(MarkDown30_50.convertMarkdown(src.getDescriptionElement())); 053 for (org.hl7.fhir.r5.model.UsageContext t : src.getUseContext()) 054 tgt.addUseContext(UsageContext30_50.convertUsageContext(t)); 055 for (org.hl7.fhir.r5.model.CodeableConcept t : src.getJurisdiction()) 056 tgt.addJurisdiction(CodeableConcept30_50.convertCodeableConcept(t)); 057 if (src.hasUsage()) 058 tgt.setUsageElement(String30_50.convertString(src.getUsageElement())); 059 for (org.hl7.fhir.r5.model.NamingSystem.NamingSystemUniqueIdComponent t : src.getUniqueId()) 060 tgt.addUniqueId(convertNamingSystemUniqueIdComponent(t)); 061 return tgt; 062 } 063 064 public static org.hl7.fhir.r5.model.NamingSystem convertNamingSystem(org.hl7.fhir.dstu3.model.NamingSystem src) throws FHIRException { 065 if (src == null) 066 return null; 067 org.hl7.fhir.r5.model.NamingSystem tgt = new org.hl7.fhir.r5.model.NamingSystem(); 068 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyDomainResource(src, tgt, VersionConvertorConstants.EXT_NAMINGSYSTEM_URL, VersionConvertorConstants.EXT_NAMINGSYSTEM_VERSION, VersionConvertorConstants.EXT_NAMINGSYSTEM_TITLE); 069 070 if (src.hasExtension(VersionConvertorConstants.EXT_NAMINGSYSTEM_URL)) { 071 tgt.setUrlElement(Uri30_50.convertUri((UriType) src.getExtensionByUrl(VersionConvertorConstants.EXT_NAMINGSYSTEM_URL).getValue())); 072 } 073 if (src.hasExtension(VersionConvertorConstants.EXT_NAMINGSYSTEM_VERSION)) { 074 tgt.setVersionElement(String30_50.convertString((StringType) src.getExtensionByUrl(VersionConvertorConstants.EXT_NAMINGSYSTEM_VERSION).getValue())); 075 } 076 if (src.hasName()) 077 tgt.setNameElement(String30_50.convertString(src.getNameElement())); 078 if (src.hasExtension(VersionConvertorConstants.EXT_NAMINGSYSTEM_TITLE)) { 079 tgt.setTitleElement(String30_50.convertString((StringType) src.getExtensionByUrl(VersionConvertorConstants.EXT_NAMINGSYSTEM_TITLE).getValue())); 080 } 081 if (src.hasStatus()) 082 tgt.setStatusElement(Enumerations30_50.convertPublicationStatus(src.getStatusElement())); 083 if (src.hasKind()) 084 tgt.setKindElement(convertNamingSystemType(src.getKindElement())); 085 if (src.hasDate()) 086 tgt.setDateElement(DateTime30_50.convertDateTime(src.getDateElement())); 087 if (src.hasPublisher()) 088 tgt.setPublisherElement(String30_50.convertString(src.getPublisherElement())); 089 for (org.hl7.fhir.dstu3.model.ContactDetail t : src.getContact()) 090 tgt.addContact(ContactDetail30_50.convertContactDetail(t)); 091 if (src.hasResponsible()) 092 tgt.setResponsibleElement(String30_50.convertString(src.getResponsibleElement())); 093 if (src.hasType()) 094 tgt.setType(CodeableConcept30_50.convertCodeableConcept(src.getType())); 095 if (src.hasDescription()) 096 tgt.setDescriptionElement(MarkDown30_50.convertMarkdown(src.getDescriptionElement())); 097 for (org.hl7.fhir.dstu3.model.UsageContext t : src.getUseContext()) 098 tgt.addUseContext(UsageContext30_50.convertUsageContext(t)); 099 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getJurisdiction()) 100 tgt.addJurisdiction(CodeableConcept30_50.convertCodeableConcept(t)); 101 if (src.hasUsage()) 102 tgt.setUsageElement(String30_50.convertString(src.getUsageElement())); 103 for (org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemUniqueIdComponent t : src.getUniqueId()) 104 tgt.addUniqueId(convertNamingSystemUniqueIdComponent(t)); 105 return tgt; 106 } 107 108 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.NamingSystem.NamingSystemIdentifierType> convertNamingSystemIdentifierType(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemIdentifierType> src) throws FHIRException { 109 if (src == null || src.isEmpty()) 110 return null; 111 Enumeration<NamingSystem.NamingSystemIdentifierType> tgt = new Enumeration<>(new NamingSystem.NamingSystemIdentifierTypeEnumFactory()); 112 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 113 if (src.getValue() == null) { 114 tgt.setValue(null); 115 } else { 116 switch (src.getValue()) { 117 case OID: 118 tgt.setValue(NamingSystem.NamingSystemIdentifierType.OID); 119 break; 120 case UUID: 121 tgt.setValue(NamingSystem.NamingSystemIdentifierType.UUID); 122 break; 123 case URI: 124 tgt.setValue(NamingSystem.NamingSystemIdentifierType.URI); 125 break; 126 case OTHER: 127 tgt.setValue(NamingSystem.NamingSystemIdentifierType.OTHER); 128 break; 129 default: 130 tgt.setValue(NamingSystem.NamingSystemIdentifierType.NULL); 131 break; 132 } 133 } 134 return tgt; 135 } 136 137 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemIdentifierType> convertNamingSystemIdentifierType(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.NamingSystem.NamingSystemIdentifierType> src) throws FHIRException { 138 if (src == null || src.isEmpty()) 139 return null; 140 org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemIdentifierType> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemIdentifierTypeEnumFactory()); 141 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 142 if (src.getValue() == null) { 143 tgt.setValue(null); 144 } else { 145 switch (src.getValue()) { 146 case OID: 147 tgt.setValue(org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemIdentifierType.OID); 148 break; 149 case UUID: 150 tgt.setValue(org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemIdentifierType.UUID); 151 break; 152 case URI: 153 tgt.setValue(org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemIdentifierType.URI); 154 break; 155 case OTHER: 156 tgt.setValue(org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemIdentifierType.OTHER); 157 break; 158 default: 159 tgt.setValue(org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemIdentifierType.NULL); 160 break; 161 } 162 } 163 return tgt; 164 } 165 166 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.NamingSystem.NamingSystemType> convertNamingSystemType(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemType> src) throws FHIRException { 167 if (src == null || src.isEmpty()) 168 return null; 169 Enumeration<NamingSystem.NamingSystemType> tgt = new Enumeration<>(new NamingSystem.NamingSystemTypeEnumFactory()); 170 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 171 if (src.getValue() == null) { 172 tgt.setValue(null); 173 } else { 174 switch (src.getValue()) { 175 case CODESYSTEM: 176 tgt.setValue(NamingSystem.NamingSystemType.CODESYSTEM); 177 break; 178 case IDENTIFIER: 179 tgt.setValue(NamingSystem.NamingSystemType.IDENTIFIER); 180 break; 181 case ROOT: 182 tgt.setValue(NamingSystem.NamingSystemType.ROOT); 183 break; 184 default: 185 tgt.setValue(NamingSystem.NamingSystemType.NULL); 186 break; 187 } 188 } 189 return tgt; 190 } 191 192 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemType> convertNamingSystemType(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.NamingSystem.NamingSystemType> src) throws FHIRException { 193 if (src == null || src.isEmpty()) 194 return null; 195 org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemType> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemTypeEnumFactory()); 196 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 197 if (src.getValue() == null) { 198 tgt.setValue(null); 199 } else { 200 switch (src.getValue()) { 201 case CODESYSTEM: 202 tgt.setValue(org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemType.CODESYSTEM); 203 break; 204 case IDENTIFIER: 205 tgt.setValue(org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemType.IDENTIFIER); 206 break; 207 case ROOT: 208 tgt.setValue(org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemType.ROOT); 209 break; 210 default: 211 tgt.setValue(org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemType.NULL); 212 break; 213 } 214 } 215 return tgt; 216 } 217 218 public static org.hl7.fhir.r5.model.NamingSystem.NamingSystemUniqueIdComponent convertNamingSystemUniqueIdComponent(org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemUniqueIdComponent src) throws FHIRException { 219 if (src == null) 220 return null; 221 org.hl7.fhir.r5.model.NamingSystem.NamingSystemUniqueIdComponent tgt = new org.hl7.fhir.r5.model.NamingSystem.NamingSystemUniqueIdComponent(); 222 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 223 if (src.hasType()) 224 tgt.setTypeElement(convertNamingSystemIdentifierType(src.getTypeElement())); 225 if (src.hasValue()) 226 tgt.setValueElement(String30_50.convertString(src.getValueElement())); 227 if (src.hasPreferred()) 228 tgt.setPreferredElement(Boolean30_50.convertBoolean(src.getPreferredElement())); 229 if (src.hasComment()) 230 tgt.setCommentElement(String30_50.convertString(src.getCommentElement())); 231 if (src.hasPeriod()) 232 tgt.setPeriod(Period30_50.convertPeriod(src.getPeriod())); 233 return tgt; 234 } 235 236 public static org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemUniqueIdComponent convertNamingSystemUniqueIdComponent(org.hl7.fhir.r5.model.NamingSystem.NamingSystemUniqueIdComponent src) throws FHIRException { 237 if (src == null) 238 return null; 239 org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemUniqueIdComponent tgt = new org.hl7.fhir.dstu3.model.NamingSystem.NamingSystemUniqueIdComponent(); 240 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 241 if (src.hasType()) 242 tgt.setTypeElement(convertNamingSystemIdentifierType(src.getTypeElement())); 243 if (src.hasValue()) 244 tgt.setValueElement(String30_50.convertString(src.getValueElement())); 245 if (src.hasPreferred()) 246 tgt.setPreferredElement(Boolean30_50.convertBoolean(src.getPreferredElement())); 247 if (src.hasComment()) 248 tgt.setCommentElement(String30_50.convertString(src.getCommentElement())); 249 if (src.hasPeriod()) 250 tgt.setPeriod(Period30_50.convertPeriod(src.getPeriod())); 251 return tgt; 252 } 253}