
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.SimpleQuantity10_30; 008import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; 009import org.hl7.fhir.dstu3.model.Specimen; 010import org.hl7.fhir.exceptions.FHIRException; 011 012public class Specimen10_30 { 013 014 static public org.hl7.fhir.dstu2.model.Specimen convertSpecimen(Specimen src) { 015 if (src == null) { 016 return null; 017 } 018 org.hl7.fhir.dstu2.model.Specimen tgt = new org.hl7.fhir.dstu2.model.Specimen(); 019 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 020 for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier()) 021 tgt.addIdentifier(Identifier10_30.convertIdentifier(t)); 022 if (src.hasAccessionIdentifier()) 023 tgt.setAccessionIdentifier(Identifier10_30.convertIdentifier(src.getAccessionIdentifier())); 024 if (src.hasStatus()) 025 tgt.setStatus(convertSpecimenStatus(src.getStatus())); 026 if (src.hasType()) 027 tgt.setType(CodeableConcept10_30.convertCodeableConcept(src.getType())); 028 if (src.hasSubject()) 029 tgt.setSubject(Reference10_30.convertReference(src.getSubject())); 030 if (src.hasReceivedTime()) 031 tgt.setReceivedTime(src.getReceivedTime()); 032 for (org.hl7.fhir.dstu3.model.Reference t : src.getParent()) tgt.addParent(Reference10_30.convertReference(t)); 033 if (src.hasCollection()) 034 tgt.setCollection(convertSpecimenCollectionComponent(src.getCollection())); 035 for (org.hl7.fhir.dstu3.model.Specimen.SpecimenProcessingComponent t : src.getProcessing()) 036 tgt.addTreatment(convertSpecimenProcessingComponent(t)); 037 for (org.hl7.fhir.dstu3.model.Specimen.SpecimenContainerComponent t : src.getContainer()) 038 tgt.addContainer(convertSpecimenContainerComponent(t)); 039 return tgt; 040 } 041 042 public static org.hl7.fhir.dstu2.model.Specimen.SpecimenCollectionComponent convertSpecimenCollectionComponent(org.hl7.fhir.dstu3.model.Specimen.SpecimenCollectionComponent src) throws FHIRException { 043 if (src == null) 044 return null; 045 org.hl7.fhir.dstu2.model.Specimen.SpecimenCollectionComponent tgt = new org.hl7.fhir.dstu2.model.Specimen.SpecimenCollectionComponent(); 046 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 047 if (src.hasCollector()) 048 tgt.setCollector(Reference10_30.convertReference(src.getCollector())); 049 if (src.hasCollected()) 050 tgt.setCollected(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getCollected())); 051 if (src.hasQuantity()) 052 tgt.setQuantity(SimpleQuantity10_30.convertSimpleQuantity(src.getQuantity())); 053 if (src.hasMethod()) 054 tgt.setMethod(CodeableConcept10_30.convertCodeableConcept(src.getMethod())); 055 if (src.hasBodySite()) 056 tgt.setBodySite(CodeableConcept10_30.convertCodeableConcept(src.getBodySite())); 057 return tgt; 058 } 059 060 public static org.hl7.fhir.dstu2.model.Specimen.SpecimenContainerComponent convertSpecimenContainerComponent(org.hl7.fhir.dstu3.model.Specimen.SpecimenContainerComponent src) throws FHIRException { 061 if (src == null) 062 return null; 063 org.hl7.fhir.dstu2.model.Specimen.SpecimenContainerComponent tgt = new org.hl7.fhir.dstu2.model.Specimen.SpecimenContainerComponent(); 064 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 065 for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier()) 066 tgt.addIdentifier(Identifier10_30.convertIdentifier(t)); 067 if (src.hasDescription()) 068 tgt.setDescriptionElement(String10_30.convertString(src.getDescriptionElement())); 069 if (src.hasType()) 070 tgt.setType(CodeableConcept10_30.convertCodeableConcept(src.getType())); 071 if (src.hasCapacity()) 072 tgt.setCapacity(SimpleQuantity10_30.convertSimpleQuantity(src.getCapacity())); 073 if (src.hasSpecimenQuantity()) 074 tgt.setSpecimenQuantity(SimpleQuantity10_30.convertSimpleQuantity(src.getSpecimenQuantity())); 075 if (src.hasAdditive()) 076 tgt.setAdditive(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getAdditive())); 077 return tgt; 078 } 079 080 public static org.hl7.fhir.dstu2.model.Specimen.SpecimenTreatmentComponent convertSpecimenProcessingComponent(org.hl7.fhir.dstu3.model.Specimen.SpecimenProcessingComponent src) throws FHIRException { 081 if (src == null) 082 return null; 083 org.hl7.fhir.dstu2.model.Specimen.SpecimenTreatmentComponent tgt = new org.hl7.fhir.dstu2.model.Specimen.SpecimenTreatmentComponent(); 084 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 085 if (src.hasDescription()) 086 tgt.setDescriptionElement(String10_30.convertString(src.getDescriptionElement())); 087 if (src.hasProcedure()) 088 tgt.setProcedure(CodeableConcept10_30.convertCodeableConcept(src.getProcedure())); 089 for (org.hl7.fhir.dstu3.model.Reference t : src.getAdditive()) tgt.addAdditive(Reference10_30.convertReference(t)); 090 return tgt; 091 } 092 093 static public org.hl7.fhir.dstu2.model.Specimen.SpecimenStatus convertSpecimenStatus(Specimen.SpecimenStatus status) { 094 if (status == null) { 095 return null; 096 } 097 switch (status) { 098 case AVAILABLE: 099 return org.hl7.fhir.dstu2.model.Specimen.SpecimenStatus.AVAILABLE; 100 case UNAVAILABLE: 101 return org.hl7.fhir.dstu2.model.Specimen.SpecimenStatus.UNAVAILABLE; 102 case ENTEREDINERROR: 103 return org.hl7.fhir.dstu2.model.Specimen.SpecimenStatus.ENTEREDINERROR; 104 case UNSATISFACTORY: 105 return org.hl7.fhir.dstu2.model.Specimen.SpecimenStatus.UNSATISFACTORY; 106 case NULL: 107 return org.hl7.fhir.dstu2.model.Specimen.SpecimenStatus.NULL; 108 default: 109 return org.hl7.fhir.dstu2.model.Specimen.SpecimenStatus.NULL; 110 } 111 } 112}