001package org.hl7.fhir.convertors.conv30_50.datatypes30_50; 002 003import org.hl7.fhir.convertors.VersionConvertorConstants; 004import org.hl7.fhir.convertors.VersionConvertorResourceNameMapper; 005import org.hl7.fhir.convertors.context.ConversionContext30_50; 006import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Coding30_50; 007import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; 008import org.hl7.fhir.exceptions.FHIRException; 009import org.hl7.fhir.r5.model.DataType; 010import org.hl7.fhir.r5.model.Enumerations; 011 012public class DataRequirement30_50 { 013 public static org.hl7.fhir.r5.model.DataRequirement convertDataRequirement(org.hl7.fhir.dstu3.model.DataRequirement src) throws FHIRException { 014 if (src == null) return null; 015 org.hl7.fhir.r5.model.DataRequirement tgt = new org.hl7.fhir.r5.model.DataRequirement(); 016 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt, VersionConvertorConstants.EXT_ACTUAL_RESOURCE_NAME); 017 if (src.hasType()) { 018 if (src.hasExtension(VersionConvertorConstants.EXT_ACTUAL_RESOURCE_NAME)) { 019 tgt.setType(Enumerations.FHIRTypes.fromCode(src.getExtensionString(VersionConvertorConstants.EXT_ACTUAL_RESOURCE_NAME))); 020 } else { 021 String n = VersionConvertorResourceNameMapper.mapName3to5(src.getType()); 022 if (n != null) { 023 tgt.setType(Enumerations.FHIRTypes.fromCode(n)); 024 } 025 tgt.addExtension(VersionConvertorConstants.EXT_ACTUAL_RESOURCE_NAME, new org.hl7.fhir.r5.model.CodeType(src.getType())); 026 } 027 } 028 for (org.hl7.fhir.dstu3.model.UriType t : src.getProfile()) tgt.addProfile(t.getValue()); 029 for (org.hl7.fhir.dstu3.model.StringType t : src.getMustSupport()) tgt.addMustSupport(t.getValue()); 030 for (org.hl7.fhir.dstu3.model.DataRequirement.DataRequirementCodeFilterComponent t : src.getCodeFilter()) 031 tgt.addCodeFilter(convertDataRequirementCodeFilterComponent(t)); 032 for (org.hl7.fhir.dstu3.model.DataRequirement.DataRequirementDateFilterComponent t : src.getDateFilter()) 033 tgt.addDateFilter(convertDataRequirementDateFilterComponent(t)); 034 return tgt; 035 } 036 037 public static org.hl7.fhir.dstu3.model.DataRequirement convertDataRequirement(org.hl7.fhir.r5.model.DataRequirement src) throws FHIRException { 038 if (src == null) return null; 039 org.hl7.fhir.dstu3.model.DataRequirement tgt = new org.hl7.fhir.dstu3.model.DataRequirement(); 040 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt, VersionConvertorConstants.EXT_ACTUAL_RESOURCE_NAME); 041 if (src.hasType() || src.hasExtension(VersionConvertorConstants.EXT_ACTUAL_RESOURCE_NAME)) { 042 if (src.hasExtension(VersionConvertorConstants.EXT_ACTUAL_RESOURCE_NAME)) { 043 tgt.setType(src.getExtensionString(VersionConvertorConstants.EXT_ACTUAL_RESOURCE_NAME)); 044 } else { 045 String n = VersionConvertorResourceNameMapper.mapName5to3(src.getType().toCode()); 046 if (n != null) { 047 tgt.setType(n); 048 } 049 tgt.addExtension(VersionConvertorConstants.EXT_ACTUAL_RESOURCE_NAME, new org.hl7.fhir.dstu3.model.CodeType(src.getType().toCode())); 050 } 051 } 052 for (org.hl7.fhir.r5.model.UriType t : src.getProfile()) tgt.addProfile(t.getValue()); 053 for (org.hl7.fhir.r5.model.StringType t : src.getMustSupport()) tgt.addMustSupport(t.getValue()); 054 for (org.hl7.fhir.r5.model.DataRequirement.DataRequirementCodeFilterComponent t : src.getCodeFilter()) 055 tgt.addCodeFilter(convertDataRequirementCodeFilterComponent(t)); 056 for (org.hl7.fhir.r5.model.DataRequirement.DataRequirementDateFilterComponent t : src.getDateFilter()) 057 tgt.addDateFilter(convertDataRequirementDateFilterComponent(t)); 058 return tgt; 059 } 060 061 public static org.hl7.fhir.r5.model.DataRequirement.DataRequirementCodeFilterComponent convertDataRequirementCodeFilterComponent(org.hl7.fhir.dstu3.model.DataRequirement.DataRequirementCodeFilterComponent src) throws FHIRException { 062 if (src == null) return null; 063 org.hl7.fhir.r5.model.DataRequirement.DataRequirementCodeFilterComponent tgt = new org.hl7.fhir.r5.model.DataRequirement.DataRequirementCodeFilterComponent(); 064 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 065 if (src.hasPath()) tgt.setPathElement(String30_50.convertString(src.getPathElement())); 066 if (src.hasValueSet()) { 067 DataType t = ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().convertType(src.getValueSet()); 068 if (t instanceof org.hl7.fhir.r5.model.Reference) 069 tgt.setValueSet(((org.hl7.fhir.r5.model.Reference) t).getReference()); 070 else tgt.setValueSet(t.primitiveValue()); 071 tgt.setValueSet(VersionConvertorConstants.refToVS(tgt.getValueSet())); 072 } 073 for (org.hl7.fhir.dstu3.model.CodeType t : src.getValueCode()) tgt.addCode(Coding30_50.convertCoding(t)); 074 for (org.hl7.fhir.dstu3.model.Coding t : src.getValueCoding()) tgt.addCode(Coding30_50.convertCoding(t)); 075 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getValueCodeableConcept()) 076 tgt.addCode(Coding30_50.convertCoding(t)); 077 return tgt; 078 } 079 080 public static org.hl7.fhir.dstu3.model.DataRequirement.DataRequirementCodeFilterComponent convertDataRequirementCodeFilterComponent(org.hl7.fhir.r5.model.DataRequirement.DataRequirementCodeFilterComponent src) throws FHIRException { 081 if (src == null) return null; 082 org.hl7.fhir.dstu3.model.DataRequirement.DataRequirementCodeFilterComponent tgt = new org.hl7.fhir.dstu3.model.DataRequirement.DataRequirementCodeFilterComponent(); 083 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 084 if (src.hasPath()) tgt.setPathElement(String30_50.convertString(src.getPathElement())); 085 if (src.hasValueSet()) { 086 String vsr = VersionConvertorConstants.vsToRef(src.getValueSet()); 087 if (vsr != null) tgt.setValueSet(new org.hl7.fhir.dstu3.model.UriType(vsr)); 088 else tgt.setValueSet(new org.hl7.fhir.dstu3.model.Reference(src.getValueSet())); 089 } 090 for (org.hl7.fhir.r5.model.Coding t : src.getCode()) { 091 tgt.addValueCoding(Coding30_50.convertCoding(t)); 092 } 093 return tgt; 094 } 095 096 public static org.hl7.fhir.r5.model.DataRequirement.DataRequirementDateFilterComponent convertDataRequirementDateFilterComponent(org.hl7.fhir.dstu3.model.DataRequirement.DataRequirementDateFilterComponent src) throws FHIRException { 097 if (src == null) return null; 098 org.hl7.fhir.r5.model.DataRequirement.DataRequirementDateFilterComponent tgt = new org.hl7.fhir.r5.model.DataRequirement.DataRequirementDateFilterComponent(); 099 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 100 if (src.hasPath()) tgt.setPathElement(String30_50.convertString(src.getPathElement())); 101 if (src.hasValue()) 102 tgt.setValue(ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().convertType(src.getValue())); 103 return tgt; 104 } 105 106 public static org.hl7.fhir.dstu3.model.DataRequirement.DataRequirementDateFilterComponent convertDataRequirementDateFilterComponent(org.hl7.fhir.r5.model.DataRequirement.DataRequirementDateFilterComponent src) throws FHIRException { 107 if (src == null) return null; 108 org.hl7.fhir.dstu3.model.DataRequirement.DataRequirementDateFilterComponent tgt = new org.hl7.fhir.dstu3.model.DataRequirement.DataRequirementDateFilterComponent(); 109 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 110 if (src.hasPath()) tgt.setPathElement(String30_50.convertString(src.getPathElement())); 111 if (src.hasValue()) 112 tgt.setValue(ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().convertType(src.getValue())); 113 return tgt; 114 } 115}