001package org.hl7.fhir.convertors.conv40_50.resources40_50; 002 003import org.hl7.fhir.convertors.context.ConversionContext40_50; 004import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; 005import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; 006import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; 007import org.hl7.fhir.exceptions.FHIRException; 008 009/* 010 Copyright (c) 2011+, HL7, Inc. 011 All rights reserved. 012 013 Redistribution and use in source and binary forms, with or without modification, 014 are permitted provided that the following conditions are met: 015 016 * Redistributions of source code must retain the above copyright notice, this 017 list of conditions and the following disclaimer. 018 * Redistributions in binary form must reproduce the above copyright notice, 019 this list of conditions and the following disclaimer in the documentation 020 and/or other materials provided with the distribution. 021 * Neither the name of HL7 nor the names of its contributors may be used to 022 endorse or promote products derived from this software without specific 023 prior written permission. 024 025 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 026 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 027 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 028 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 029 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 030 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 031 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 032 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 033 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 034 POSSIBILITY OF SUCH DAMAGE. 035 036*/ 037// Generated on Sun, Feb 24, 2019 11:37+1100 for FHIR v4.0.0 038public class SpecimenDefinition40_50 { 039 040 public static org.hl7.fhir.r5.model.SpecimenDefinition convertSpecimenDefinition(org.hl7.fhir.r4.model.SpecimenDefinition src) throws FHIRException { 041 if (src == null) 042 return null; 043 org.hl7.fhir.r5.model.SpecimenDefinition tgt = new org.hl7.fhir.r5.model.SpecimenDefinition(); 044 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt); 045 if (src.hasIdentifier()) 046 tgt.setIdentifier(Identifier40_50.convertIdentifier(src.getIdentifier())); 047 if (src.hasTypeCollected()) 048 tgt.setTypeCollected(CodeableConcept40_50.convertCodeableConcept(src.getTypeCollected())); 049 for (org.hl7.fhir.r4.model.CodeableConcept t : src.getPatientPreparation()) 050 tgt.addPatientPreparation(CodeableConcept40_50.convertCodeableConcept(t)); 051 if (src.hasTimeAspect()) 052 tgt.setTimeAspectElement(String40_50.convertString(src.getTimeAspectElement())); 053 for (org.hl7.fhir.r4.model.CodeableConcept t : src.getCollection()) 054 tgt.addCollection(CodeableConcept40_50.convertCodeableConcept(t)); 055 for (org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenDefinitionTypeTestedComponent t : src.getTypeTested()) 056 tgt.addTypeTested(convertSpecimenDefinitionTypeTestedComponent(t)); 057 return tgt; 058 } 059 060 public static org.hl7.fhir.r4.model.SpecimenDefinition convertSpecimenDefinition(org.hl7.fhir.r5.model.SpecimenDefinition src) throws FHIRException { 061 if (src == null) 062 return null; 063 org.hl7.fhir.r4.model.SpecimenDefinition tgt = new org.hl7.fhir.r4.model.SpecimenDefinition(); 064 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt); 065 if (src.hasIdentifier()) 066 tgt.setIdentifier(Identifier40_50.convertIdentifier(src.getIdentifier())); 067 if (src.hasTypeCollected()) 068 tgt.setTypeCollected(CodeableConcept40_50.convertCodeableConcept(src.getTypeCollected())); 069 for (org.hl7.fhir.r5.model.CodeableConcept t : src.getPatientPreparation()) 070 tgt.addPatientPreparation(CodeableConcept40_50.convertCodeableConcept(t)); 071 if (src.hasTimeAspect()) 072 tgt.setTimeAspectElement(String40_50.convertString(src.getTimeAspectElement())); 073 for (org.hl7.fhir.r5.model.CodeableConcept t : src.getCollection()) 074 tgt.addCollection(CodeableConcept40_50.convertCodeableConcept(t)); 075 for (org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenDefinitionTypeTestedComponent t : src.getTypeTested()) 076 tgt.addTypeTested(convertSpecimenDefinitionTypeTestedComponent(t)); 077 return tgt; 078 } 079 080 public static org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenDefinitionTypeTestedComponent convertSpecimenDefinitionTypeTestedComponent(org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenDefinitionTypeTestedComponent src) throws FHIRException { 081 if (src == null) 082 return null; 083 org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenDefinitionTypeTestedComponent tgt = new org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenDefinitionTypeTestedComponent(); 084 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 085 if (src.hasIsDerived()) 086 tgt.setIsDerivedElement(Boolean40_50.convertBoolean(src.getIsDerivedElement())); 087 if (src.hasType()) 088 tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType())); 089 if (src.hasPreference()) 090 tgt.setPreferenceElement(convertSpecimenContainedPreference(src.getPreferenceElement())); 091 if (src.hasContainer()) 092 tgt.setContainer(convertSpecimenDefinitionTypeTestedContainerComponent(src.getContainer())); 093 if (src.hasRequirement()) 094 tgt.setRequirementElement(String40_50.convertString(src.getRequirementElement())); 095 if (src.hasRetentionTime()) 096 tgt.setRetentionTime(Duration40_50.convertDuration(src.getRetentionTime())); 097 for (org.hl7.fhir.r4.model.CodeableConcept t : src.getRejectionCriterion()) 098 tgt.addRejectionCriterion(CodeableConcept40_50.convertCodeableConcept(t)); 099 for (org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenDefinitionTypeTestedHandlingComponent t : src.getHandling()) 100 tgt.addHandling(convertSpecimenDefinitionTypeTestedHandlingComponent(t)); 101 return tgt; 102 } 103 104 public static org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenDefinitionTypeTestedComponent convertSpecimenDefinitionTypeTestedComponent(org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenDefinitionTypeTestedComponent src) throws FHIRException { 105 if (src == null) 106 return null; 107 org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenDefinitionTypeTestedComponent tgt = new org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenDefinitionTypeTestedComponent(); 108 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 109 if (src.hasIsDerived()) 110 tgt.setIsDerivedElement(Boolean40_50.convertBoolean(src.getIsDerivedElement())); 111 if (src.hasType()) 112 tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType())); 113 if (src.hasPreference()) 114 tgt.setPreferenceElement(convertSpecimenContainedPreference(src.getPreferenceElement())); 115 if (src.hasContainer()) 116 tgt.setContainer(convertSpecimenDefinitionTypeTestedContainerComponent(src.getContainer())); 117 if (src.hasRequirement()) 118 tgt.setRequirementElement(String40_50.convertString(src.getRequirementElement())); 119 if (src.hasRetentionTime()) 120 tgt.setRetentionTime(Duration40_50.convertDuration(src.getRetentionTime())); 121 for (org.hl7.fhir.r5.model.CodeableConcept t : src.getRejectionCriterion()) 122 tgt.addRejectionCriterion(CodeableConcept40_50.convertCodeableConcept(t)); 123 for (org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenDefinitionTypeTestedHandlingComponent t : src.getHandling()) 124 tgt.addHandling(convertSpecimenDefinitionTypeTestedHandlingComponent(t)); 125 return tgt; 126 } 127 128 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenContainedPreference> convertSpecimenContainedPreference(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenContainedPreference> src) throws FHIRException { 129 if (src == null || src.isEmpty()) 130 return null; 131 org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenContainedPreference> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenContainedPreferenceEnumFactory()); 132 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 133 switch (src.getValue()) { 134 case PREFERRED: 135 tgt.setValue(org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenContainedPreference.PREFERRED); 136 break; 137 case ALTERNATE: 138 tgt.setValue(org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenContainedPreference.ALTERNATE); 139 break; 140 default: 141 tgt.setValue(org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenContainedPreference.NULL); 142 break; 143 } 144 return tgt; 145 } 146 147 static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenContainedPreference> convertSpecimenContainedPreference(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenContainedPreference> src) throws FHIRException { 148 if (src == null || src.isEmpty()) 149 return null; 150 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenContainedPreference> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenContainedPreferenceEnumFactory()); 151 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 152 switch (src.getValue()) { 153 case PREFERRED: 154 tgt.setValue(org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenContainedPreference.PREFERRED); 155 break; 156 case ALTERNATE: 157 tgt.setValue(org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenContainedPreference.ALTERNATE); 158 break; 159 default: 160 tgt.setValue(org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenContainedPreference.NULL); 161 break; 162 } 163 return tgt; 164 } 165 166 public static org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenDefinitionTypeTestedContainerComponent convertSpecimenDefinitionTypeTestedContainerComponent(org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenDefinitionTypeTestedContainerComponent src) throws FHIRException { 167 if (src == null) 168 return null; 169 org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenDefinitionTypeTestedContainerComponent tgt = new org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenDefinitionTypeTestedContainerComponent(); 170 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 171 if (src.hasMaterial()) 172 tgt.setMaterial(CodeableConcept40_50.convertCodeableConcept(src.getMaterial())); 173 if (src.hasType()) 174 tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType())); 175 if (src.hasCap()) 176 tgt.setCap(CodeableConcept40_50.convertCodeableConcept(src.getCap())); 177 if (src.hasDescription()) 178 tgt.setDescriptionElement(String40_50.convertString(src.getDescriptionElement())); 179 if (src.hasCapacity()) 180 tgt.setCapacity(SimpleQuantity40_50.convertSimpleQuantity(src.getCapacity())); 181 if (src.hasMinimumVolume()) 182 tgt.setMinimumVolume(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getMinimumVolume())); 183 for (org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenDefinitionTypeTestedContainerAdditiveComponent t : src.getAdditive()) 184 tgt.addAdditive(convertSpecimenDefinitionTypeTestedContainerAdditiveComponent(t)); 185 if (src.hasPreparation()) 186 tgt.setPreparationElement(String40_50.convertString(src.getPreparationElement())); 187 return tgt; 188 } 189 190 public static org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenDefinitionTypeTestedContainerComponent convertSpecimenDefinitionTypeTestedContainerComponent(org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenDefinitionTypeTestedContainerComponent src) throws FHIRException { 191 if (src == null) 192 return null; 193 org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenDefinitionTypeTestedContainerComponent tgt = new org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenDefinitionTypeTestedContainerComponent(); 194 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 195 if (src.hasMaterial()) 196 tgt.setMaterial(CodeableConcept40_50.convertCodeableConcept(src.getMaterial())); 197 if (src.hasType()) 198 tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType())); 199 if (src.hasCap()) 200 tgt.setCap(CodeableConcept40_50.convertCodeableConcept(src.getCap())); 201 if (src.hasDescription()) 202 tgt.setDescriptionElement(String40_50.convertString(src.getDescriptionElement())); 203 if (src.hasCapacity()) 204 tgt.setCapacity(SimpleQuantity40_50.convertSimpleQuantity(src.getCapacity())); 205 if (src.hasMinimumVolume()) 206 tgt.setMinimumVolume(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getMinimumVolume())); 207 for (org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenDefinitionTypeTestedContainerAdditiveComponent t : src.getAdditive()) 208 tgt.addAdditive(convertSpecimenDefinitionTypeTestedContainerAdditiveComponent(t)); 209 if (src.hasPreparation()) 210 tgt.setPreparationElement(String40_50.convertString(src.getPreparationElement())); 211 return tgt; 212 } 213 214 public static org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenDefinitionTypeTestedContainerAdditiveComponent convertSpecimenDefinitionTypeTestedContainerAdditiveComponent(org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenDefinitionTypeTestedContainerAdditiveComponent src) throws FHIRException { 215 if (src == null) 216 return null; 217 org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenDefinitionTypeTestedContainerAdditiveComponent tgt = new org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenDefinitionTypeTestedContainerAdditiveComponent(); 218 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 219 if (src.hasAdditive()) 220 tgt.setAdditive(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getAdditive())); 221 return tgt; 222 } 223 224 public static org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenDefinitionTypeTestedContainerAdditiveComponent convertSpecimenDefinitionTypeTestedContainerAdditiveComponent(org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenDefinitionTypeTestedContainerAdditiveComponent src) throws FHIRException { 225 if (src == null) 226 return null; 227 org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenDefinitionTypeTestedContainerAdditiveComponent tgt = new org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenDefinitionTypeTestedContainerAdditiveComponent(); 228 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 229 if (src.hasAdditive()) 230 tgt.setAdditive(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getAdditive())); 231 return tgt; 232 } 233 234 public static org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenDefinitionTypeTestedHandlingComponent convertSpecimenDefinitionTypeTestedHandlingComponent(org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenDefinitionTypeTestedHandlingComponent src) throws FHIRException { 235 if (src == null) 236 return null; 237 org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenDefinitionTypeTestedHandlingComponent tgt = new org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenDefinitionTypeTestedHandlingComponent(); 238 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 239 if (src.hasTemperatureQualifier()) 240 tgt.setTemperatureQualifier(CodeableConcept40_50.convertCodeableConcept(src.getTemperatureQualifier())); 241 if (src.hasTemperatureRange()) 242 tgt.setTemperatureRange(Range40_50.convertRange(src.getTemperatureRange())); 243 if (src.hasMaxDuration()) 244 tgt.setMaxDuration(Duration40_50.convertDuration(src.getMaxDuration())); 245 if (src.hasInstruction()) 246 tgt.setInstructionElement(String40_50.convertString(src.getInstructionElement())); 247 return tgt; 248 } 249 250 public static org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenDefinitionTypeTestedHandlingComponent convertSpecimenDefinitionTypeTestedHandlingComponent(org.hl7.fhir.r5.model.SpecimenDefinition.SpecimenDefinitionTypeTestedHandlingComponent src) throws FHIRException { 251 if (src == null) 252 return null; 253 org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenDefinitionTypeTestedHandlingComponent tgt = new org.hl7.fhir.r4.model.SpecimenDefinition.SpecimenDefinitionTypeTestedHandlingComponent(); 254 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 255 if (src.hasTemperatureQualifier()) 256 tgt.setTemperatureQualifier(CodeableConcept40_50.convertCodeableConcept(src.getTemperatureQualifier())); 257 if (src.hasTemperatureRange()) 258 tgt.setTemperatureRange(Range40_50.convertRange(src.getTemperatureRange())); 259 if (src.hasMaxDuration()) 260 tgt.setMaxDuration(Duration40_50.convertDuration(src.getMaxDuration())); 261 if (src.hasInstruction()) 262 tgt.setInstructionElement(String40_50.convertString(src.getInstructionElement())); 263 return tgt; 264 } 265}