
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.Identifier30_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.Code30_50; 011import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; 012import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; 013import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; 014import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; 015import org.hl7.fhir.dstu3.model.Enumerations.ConceptMapEquivalence; 016import org.hl7.fhir.exceptions.FHIRException; 017import org.hl7.fhir.r5.model.CanonicalType; 018import org.hl7.fhir.r5.model.Coding; 019import org.hl7.fhir.r5.model.Enumeration; 020import org.hl7.fhir.r5.model.Enumerations; 021import org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship; 022import org.hl7.fhir.r5.utils.ToolingExtensions; 023import org.hl7.fhir.utilities.CanonicalPair; 024 025public class ConceptMap30_50 { 026 027 public static org.hl7.fhir.dstu3.model.ConceptMap convertConceptMap(org.hl7.fhir.r5.model.ConceptMap src) throws FHIRException { 028 if (src == null) 029 return null; 030 org.hl7.fhir.dstu3.model.ConceptMap tgt = new org.hl7.fhir.dstu3.model.ConceptMap(); 031 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyDomainResource(src, tgt); 032 if (src.hasUrl()) 033 tgt.setUrlElement(Uri30_50.convertUri(src.getUrlElement())); 034 if (src.hasIdentifier()) 035 tgt.setIdentifier(Identifier30_50.convertIdentifier(src.getIdentifierFirstRep())); 036 if (src.hasVersion()) 037 tgt.setVersionElement(String30_50.convertString(src.getVersionElement())); 038 if (src.hasName()) 039 tgt.setNameElement(String30_50.convertString(src.getNameElement())); 040 if (src.hasTitle()) 041 tgt.setTitleElement(String30_50.convertString(src.getTitleElement())); 042 if (src.hasStatus()) 043 tgt.setStatusElement(Enumerations30_50.convertPublicationStatus(src.getStatusElement())); 044 if (src.hasExperimental()) 045 tgt.setExperimentalElement(Boolean30_50.convertBoolean(src.getExperimentalElement())); 046 if (src.hasDate()) 047 tgt.setDateElement(DateTime30_50.convertDateTime(src.getDateElement())); 048 if (src.hasPublisher()) 049 tgt.setPublisherElement(String30_50.convertString(src.getPublisherElement())); 050 for (org.hl7.fhir.r5.model.ContactDetail t : src.getContact()) 051 tgt.addContact(ContactDetail30_50.convertContactDetail(t)); 052 if (src.hasDescription()) 053 tgt.setDescriptionElement(MarkDown30_50.convertMarkdown(src.getDescriptionElement())); 054 for (org.hl7.fhir.r5.model.UsageContext t : src.getUseContext()) 055 tgt.addUseContext(UsageContext30_50.convertUsageContext(t)); 056 for (org.hl7.fhir.r5.model.CodeableConcept t : src.getJurisdiction()) 057 tgt.addJurisdiction(CodeableConcept30_50.convertCodeableConcept(t)); 058 if (src.hasPurpose()) 059 tgt.setPurposeElement(MarkDown30_50.convertMarkdown(src.getPurposeElement())); 060 if (src.hasCopyright()) 061 tgt.setCopyrightElement(MarkDown30_50.convertMarkdown(src.getCopyrightElement())); 062 if (src.hasSourceScope()) 063 tgt.setSource(ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().convertType(src.getSourceScope())); 064 if (src.hasTargetScope()) 065 tgt.setTarget(ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().convertType(src.getTargetScope())); 066 for (org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupComponent t : src.getGroup()) 067 tgt.addGroup(convertConceptMapGroupComponent(t, src)); 068 return tgt; 069 } 070 071 public static org.hl7.fhir.r5.model.ConceptMap convertConceptMap(org.hl7.fhir.dstu3.model.ConceptMap src) throws FHIRException { 072 if (src == null) 073 return null; 074 org.hl7.fhir.r5.model.ConceptMap tgt = new org.hl7.fhir.r5.model.ConceptMap(); 075 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyDomainResource(src, tgt); 076 if (src.hasUrl()) 077 tgt.setUrlElement(Uri30_50.convertUri(src.getUrlElement())); 078 if (src.hasIdentifier()) 079 tgt.addIdentifier(Identifier30_50.convertIdentifier(src.getIdentifier())); 080 if (src.hasVersion()) 081 tgt.setVersionElement(String30_50.convertString(src.getVersionElement())); 082 if (src.hasName()) 083 tgt.setNameElement(String30_50.convertString(src.getNameElement())); 084 if (src.hasTitle()) 085 tgt.setTitleElement(String30_50.convertString(src.getTitleElement())); 086 if (src.hasStatus()) 087 tgt.setStatusElement(Enumerations30_50.convertPublicationStatus(src.getStatusElement())); 088 if (src.hasExperimental()) 089 tgt.setExperimentalElement(Boolean30_50.convertBoolean(src.getExperimentalElement())); 090 if (src.hasDate()) 091 tgt.setDateElement(DateTime30_50.convertDateTime(src.getDateElement())); 092 if (src.hasPublisher()) 093 tgt.setPublisherElement(String30_50.convertString(src.getPublisherElement())); 094 for (org.hl7.fhir.dstu3.model.ContactDetail t : src.getContact()) 095 tgt.addContact(ContactDetail30_50.convertContactDetail(t)); 096 if (src.hasDescription()) 097 tgt.setDescriptionElement(MarkDown30_50.convertMarkdown(src.getDescriptionElement())); 098 for (org.hl7.fhir.dstu3.model.UsageContext t : src.getUseContext()) 099 tgt.addUseContext(UsageContext30_50.convertUsageContext(t)); 100 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getJurisdiction()) 101 tgt.addJurisdiction(CodeableConcept30_50.convertCodeableConcept(t)); 102 if (src.hasPurpose()) 103 tgt.setPurposeElement(MarkDown30_50.convertMarkdown(src.getPurposeElement())); 104 if (src.hasCopyright()) 105 tgt.setCopyrightElement(MarkDown30_50.convertMarkdown(src.getCopyrightElement())); 106 if (src.hasSource()) { 107 org.hl7.fhir.r5.model.DataType t = ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().convertType(src.getSource()); 108 tgt.setSourceScope(t instanceof org.hl7.fhir.r5.model.Reference ? new org.hl7.fhir.r5.model.CanonicalType(((org.hl7.fhir.r5.model.Reference) t).getReference()) : t); 109 } 110 if (src.hasTarget()) { 111 org.hl7.fhir.r5.model.DataType t = ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().convertType(src.getTarget()); 112 tgt.setTargetScope(t instanceof org.hl7.fhir.r5.model.Reference ? new org.hl7.fhir.r5.model.CanonicalType(((org.hl7.fhir.r5.model.Reference) t).getReference()) : t); 113 } 114 for (org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupComponent t : src.getGroup()) 115 tgt.addGroup(convertConceptMapGroupComponent(t, tgt)); 116 return tgt; 117 } 118 119 public static org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupComponent convertConceptMapGroupComponent(org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupComponent src, org.hl7.fhir.r5.model.ConceptMap tgtMap) throws FHIRException { 120 if (src == null) 121 return null; 122 org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupComponent tgt = new org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupComponent(); 123 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 124 if (src.hasSource() || src.hasSourceVersion()) 125 tgt.setSourceElement(convertUriAndVersionToCanonical(src.getSourceElement(), src.getSourceVersionElement())); 126 if (src.hasTarget() || src.hasTargetVersion()) 127 tgt.setTargetElement(convertUriAndVersionToCanonical(src.getTargetElement(), src.getTargetVersionElement())); 128 129 for (org.hl7.fhir.dstu3.model.ConceptMap.SourceElementComponent t : src.getElement()) 130 tgt.addElement(convertSourceElementComponent(t, tgtMap)); 131 if (src.hasUnmapped()) 132 tgt.setUnmapped(convertConceptMapGroupUnmappedComponent(src.getUnmapped())); 133 return tgt; 134 } 135 136 public static org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupComponent convertConceptMapGroupComponent(org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupComponent src, org.hl7.fhir.r5.model.ConceptMap srcMap) throws FHIRException { 137 if (src == null) 138 return null; 139 org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupComponent tgt = new org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupComponent(); 140 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 141 if (src.hasSource()) { 142 CanonicalPair cp = new CanonicalPair(src.getSource()); 143 tgt.setSource(cp.getUrl()); 144 tgt.setSourceVersion(cp.getVersion()); 145 } 146 if (src.hasTarget()) { 147 CanonicalPair cp = new CanonicalPair(src.getTarget()); 148 tgt.setTarget(cp.getUrl()); 149 tgt.setTargetVersion(cp.getVersion()); 150 } 151 for (org.hl7.fhir.r5.model.ConceptMap.SourceElementComponent t : src.getElement()) 152 tgt.addElement(convertSourceElementComponent(t, srcMap)); 153 if (src.hasUnmapped()) 154 tgt.setUnmapped(convertConceptMapGroupUnmappedComponent(src.getUnmapped())); 155 return tgt; 156 } 157 158 private static CanonicalType convertUriAndVersionToCanonical(org.hl7.fhir.dstu3.model.UriType srcUri, org.hl7.fhir.dstu3.model.StringType srcVersion) { 159 if (srcUri == null && srcVersion == null) 160 return null; 161 org.hl7.fhir.r5.model.CanonicalType tgt = new org.hl7.fhir.r5.model.CanonicalType(); 162 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(srcUri == null ? srcVersion : srcUri, tgt); 163 if (srcUri.hasValue()) { 164 if (srcVersion.hasValue()) { 165 tgt.setValue(srcUri.getValue() + "|" + srcVersion.getValue()); 166 } else { 167 tgt.setValue(srcUri.getValue()); 168 } 169 } 170 return tgt; 171 } 172 173 174 public static org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedComponent convertConceptMapGroupUnmappedComponent(org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedComponent src) throws FHIRException { 175 if (src == null) 176 return null; 177 org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedComponent tgt = new org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedComponent(); 178 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 179 if (src.hasMode()) 180 tgt.setModeElement(convertConceptMapGroupUnmappedMode(src.getModeElement())); 181 if (src.hasCode()) 182 tgt.setCodeElement(Code30_50.convertCode(src.getCodeElement())); 183 if (src.hasDisplay()) 184 tgt.setDisplayElement(String30_50.convertString(src.getDisplayElement())); 185 if (src.hasUrl()) 186 tgt.setOtherMap(src.getUrl()); 187 return tgt; 188 } 189 190 public static org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedComponent convertConceptMapGroupUnmappedComponent(org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedComponent src) throws FHIRException { 191 if (src == null) 192 return null; 193 org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedComponent tgt = new org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedComponent(); 194 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 195 if (src.hasMode()) 196 tgt.setModeElement(convertConceptMapGroupUnmappedMode(src.getModeElement())); 197 if (src.hasCode()) 198 tgt.setCodeElement(Code30_50.convertCode(src.getCodeElement())); 199 if (src.hasDisplay()) 200 tgt.setDisplayElement(String30_50.convertString(src.getDisplayElement())); 201 if (src.hasOtherMap()) 202 tgt.setUrl(src.getOtherMap()); 203 return tgt; 204 } 205 206 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedMode> convertConceptMapGroupUnmappedMode(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedMode> src) throws FHIRException { 207 if (src == null || src.isEmpty()) 208 return null; 209 org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedMode> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedModeEnumFactory()); 210 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 211 switch (src.getValue()) { 212 case PROVIDED: 213 tgt.setValue(org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedMode.USESOURCECODE); 214 break; 215 case FIXED: 216 tgt.setValue(org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedMode.FIXED); 217 break; 218 case OTHERMAP: 219 tgt.setValue(org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedMode.OTHERMAP); 220 break; 221 default: 222 tgt.setValue(org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedMode.NULL); 223 break; 224 } 225 return tgt; 226 } 227 228 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedMode> convertConceptMapGroupUnmappedMode(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedMode> src) throws FHIRException { 229 if (src == null || src.isEmpty()) 230 return null; 231 org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedMode> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedModeEnumFactory()); 232 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 233 switch (src.getValue()) { 234 case USESOURCECODE: 235 tgt.setValue(org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedMode.PROVIDED); 236 break; 237 case FIXED: 238 tgt.setValue(org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedMode.FIXED); 239 break; 240 case OTHERMAP: 241 tgt.setValue(org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedMode.OTHERMAP); 242 break; 243 default: 244 tgt.setValue(org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupUnmappedMode.NULL); 245 break; 246 } 247 return tgt; 248 } 249 250 public static org.hl7.fhir.dstu3.model.Enumeration<ConceptMapEquivalence> convertConceptMapEquivalence(Enumeration<ConceptMapRelationship> src, org.hl7.fhir.r5.model.ConceptMap.TargetElementComponent ccm) throws FHIRException { 251 if (src == null || src.isEmpty()) 252 return null; 253 org.hl7.fhir.dstu3.model.Enumeration<ConceptMapEquivalence> tgt = new org.hl7.fhir.dstu3.model.Enumeration<ConceptMapEquivalence>(new org.hl7.fhir.dstu3.model.Enumerations.ConceptMapEquivalenceEnumFactory()); 254 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 255 if (ccm.hasExtension(VersionConvertorConstants.EXT_OLD_CONCEPTMAP_EQUIVALENCE)) { 256 tgt.setValueAsString(ccm.getExtensionString(VersionConvertorConstants.EXT_OLD_CONCEPTMAP_EQUIVALENCE)); 257 } else { 258 switch (src.getValue()) { 259 case EQUIVALENT: 260 tgt.setValue(org.hl7.fhir.dstu3.model.Enumerations.ConceptMapEquivalence.EQUIVALENT); 261 break; 262 case SOURCEISNARROWERTHANTARGET: 263 tgt.setValue(org.hl7.fhir.dstu3.model.Enumerations.ConceptMapEquivalence.WIDER); 264 break; 265 case SOURCEISBROADERTHANTARGET: 266 tgt.setValue(org.hl7.fhir.dstu3.model.Enumerations.ConceptMapEquivalence.NARROWER); 267 break; 268 case NOTRELATEDTO: 269 tgt.setValue(org.hl7.fhir.dstu3.model.Enumerations.ConceptMapEquivalence.DISJOINT); 270 break; 271 case RELATEDTO: 272 tgt.setValue(org.hl7.fhir.dstu3.model.Enumerations.ConceptMapEquivalence.RELATEDTO); 273 break; 274 default: 275 tgt.setValue(org.hl7.fhir.dstu3.model.Enumerations.ConceptMapEquivalence.NULL); 276 break; 277 } 278 } 279 return tgt; 280 } 281 282 public static Enumeration<ConceptMapRelationship> convertConceptMapRelationship(org.hl7.fhir.dstu3.model.Enumeration<ConceptMapEquivalence> src, org.hl7.fhir.r5.model.ConceptMap.TargetElementComponent tgtCtxt) throws FHIRException { 283 if (src == null || src.isEmpty()) 284 return null; 285 Enumeration<ConceptMapRelationship> tgt = new Enumeration<ConceptMapRelationship>(new Enumerations.ConceptMapRelationshipEnumFactory()); 286 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 287 ToolingExtensions.setCodeExtensionMod(tgtCtxt, VersionConvertorConstants.EXT_OLD_CONCEPTMAP_EQUIVALENCE, src.getValueAsString()); 288 switch (src.getValue()) { 289 case EQUIVALENT: 290 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.EQUIVALENT); 291 break; 292 case EQUAL: 293 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.EQUIVALENT); 294 break; 295 case WIDER: 296 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.SOURCEISNARROWERTHANTARGET); 297 break; 298 case SUBSUMES: 299 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.SOURCEISNARROWERTHANTARGET); 300 break; 301 case NARROWER: 302 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.SOURCEISBROADERTHANTARGET); 303 break; 304 case SPECIALIZES: 305 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.SOURCEISBROADERTHANTARGET); 306 break; 307 case INEXACT: 308 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.RELATEDTO); 309 break; 310 case UNMATCHED: 311 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.NULL); 312 break; 313 case DISJOINT: 314 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.NOTRELATEDTO); 315 break; 316 case RELATEDTO: 317 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.RELATEDTO); 318 break; 319 default: 320 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.NULL); 321 break; 322 } 323 return tgt; 324 } 325 326 public static org.hl7.fhir.r5.model.ConceptMap.OtherElementComponent convertOtherElementComponent(org.hl7.fhir.dstu3.model.ConceptMap.OtherElementComponent src, org.hl7.fhir.r5.model.ConceptMap tgtMap) throws FHIRException { 327 if (src == null) 328 return null; 329 org.hl7.fhir.r5.model.ConceptMap.OtherElementComponent tgt = new org.hl7.fhir.r5.model.ConceptMap.OtherElementComponent(); 330 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 331 if (src.hasProperty()) 332 tgt.setAttribute(tgtMap.registerAttribute(src.getProperty())); 333 334 if (src.hasSystem()) { 335 tgt.setValue(new Coding().setSystem(src.getSystem()).setCode(src.getCode()).setDisplay(src.getDisplay())); 336 } else if (src.hasCodeElement()) { 337 tgt.setValue(String30_50.convertString(src.getCodeElement())); 338 } 339 return tgt; 340 } 341 342 public static org.hl7.fhir.dstu3.model.ConceptMap.OtherElementComponent convertOtherElementComponent(org.hl7.fhir.r5.model.ConceptMap.OtherElementComponent src, org.hl7.fhir.r5.model.ConceptMap srcMap) throws FHIRException { 343 if (src == null) 344 return null; 345 org.hl7.fhir.dstu3.model.ConceptMap.OtherElementComponent tgt = new org.hl7.fhir.dstu3.model.ConceptMap.OtherElementComponent(); 346 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 347 if (src.hasAttribute()) 348 tgt.setProperty(srcMap.getAttributeUri(src.getAttribute())); 349 if (src.hasValueCoding()) { 350 tgt.setSystem(src.getValueCoding().getSystem()); 351 tgt.setCode(src.getValueCoding().getCode()); 352 tgt.setDisplay(src.getValueCoding().getDisplay()); 353 } else if (src.hasValue()) { 354 tgt.setCode(src.getValue().primitiveValue()); 355 } 356 return tgt; 357 } 358 359 public static org.hl7.fhir.dstu3.model.ConceptMap.SourceElementComponent convertSourceElementComponent(org.hl7.fhir.r5.model.ConceptMap.SourceElementComponent src, org.hl7.fhir.r5.model.ConceptMap srcMap) throws FHIRException { 360 if (src == null) 361 return null; 362 org.hl7.fhir.dstu3.model.ConceptMap.SourceElementComponent tgt = new org.hl7.fhir.dstu3.model.ConceptMap.SourceElementComponent(); 363 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 364 if (src.hasCode()) 365 tgt.setCodeElement(Code30_50.convertCode(src.getCodeElement())); 366 if (src.hasDisplay()) 367 tgt.setDisplayElement(String30_50.convertString(src.getDisplayElement())); 368 if (src.hasNoMap() && src.getNoMap() == true) { 369 tgt.addTarget(new org.hl7.fhir.dstu3.model.ConceptMap.TargetElementComponent().setEquivalence(org.hl7.fhir.dstu3.model.Enumerations.ConceptMapEquivalence.UNMATCHED)); 370 } else { 371 for (org.hl7.fhir.r5.model.ConceptMap.TargetElementComponent t : src.getTarget()) 372 tgt.addTarget(convertTargetElementComponent(t, srcMap)); 373 } 374 return tgt; 375 } 376 377 public static org.hl7.fhir.r5.model.ConceptMap.SourceElementComponent convertSourceElementComponent(org.hl7.fhir.dstu3.model.ConceptMap.SourceElementComponent src, org.hl7.fhir.r5.model.ConceptMap tgtMap) throws FHIRException { 378 if (src == null) 379 return null; 380 org.hl7.fhir.r5.model.ConceptMap.SourceElementComponent tgt = new org.hl7.fhir.r5.model.ConceptMap.SourceElementComponent(); 381 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 382 if (src.hasCode()) 383 tgt.setCodeElement(Code30_50.convertCode(src.getCodeElement())); 384 if (src.hasDisplay()) 385 tgt.setDisplayElement(String30_50.convertString(src.getDisplayElement())); 386 for (org.hl7.fhir.dstu3.model.ConceptMap.TargetElementComponent t : src.getTarget()) 387 if (t.getEquivalence() == org.hl7.fhir.dstu3.model.Enumerations.ConceptMapEquivalence.UNMATCHED) { 388 tgt.setNoMap(true); 389 } else { 390 tgt.addTarget(convertTargetElementComponent(t, tgtMap)); 391 } 392 return tgt; 393 } 394 395 public static org.hl7.fhir.r5.model.ConceptMap.TargetElementComponent convertTargetElementComponent(org.hl7.fhir.dstu3.model.ConceptMap.TargetElementComponent src, org.hl7.fhir.r5.model.ConceptMap tgtMap) throws FHIRException { 396 if (src == null) 397 return null; 398 org.hl7.fhir.r5.model.ConceptMap.TargetElementComponent tgt = new org.hl7.fhir.r5.model.ConceptMap.TargetElementComponent(); 399 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 400 if (src.hasCode()) 401 tgt.setCodeElement(Code30_50.convertCode(src.getCodeElement())); 402 if (src.hasDisplay()) 403 tgt.setDisplayElement(String30_50.convertString(src.getDisplayElement())); 404 if (src.hasEquivalence()) 405 tgt.setRelationshipElement(convertConceptMapRelationship(src.getEquivalenceElement(), tgt)); 406 if (src.hasComment()) 407 tgt.setCommentElement(String30_50.convertString(src.getCommentElement())); 408 for (org.hl7.fhir.dstu3.model.ConceptMap.OtherElementComponent t : src.getDependsOn()) 409 tgt.addDependsOn(convertOtherElementComponent(t, tgtMap)); 410 for (org.hl7.fhir.dstu3.model.ConceptMap.OtherElementComponent t : src.getProduct()) 411 tgt.addProduct(convertOtherElementComponent(t, tgtMap)); 412 return tgt; 413 } 414 415 public static org.hl7.fhir.dstu3.model.ConceptMap.TargetElementComponent convertTargetElementComponent(org.hl7.fhir.r5.model.ConceptMap.TargetElementComponent src, org.hl7.fhir.r5.model.ConceptMap srcMap) throws FHIRException { 416 if (src == null) 417 return null; 418 org.hl7.fhir.dstu3.model.ConceptMap.TargetElementComponent tgt = new org.hl7.fhir.dstu3.model.ConceptMap.TargetElementComponent(); 419 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt, VersionConvertorConstants.EXT_OLD_CONCEPTMAP_EQUIVALENCE); 420 if (src.hasCode()) 421 tgt.setCodeElement(Code30_50.convertCode(src.getCodeElement())); 422 if (src.hasDisplay()) 423 tgt.setDisplayElement(String30_50.convertString(src.getDisplayElement())); 424 if (src.hasRelationship()) 425 tgt.setEquivalenceElement(convertConceptMapEquivalence(src.getRelationshipElement(), src)); 426 if (src.hasComment()) 427 tgt.setCommentElement(String30_50.convertString(src.getCommentElement())); 428 for (org.hl7.fhir.r5.model.ConceptMap.OtherElementComponent t : src.getDependsOn()) 429 tgt.addDependsOn(convertOtherElementComponent(t, srcMap)); 430 for (org.hl7.fhir.r5.model.ConceptMap.OtherElementComponent t : src.getProduct()) 431 tgt.addProduct(convertOtherElementComponent(t, srcMap)); 432 return tgt; 433 } 434}