001package org.hl7.fhir.convertors.conv40_50.resources40_50;
002
003import org.hl7.fhir.convertors.context.ConversionContext40_50;
004import org.hl7.fhir.convertors.conv40_50.datatypes40_50.BackboneElement40_50;
005import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50;
006import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Quantity40_50;
007import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50;
008import org.hl7.fhir.exceptions.FHIRException;
009
010public class SubstanceAmount40_50 {
011  public static org.hl7.fhir.r4.model.SubstanceAmount convertSubstanceAmount(org.hl7.fhir.r5.model.SubstanceAmount src) throws FHIRException {
012    if (src == null) return null;
013    org.hl7.fhir.r4.model.SubstanceAmount tgt = new org.hl7.fhir.r4.model.SubstanceAmount();
014    BackboneElement40_50.copyBackboneElement(src, tgt);
015    if (src.hasAmount())
016      tgt.setAmount(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getAmount()));
017    if (src.hasAmountType()) tgt.setAmountType(CodeableConcept40_50.convertCodeableConcept(src.getAmountType()));
018    if (src.hasAmountText()) tgt.setAmountTextElement(String40_50.convertString(src.getAmountTextElement()));
019    if (src.hasReferenceRange())
020      tgt.setReferenceRange(convertSubstanceAmountReferenceRangeComponent(src.getReferenceRange()));
021    return tgt;
022  }
023
024  public static org.hl7.fhir.r5.model.SubstanceAmount convertSubstanceAmount(org.hl7.fhir.r4.model.SubstanceAmount src) throws FHIRException {
025    if (src == null) return null;
026    org.hl7.fhir.r5.model.SubstanceAmount tgt = new org.hl7.fhir.r5.model.SubstanceAmount();
027    BackboneElement40_50.copyBackboneElement(src, tgt);
028    if (src.hasAmount())
029      tgt.setAmount(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getAmount()));
030    if (src.hasAmountType()) tgt.setAmountType(CodeableConcept40_50.convertCodeableConcept(src.getAmountType()));
031    if (src.hasAmountText()) tgt.setAmountTextElement(String40_50.convertString(src.getAmountTextElement()));
032    if (src.hasReferenceRange())
033      tgt.setReferenceRange(convertSubstanceAmountReferenceRangeComponent(src.getReferenceRange()));
034    return tgt;
035  }
036
037  public static org.hl7.fhir.r5.model.SubstanceAmount.SubstanceAmountReferenceRangeComponent convertSubstanceAmountReferenceRangeComponent(org.hl7.fhir.r4.model.SubstanceAmount.SubstanceAmountReferenceRangeComponent src) throws FHIRException {
038    if (src == null) return null;
039    org.hl7.fhir.r5.model.SubstanceAmount.SubstanceAmountReferenceRangeComponent tgt = new org.hl7.fhir.r5.model.SubstanceAmount.SubstanceAmountReferenceRangeComponent();
040    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
041    if (src.hasLowLimit()) tgt.setLowLimit(Quantity40_50.convertQuantity(src.getLowLimit()));
042    if (src.hasHighLimit()) tgt.setHighLimit(Quantity40_50.convertQuantity(src.getHighLimit()));
043    return tgt;
044  }
045
046  public static org.hl7.fhir.r4.model.SubstanceAmount.SubstanceAmountReferenceRangeComponent convertSubstanceAmountReferenceRangeComponent(org.hl7.fhir.r5.model.SubstanceAmount.SubstanceAmountReferenceRangeComponent src) throws FHIRException {
047    if (src == null) return null;
048    org.hl7.fhir.r4.model.SubstanceAmount.SubstanceAmountReferenceRangeComponent tgt = new org.hl7.fhir.r4.model.SubstanceAmount.SubstanceAmountReferenceRangeComponent();
049    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
050    if (src.hasLowLimit()) tgt.setLowLimit(Quantity40_50.convertQuantity(src.getLowLimit()));
051    if (src.hasHighLimit()) tgt.setHighLimit(Quantity40_50.convertQuantity(src.getHighLimit()));
052    return tgt;
053  }
054}