001package org.hl7.fhir.convertors.conv10_50.resources10_50; 002 003import org.hl7.fhir.convertors.context.ConversionContext10_50; 004import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.CodeableConcept10_50; 005import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Ratio10_50; 006import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Timing10_50; 007import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; 008import org.hl7.fhir.exceptions.FHIRException; 009import org.hl7.fhir.r5.model.Dosage; 010 011public class MedicationOrder10_50 { 012 public static org.hl7.fhir.r5.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.r5.model.Dosage tgt = new org.hl7.fhir.r5.model.Dosage(); 015 ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt); 016 if (src.hasTextElement()) tgt.setTextElement(String10_50.convertString(src.getTextElement())); 017 if (src.hasTiming()) tgt.setTiming(Timing10_50.convertTiming(src.getTiming())); 018 if (src.hasAsNeeded()) 019 tgt.setAsNeeded(ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().convertType(src.getAsNeeded())); 020 if (src.hasSiteCodeableConcept()) 021 tgt.setSite(CodeableConcept10_50.convertCodeableConcept(src.getSiteCodeableConcept())); 022 if (src.hasRoute()) tgt.setRoute(CodeableConcept10_50.convertCodeableConcept(src.getRoute())); 023 if (src.hasMethod()) tgt.setMethod(CodeableConcept10_50.convertCodeableConcept(src.getMethod())); 024 if (src.hasDose() || src.hasRate()) { 025 Dosage.DosageDoseAndRateComponent dr = tgt.addDoseAndRate(); 026 if (src.hasDose()) 027 dr.setDose(ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().convertType(src.getDose())); 028 if (src.hasRate()) 029 dr.setRate(ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().convertType(src.getRate())); 030 } 031 if (src.hasMaxDosePerPeriod()) tgt.setMaxDosePerPeriod(Ratio10_50.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_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt); 039 if (src.hasTextElement()) tgt.setTextElement(String10_50.convertString(src.getTextElement())); 040 if (src.hasTiming()) tgt.setTiming(Timing10_50.convertTiming(src.getTiming())); 041 if (src.hasAsNeeded()) 042 tgt.setAsNeeded(ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().convertType(src.getAsNeeded())); 043 if (src.hasSite()) 044 tgt.setSite(ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().convertType(src.getSite())); 045 if (src.hasRoute()) tgt.setRoute(CodeableConcept10_50.convertCodeableConcept(src.getRoute())); 046 if (src.hasMethod()) tgt.setMethod(CodeableConcept10_50.convertCodeableConcept(src.getMethod())); 047 if (src.hasDoseAndRate() && src.getDoseAndRate().get(0).hasDose()) 048 tgt.setDose(ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().convertType(src.getDoseAndRate().get(0).getDose())); 049 if (src.hasDoseAndRate() && src.getDoseAndRate().get(0).hasRate()) 050 tgt.setRate(ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().convertType(src.getDoseAndRate().get(0).getRate())); 051 if (src.hasMaxDosePerPeriod()) tgt.setMaxDosePerPeriod(Ratio10_50.convertRatio(src.getMaxDosePerPeriod())); 052 return tgt; 053 } 054}