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.setSourceElement(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) 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, VersionConvertorConstants.EXT_OLD_CONCEPTMAP_EQUIVALENCE); 255 if (src.hasExtension(VersionConvertorConstants.EXT_OLD_CONCEPTMAP_EQUIVALENCE)) { 256 tgt.setValueAsString(src.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 default: 272 tgt.setValue(org.hl7.fhir.dstu3.model.Enumerations.ConceptMapEquivalence.NULL); 273 break; 274 } 275 } 276 return tgt; 277 } 278 279 public static Enumeration<ConceptMapRelationship> convertConceptMapRelationship(org.hl7.fhir.dstu3.model.Enumeration<ConceptMapEquivalence> src) throws FHIRException { 280 if (src == null || src.isEmpty()) 281 return null; 282 Enumeration<ConceptMapRelationship> tgt = new Enumeration<ConceptMapRelationship>(new Enumerations.ConceptMapRelationshipEnumFactory()); 283 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 284 ToolingExtensions.setCodeExtension(tgt, VersionConvertorConstants.EXT_OLD_CONCEPTMAP_EQUIVALENCE, src.getValueAsString()); 285 switch (src.getValue()) { 286 case EQUIVALENT: 287 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.EQUIVALENT); 288 break; 289 case EQUAL: 290 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.EQUIVALENT); 291 break; 292 case WIDER: 293 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.SOURCEISNARROWERTHANTARGET); 294 break; 295 case SUBSUMES: 296 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.SOURCEISNARROWERTHANTARGET); 297 break; 298 case NARROWER: 299 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.SOURCEISBROADERTHANTARGET); 300 break; 301 case SPECIALIZES: 302 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.SOURCEISBROADERTHANTARGET); 303 break; 304 case INEXACT: 305 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.RELATEDTO); 306 break; 307 case UNMATCHED: 308 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.NULL); 309 break; 310 case DISJOINT: 311 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.NOTRELATEDTO); 312 break; 313 default: 314 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship.NULL); 315 break; 316 } 317 return tgt; 318 } 319 320 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 { 321 if (src == null) 322 return null; 323 org.hl7.fhir.r5.model.ConceptMap.OtherElementComponent tgt = new org.hl7.fhir.r5.model.ConceptMap.OtherElementComponent(); 324 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 325 if (src.hasProperty()) 326 tgt.setAttribute(tgtMap.registerAttribute(src.getProperty())); 327 328 if (src.hasSystem()) { 329 tgt.setValue(new Coding().setSystem(src.getSystem()).setCode(src.getCode()).setDisplay(src.getDisplay())); 330 } else if (src.hasCodeElement()) { 331 tgt.setValue(String30_50.convertString(src.getCodeElement())); 332 } 333 return tgt; 334 } 335 336 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 { 337 if (src == null) 338 return null; 339 org.hl7.fhir.dstu3.model.ConceptMap.OtherElementComponent tgt = new org.hl7.fhir.dstu3.model.ConceptMap.OtherElementComponent(); 340 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 341 if (src.hasAttribute()) 342 tgt.setProperty(srcMap.getAttributeUri(src.getAttribute())); 343 if (src.hasValueCoding()) { 344 tgt.setSystem(src.getValueCoding().getSystem()); 345 tgt.setCode(src.getValueCoding().getCode()); 346 tgt.setDisplay(src.getValueCoding().getDisplay()); 347 } else if (src.hasValue()) { 348 tgt.setCode(src.getValue().primitiveValue()); 349 } 350 return tgt; 351 } 352 353 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 { 354 if (src == null) 355 return null; 356 org.hl7.fhir.dstu3.model.ConceptMap.SourceElementComponent tgt = new org.hl7.fhir.dstu3.model.ConceptMap.SourceElementComponent(); 357 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 358 if (src.hasCode()) 359 tgt.setCodeElement(Code30_50.convertCode(src.getCodeElement())); 360 if (src.hasDisplay()) 361 tgt.setDisplayElement(String30_50.convertString(src.getDisplayElement())); 362 if (src.hasNoMap() && src.getNoMap() == true) { 363 tgt.addTarget(new org.hl7.fhir.dstu3.model.ConceptMap.TargetElementComponent().setEquivalence(org.hl7.fhir.dstu3.model.Enumerations.ConceptMapEquivalence.UNMATCHED)); 364 } else { 365 for (org.hl7.fhir.r5.model.ConceptMap.TargetElementComponent t : src.getTarget()) 366 tgt.addTarget(convertTargetElementComponent(t, srcMap)); 367 } 368 return tgt; 369 } 370 371 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 { 372 if (src == null) 373 return null; 374 org.hl7.fhir.r5.model.ConceptMap.SourceElementComponent tgt = new org.hl7.fhir.r5.model.ConceptMap.SourceElementComponent(); 375 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 376 if (src.hasCode()) 377 tgt.setCodeElement(Code30_50.convertCode(src.getCodeElement())); 378 if (src.hasDisplay()) 379 tgt.setDisplayElement(String30_50.convertString(src.getDisplayElement())); 380 for (org.hl7.fhir.dstu3.model.ConceptMap.TargetElementComponent t : src.getTarget()) 381 if (t.getEquivalence() == org.hl7.fhir.dstu3.model.Enumerations.ConceptMapEquivalence.UNMATCHED) { 382 tgt.setNoMap(true); 383 } else { 384 tgt.addTarget(convertTargetElementComponent(t, tgtMap)); 385 } 386 return tgt; 387 } 388 389 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 { 390 if (src == null) 391 return null; 392 org.hl7.fhir.r5.model.ConceptMap.TargetElementComponent tgt = new org.hl7.fhir.r5.model.ConceptMap.TargetElementComponent(); 393 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 394 if (src.hasCode()) 395 tgt.setCodeElement(Code30_50.convertCode(src.getCodeElement())); 396 if (src.hasDisplay()) 397 tgt.setDisplayElement(String30_50.convertString(src.getDisplayElement())); 398 if (src.hasEquivalence()) 399 tgt.setRelationshipElement(convertConceptMapRelationship(src.getEquivalenceElement())); 400 if (src.hasComment()) 401 tgt.setCommentElement(String30_50.convertString(src.getCommentElement())); 402 for (org.hl7.fhir.dstu3.model.ConceptMap.OtherElementComponent t : src.getDependsOn()) 403 tgt.addDependsOn(convertOtherElementComponent(t, tgtMap)); 404 for (org.hl7.fhir.dstu3.model.ConceptMap.OtherElementComponent t : src.getProduct()) 405 tgt.addProduct(convertOtherElementComponent(t, tgtMap)); 406 return tgt; 407 } 408 409 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 { 410 if (src == null) 411 return null; 412 org.hl7.fhir.dstu3.model.ConceptMap.TargetElementComponent tgt = new org.hl7.fhir.dstu3.model.ConceptMap.TargetElementComponent(); 413 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 414 if (src.hasCode()) 415 tgt.setCodeElement(Code30_50.convertCode(src.getCodeElement())); 416 if (src.hasDisplay()) 417 tgt.setDisplayElement(String30_50.convertString(src.getDisplayElement())); 418 if (src.hasRelationship()) 419 tgt.setEquivalenceElement(convertConceptMapEquivalence(src.getRelationshipElement())); 420 if (src.hasComment()) 421 tgt.setCommentElement(String30_50.convertString(src.getCommentElement())); 422 for (org.hl7.fhir.r5.model.ConceptMap.OtherElementComponent t : src.getDependsOn()) 423 tgt.addDependsOn(convertOtherElementComponent(t, srcMap)); 424 for (org.hl7.fhir.r5.model.ConceptMap.OtherElementComponent t : src.getProduct()) 425 tgt.addProduct(convertOtherElementComponent(t, srcMap)); 426 return tgt; 427 } 428}