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