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.Reference10_50;
005import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.CodeableConcept10_50;
006import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Identifier10_50;
007import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Instant10_50;
008import org.hl7.fhir.exceptions.FHIRException;
009
010public class DeviceMetric10_50 {
011
012  public static org.hl7.fhir.dstu2.model.DeviceMetric convertDeviceMetric(org.hl7.fhir.r5.model.DeviceMetric src) throws FHIRException {
013    if (src == null || src.isEmpty())
014      return null;
015    org.hl7.fhir.dstu2.model.DeviceMetric tgt = new org.hl7.fhir.dstu2.model.DeviceMetric();
016    ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyDomainResource(src, tgt);
017    if (src.hasType())
018      tgt.setType(CodeableConcept10_50.convertCodeableConcept(src.getType()));
019    if (src.hasIdentifier())
020      tgt.setIdentifier(Identifier10_50.convertIdentifier(src.getIdentifierFirstRep()));
021    if (src.hasUnit())
022      tgt.setUnit(CodeableConcept10_50.convertCodeableConcept(src.getUnit()));
023    if (src.hasDevice())
024      tgt.setSource(Reference10_50.convertReference(src.getDevice()));
025//    if (src.hasDevice())
026//      tgt.setParent(Reference10_50.convertReference(src.getDevice()));
027    if (src.hasOperationalStatus())
028      tgt.setOperationalStatusElement(convertDeviceMetricOperationalStatus(src.getOperationalStatusElement()));
029    if (src.hasColor())
030      tgt.setColorElement(convertDeviceMetricColor(src.getColorElement()));
031    if (src.hasCategory())
032      tgt.setCategoryElement(convertDeviceMetricCategory(src.getCategoryElement()));
033//    if (src.hasMeasurementPeriod())
034//      tgt.setMeasurementPeriod(Timing10_50.convertTiming(src.getMeasurementPeriod()));
035    for (org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCalibrationComponent t : src.getCalibration())
036      tgt.addCalibration(convertDeviceMetricCalibrationComponent(t));
037    return tgt;
038  }
039
040  public static org.hl7.fhir.r5.model.DeviceMetric convertDeviceMetric(org.hl7.fhir.dstu2.model.DeviceMetric src) throws FHIRException {
041    if (src == null || src.isEmpty())
042      return null;
043    org.hl7.fhir.r5.model.DeviceMetric tgt = new org.hl7.fhir.r5.model.DeviceMetric();
044    ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyDomainResource(src, tgt);
045    if (src.hasType())
046      tgt.setType(CodeableConcept10_50.convertCodeableConcept(src.getType()));
047    if (src.hasIdentifier())
048      tgt.addIdentifier(Identifier10_50.convertIdentifier(src.getIdentifier()));
049    if (src.hasUnit())
050      tgt.setUnit(CodeableConcept10_50.convertCodeableConcept(src.getUnit()));
051    if (src.hasSource())
052      tgt.setDevice(Reference10_50.convertReference(src.getSource()));
053    if (src.hasParent())
054      tgt.setDevice(Reference10_50.convertReference(src.getParent()));
055    if (src.hasOperationalStatus())
056      tgt.setOperationalStatusElement(convertDeviceMetricOperationalStatus(src.getOperationalStatusElement()));
057    if (src.hasColor())
058      tgt.setColorElement(convertDeviceMetricColor(src.getColorElement()));
059    if (src.hasCategory())
060      tgt.setCategoryElement(convertDeviceMetricCategory(src.getCategoryElement()));
061//    if (src.hasMeasurementPeriod())
062//      tgt.setMeasurementPeriod(Timing10_50.convertTiming(src.getMeasurementPeriod()));
063    for (org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCalibrationComponent t : src.getCalibration())
064      tgt.addCalibration(convertDeviceMetricCalibrationComponent(t));
065    return tgt;
066  }
067
068  public static org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCalibrationComponent convertDeviceMetricCalibrationComponent(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCalibrationComponent src) throws FHIRException {
069    if (src == null || src.isEmpty())
070      return null;
071    org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCalibrationComponent tgt = new org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCalibrationComponent();
072    ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyBackboneElement(src,tgt);
073    if (src.hasType())
074      tgt.setTypeElement(convertDeviceMetricCalibrationType(src.getTypeElement()));
075    if (src.hasState())
076      tgt.setStateElement(convertDeviceMetricCalibrationState(src.getStateElement()));
077    if (src.hasTimeElement())
078      tgt.setTimeElement(Instant10_50.convertInstant(src.getTimeElement()));
079    return tgt;
080  }
081
082  public static org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCalibrationComponent convertDeviceMetricCalibrationComponent(org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCalibrationComponent src) throws FHIRException {
083    if (src == null || src.isEmpty())
084      return null;
085    org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCalibrationComponent tgt = new org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCalibrationComponent();
086    ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyBackboneElement(src,tgt);
087    if (src.hasType())
088      tgt.setTypeElement(convertDeviceMetricCalibrationType(src.getTypeElement()));
089    if (src.hasState())
090      tgt.setStateElement(convertDeviceMetricCalibrationState(src.getStateElement()));
091    if (src.hasTimeElement())
092      tgt.setTimeElement(Instant10_50.convertInstant(src.getTimeElement()));
093    return tgt;
094  }
095
096  static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCalibrationState> convertDeviceMetricCalibrationState(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCalibrationState> src) throws FHIRException {
097    if (src == null || src.isEmpty())
098      return null;
099    org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCalibrationState> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCalibrationStateEnumFactory());
100    ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt);
101    switch (src.getValue()) {
102      case NOTCALIBRATED:
103        tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCalibrationState.NOTCALIBRATED);
104        break;
105      case CALIBRATIONREQUIRED:
106        tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCalibrationState.CALIBRATIONREQUIRED);
107        break;
108      case CALIBRATED:
109        tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCalibrationState.CALIBRATED);
110        break;
111      case UNSPECIFIED:
112        tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCalibrationState.UNSPECIFIED);
113        break;
114      default:
115        tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCalibrationState.NULL);
116        break;
117    }
118    return tgt;
119  }
120
121  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCalibrationState> convertDeviceMetricCalibrationState(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCalibrationState> src) throws FHIRException {
122    if (src == null || src.isEmpty())
123      return null;
124    org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCalibrationState> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCalibrationStateEnumFactory());
125    ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt);
126    switch (src.getValue()) {
127      case NOTCALIBRATED:
128        tgt.setValue(org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCalibrationState.NOTCALIBRATED);
129        break;
130      case CALIBRATIONREQUIRED:
131        tgt.setValue(org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCalibrationState.CALIBRATIONREQUIRED);
132        break;
133      case CALIBRATED:
134        tgt.setValue(org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCalibrationState.CALIBRATED);
135        break;
136      case UNSPECIFIED:
137        tgt.setValue(org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCalibrationState.UNSPECIFIED);
138        break;
139      default:
140        tgt.setValue(org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCalibrationState.NULL);
141        break;
142    }
143    return tgt;
144  }
145
146  static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCalibrationType> convertDeviceMetricCalibrationType(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCalibrationType> src) throws FHIRException {
147    if (src == null || src.isEmpty())
148      return null;
149    org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCalibrationType> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCalibrationTypeEnumFactory());
150    ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt);
151    switch (src.getValue()) {
152      case UNSPECIFIED:
153        tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCalibrationType.UNSPECIFIED);
154        break;
155      case OFFSET:
156        tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCalibrationType.OFFSET);
157        break;
158      case GAIN:
159        tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCalibrationType.GAIN);
160        break;
161      case TWOPOINT:
162        tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCalibrationType.TWOPOINT);
163        break;
164      default:
165        tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCalibrationType.NULL);
166        break;
167    }
168    return tgt;
169  }
170
171  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCalibrationType> convertDeviceMetricCalibrationType(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCalibrationType> src) throws FHIRException {
172    if (src == null || src.isEmpty())
173      return null;
174    org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCalibrationType> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCalibrationTypeEnumFactory());
175    ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt);
176    switch (src.getValue()) {
177      case UNSPECIFIED:
178        tgt.setValue(org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCalibrationType.UNSPECIFIED);
179        break;
180      case OFFSET:
181        tgt.setValue(org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCalibrationType.OFFSET);
182        break;
183      case GAIN:
184        tgt.setValue(org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCalibrationType.GAIN);
185        break;
186      case TWOPOINT:
187        tgt.setValue(org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCalibrationType.TWOPOINT);
188        break;
189      default:
190        tgt.setValue(org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCalibrationType.NULL);
191        break;
192    }
193    return tgt;
194  }
195
196  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCategory> convertDeviceMetricCategory(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCategory> src) throws FHIRException {
197    if (src == null || src.isEmpty())
198      return null;
199    org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCategory> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCategoryEnumFactory());
200    ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt);
201    switch (src.getValue()) {
202      case MEASUREMENT:
203        tgt.setValue(org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCategory.MEASUREMENT);
204        break;
205      case SETTING:
206        tgt.setValue(org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCategory.SETTING);
207        break;
208      case CALCULATION:
209        tgt.setValue(org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCategory.CALCULATION);
210        break;
211      case UNSPECIFIED:
212        tgt.setValue(org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCategory.UNSPECIFIED);
213        break;
214      default:
215        tgt.setValue(org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCategory.NULL);
216        break;
217    }
218    return tgt;
219  }
220
221  static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCategory> convertDeviceMetricCategory(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricCategory> src) throws FHIRException {
222    if (src == null || src.isEmpty())
223      return null;
224    org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCategory> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCategoryEnumFactory());
225    ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt);
226    switch (src.getValue()) {
227      case MEASUREMENT:
228        tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCategory.MEASUREMENT);
229        break;
230      case SETTING:
231        tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCategory.SETTING);
232        break;
233      case CALCULATION:
234        tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCategory.CALCULATION);
235        break;
236      case UNSPECIFIED:
237        tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCategory.UNSPECIFIED);
238        break;
239      default:
240        tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricCategory.NULL);
241        break;
242    }
243    return tgt;
244  }
245
246  static public org.hl7.fhir.r5.model.CodeType convertDeviceMetricColor(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricColor> src) throws FHIRException {
247    if (src == null || src.isEmpty())
248      return null;
249    org.hl7.fhir.r5.model.CodeType tgt = new org.hl7.fhir.r5.model.CodeType();
250    ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt);
251    tgt.setValue(src.asStringValue());
252    return tgt;
253  }
254
255  static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricColor> convertDeviceMetricColor(org.hl7.fhir.r5.model.CodeType src) throws FHIRException {
256    if (src == null || src.isEmpty())
257      return null;
258    org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricColor> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricColorEnumFactory());
259    ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt);
260    switch (src.getValue()) {
261    case "black":
262      tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricColor.BLACK);
263      break;
264    case "red":
265      tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricColor.RED);
266      break;
267    case "green":
268      tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricColor.GREEN);
269      break;
270    case "yellow":
271      tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricColor.YELLOW);
272      break;
273    case "blue":
274      tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricColor.BLUE);
275      break;
276    case "magenta":
277      tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricColor.MAGENTA);
278      break;
279    case "cyan":
280      tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricColor.CYAN);
281      break;
282    case "white":
283      tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricColor.WHITE);
284      break;
285    default:
286      tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricColor.NULL);
287      break;
288    }
289    return tgt;
290  }
291
292  static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricOperationalStatus> convertDeviceMetricOperationalStatus(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricOperationalStatus> src) throws FHIRException {
293    if (src == null || src.isEmpty())
294      return null;
295    org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricOperationalStatus> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricOperationalStatusEnumFactory());
296    ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt);
297    switch (src.getValue()) {
298      case ON:
299        tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricOperationalStatus.ON);
300        break;
301      case OFF:
302        tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricOperationalStatus.OFF);
303        break;
304      case STANDBY:
305        tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricOperationalStatus.STANDBY);
306        break;
307      default:
308        tgt.setValue(org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricOperationalStatus.NULL);
309        break;
310    }
311    return tgt;
312  }
313
314  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricOperationalStatus> convertDeviceMetricOperationalStatus(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.DeviceMetric.DeviceMetricOperationalStatus> src) throws FHIRException {
315    if (src == null || src.isEmpty())
316      return null;
317    org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricOperationalStatus> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricOperationalStatusEnumFactory());
318    ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt);
319    switch (src.getValue()) {
320      case ON:
321        tgt.setValue(org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricOperationalStatus.ON);
322        break;
323      case OFF:
324        tgt.setValue(org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricOperationalStatus.OFF);
325        break;
326      case STANDBY:
327        tgt.setValue(org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricOperationalStatus.STANDBY);
328        break;
329      default:
330        tgt.setValue(org.hl7.fhir.r5.model.DeviceMetric.DeviceMetricOperationalStatus.NULL);
331        break;
332    }
333    return tgt;
334  }
335}