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