
001package org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30; 002 003import org.hl7.fhir.convertors.context.ConversionContext14_30; 004import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Code14_30; 005import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Decimal14_30; 006import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.String14_30; 007import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Uri14_30; 008import org.hl7.fhir.dstu3.model.Quantity; 009import org.hl7.fhir.exceptions.FHIRException; 010 011public class Quantity14_30 { 012 public static org.hl7.fhir.dstu3.model.Quantity convertQuantity(org.hl7.fhir.dstu2016may.model.Quantity src) throws FHIRException { 013 if (src == null || src.isEmpty()) return null; 014 org.hl7.fhir.dstu3.model.Quantity tgt = new org.hl7.fhir.dstu3.model.Quantity(); 015 ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt); 016 if (src.hasValue()) tgt.setValueElement(Decimal14_30.convertDecimal(src.getValueElement())); 017 if (src.hasComparator()) tgt.setComparatorElement(convertQuantityComparator(src.getComparatorElement())); 018 if (src.hasUnit()) tgt.setUnitElement(String14_30.convertString(src.getUnitElement())); 019 if (src.hasSystem()) tgt.setSystemElement(Uri14_30.convertUri(src.getSystemElement())); 020 if (src.hasCode()) tgt.setCodeElement(Code14_30.convertCode(src.getCodeElement())); 021 return tgt; 022 } 023 024 public static org.hl7.fhir.dstu2016may.model.Quantity convertQuantity(org.hl7.fhir.dstu3.model.Quantity src) throws FHIRException { 025 if (src == null || src.isEmpty()) return null; 026 org.hl7.fhir.dstu2016may.model.Quantity tgt = new org.hl7.fhir.dstu2016may.model.Quantity(); 027 ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt); 028 if (src.hasValue()) tgt.setValueElement(Decimal14_30.convertDecimal(src.getValueElement())); 029 if (src.hasComparator()) tgt.setComparatorElement(convertQuantityComparator(src.getComparatorElement())); 030 if (src.hasUnit()) tgt.setUnitElement(String14_30.convertString(src.getUnitElement())); 031 if (src.hasSystem()) tgt.setSystemElement(Uri14_30.convertUri(src.getSystemElement())); 032 if (src.hasCode()) tgt.setCodeElement(Code14_30.convertCode(src.getCodeElement())); 033 return tgt; 034 } 035 036 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Quantity.QuantityComparator> convertQuantityComparator(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Quantity.QuantityComparator> src) throws FHIRException { 037 if (src == null || src.isEmpty()) return null; 038 org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Quantity.QuantityComparator> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.Quantity.QuantityComparatorEnumFactory()); 039 ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt); 040 if (src.getValue() == null) { 041 tgt.setValue(null); 042} else { 043 switch(src.getValue()) { 044 case LESS_THAN: 045 tgt.setValue(Quantity.QuantityComparator.LESS_THAN); 046 break; 047 case LESS_OR_EQUAL: 048 tgt.setValue(Quantity.QuantityComparator.LESS_OR_EQUAL); 049 break; 050 case GREATER_OR_EQUAL: 051 tgt.setValue(Quantity.QuantityComparator.GREATER_OR_EQUAL); 052 break; 053 case GREATER_THAN: 054 tgt.setValue(Quantity.QuantityComparator.GREATER_THAN); 055 break; 056 default: 057 tgt.setValue(Quantity.QuantityComparator.NULL); 058 break; 059 } 060} 061 return tgt; 062 } 063 064 static public org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Quantity.QuantityComparator> convertQuantityComparator(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Quantity.QuantityComparator> src) throws FHIRException { 065 if (src == null || src.isEmpty()) return null; 066 org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.Quantity.QuantityComparator> tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.Quantity.QuantityComparatorEnumFactory()); 067 ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt); 068 if (src.getValue() == null) { 069 tgt.setValue(null); 070} else { 071 switch(src.getValue()) { 072 case LESS_THAN: 073 tgt.setValue(org.hl7.fhir.dstu2016may.model.Quantity.QuantityComparator.LESS_THAN); 074 break; 075 case LESS_OR_EQUAL: 076 tgt.setValue(org.hl7.fhir.dstu2016may.model.Quantity.QuantityComparator.LESS_OR_EQUAL); 077 break; 078 case GREATER_OR_EQUAL: 079 tgt.setValue(org.hl7.fhir.dstu2016may.model.Quantity.QuantityComparator.GREATER_OR_EQUAL); 080 break; 081 case GREATER_THAN: 082 tgt.setValue(org.hl7.fhir.dstu2016may.model.Quantity.QuantityComparator.GREATER_THAN); 083 break; 084 default: 085 tgt.setValue(org.hl7.fhir.dstu2016may.model.Quantity.QuantityComparator.NULL); 086 break; 087 } 088} 089 return tgt; 090 } 091}