
001package org.hl7.fhir.convertors.conv43_50.resources43_50; 002 003import org.hl7.fhir.convertors.VersionConvertorConstants; 004import org.hl7.fhir.convertors.context.ConversionContext43_50; 005import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; 006import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; 007import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDetail43_50; 008import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; 009import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; 010import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; 011import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; 012import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; 013import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; 014import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; 015import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; 016import org.hl7.fhir.exceptions.FHIRException; 017import org.hl7.fhir.r4b.model.ConceptMap; 018import org.hl7.fhir.r5.model.CanonicalType; 019import org.hl7.fhir.r5.model.Coding; 020import org.hl7.fhir.r5.model.Enumeration; 021import org.hl7.fhir.r5.model.Enumerations; 022import org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship; 023import org.hl7.fhir.r5.utils.ToolingExtensions; 024import org.hl7.fhir.utilities.CanonicalPair; 025 026/* 027 Copyright (c) 2011+, HL7, Inc. 028 All rights reserved. 029 030 Redistribution and use in source and binary forms, with or without modification, 031 are permitted provided that the following conditions are met: 032 033 * Redistributions of source code must retain the above copyright notice, this 034 list of conditions and the following disclaimer. 035 * Redistributions in binary form must reproduce the above copyright notice, 036 this list of conditions and the following disclaimer in the documentation 037 and/or other materials provided with the distribution. 038 * Neither the name of HL7 nor the names of its contributors may be used to 039 endorse or promote products derived from this software without specific 040 prior written permission. 041 042 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 043 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 044 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 045 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 046 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 047 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 048 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 049 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 050 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 051 POSSIBILITY OF SUCH DAMAGE. 052 053*/ 054// Generated on Sun, Feb 24, 2019 11:37+1100 for FHIR v4.0.0 055public class ConceptMap43_50 { 056 057 public static org.hl7.fhir.r5.model.ConceptMap convertConceptMap(org.hl7.fhir.r4b.model.ConceptMap src) throws FHIRException { 058 if (src == null) 059 return null; 060 org.hl7.fhir.r5.model.ConceptMap tgt = new org.hl7.fhir.r5.model.ConceptMap(); 061 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyDomainResource(src, tgt); 062 if (src.hasUrl()) 063 tgt.setUrlElement(Uri43_50.convertUri(src.getUrlElement())); 064 if (src.hasIdentifier()) 065 tgt.addIdentifier(Identifier43_50.convertIdentifier(src.getIdentifierFirstRep())); 066 if (src.hasVersion()) 067 tgt.setVersionElement(String43_50.convertString(src.getVersionElement())); 068 if (src.hasName()) 069 tgt.setNameElement(String43_50.convertString(src.getNameElement())); 070 if (src.hasTitle()) 071 tgt.setTitleElement(String43_50.convertString(src.getTitleElement())); 072 if (src.hasStatus()) 073 tgt.setStatusElement(Enumerations43_50.convertPublicationStatus(src.getStatusElement())); 074 if (src.hasExperimental()) 075 tgt.setExperimentalElement(Boolean43_50.convertBoolean(src.getExperimentalElement())); 076 if (src.hasDate()) 077 tgt.setDateElement(DateTime43_50.convertDateTime(src.getDateElement())); 078 if (src.hasPublisher()) 079 tgt.setPublisherElement(String43_50.convertString(src.getPublisherElement())); 080 for (org.hl7.fhir.r4b.model.ContactDetail t : src.getContact()) 081 tgt.addContact(ContactDetail43_50.convertContactDetail(t)); 082 if (src.hasDescription()) 083 tgt.setDescriptionElement(MarkDown43_50.convertMarkdown(src.getDescriptionElement())); 084 for (org.hl7.fhir.r4b.model.UsageContext t : src.getUseContext()) 085 tgt.addUseContext(UsageContext43_50.convertUsageContext(t)); 086 for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getJurisdiction()) 087 tgt.addJurisdiction(CodeableConcept43_50.convertCodeableConcept(t)); 088 if (src.hasPurpose()) 089 tgt.setPurposeElement(MarkDown43_50.convertMarkdown(src.getPurposeElement())); 090 if (src.hasCopyright()) 091 tgt.setCopyrightElement(MarkDown43_50.convertMarkdown(src.getCopyrightElement())); 092 if (src.hasSource()) 093 tgt.setSourceScope(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getSource())); 094 if (src.hasTarget()) 095 tgt.setTargetScope(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getTarget())); 096 for (org.hl7.fhir.r4b.model.ConceptMap.ConceptMapGroupComponent t : src.getGroup()) 097 tgt.addGroup(convertConceptMapGroupComponent(t, tgt)); 098 return tgt; 099 } 100 101 public static org.hl7.fhir.r4b.model.ConceptMap convertConceptMap(org.hl7.fhir.r5.model.ConceptMap src) throws FHIRException { 102 if (src == null) 103 return null; 104 org.hl7.fhir.r4b.model.ConceptMap tgt = new org.hl7.fhir.r4b.model.ConceptMap(); 105 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyDomainResource(src, tgt); 106 if (src.hasUrl()) 107 tgt.setUrlElement(Uri43_50.convertUri(src.getUrlElement())); 108 if (src.hasIdentifier()) 109 tgt.addIdentifier(Identifier43_50.convertIdentifier(src.getIdentifierFirstRep())); 110 if (src.hasVersion()) 111 tgt.setVersionElement(String43_50.convertString(src.getVersionElement())); 112 if (src.hasName()) 113 tgt.setNameElement(String43_50.convertString(src.getNameElement())); 114 if (src.hasTitle()) 115 tgt.setTitleElement(String43_50.convertString(src.getTitleElement())); 116 if (src.hasStatus()) 117 tgt.setStatusElement(Enumerations43_50.convertPublicationStatus(src.getStatusElement())); 118 if (src.hasExperimental()) 119 tgt.setExperimentalElement(Boolean43_50.convertBoolean(src.getExperimentalElement())); 120 if (src.hasDate()) 121 tgt.setDateElement(DateTime43_50.convertDateTime(src.getDateElement())); 122 if (src.hasPublisher()) 123 tgt.setPublisherElement(String43_50.convertString(src.getPublisherElement())); 124 for (org.hl7.fhir.r5.model.ContactDetail t : src.getContact()) 125 tgt.addContact(ContactDetail43_50.convertContactDetail(t)); 126 if (src.hasDescription()) 127 tgt.setDescriptionElement(MarkDown43_50.convertMarkdown(src.getDescriptionElement())); 128 for (org.hl7.fhir.r5.model.UsageContext t : src.getUseContext()) 129 tgt.addUseContext(UsageContext43_50.convertUsageContext(t)); 130 for (org.hl7.fhir.r5.model.CodeableConcept t : src.getJurisdiction()) 131 tgt.addJurisdiction(CodeableConcept43_50.convertCodeableConcept(t)); 132 if (src.hasPurpose()) 133 tgt.setPurposeElement(MarkDown43_50.convertMarkdown(src.getPurposeElement())); 134 if (src.hasCopyright()) 135 tgt.setCopyrightElement(MarkDown43_50.convertMarkdown(src.getCopyrightElement())); 136 if (src.hasSourceScope()) 137 tgt.setSource(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getSourceScope())); 138 if (src.hasTargetScope()) 139 tgt.setTarget(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getTargetScope())); 140 for (org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupComponent t : src.getGroup()) 141 tgt.addGroup(convertConceptMapGroupComponent(t, src)); 142 return tgt; 143 } 144 145 public static org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupComponent convertConceptMapGroupComponent(org.hl7.fhir.r4b.model.ConceptMap.ConceptMapGroupComponent src, org.hl7.fhir.r5.model.ConceptMap tgtMap) throws FHIRException { 146 if (src == null) 147 return null; 148 org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupComponent tgt = new org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupComponent(); 149 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); 150 if (src.hasSource() || src.hasSourceVersion()) 151 tgt.setSourceElement(convertUriAndVersionToCanonical(src.getSourceElement(), src.getSourceVersionElement())); 152 if (src.hasTarget() || src.hasTargetVersion()) 153 tgt.setTargetElement(convertUriAndVersionToCanonical(src.getTargetElement(), src.getTargetVersionElement())); 154 for (org.hl7.fhir.r4b.model.ConceptMap.SourceElementComponent t : src.getElement()) 155 tgt.addElement(convertSourceElementComponent(t, tgtMap)); 156 if (src.hasUnmapped()) 157 tgt.setUnmapped(convertConceptMapGroupUnmappedComponent(src.getUnmapped())); 158 return tgt; 159 } 160 161 private static CanonicalType convertUriAndVersionToCanonical(org.hl7.fhir.r4b.model.UriType srcUri, org.hl7.fhir.r4b.model.StringType srcVersion) { 162 if (srcUri == null && srcVersion == null) 163 return null; 164 org.hl7.fhir.r5.model.CanonicalType tgt = new org.hl7.fhir.r5.model.CanonicalType(); 165 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(srcUri == null ? srcVersion : srcUri, tgt); 166 if (srcUri.hasValue()) { 167 if (srcVersion.hasValue()) { 168 tgt.setValue(srcUri.getValue() + "|" + srcVersion.getValue()); 169 } else { 170 tgt.setValue(srcUri.getValue()); 171 } 172 } 173 return tgt; 174 } 175 176 public static org.hl7.fhir.r4b.model.ConceptMap.ConceptMapGroupComponent convertConceptMapGroupComponent(org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupComponent src, org.hl7.fhir.r5.model.ConceptMap srcMap) throws FHIRException { 177 if (src == null) 178 return null; 179 org.hl7.fhir.r4b.model.ConceptMap.ConceptMapGroupComponent tgt = new org.hl7.fhir.r4b.model.ConceptMap.ConceptMapGroupComponent(); 180 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); 181 if (src.hasSource()) { 182 CanonicalPair cp = new CanonicalPair(src.getSource()); 183 tgt.setSource(cp.getUrl()); 184 tgt.setSourceVersion(cp.getVersion()); 185 } 186 if (src.hasTarget()) { 187 CanonicalPair cp = new CanonicalPair(src.getTarget()); 188 tgt.setTarget(cp.getUrl()); 189 tgt.setTargetVersion(cp.getVersion()); 190 } 191 for (org.hl7.fhir.r5.model.ConceptMap.SourceElementComponent t : src.getElement()) 192 tgt.addElement(convertSourceElementComponent(t, srcMap)); 193 if (src.hasUnmapped()) 194 tgt.setUnmapped(convertConceptMapGroupUnmappedComponent(src.getUnmapped())); 195 return tgt; 196 } 197 198 public static org.hl7.fhir.r5.model.ConceptMap.SourceElementComponent convertSourceElementComponent(org.hl7.fhir.r4b.model.ConceptMap.SourceElementComponent src, org.hl7.fhir.r5.model.ConceptMap tgtMap) throws FHIRException { 199 if (src == null) 200 return null; 201 org.hl7.fhir.r5.model.ConceptMap.SourceElementComponent tgt = new org.hl7.fhir.r5.model.ConceptMap.SourceElementComponent(); 202 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); 203 if (src.hasCode()) 204 tgt.setCodeElement(Code43_50.convertCode(src.getCodeElement())); 205 if (src.hasDisplay()) 206 tgt.setDisplayElement(String43_50.convertString(src.getDisplayElement())); 207 for (org.hl7.fhir.r4b.model.ConceptMap.TargetElementComponent t : src.getTarget()) { 208 if (t.getEquivalence() == org.hl7.fhir.r4b.model.ConceptMap.ConceptMapEquivalence.UNMATCHED) { 209 tgt.setNoMap(true); 210 } else { 211 tgt.addTarget(convertTargetElementComponent(t, tgtMap)); 212 } 213 } 214 return tgt; 215 } 216 217 public static org.hl7.fhir.r4b.model.ConceptMap.SourceElementComponent convertSourceElementComponent(org.hl7.fhir.r5.model.ConceptMap.SourceElementComponent src, org.hl7.fhir.r5.model.ConceptMap srcMap) throws FHIRException { 218 if (src == null) 219 return null; 220 org.hl7.fhir.r4b.model.ConceptMap.SourceElementComponent tgt = new org.hl7.fhir.r4b.model.ConceptMap.SourceElementComponent(); 221 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); 222 if (src.hasCode()) 223 tgt.setCodeElement(Code43_50.convertCode(src.getCodeElement())); 224 if (src.hasDisplay()) 225 tgt.setDisplayElement(String43_50.convertString(src.getDisplayElement())); 226 if (src.hasNoMap() && src.getNoMap() == true) { 227 tgt.addTarget(new org.hl7.fhir.r4b.model.ConceptMap.TargetElementComponent().setEquivalence(org.hl7.fhir.r4b.model.ConceptMap.ConceptMapEquivalence.UNMATCHED)); 228 } else { 229 for (org.hl7.fhir.r5.model.ConceptMap.TargetElementComponent t : src.getTarget()) 230 tgt.addTarget(convertTargetElementComponent(t, srcMap)); 231 } 232 return tgt; 233 } 234 235 public static org.hl7.fhir.r5.model.ConceptMap.TargetElementComponent convertTargetElementComponent(org.hl7.fhir.r4b.model.ConceptMap.TargetElementComponent src, org.hl7.fhir.r5.model.ConceptMap tgtMap) throws FHIRException { 236 if (src == null) 237 return null; 238 org.hl7.fhir.r5.model.ConceptMap.TargetElementComponent tgt = new org.hl7.fhir.r5.model.ConceptMap.TargetElementComponent(); 239 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); 240 if (src.hasCode()) 241 tgt.setCodeElement(Code43_50.convertCode(src.getCodeElement())); 242 if (src.hasDisplay()) 243 tgt.setDisplayElement(String43_50.convertString(src.getDisplayElement())); 244 if (src.hasEquivalence()) 245 tgt.setRelationshipElement(convertConceptMapRelationship(src.getEquivalenceElement(), tgt)); 246 if (src.hasComment()) 247 tgt.setCommentElement(String43_50.convertString(src.getCommentElement())); 248 for (org.hl7.fhir.r4b.model.ConceptMap.OtherElementComponent t : src.getDependsOn()) 249 tgt.addDependsOn(convertOtherElementComponent(t, tgtMap)); 250 for (org.hl7.fhir.r4b.model.ConceptMap.OtherElementComponent t : src.getProduct()) 251 tgt.addProduct(convertOtherElementComponent(t, tgtMap)); 252 return tgt; 253 } 254 255 public static org.hl7.fhir.r4b.model.ConceptMap.TargetElementComponent convertTargetElementComponent(org.hl7.fhir.r5.model.ConceptMap.TargetElementComponent src, org.hl7.fhir.r5.model.ConceptMap srcMap) throws FHIRException { 256 if (src == null) 257 return null; 258 org.hl7.fhir.r4b.model.ConceptMap.TargetElementComponent tgt = new org.hl7.fhir.r4b.model.ConceptMap.TargetElementComponent(); 259 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt, VersionConvertorConstants.EXT_OLD_CONCEPTMAP_EQUIVALENCE); 260 if (src.hasCode()) 261 tgt.setCodeElement(Code43_50.convertCode(src.getCodeElement())); 262 if (src.hasDisplay()) 263 tgt.setDisplayElement(String43_50.convertString(src.getDisplayElement())); 264 if (src.hasRelationship()) 265 tgt.setEquivalenceElement(convertConceptMapEquivalence(src.getRelationshipElement(), src)); 266 else 267 tgt.setEquivalence(org.hl7.fhir.r4b.model.ConceptMap.ConceptMapEquivalence.RELATEDTO); 268 if (src.hasComment()) 269 tgt.setCommentElement(String43_50.convertString(src.getCommentElement())); 270 for (org.hl7.fhir.r5.model.ConceptMap.OtherElementComponent t : src.getDependsOn()) 271 tgt.addDependsOn(convertOtherElementComponent(t, srcMap)); 272 for (org.hl7.fhir.r5.model.ConceptMap.OtherElementComponent t : src.getProduct()) 273 tgt.addProduct(convertOtherElementComponent(t, srcMap)); 274 return tgt; 275 } 276 277 public static org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.ConceptMap.ConceptMapEquivalence> convertConceptMapEquivalence(Enumeration<ConceptMapRelationship> src, org.hl7.fhir.r5.model.ConceptMap.TargetElementComponent ccm) throws FHIRException { 278 if (src == null || src.isEmpty()) 279 return null; 280 org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.ConceptMap.ConceptMapEquivalence> tgt = new org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.ConceptMap.ConceptMapEquivalence>(new org.hl7.fhir.r4b.model.ConceptMap.ConceptMapEquivalenceEnumFactory()); 281 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 282 if (ccm.hasExtension(VersionConvertorConstants.EXT_OLD_CONCEPTMAP_EQUIVALENCE)) { 283 tgt.setValueAsString(ccm.getExtensionString(VersionConvertorConstants.EXT_OLD_CONCEPTMAP_EQUIVALENCE)); 284 } else { 285 if (src.getValue() == null) { 286 tgt.setValue(null); 287 } else { 288 switch (src.getValue()) { 289 case RELATEDTO: 290 tgt.setValue(ConceptMap.ConceptMapEquivalence.RELATEDTO); 291 break; 292 case EQUIVALENT: 293 tgt.setValue(ConceptMap.ConceptMapEquivalence.EQUIVALENT); 294 break; 295 case SOURCEISNARROWERTHANTARGET: 296 tgt.setValue(ConceptMap.ConceptMapEquivalence.WIDER); 297 break; 298 case SOURCEISBROADERTHANTARGET: 299 tgt.setValue(ConceptMap.ConceptMapEquivalence.NARROWER); 300 break; 301 case NOTRELATEDTO: 302 tgt.setValue(ConceptMap.ConceptMapEquivalence.DISJOINT); 303 break; 304 default: 305 tgt.setValue(ConceptMap.ConceptMapEquivalence.NULL); 306 break; 307 } 308 } 309 } 310 return tgt; 311 } 312 313 public static Enumeration<ConceptMapRelationship> convertConceptMapRelationship(org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.ConceptMap.ConceptMapEquivalence> src, org.hl7.fhir.r5.model.ConceptMap.TargetElementComponent tgtCtxt) throws FHIRException { 314 if (src == null || src.isEmpty()) 315 return null; 316 Enumeration<ConceptMapRelationship> tgt = new Enumeration<ConceptMapRelationship>(new Enumerations.ConceptMapRelationshipEnumFactory()); 317 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 318 ToolingExtensions.setCodeExtensionMod(tgtCtxt, VersionConvertorConstants.EXT_OLD_CONCEPTMAP_EQUIVALENCE, src.getValueAsString()); 319 if (src.getValue() == null) { 320 tgt.setValue(null); 321 } else { 322 switch (src.getValue()) { 323 case EQUIVALENT: 324 tgt.setValue(ConceptMapRelationship.EQUIVALENT); 325 break; 326 case EQUAL: 327 tgt.setValue(ConceptMapRelationship.EQUIVALENT); 328 break; 329 case WIDER: 330 tgt.setValue(ConceptMapRelationship.SOURCEISNARROWERTHANTARGET); 331 break; 332 case SUBSUMES: 333 tgt.setValue(ConceptMapRelationship.SOURCEISNARROWERTHANTARGET); 334 break; 335 case NARROWER: 336 tgt.setValue(ConceptMapRelationship.SOURCEISBROADERTHANTARGET); 337 break; 338 case SPECIALIZES: 339 tgt.setValue(ConceptMapRelationship.SOURCEISBROADERTHANTARGET); 340 break; 341 case RELATEDTO: 342 tgt.setValue(ConceptMapRelationship.RELATEDTO); 343 break; 344 case INEXACT: 345 tgt.setValue(ConceptMapRelationship.RELATEDTO); 346 break; 347 case UNMATCHED: 348 tgt.setValue(ConceptMapRelationship.NULL); 349 break; 350 case DISJOINT: 351 tgt.setValue(ConceptMapRelationship.NOTRELATEDTO); 352 break; 353 default: 354 tgt.setValue(ConceptMapRelationship.NULL); 355 break; 356 } 357 } 358 return tgt; 359 } 360 361 public static org.hl7.fhir.r5.model.ConceptMap.OtherElementComponent convertOtherElementComponent(org.hl7.fhir.r4b.model.ConceptMap.OtherElementComponent src, org.hl7.fhir.r5.model.ConceptMap tgtMap) throws FHIRException { 362 if (src == null) 363 return null; 364 org.hl7.fhir.r5.model.ConceptMap.OtherElementComponent tgt = new org.hl7.fhir.r5.model.ConceptMap.OtherElementComponent(); 365 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); 366 if (src.hasProperty()) 367 tgt.setAttribute(tgtMap.registerAttribute(src.getProperty())); 368 if (src.hasSystem()) { 369 tgt.setValue(new Coding().setSystem(src.getSystem()).setCode(src.getValue()).setDisplay(src.getDisplay())); 370 } else if (src.hasValueElement()) { 371 tgt.setValue(String43_50.convertString(src.getValueElement())); 372 } 373 return tgt; 374 } 375 376 public static org.hl7.fhir.r4b.model.ConceptMap.OtherElementComponent convertOtherElementComponent(org.hl7.fhir.r5.model.ConceptMap.OtherElementComponent src, org.hl7.fhir.r5.model.ConceptMap srcMap) throws FHIRException { 377 if (src == null) 378 return null; 379 org.hl7.fhir.r4b.model.ConceptMap.OtherElementComponent tgt = new org.hl7.fhir.r4b.model.ConceptMap.OtherElementComponent(); 380 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); 381 if (src.hasAttribute()) 382 tgt.setProperty(srcMap.getAttributeUri(src.getAttribute())); 383 384 if (src.hasValueCoding()) { 385 tgt.setSystem(src.getValueCoding().getSystem()); 386 tgt.setValue(src.getValueCoding().getCode()); 387 tgt.setDisplay(src.getValueCoding().getDisplay()); 388 } else if (src.hasValue()) { 389 tgt.setValue(src.getValue().primitiveValue()); 390 } 391 392 return tgt; 393 } 394 395 public static org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedComponent convertConceptMapGroupUnmappedComponent(org.hl7.fhir.r4b.model.ConceptMap.ConceptMapGroupUnmappedComponent src) throws FHIRException { 396 if (src == null) 397 return null; 398 org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedComponent tgt = new org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedComponent(); 399 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); 400 if (src.hasMode()) 401 tgt.setModeElement(convertConceptMapGroupUnmappedMode(src.getModeElement())); 402 if (src.hasCode()) 403 tgt.setCodeElement(Code43_50.convertCode(src.getCodeElement())); 404 if (src.hasDisplay()) 405 tgt.setDisplayElement(String43_50.convertString(src.getDisplayElement())); 406 if (src.hasUrl()) 407 tgt.setOtherMapElement(Canonical43_50.convertCanonical(src.getUrlElement())); 408 return tgt; 409 } 410 411 public static org.hl7.fhir.r4b.model.ConceptMap.ConceptMapGroupUnmappedComponent convertConceptMapGroupUnmappedComponent(org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedComponent src) throws FHIRException { 412 if (src == null) 413 return null; 414 org.hl7.fhir.r4b.model.ConceptMap.ConceptMapGroupUnmappedComponent tgt = new org.hl7.fhir.r4b.model.ConceptMap.ConceptMapGroupUnmappedComponent(); 415 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); 416 if (src.hasMode()) 417 tgt.setModeElement(convertConceptMapGroupUnmappedMode(src.getModeElement())); 418 if (src.hasCode()) 419 tgt.setCodeElement(Code43_50.convertCode(src.getCodeElement())); 420 if (src.hasDisplay()) 421 tgt.setDisplayElement(String43_50.convertString(src.getDisplayElement())); 422 if (src.hasOtherMap()) 423 tgt.setUrlElement(Canonical43_50.convertCanonical(src.getOtherMapElement())); 424 return tgt; 425 } 426 427 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedMode> convertConceptMapGroupUnmappedMode(org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.ConceptMap.ConceptMapGroupUnmappedMode> src) throws FHIRException { 428 if (src == null || src.isEmpty()) 429 return null; 430 Enumeration<org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedMode> tgt = new Enumeration<>(new org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedModeEnumFactory()); 431 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 432 if (src.getValue() == null) { 433 tgt.setValue(null); 434 } else { 435 switch (src.getValue()) { 436 case PROVIDED: 437 tgt.setValue(org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedMode.USESOURCECODE); 438 break; 439 case FIXED: 440 tgt.setValue(org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedMode.FIXED); 441 break; 442 case OTHERMAP: 443 tgt.setValue(org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedMode.OTHERMAP); 444 break; 445 default: 446 tgt.setValue(org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedMode.NULL); 447 break; 448 } 449 } 450 return tgt; 451 } 452 453 static public org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.ConceptMap.ConceptMapGroupUnmappedMode> convertConceptMapGroupUnmappedMode(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedMode> src) throws FHIRException { 454 if (src == null || src.isEmpty()) 455 return null; 456 org.hl7.fhir.r4b.model.Enumeration<ConceptMap.ConceptMapGroupUnmappedMode> tgt = new org.hl7.fhir.r4b.model.Enumeration<>(new ConceptMap.ConceptMapGroupUnmappedModeEnumFactory()); 457 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 458 if (src.getValue() == null) { 459 tgt.setValue(null); 460 } else { 461 switch (src.getValue()) { 462 case USESOURCECODE: 463 tgt.setValue(ConceptMap.ConceptMapGroupUnmappedMode.PROVIDED); 464 break; 465 case FIXED: 466 tgt.setValue(ConceptMap.ConceptMapGroupUnmappedMode.FIXED); 467 break; 468 case OTHERMAP: 469 tgt.setValue(ConceptMap.ConceptMapGroupUnmappedMode.OTHERMAP); 470 break; 471 default: 472 tgt.setValue(ConceptMap.ConceptMapGroupUnmappedMode.NULL); 473 break; 474 } 475 } 476 return tgt; 477 } 478}