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