001package org.hl7.fhir.convertors.conv10_30.resources10_30;
002
003import org.hl7.fhir.convertors.context.ConversionContext10_30;
004import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30;
005import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Ratio10_30;
006import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Timing10_30;
007import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30;
008import org.hl7.fhir.exceptions.FHIRException;
009
010public class MedicationOrder10_30 {
011  public static org.hl7.fhir.dstu3.model.Dosage convertMedicationOrderDosageInstructionComponent(org.hl7.fhir.dstu2.model.MedicationOrder.MedicationOrderDosageInstructionComponent src) throws FHIRException {
012    if (src == null || src.isEmpty()) return null;
013    org.hl7.fhir.dstu3.model.Dosage tgt = new org.hl7.fhir.dstu3.model.Dosage();
014    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt);
015    if (src.hasTextElement()) tgt.setTextElement(String10_30.convertString(src.getTextElement()));
016    if (src.hasTiming()) tgt.setTiming(Timing10_30.convertTiming(src.getTiming()));
017    if (src.hasAsNeeded())
018      tgt.setAsNeeded(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getAsNeeded()));
019    if (src.hasSiteCodeableConcept())
020      tgt.setSite(CodeableConcept10_30.convertCodeableConcept(src.getSiteCodeableConcept()));
021    if (src.hasRoute()) tgt.setRoute(CodeableConcept10_30.convertCodeableConcept(src.getRoute()));
022    if (src.hasMethod()) tgt.setMethod(CodeableConcept10_30.convertCodeableConcept(src.getMethod()));
023    if (src.hasDose())
024      tgt.setDose(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getDose()));
025    if (src.hasRate())
026      tgt.setRate(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getRate()));
027    if (src.hasMaxDosePerPeriod()) tgt.setMaxDosePerPeriod(Ratio10_30.convertRatio(src.getMaxDosePerPeriod()));
028    return tgt;
029  }
030
031  public static org.hl7.fhir.dstu2.model.MedicationOrder.MedicationOrderDosageInstructionComponent convertMedicationOrderDosageInstructionComponent(org.hl7.fhir.dstu3.model.Dosage src) throws FHIRException {
032    if (src == null || src.isEmpty()) return null;
033    org.hl7.fhir.dstu2.model.MedicationOrder.MedicationOrderDosageInstructionComponent tgt = new org.hl7.fhir.dstu2.model.MedicationOrder.MedicationOrderDosageInstructionComponent();
034    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt);
035    if (src.hasTextElement()) tgt.setTextElement(String10_30.convertString(src.getTextElement()));
036    if (src.hasTiming()) tgt.setTiming(Timing10_30.convertTiming(src.getTiming()));
037    if (src.hasAsNeeded())
038      tgt.setAsNeeded(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getAsNeeded()));
039    if (src.hasSite())
040      tgt.setSite(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getSite()));
041    if (src.hasRoute()) tgt.setRoute(CodeableConcept10_30.convertCodeableConcept(src.getRoute()));
042    if (src.hasMethod()) tgt.setMethod(CodeableConcept10_30.convertCodeableConcept(src.getMethod()));
043    if (src.hasDose())
044      tgt.setDose(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getDose()));
045    if (src.hasRate())
046      tgt.setRate(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getRate()));
047    if (src.hasMaxDosePerPeriod()) tgt.setMaxDosePerPeriod(Ratio10_30.convertRatio(src.getMaxDosePerPeriod()));
048    return tgt;
049  }
050}