
001package org.hl7.fhir.convertors.conv30_40.resources30_40; 002 003import org.hl7.fhir.convertors.context.ConversionContext30_40; 004import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; 005import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Annotation30_40; 006import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; 007import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; 008import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.SimpleQuantity30_40; 009import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; 010import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; 011import org.hl7.fhir.dstu3.model.Enumeration; 012import org.hl7.fhir.dstu3.model.Specimen; 013import org.hl7.fhir.exceptions.FHIRException; 014 015public class Specimen30_40 { 016 017 public static org.hl7.fhir.r4.model.Specimen convertSpecimen(org.hl7.fhir.dstu3.model.Specimen src) throws FHIRException { 018 if (src == null) 019 return null; 020 org.hl7.fhir.r4.model.Specimen tgt = new org.hl7.fhir.r4.model.Specimen(); 021 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt); 022 for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier()) 023 tgt.addIdentifier(Identifier30_40.convertIdentifier(t)); 024 if (src.hasAccessionIdentifier()) 025 tgt.setAccessionIdentifier(Identifier30_40.convertIdentifier(src.getAccessionIdentifier())); 026 if (src.hasStatus()) 027 tgt.setStatusElement(convertSpecimenStatus(src.getStatusElement())); 028 if (src.hasType()) 029 tgt.setType(CodeableConcept30_40.convertCodeableConcept(src.getType())); 030 if (src.hasSubject()) 031 tgt.setSubject(Reference30_40.convertReference(src.getSubject())); 032 if (src.hasReceivedTime()) 033 tgt.setReceivedTimeElement(DateTime30_40.convertDateTime(src.getReceivedTimeElement())); 034 for (org.hl7.fhir.dstu3.model.Reference t : src.getParent()) tgt.addParent(Reference30_40.convertReference(t)); 035 for (org.hl7.fhir.dstu3.model.Reference t : src.getRequest()) tgt.addRequest(Reference30_40.convertReference(t)); 036 if (src.hasCollection()) 037 tgt.setCollection(convertSpecimenCollectionComponent(src.getCollection())); 038 for (org.hl7.fhir.dstu3.model.Specimen.SpecimenProcessingComponent t : src.getProcessing()) 039 tgt.addProcessing(convertSpecimenProcessingComponent(t)); 040 for (org.hl7.fhir.dstu3.model.Specimen.SpecimenContainerComponent t : src.getContainer()) 041 tgt.addContainer(convertSpecimenContainerComponent(t)); 042 for (org.hl7.fhir.dstu3.model.Annotation t : src.getNote()) tgt.addNote(Annotation30_40.convertAnnotation(t)); 043 return tgt; 044 } 045 046 public static org.hl7.fhir.dstu3.model.Specimen convertSpecimen(org.hl7.fhir.r4.model.Specimen src) throws FHIRException { 047 if (src == null) 048 return null; 049 org.hl7.fhir.dstu3.model.Specimen tgt = new org.hl7.fhir.dstu3.model.Specimen(); 050 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt); 051 for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier()) 052 tgt.addIdentifier(Identifier30_40.convertIdentifier(t)); 053 if (src.hasAccessionIdentifier()) 054 tgt.setAccessionIdentifier(Identifier30_40.convertIdentifier(src.getAccessionIdentifier())); 055 if (src.hasStatus()) 056 tgt.setStatusElement(convertSpecimenStatus(src.getStatusElement())); 057 if (src.hasType()) 058 tgt.setType(CodeableConcept30_40.convertCodeableConcept(src.getType())); 059 if (src.hasSubject()) 060 tgt.setSubject(Reference30_40.convertReference(src.getSubject())); 061 if (src.hasReceivedTime()) 062 tgt.setReceivedTimeElement(DateTime30_40.convertDateTime(src.getReceivedTimeElement())); 063 for (org.hl7.fhir.r4.model.Reference t : src.getParent()) tgt.addParent(Reference30_40.convertReference(t)); 064 for (org.hl7.fhir.r4.model.Reference t : src.getRequest()) tgt.addRequest(Reference30_40.convertReference(t)); 065 if (src.hasCollection()) 066 tgt.setCollection(convertSpecimenCollectionComponent(src.getCollection())); 067 for (org.hl7.fhir.r4.model.Specimen.SpecimenProcessingComponent t : src.getProcessing()) 068 tgt.addProcessing(convertSpecimenProcessingComponent(t)); 069 for (org.hl7.fhir.r4.model.Specimen.SpecimenContainerComponent t : src.getContainer()) 070 tgt.addContainer(convertSpecimenContainerComponent(t)); 071 for (org.hl7.fhir.r4.model.Annotation t : src.getNote()) tgt.addNote(Annotation30_40.convertAnnotation(t)); 072 return tgt; 073 } 074 075 public static org.hl7.fhir.dstu3.model.Specimen.SpecimenCollectionComponent convertSpecimenCollectionComponent(org.hl7.fhir.r4.model.Specimen.SpecimenCollectionComponent src) throws FHIRException { 076 if (src == null) 077 return null; 078 org.hl7.fhir.dstu3.model.Specimen.SpecimenCollectionComponent tgt = new org.hl7.fhir.dstu3.model.Specimen.SpecimenCollectionComponent(); 079 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 080 if (src.hasCollector()) 081 tgt.setCollector(Reference30_40.convertReference(src.getCollector())); 082 if (src.hasCollected()) 083 tgt.setCollected(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getCollected())); 084 if (src.hasQuantity()) 085 tgt.setQuantity(SimpleQuantity30_40.convertSimpleQuantity(src.getQuantity())); 086 if (src.hasMethod()) 087 tgt.setMethod(CodeableConcept30_40.convertCodeableConcept(src.getMethod())); 088 if (src.hasBodySite()) 089 tgt.setBodySite(CodeableConcept30_40.convertCodeableConcept(src.getBodySite())); 090 return tgt; 091 } 092 093 public static org.hl7.fhir.r4.model.Specimen.SpecimenCollectionComponent convertSpecimenCollectionComponent(org.hl7.fhir.dstu3.model.Specimen.SpecimenCollectionComponent src) throws FHIRException { 094 if (src == null) 095 return null; 096 org.hl7.fhir.r4.model.Specimen.SpecimenCollectionComponent tgt = new org.hl7.fhir.r4.model.Specimen.SpecimenCollectionComponent(); 097 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 098 if (src.hasCollector()) 099 tgt.setCollector(Reference30_40.convertReference(src.getCollector())); 100 if (src.hasCollected()) 101 tgt.setCollected(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getCollected())); 102 if (src.hasQuantity()) 103 tgt.setQuantity(SimpleQuantity30_40.convertSimpleQuantity(src.getQuantity())); 104 if (src.hasMethod()) 105 tgt.setMethod(CodeableConcept30_40.convertCodeableConcept(src.getMethod())); 106 if (src.hasBodySite()) 107 tgt.setBodySite(CodeableConcept30_40.convertCodeableConcept(src.getBodySite())); 108 return tgt; 109 } 110 111 public static org.hl7.fhir.dstu3.model.Specimen.SpecimenContainerComponent convertSpecimenContainerComponent(org.hl7.fhir.r4.model.Specimen.SpecimenContainerComponent src) throws FHIRException { 112 if (src == null) 113 return null; 114 org.hl7.fhir.dstu3.model.Specimen.SpecimenContainerComponent tgt = new org.hl7.fhir.dstu3.model.Specimen.SpecimenContainerComponent(); 115 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 116 for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier()) 117 tgt.addIdentifier(Identifier30_40.convertIdentifier(t)); 118 if (src.hasDescription()) 119 tgt.setDescriptionElement(String30_40.convertString(src.getDescriptionElement())); 120 if (src.hasType()) 121 tgt.setType(CodeableConcept30_40.convertCodeableConcept(src.getType())); 122 if (src.hasCapacity()) 123 tgt.setCapacity(SimpleQuantity30_40.convertSimpleQuantity(src.getCapacity())); 124 if (src.hasSpecimenQuantity()) 125 tgt.setSpecimenQuantity(SimpleQuantity30_40.convertSimpleQuantity(src.getSpecimenQuantity())); 126 if (src.hasAdditive()) 127 tgt.setAdditive(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getAdditive())); 128 return tgt; 129 } 130 131 public static org.hl7.fhir.r4.model.Specimen.SpecimenContainerComponent convertSpecimenContainerComponent(org.hl7.fhir.dstu3.model.Specimen.SpecimenContainerComponent src) throws FHIRException { 132 if (src == null) 133 return null; 134 org.hl7.fhir.r4.model.Specimen.SpecimenContainerComponent tgt = new org.hl7.fhir.r4.model.Specimen.SpecimenContainerComponent(); 135 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 136 for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier()) 137 tgt.addIdentifier(Identifier30_40.convertIdentifier(t)); 138 if (src.hasDescription()) 139 tgt.setDescriptionElement(String30_40.convertString(src.getDescriptionElement())); 140 if (src.hasType()) 141 tgt.setType(CodeableConcept30_40.convertCodeableConcept(src.getType())); 142 if (src.hasCapacity()) 143 tgt.setCapacity(SimpleQuantity30_40.convertSimpleQuantity(src.getCapacity())); 144 if (src.hasSpecimenQuantity()) 145 tgt.setSpecimenQuantity(SimpleQuantity30_40.convertSimpleQuantity(src.getSpecimenQuantity())); 146 if (src.hasAdditive()) 147 tgt.setAdditive(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getAdditive())); 148 return tgt; 149 } 150 151 public static org.hl7.fhir.r4.model.Specimen.SpecimenProcessingComponent convertSpecimenProcessingComponent(org.hl7.fhir.dstu3.model.Specimen.SpecimenProcessingComponent src) throws FHIRException { 152 if (src == null) 153 return null; 154 org.hl7.fhir.r4.model.Specimen.SpecimenProcessingComponent tgt = new org.hl7.fhir.r4.model.Specimen.SpecimenProcessingComponent(); 155 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 156 if (src.hasDescription()) 157 tgt.setDescriptionElement(String30_40.convertString(src.getDescriptionElement())); 158 if (src.hasProcedure()) 159 tgt.setProcedure(CodeableConcept30_40.convertCodeableConcept(src.getProcedure())); 160 for (org.hl7.fhir.dstu3.model.Reference t : src.getAdditive()) tgt.addAdditive(Reference30_40.convertReference(t)); 161 if (src.hasTime()) 162 tgt.setTime(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getTime())); 163 return tgt; 164 } 165 166 public static org.hl7.fhir.dstu3.model.Specimen.SpecimenProcessingComponent convertSpecimenProcessingComponent(org.hl7.fhir.r4.model.Specimen.SpecimenProcessingComponent src) throws FHIRException { 167 if (src == null) 168 return null; 169 org.hl7.fhir.dstu3.model.Specimen.SpecimenProcessingComponent tgt = new org.hl7.fhir.dstu3.model.Specimen.SpecimenProcessingComponent(); 170 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 171 if (src.hasDescription()) 172 tgt.setDescriptionElement(String30_40.convertString(src.getDescriptionElement())); 173 if (src.hasProcedure()) 174 tgt.setProcedure(CodeableConcept30_40.convertCodeableConcept(src.getProcedure())); 175 for (org.hl7.fhir.r4.model.Reference t : src.getAdditive()) tgt.addAdditive(Reference30_40.convertReference(t)); 176 if (src.hasTime()) 177 tgt.setTime(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getTime())); 178 return tgt; 179 } 180 181 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Specimen.SpecimenStatus> convertSpecimenStatus(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Specimen.SpecimenStatus> src) throws FHIRException { 182 if (src == null || src.isEmpty()) 183 return null; 184 Enumeration<Specimen.SpecimenStatus> tgt = new Enumeration<>(new Specimen.SpecimenStatusEnumFactory()); 185 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 186 if (src.getValue() == null) { 187 tgt.setValue(null); 188 } else { 189 switch (src.getValue()) { 190 case AVAILABLE: 191 tgt.setValue(Specimen.SpecimenStatus.AVAILABLE); 192 break; 193 case UNAVAILABLE: 194 tgt.setValue(Specimen.SpecimenStatus.UNAVAILABLE); 195 break; 196 case UNSATISFACTORY: 197 tgt.setValue(Specimen.SpecimenStatus.UNSATISFACTORY); 198 break; 199 case ENTEREDINERROR: 200 tgt.setValue(Specimen.SpecimenStatus.ENTEREDINERROR); 201 break; 202 default: 203 tgt.setValue(Specimen.SpecimenStatus.NULL); 204 break; 205 } 206 } 207 return tgt; 208 } 209 210 static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Specimen.SpecimenStatus> convertSpecimenStatus(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Specimen.SpecimenStatus> src) throws FHIRException { 211 if (src == null || src.isEmpty()) 212 return null; 213 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Specimen.SpecimenStatus> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.Specimen.SpecimenStatusEnumFactory()); 214 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 215 if (src.getValue() == null) { 216 tgt.setValue(null); 217 } else { 218 switch (src.getValue()) { 219 case AVAILABLE: 220 tgt.setValue(org.hl7.fhir.r4.model.Specimen.SpecimenStatus.AVAILABLE); 221 break; 222 case UNAVAILABLE: 223 tgt.setValue(org.hl7.fhir.r4.model.Specimen.SpecimenStatus.UNAVAILABLE); 224 break; 225 case UNSATISFACTORY: 226 tgt.setValue(org.hl7.fhir.r4.model.Specimen.SpecimenStatus.UNSATISFACTORY); 227 break; 228 case ENTEREDINERROR: 229 tgt.setValue(org.hl7.fhir.r4.model.Specimen.SpecimenStatus.ENTEREDINERROR); 230 break; 231 default: 232 tgt.setValue(org.hl7.fhir.r4.model.Specimen.SpecimenStatus.NULL); 233 break; 234 } 235 } 236 return tgt; 237 } 238}