001package org.hl7.fhir.convertors.conv10_40.resources10_40;
002
003import org.hl7.fhir.convertors.context.ConversionContext10_40;
004import org.hl7.fhir.convertors.conv10_40.datatypes10_40.Reference10_40;
005import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.CodeableConcept10_40;
006import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Identifier10_40;
007import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.DateTime10_40;
008import org.hl7.fhir.exceptions.FHIRException;
009import org.hl7.fhir.r4.model.Annotation;
010
011public class DeviceUseStatement10_40 {
012
013  public static org.hl7.fhir.dstu2.model.DeviceUseStatement convertDeviceUseStatement(org.hl7.fhir.r4.model.DeviceUseStatement src) throws FHIRException {
014    if (src == null || src.isEmpty())
015      return null;
016    org.hl7.fhir.dstu2.model.DeviceUseStatement tgt = new org.hl7.fhir.dstu2.model.DeviceUseStatement();
017    ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().copyDomainResource(src, tgt);
018    if (src.hasBodySite())
019      tgt.setBodySite(ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().convertType(src.getBodySite()));
020    if (src.hasDevice())
021      tgt.setDevice(Reference10_40.convertReference(src.getDevice()));
022    for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier())
023      tgt.addIdentifier(Identifier10_40.convertIdentifier(t));
024    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getReasonCode())
025      tgt.addIndication(CodeableConcept10_40.convertCodeableConcept(t));
026    for (Annotation t : src.getNote()) tgt.addNotes(t.getText());
027    if (src.hasRecordedOnElement())
028      tgt.setRecordedOnElement(DateTime10_40.convertDateTime(src.getRecordedOnElement()));
029    if (src.hasSubject())
030      tgt.setSubject(Reference10_40.convertReference(src.getSubject()));
031    if (src.hasTiming())
032      tgt.setTiming(ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().convertType(src.getTiming()));
033    return tgt;
034  }
035
036  public static org.hl7.fhir.r4.model.DeviceUseStatement convertDeviceUseStatement(org.hl7.fhir.dstu2.model.DeviceUseStatement src) throws FHIRException {
037    if (src == null || src.isEmpty())
038      return null;
039    org.hl7.fhir.r4.model.DeviceUseStatement tgt = new org.hl7.fhir.r4.model.DeviceUseStatement();
040    ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().copyDomainResource(src, tgt);
041    if (src.hasBodySiteCodeableConcept())
042      tgt.setBodySite(CodeableConcept10_40.convertCodeableConcept(src.getBodySiteCodeableConcept()));
043    if (src.hasDevice())
044      tgt.setDevice(Reference10_40.convertReference(src.getDevice()));
045    for (org.hl7.fhir.dstu2.model.Identifier t : src.getIdentifier())
046      tgt.addIdentifier(Identifier10_40.convertIdentifier(t));
047    for (org.hl7.fhir.dstu2.model.CodeableConcept t : src.getIndication())
048      tgt.addReasonCode(CodeableConcept10_40.convertCodeableConcept(t));
049    for (org.hl7.fhir.dstu2.model.StringType t : src.getNotes()) tgt.addNote().setText(t.getValue());
050    if (src.hasRecordedOnElement())
051      tgt.setRecordedOnElement(DateTime10_40.convertDateTime(src.getRecordedOnElement()));
052    if (src.hasSubject())
053      tgt.setSubject(Reference10_40.convertReference(src.getSubject()));
054    if (src.hasTiming())
055      tgt.setTiming(ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().convertType(src.getTiming()));
056    return tgt;
057  }
058}