
001package org.hl7.fhir.convertors.conv30_50.resources30_50; 002 003import org.hl7.fhir.convertors.context.ConversionContext30_50; 004import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; 005import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Annotation30_50; 006import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; 007import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; 008import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; 009import org.hl7.fhir.dstu3.model.DeviceUseStatement; 010import org.hl7.fhir.dstu3.model.Enumeration; 011import org.hl7.fhir.exceptions.FHIRException; 012import org.hl7.fhir.r5.model.CodeableReference; 013import org.hl7.fhir.r5.model.DeviceUsage; 014 015public class DeviceUseStatement30_50 { 016 017 public static org.hl7.fhir.dstu3.model.DeviceUseStatement convertDeviceUseStatement(org.hl7.fhir.r5.model.DeviceUsage src) throws FHIRException { 018 if (src == null) 019 return null; 020 org.hl7.fhir.dstu3.model.DeviceUseStatement tgt = new org.hl7.fhir.dstu3.model.DeviceUseStatement(); 021 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyDomainResource(src, tgt); 022 for (org.hl7.fhir.r5.model.Identifier t : src.getIdentifier()) 023 tgt.addIdentifier(Identifier30_50.convertIdentifier(t)); 024 if (src.hasStatus()) 025 tgt.setStatusElement(convertDeviceUseStatementStatus(src.getStatusElement())); 026 if (src.hasPatient()) 027 tgt.setSubject(Reference30_50.convertReference(src.getPatient())); 028 if (src.hasTiming()) 029 tgt.setTiming(ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().convertType(src.getTiming())); 030 if (src.hasDateAsserted()) 031 tgt.setRecordedOnElement(DateTime30_50.convertDateTime(src.getDateAssertedElement())); 032 if (src.hasInformationSource()) 033 tgt.setSource(Reference30_50.convertReference(src.getInformationSource())); 034 if (src.getDevice().hasReference()) 035 tgt.setDevice(Reference30_50.convertReference(src.getDevice().getReference())); 036 for (CodeableReference t : src.getReason()) 037 if (t.hasConcept()) 038 tgt.addIndication(CodeableConcept30_50.convertCodeableConcept(t.getConcept())); 039 if (src.getBodySite().hasConcept()) 040 tgt.setBodySite(CodeableConcept30_50.convertCodeableConcept(src.getBodySite().getConcept())); 041 for (org.hl7.fhir.r5.model.Annotation t : src.getNote()) tgt.addNote(Annotation30_50.convertAnnotation(t)); 042 return tgt; 043 } 044 045 public static org.hl7.fhir.r5.model.DeviceUsage convertDeviceUseStatement(org.hl7.fhir.dstu3.model.DeviceUseStatement src) throws FHIRException { 046 if (src == null) 047 return null; 048 org.hl7.fhir.r5.model.DeviceUsage tgt = new org.hl7.fhir.r5.model.DeviceUsage(); 049 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyDomainResource(src, tgt); 050 for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier()) 051 tgt.addIdentifier(Identifier30_50.convertIdentifier(t)); 052 if (src.hasStatus()) 053 tgt.setStatusElement(convertDeviceUseStatementStatus(src.getStatusElement())); 054 if (src.hasSubject()) 055 tgt.setPatient(Reference30_50.convertReference(src.getSubject())); 056 if (src.hasTiming()) 057 tgt.setTiming(ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().convertType(src.getTiming())); 058 if (src.hasRecordedOn()) 059 tgt.setDateAssertedElement(DateTime30_50.convertDateTime(src.getRecordedOnElement())); 060 if (src.hasSource()) 061 tgt.setInformationSource(Reference30_50.convertReference(src.getSource())); 062 if (src.hasDevice()) 063 tgt.getDevice().setReference(Reference30_50.convertReference(src.getDevice())); 064 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getIndication()) 065 tgt.addReason(Reference30_50.convertCodeableConceptToCodableReference(t)); 066 if (src.hasBodySite()) 067 tgt.getBodySite().setConcept(CodeableConcept30_50.convertCodeableConcept(src.getBodySite())); 068 for (org.hl7.fhir.dstu3.model.Annotation t : src.getNote()) tgt.addNote(Annotation30_50.convertAnnotation(t)); 069 return tgt; 070 } 071 072 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.DeviceUseStatement.DeviceUseStatementStatus> convertDeviceUseStatementStatus(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.DeviceUsage.DeviceUsageStatus> src) throws FHIRException { 073 if (src == null || src.isEmpty()) 074 return null; 075 Enumeration<DeviceUseStatement.DeviceUseStatementStatus> tgt = new Enumeration<>(new DeviceUseStatement.DeviceUseStatementStatusEnumFactory()); 076 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 077 if (src.getValue() == null) { 078 tgt.setValue(null); 079 } else { 080 switch (src.getValue()) { 081 case ACTIVE: 082 tgt.setValue(DeviceUseStatement.DeviceUseStatementStatus.ACTIVE); 083 break; 084 case COMPLETED: 085 tgt.setValue(DeviceUseStatement.DeviceUseStatementStatus.COMPLETED); 086 break; 087 case ENTEREDINERROR: 088 tgt.setValue(DeviceUseStatement.DeviceUseStatementStatus.ENTEREDINERROR); 089 break; 090 case INTENDED: 091 tgt.setValue(DeviceUseStatement.DeviceUseStatementStatus.INTENDED); 092 break; 093 case STOPPED: 094 tgt.setValue(DeviceUseStatement.DeviceUseStatementStatus.STOPPED); 095 break; 096 case ONHOLD: 097 tgt.setValue(DeviceUseStatement.DeviceUseStatementStatus.ONHOLD); 098 break; 099 default: 100 tgt.setValue(DeviceUseStatement.DeviceUseStatementStatus.NULL); 101 break; 102 } 103 } 104 return tgt; 105 } 106 107 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.DeviceUsage.DeviceUsageStatus> convertDeviceUseStatementStatus(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.DeviceUseStatement.DeviceUseStatementStatus> src) throws FHIRException { 108 if (src == null || src.isEmpty()) 109 return null; 110 org.hl7.fhir.r5.model.Enumeration<DeviceUsage.DeviceUsageStatus> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new DeviceUsage.DeviceUsageStatusEnumFactory()); 111 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 112 if (src.getValue() == null) { 113 tgt.setValue(null); 114 } else { 115 switch (src.getValue()) { 116 case ACTIVE: 117 tgt.setValue(DeviceUsage.DeviceUsageStatus.ACTIVE); 118 break; 119 case COMPLETED: 120 tgt.setValue(DeviceUsage.DeviceUsageStatus.COMPLETED); 121 break; 122 case ENTEREDINERROR: 123 tgt.setValue(DeviceUsage.DeviceUsageStatus.ENTEREDINERROR); 124 break; 125 case INTENDED: 126 tgt.setValue(DeviceUsage.DeviceUsageStatus.INTENDED); 127 break; 128 case STOPPED: 129 tgt.setValue(DeviceUsage.DeviceUsageStatus.STOPPED); 130 break; 131 case ONHOLD: 132 tgt.setValue(DeviceUsage.DeviceUsageStatus.ONHOLD); 133 break; 134 default: 135 tgt.setValue(DeviceUsage.DeviceUsageStatus.NULL); 136 break; 137 } 138 } 139 return tgt; 140 } 141}