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.Reference10_30;
005import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30;
006import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30;
007import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Period10_30;
008import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.DateTime10_30;
009import org.hl7.fhir.dstu3.model.Annotation;
010import org.hl7.fhir.exceptions.FHIRException;
011
012public class DeviceUseStatement10_30 {
013
014  public static org.hl7.fhir.dstu2.model.DeviceUseStatement convertDeviceUseStatement(org.hl7.fhir.dstu3.model.DeviceUseStatement src) throws FHIRException {
015    if (src == null || src.isEmpty())
016      return null;
017    org.hl7.fhir.dstu2.model.DeviceUseStatement tgt = new org.hl7.fhir.dstu2.model.DeviceUseStatement();
018    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt);
019    if (src.hasBodySite())
020      tgt.setBodySite(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getBodySite()));
021    if (src.hasWhenUsed())
022      tgt.setWhenUsed(Period10_30.convertPeriod(src.getWhenUsed()));
023    if (src.hasDevice())
024      tgt.setDevice(Reference10_30.convertReference(src.getDevice()));
025    for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier())
026      tgt.addIdentifier(Identifier10_30.convertIdentifier(t));
027    for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getIndication())
028      tgt.addIndication(CodeableConcept10_30.convertCodeableConcept(t));
029    for (Annotation t : src.getNote()) tgt.addNotes(t.getText());
030    if (src.hasRecordedOnElement())
031      tgt.setRecordedOnElement(DateTime10_30.convertDateTime(src.getRecordedOnElement()));
032    if (src.hasSubject())
033      tgt.setSubject(Reference10_30.convertReference(src.getSubject()));
034    if (src.hasTiming())
035      tgt.setTiming(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getTiming()));
036    return tgt;
037  }
038
039  public static org.hl7.fhir.dstu3.model.DeviceUseStatement convertDeviceUseStatement(org.hl7.fhir.dstu2.model.DeviceUseStatement src) throws FHIRException {
040    if (src == null || src.isEmpty())
041      return null;
042    org.hl7.fhir.dstu3.model.DeviceUseStatement tgt = new org.hl7.fhir.dstu3.model.DeviceUseStatement();
043    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt);
044    if (src.hasBodySiteCodeableConcept())
045      tgt.setBodySite(CodeableConcept10_30.convertCodeableConcept(src.getBodySiteCodeableConcept()));
046    if (src.hasWhenUsed())
047      tgt.setWhenUsed(Period10_30.convertPeriod(src.getWhenUsed()));
048    if (src.hasDevice())
049      tgt.setDevice(Reference10_30.convertReference(src.getDevice()));
050    for (org.hl7.fhir.dstu2.model.Identifier t : src.getIdentifier())
051      tgt.addIdentifier(Identifier10_30.convertIdentifier(t));
052    for (org.hl7.fhir.dstu2.model.CodeableConcept t : src.getIndication())
053      tgt.addIndication(CodeableConcept10_30.convertCodeableConcept(t));
054    for (org.hl7.fhir.dstu2.model.StringType t : src.getNotes()) tgt.addNote().setText(t.getValue());
055    if (src.hasRecordedOnElement())
056      tgt.setRecordedOnElement(DateTime10_30.convertDateTime(src.getRecordedOnElement()));
057    if (src.hasSubject())
058      tgt.setSubject(Reference10_30.convertReference(src.getSubject()));
059    if (src.hasTiming())
060      tgt.setTiming(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getTiming()));
061    return tgt;
062  }
063}