001package org.hl7.fhir.convertors.conv40_50.resources40_50; 002 003import org.hl7.fhir.convertors.VersionConvertorConstants; 004import org.hl7.fhir.convertors.context.ConversionContext40_50; 005import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; 006import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; 007import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50; 008import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; 009import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; 010import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; 011import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Code40_50; 012import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; 013import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; 014import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; 015import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; 016import org.hl7.fhir.exceptions.FHIRException; 017import org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence; 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 ConceptMap40_50 { 056 057 public static org.hl7.fhir.r5.model.ConceptMap convertConceptMap(org.hl7.fhir.r4.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 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt); 062 if (src.hasUrl()) 063 tgt.setUrlElement(Uri40_50.convertUri(src.getUrlElement())); 064 if (src.hasIdentifier()) 065 tgt.addIdentifier(Identifier40_50.convertIdentifier(src.getIdentifier())); 066 if (src.hasVersion()) 067 tgt.setVersionElement(String40_50.convertString(src.getVersionElement())); 068 if (src.hasName()) 069 tgt.setNameElement(String40_50.convertString(src.getNameElement())); 070 if (src.hasTitle()) 071 tgt.setTitleElement(String40_50.convertString(src.getTitleElement())); 072 if (src.hasStatus()) 073 tgt.setStatusElement(Enumerations40_50.convertPublicationStatus(src.getStatusElement())); 074 if (src.hasExperimental()) 075 tgt.setExperimentalElement(Boolean40_50.convertBoolean(src.getExperimentalElement())); 076 if (src.hasDate()) 077 tgt.setDateElement(DateTime40_50.convertDateTime(src.getDateElement())); 078 if (src.hasPublisher()) 079 tgt.setPublisherElement(String40_50.convertString(src.getPublisherElement())); 080 for (org.hl7.fhir.r4.model.ContactDetail t : src.getContact()) 081 tgt.addContact(ContactDetail40_50.convertContactDetail(t)); 082 if (src.hasDescription()) 083 tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement())); 084 for (org.hl7.fhir.r4.model.UsageContext t : src.getUseContext()) 085 tgt.addUseContext(UsageContext40_50.convertUsageContext(t)); 086 for (org.hl7.fhir.r4.model.CodeableConcept t : src.getJurisdiction()) 087 tgt.addJurisdiction(CodeableConcept40_50.convertCodeableConcept(t)); 088 if (src.hasPurpose()) 089 tgt.setPurposeElement(MarkDown40_50.convertMarkdown(src.getPurposeElement())); 090 if (src.hasCopyright()) 091 tgt.setCopyrightElement(MarkDown40_50.convertMarkdown(src.getCopyrightElement())); 092 if (src.hasSource()) 093 tgt.setSourceScope(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getSource())); 094 if (src.hasTarget()) 095 tgt.setTargetScope(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getTarget())); 096 for (org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupComponent t : src.getGroup()) 097 tgt.addGroup(convertConceptMapGroupComponent(t, tgt)); 098 return tgt; 099 } 100 101 public static org.hl7.fhir.r4.model.ConceptMap convertConceptMap(org.hl7.fhir.r5.model.ConceptMap src) throws FHIRException { 102 if (src == null) 103 return null; 104 org.hl7.fhir.r4.model.ConceptMap tgt = new org.hl7.fhir.r4.model.ConceptMap(); 105 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt); 106 if (src.hasUrl()) 107 tgt.setUrlElement(Uri40_50.convertUri(src.getUrlElement())); 108 if (src.hasIdentifier()) 109 tgt.setIdentifier(Identifier40_50.convertIdentifier(src.getIdentifierFirstRep())); 110 if (src.hasVersion()) 111 tgt.setVersionElement(String40_50.convertString(src.getVersionElement())); 112 if (src.hasName()) 113 tgt.setNameElement(String40_50.convertString(src.getNameElement())); 114 if (src.hasTitle()) 115 tgt.setTitleElement(String40_50.convertString(src.getTitleElement())); 116 if (src.hasStatus()) 117 tgt.setStatusElement(Enumerations40_50.convertPublicationStatus(src.getStatusElement())); 118 if (src.hasExperimental()) 119 tgt.setExperimentalElement(Boolean40_50.convertBoolean(src.getExperimentalElement())); 120 if (src.hasDate()) 121 tgt.setDateElement(DateTime40_50.convertDateTime(src.getDateElement())); 122 if (src.hasPublisher()) 123 tgt.setPublisherElement(String40_50.convertString(src.getPublisherElement())); 124 for (org.hl7.fhir.r5.model.ContactDetail t : src.getContact()) 125 tgt.addContact(ContactDetail40_50.convertContactDetail(t)); 126 if (src.hasDescription()) 127 tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement())); 128 for (org.hl7.fhir.r5.model.UsageContext t : src.getUseContext()) 129 tgt.addUseContext(UsageContext40_50.convertUsageContext(t)); 130 for (org.hl7.fhir.r5.model.CodeableConcept t : src.getJurisdiction()) 131 tgt.addJurisdiction(CodeableConcept40_50.convertCodeableConcept(t)); 132 if (src.hasPurpose()) 133 tgt.setPurposeElement(MarkDown40_50.convertMarkdown(src.getPurposeElement())); 134 if (src.hasCopyright()) 135 tgt.setCopyrightElement(MarkDown40_50.convertMarkdown(src.getCopyrightElement())); 136 if (src.hasSourceScope()) 137 tgt.setSource(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getSourceScope())); 138 if (src.hasTargetScope()) 139 tgt.setTarget(ConversionContext40_50.INSTANCE.getVersionConvertor_40_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.r4.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 ConversionContext40_50.INSTANCE.getVersionConvertor_40_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.r4.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.r4.model.UriType srcUri, org.hl7.fhir.r4.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 ConversionContext40_50.INSTANCE.getVersionConvertor_40_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.r4.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.r4.model.ConceptMap.ConceptMapGroupComponent tgt = new org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupComponent(); 180 ConversionContext40_50.INSTANCE.getVersionConvertor_40_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.r4.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 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 203 if (src.hasCode()) 204 tgt.setCodeElement(Code40_50.convertCode(src.getCodeElement())); 205 if (src.hasDisplay()) 206 tgt.setDisplayElement(String40_50.convertString(src.getDisplayElement())); 207 for (org.hl7.fhir.r4.model.ConceptMap.TargetElementComponent t : src.getTarget()) { 208 if (t.getEquivalence() == org.hl7.fhir.r4.model.Enumerations.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.r4.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.r4.model.ConceptMap.SourceElementComponent tgt = new org.hl7.fhir.r4.model.ConceptMap.SourceElementComponent(); 221 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 222 if (src.hasCode()) 223 tgt.setCodeElement(Code40_50.convertCode(src.getCodeElement())); 224 if (src.hasDisplay()) 225 tgt.setDisplayElement(String40_50.convertString(src.getDisplayElement())); 226 if (src.hasNoMap() && src.getNoMap() == true) { 227 tgt.addTarget(new org.hl7.fhir.r4.model.ConceptMap.TargetElementComponent().setEquivalence(org.hl7.fhir.r4.model.Enumerations.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.r4.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 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 240 if (src.hasCode()) 241 tgt.setCodeElement(Code40_50.convertCode(src.getCodeElement())); 242 if (src.hasDisplay()) 243 tgt.setDisplayElement(String40_50.convertString(src.getDisplayElement())); 244 if (src.hasEquivalence()) 245 tgt.setRelationshipElement(convertConceptMapRelationship(src.getEquivalenceElement())); 246 if (src.hasComment()) 247 tgt.setCommentElement(String40_50.convertString(src.getCommentElement())); 248 for (org.hl7.fhir.r4.model.ConceptMap.OtherElementComponent t : src.getDependsOn()) 249 tgt.addDependsOn(convertOtherElementComponent(t, tgtMap)); 250 for (org.hl7.fhir.r4.model.ConceptMap.OtherElementComponent t : src.getProduct()) 251 tgt.addProduct(convertOtherElementComponent(t, tgtMap)); 252 return tgt; 253 } 254 255 public static org.hl7.fhir.r4.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.r4.model.ConceptMap.TargetElementComponent tgt = new org.hl7.fhir.r4.model.ConceptMap.TargetElementComponent(); 259 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 260 if (src.hasCode()) 261 tgt.setCodeElement(Code40_50.convertCode(src.getCodeElement())); 262 if (src.hasDisplay()) 263 tgt.setDisplayElement(String40_50.convertString(src.getDisplayElement())); 264 if (src.hasRelationship()) 265 tgt.setEquivalenceElement(convertConceptMapEquivalence(src.getRelationshipElement())); 266 else 267 tgt.setEquivalence(ConceptMapEquivalence.RELATEDTO); 268 if (src.hasComment()) 269 tgt.setCommentElement(String40_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.r4.model.Enumeration<ConceptMapEquivalence> convertConceptMapEquivalence(Enumeration<ConceptMapRelationship> src) throws FHIRException { 278 if (src == null || src.isEmpty()) 279 return null; 280 org.hl7.fhir.r4.model.Enumeration<ConceptMapEquivalence> tgt = new org.hl7.fhir.r4.model.Enumeration<ConceptMapEquivalence>(new org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalenceEnumFactory()); 281 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt, VersionConvertorConstants.EXT_OLD_CONCEPTMAP_EQUIVALENCE); 282 if (src.hasExtension(VersionConvertorConstants.EXT_OLD_CONCEPTMAP_EQUIVALENCE)) { 283 tgt.setValueAsString(src.getExtensionString(VersionConvertorConstants.EXT_OLD_CONCEPTMAP_EQUIVALENCE)); 284 } else { 285 switch (src.getValue()) { 286 case RELATEDTO: 287 tgt.setValue(org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence.RELATEDTO); 288 break; 289 case EQUIVALENT: 290 tgt.setValue(org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence.EQUIVALENT); 291 break; 292 case SOURCEISNARROWERTHANTARGET: 293 tgt.setValue(org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence.WIDER); 294 break; 295 case SOURCEISBROADERTHANTARGET: 296 tgt.setValue(org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence.NARROWER); 297 break; 298 case NOTRELATEDTO: 299 tgt.setValue(org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence.DISJOINT); 300 break; 301 default: 302 tgt.setValue(org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence.NULL); 303 break; 304 } 305 } 306 return tgt; 307 } 308 309 public static Enumeration<ConceptMapRelationship> convertConceptMapRelationship(org.hl7.fhir.r4.model.Enumeration<ConceptMapEquivalence> src) throws FHIRException { 310 if (src == null || src.isEmpty()) 311 return null; 312 Enumeration<ConceptMapRelationship> tgt = new Enumeration<ConceptMapRelationship>(new Enumerations.ConceptMapRelationshipEnumFactory()); 313 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 314 ToolingExtensions.setCodeExtension(tgt, VersionConvertorConstants.EXT_OLD_CONCEPTMAP_EQUIVALENCE, src.getValueAsString()); 315 switch (src.getValue()) { 316 case EQUIVALENT: 317 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.EQUIVALENT); 318 break; 319 case EQUAL: 320 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.EQUIVALENT); 321 break; 322 case WIDER: 323 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.SOURCEISNARROWERTHANTARGET); 324 break; 325 case SUBSUMES: 326 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.SOURCEISNARROWERTHANTARGET); 327 break; 328 case NARROWER: 329 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.SOURCEISBROADERTHANTARGET); 330 break; 331 case SPECIALIZES: 332 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.SOURCEISBROADERTHANTARGET); 333 break; 334 case RELATEDTO: 335 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.RELATEDTO); 336 break; 337 case INEXACT: 338 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.RELATEDTO); 339 break; 340 case UNMATCHED: 341 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.NULL); 342 break; 343 case DISJOINT: 344 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.NOTRELATEDTO); 345 break; 346 default: 347 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.NULL); 348 break; 349 } 350 return tgt; 351 } 352 353 public static org.hl7.fhir.r5.model.ConceptMap.OtherElementComponent convertOtherElementComponent(org.hl7.fhir.r4.model.ConceptMap.OtherElementComponent src, org.hl7.fhir.r5.model.ConceptMap tgtMap) throws FHIRException { 354 if (src == null) 355 return null; 356 org.hl7.fhir.r5.model.ConceptMap.OtherElementComponent tgt = new org.hl7.fhir.r5.model.ConceptMap.OtherElementComponent(); 357 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 358 if (src.hasProperty()) 359 tgt.setAttribute(tgtMap.registerAttribute(src.getProperty())); 360 if (src.hasSystem()) { 361 tgt.setValue(new Coding().setSystem(src.getSystem()).setCode(src.getValue()).setDisplay(src.getDisplay())); 362 } else if (src.hasValueElement()) { 363 tgt.setValue(String40_50.convertString(src.getValueElement())); 364 } 365 return tgt; 366 } 367 368 public static org.hl7.fhir.r4.model.ConceptMap.OtherElementComponent convertOtherElementComponent(org.hl7.fhir.r5.model.ConceptMap.OtherElementComponent src, org.hl7.fhir.r5.model.ConceptMap srcMap) throws FHIRException { 369 if (src == null) 370 return null; 371 org.hl7.fhir.r4.model.ConceptMap.OtherElementComponent tgt = new org.hl7.fhir.r4.model.ConceptMap.OtherElementComponent(); 372 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 373 if (src.hasAttribute()) 374 tgt.setProperty(srcMap.getAttributeUri(src.getAttribute())); 375 376 if (src.hasValueCoding()) { 377 tgt.setSystem(src.getValueCoding().getSystem()); 378 tgt.setValue(src.getValueCoding().getCode()); 379 tgt.setDisplay(src.getValueCoding().getDisplay()); 380 } else if (src.hasValue()) { 381 tgt.setValue(src.getValue().primitiveValue()); 382 } 383 384 return tgt; 385 } 386 387 public static org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedComponent convertConceptMapGroupUnmappedComponent(org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupUnmappedComponent src) throws FHIRException { 388 if (src == null) 389 return null; 390 org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedComponent tgt = new org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedComponent(); 391 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 392 if (src.hasMode()) 393 tgt.setModeElement(convertConceptMapGroupUnmappedMode(src.getModeElement())); 394 if (src.hasCode()) 395 tgt.setCodeElement(Code40_50.convertCode(src.getCodeElement())); 396 if (src.hasDisplay()) 397 tgt.setDisplayElement(String40_50.convertString(src.getDisplayElement())); 398 if (src.hasUrl()) 399 tgt.setOtherMapElement(Canonical40_50.convertCanonical(src.getUrlElement())); 400 return tgt; 401 } 402 403 public static org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupUnmappedComponent convertConceptMapGroupUnmappedComponent(org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedComponent src) throws FHIRException { 404 if (src == null) 405 return null; 406 org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupUnmappedComponent tgt = new org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupUnmappedComponent(); 407 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 408 if (src.hasMode()) 409 tgt.setModeElement(convertConceptMapGroupUnmappedMode(src.getModeElement())); 410 if (src.hasCode()) 411 tgt.setCodeElement(Code40_50.convertCode(src.getCodeElement())); 412 if (src.hasDisplay()) 413 tgt.setDisplayElement(String40_50.convertString(src.getDisplayElement())); 414 if (src.hasOtherMap()) 415 tgt.setUrlElement(Canonical40_50.convertCanonical(src.getOtherMapElement())); 416 return tgt; 417 } 418 419 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedMode> convertConceptMapGroupUnmappedMode(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupUnmappedMode> src) throws FHIRException { 420 if (src == null || src.isEmpty()) 421 return null; 422 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()); 423 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 424 switch (src.getValue()) { 425 case PROVIDED: 426 tgt.setValue(org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedMode.USESOURCECODE); 427 break; 428 case FIXED: 429 tgt.setValue(org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedMode.FIXED); 430 break; 431 case OTHERMAP: 432 tgt.setValue(org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedMode.OTHERMAP); 433 break; 434 default: 435 tgt.setValue(org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedMode.NULL); 436 break; 437 } 438 return tgt; 439 } 440 441 static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupUnmappedMode> convertConceptMapGroupUnmappedMode(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupUnmappedMode> src) throws FHIRException { 442 if (src == null || src.isEmpty()) 443 return null; 444 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupUnmappedMode> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupUnmappedModeEnumFactory()); 445 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 446 switch (src.getValue()) { 447 case USESOURCECODE: 448 tgt.setValue(org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupUnmappedMode.PROVIDED); 449 break; 450 case FIXED: 451 tgt.setValue(org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupUnmappedMode.FIXED); 452 break; 453 case OTHERMAP: 454 tgt.setValue(org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupUnmappedMode.OTHERMAP); 455 break; 456 default: 457 tgt.setValue(org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupUnmappedMode.NULL); 458 break; 459 } 460 return tgt; 461 } 462}