001package org.hl7.fhir.convertors.conv43_50; 002 003import org.hl7.fhir.convertors.VersionConvertorConstants; 004import org.hl7.fhir.r4b.model.Enumerations.FHIRAllTypes; 005import org.hl7.fhir.r5.model.CodeType; 006import org.hl7.fhir.r5.model.Enumerations.FHIRTypes; 007import org.hl7.fhir.r5.model.Extension; 008import org.hl7.fhir.utilities.Utilities; 009 010public class Utilities43_50 { 011 012 public static void convertType(org.hl7.fhir.r4b.model.Enumeration<FHIRAllTypes> src, org.hl7.fhir.r5.model.Enumeration<FHIRTypes> tgt) { 013 if (Utilities.existsInList(src.primitiveValue(), "Media")) { 014 setType(tgt, src.primitiveValue(), "DocumentReference"); 015 016 } else if (Utilities.existsInList(src.primitiveValue(), "DeviceUseStatement")) { 017 setType(tgt, src.primitiveValue(), "DeviceUsage"); 018 019 } else if (Utilities.existsInList(src.primitiveValue(), "DocumentManifest")) { 020 setType(tgt, src.primitiveValue(), "List"); 021 022 } else if (Utilities.existsInList(src.primitiveValue(), "MedicinalProduct")) { 023 setType(tgt, src.primitiveValue(), "MedicinalProductDefinition"); 024 025 } else if (Utilities.existsInList(src.primitiveValue(), "MedicinalProductAuthorization")) { 026 setType(tgt, src.primitiveValue(), "RegulatedAuthorization"); 027 028 } else if (Utilities.existsInList(src.primitiveValue(), "RequestGroup")) { 029 setType(tgt, src.primitiveValue(), "RequestOrchestration"); 030 031 } else if (Utilities.existsInList(src.primitiveValue(), "MedicinalProductIngredient")) { 032 setType(tgt, src.primitiveValue(), "Ingredient"); 033 034 } else if (Utilities.existsInList(src.primitiveValue(), "MedicinalProductManufactured")) { 035 setType(tgt, src.primitiveValue(), "ManufacturedItemDefinition"); 036 037 } else if (Utilities.existsInList(src.primitiveValue(), "MedicinalProductPackaged")) { 038 setType(tgt, src.primitiveValue(), "PackagedProductDefinition"); 039 040 } else if (Utilities.existsInList(src.primitiveValue(), "MedicinalProductPharmaceutical")) { 041 setType(tgt, src.primitiveValue(), "AdministrableProductDefinition"); 042 043 } else if (Utilities.existsInList(src.primitiveValue(), "SubstanceSpecification")) { 044 setType(tgt, src.primitiveValue(), "SubstanceDefinition"); 045 046 } else if (Utilities.existsInList(src.primitiveValue(), "MedicinalProductContraindication", "MedicinalProductIndication", "MedicinalProductInteraction", "MedicinalProductUndesirableEffect", "ClinicalUseDefinition")) { 047 setType(tgt, src.primitiveValue(), "SubstanceDefinition"); 048 049 } else if (Utilities.existsInList(src.primitiveValue(), "EffectEvidenceSynthesis", "CatalogEntry", "ResearchDefinition", "ResearchElementDefinition", "RiskEvidenceSynthesis", 050 "Contributor", "ProdCharacteristic", "SubstanceAmount")) { 051 setType(tgt, src.primitiveValue(), "Basic"); 052 053 } else { 054 tgt.setValue(org.hl7.fhir.r5.model.Enumerations.FHIRTypes.fromCode(src.primitiveValue())); 055 } 056 } 057 058 private static void setType(org.hl7.fhir.r5.model.Enumeration<FHIRTypes> tgt, String original, String value) { 059 tgt.setValueAsString(value); 060 tgt.addExtension(new Extension().setUrl(VersionConvertorConstants.EXT_OPDEF_ORIGINAL_TYPE).setValue(new CodeType(original))); 061 } 062 063 public static void convertType(org.hl7.fhir.r5.model.Enumeration<FHIRTypes> src, org.hl7.fhir.r4b.model.Enumeration<FHIRAllTypes> tgt) { 064 if (src.hasExtension(VersionConvertorConstants.EXT_OPDEF_ORIGINAL_TYPE)) { 065 tgt.setValueAsString(src.getExtensionString(VersionConvertorConstants.EXT_OPDEF_ORIGINAL_TYPE)); 066 } else { 067 tgt.setValueAsString(src.asStringValue()); 068 } 069 070 } 071 072}