001package org.hl7.fhir.convertors.conv10_40.resources10_40; 002 003import org.hl7.fhir.convertors.context.ConversionContext10_40; 004import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.CodeableConcept10_40; 005import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Ratio10_40; 006import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Timing10_40; 007import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.String10_40; 008import org.hl7.fhir.exceptions.FHIRException; 009import org.hl7.fhir.r4.model.Dosage; 010 011public class MedicationOrder10_40 { 012 public static org.hl7.fhir.r4.model.Dosage convertMedicationOrderDosageInstructionComponent(org.hl7.fhir.dstu2.model.MedicationOrder.MedicationOrderDosageInstructionComponent src) throws FHIRException { 013 if (src == null || src.isEmpty()) return null; 014 org.hl7.fhir.r4.model.Dosage tgt = new org.hl7.fhir.r4.model.Dosage(); 015 ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().copyElement(src, tgt); 016 if (src.hasTextElement()) tgt.setTextElement(String10_40.convertString(src.getTextElement())); 017 if (src.hasTiming()) tgt.setTiming(Timing10_40.convertTiming(src.getTiming())); 018 if (src.hasAsNeeded()) 019 tgt.setAsNeeded(ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().convertType(src.getAsNeeded())); 020 if (src.hasSiteCodeableConcept()) 021 tgt.setSite(CodeableConcept10_40.convertCodeableConcept(src.getSiteCodeableConcept())); 022 if (src.hasRoute()) tgt.setRoute(CodeableConcept10_40.convertCodeableConcept(src.getRoute())); 023 if (src.hasMethod()) tgt.setMethod(CodeableConcept10_40.convertCodeableConcept(src.getMethod())); 024 if (src.hasDose() || src.hasRate()) { 025 Dosage.DosageDoseAndRateComponent dr = tgt.addDoseAndRate(); 026 if (src.hasDose()) 027 dr.setDose(ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().convertType(src.getDose())); 028 if (src.hasRate()) 029 dr.setRate(ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().convertType(src.getRate())); 030 } 031 if (src.hasMaxDosePerPeriod()) tgt.setMaxDosePerPeriod(Ratio10_40.convertRatio(src.getMaxDosePerPeriod())); 032 return tgt; 033 } 034 035 public static org.hl7.fhir.dstu2.model.MedicationOrder.MedicationOrderDosageInstructionComponent convertMedicationOrderDosageInstructionComponent(Dosage src) throws FHIRException { 036 if (src == null || src.isEmpty()) return null; 037 org.hl7.fhir.dstu2.model.MedicationOrder.MedicationOrderDosageInstructionComponent tgt = new org.hl7.fhir.dstu2.model.MedicationOrder.MedicationOrderDosageInstructionComponent(); 038 ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().copyElement(src, tgt); 039 if (src.hasTextElement()) tgt.setTextElement(String10_40.convertString(src.getTextElement())); 040 if (src.hasTiming()) tgt.setTiming(Timing10_40.convertTiming(src.getTiming())); 041 if (src.hasAsNeeded()) 042 tgt.setAsNeeded(ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().convertType(src.getAsNeeded())); 043 if (src.hasSite()) 044 tgt.setSite(ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().convertType(src.getSite())); 045 if (src.hasRoute()) tgt.setRoute(CodeableConcept10_40.convertCodeableConcept(src.getRoute())); 046 if (src.hasMethod()) tgt.setMethod(CodeableConcept10_40.convertCodeableConcept(src.getMethod())); 047 if (src.hasDoseAndRate() && src.getDoseAndRate().get(0).hasDose()) 048 tgt.setDose(ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().convertType(src.getDoseAndRate().get(0).getDose())); 049 if (src.hasDoseAndRate() && src.getDoseAndRate().get(0).hasRate()) 050 tgt.setRate(ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().convertType(src.getDoseAndRate().get(0).getRate())); 051 if (src.hasMaxDosePerPeriod()) tgt.setMaxDosePerPeriod(Ratio10_40.convertRatio(src.getMaxDosePerPeriod())); 052 return tgt; 053 } 054}