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.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50;
008import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50;
009import org.hl7.fhir.exceptions.FHIRException;
010import org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionClassificationComponent;
011import org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionVersionComponent;
012
013/*
014  Copyright (c) 2011+, HL7, Inc.
015  All rights reserved.
016  
017  Redistribution and use in source and binary forms, with or without modification, 
018  are permitted provided that the following conditions are met:
019  
020   * Redistributions of source code must retain the above copyright notice, this 
021     list of conditions and the following disclaimer.
022   * Redistributions in binary form must reproduce the above copyright notice, 
023     this list of conditions and the following disclaimer in the documentation 
024     and/or other materials provided with the distribution.
025   * Neither the name of HL7 nor the names of its contributors may be used to 
026     endorse or promote products derived from this software without specific 
027     prior written permission.
028  
029  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
030  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
031  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
032  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
033  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
034  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
035  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
036  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
037  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
038  POSSIBILITY OF SUCH DAMAGE.
039  
040*/
041// Generated on Sun, Feb 24, 2019 11:37+1100 for FHIR v4.0.0
042public class DeviceDefinition40_50 {
043
044  public static org.hl7.fhir.r5.model.DeviceDefinition convertDeviceDefinition(org.hl7.fhir.r4.model.DeviceDefinition src) throws FHIRException {
045    if (src == null)
046      return null;
047    org.hl7.fhir.r5.model.DeviceDefinition tgt = new org.hl7.fhir.r5.model.DeviceDefinition();
048    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt);
049    for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier())
050      tgt.addIdentifier(Identifier40_50.convertIdentifier(t));
051    for (org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierComponent t : src.getUdiDeviceIdentifier())
052      tgt.addUdiDeviceIdentifier(convertDeviceDefinitionUdiDeviceIdentifierComponent(t));
053    if (src.hasManufacturer())
054      tgt.setManufacturer(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getManufacturer()));
055    for (org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionDeviceNameComponent t : src.getDeviceName())
056      tgt.addDeviceName(convertDeviceDefinitionDeviceNameComponent(t));
057    if (src.hasModelNumber())
058      tgt.setModelNumberElement(String40_50.convertString(src.getModelNumberElement()));
059    if (src.hasType())
060      tgt.addClassification().setType(CodeableConcept40_50.convertCodeableConcept(src.getType()));
061//    for (org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionSpecializationComponent t : src.getSpecialization())
062//      tgt.addSpecialization(convertDeviceDefinitionSpecializationComponent(t));
063    for (org.hl7.fhir.r4.model.StringType t : src.getVersion())
064      tgt.getVersion().add(new DeviceDefinitionVersionComponent().setValueElement(String40_50.convertString(t)));
065    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getSafety())
066      tgt.addSafety(CodeableConcept40_50.convertCodeableConcept(t));
067    for (org.hl7.fhir.r4.model.ProductShelfLife t : src.getShelfLifeStorage())
068      tgt.addShelfLifeStorage(ProductShelfLife40_50.convertProductShelfLife(t));
069//    if (src.hasPhysicalCharacteristics())
070//      tgt.setPhysicalCharacteristics(ProdCharacteristic40_50.convertProdCharacteristic(src.getPhysicalCharacteristics()));
071    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getLanguageCode())
072      tgt.addLanguageCode(CodeableConcept40_50.convertCodeableConcept(t));
073//    for (org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionCapabilityComponent t : src.getCapability())
074//      tgt.addCapability(convertDeviceDefinitionCapabilityComponent(t));
075    for (org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionPropertyComponent t : src.getProperty())
076      tgt.addProperty(convertDeviceDefinitionPropertyComponent(t));
077    if (src.hasOwner())
078      tgt.setOwner(Reference40_50.convertReference(src.getOwner()));
079    for (org.hl7.fhir.r4.model.ContactPoint t : src.getContact())
080      tgt.addContact(ContactPoint40_50.convertContactPoint(t));
081//    if (src.hasOnlineInformation())
082//      tgt.setOnlineInformationElement(Uri40_50.convertUri(src.getOnlineInformationElement()));
083    for (org.hl7.fhir.r4.model.Annotation t : src.getNote()) tgt.addNote(Annotation40_50.convertAnnotation(t));
084    if (src.hasParentDevice())
085      tgt.setParentDevice(Reference40_50.convertReference(src.getParentDevice()));
086    for (org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionMaterialComponent t : src.getMaterial())
087      tgt.addMaterial(convertDeviceDefinitionMaterialComponent(t));
088    return tgt;
089  }
090
091  public static org.hl7.fhir.r4.model.DeviceDefinition convertDeviceDefinition(org.hl7.fhir.r5.model.DeviceDefinition src) throws FHIRException {
092    if (src == null)
093      return null;
094    org.hl7.fhir.r4.model.DeviceDefinition tgt = new org.hl7.fhir.r4.model.DeviceDefinition();
095    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt);
096    for (org.hl7.fhir.r5.model.Identifier t : src.getIdentifier())
097      tgt.addIdentifier(Identifier40_50.convertIdentifier(t));
098    for (org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierComponent t : src.getUdiDeviceIdentifier())
099      tgt.addUdiDeviceIdentifier(convertDeviceDefinitionUdiDeviceIdentifierComponent(t));
100    if (src.hasManufacturer())
101      tgt.setManufacturer(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getManufacturer()));
102    for (org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionDeviceNameComponent t : src.getDeviceName())
103      tgt.addDeviceName(convertDeviceDefinitionDeviceNameComponent(t));
104    if (src.hasModelNumber())
105      tgt.setModelNumberElement(String40_50.convertString(src.getModelNumberElement()));
106    for (DeviceDefinitionClassificationComponent t : src.getClassification())
107      tgt.setType(CodeableConcept40_50.convertCodeableConcept(t.getType()));
108//    for (org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionSpecializationComponent t : src.getSpecialization())
109//      tgt.addSpecialization(convertDeviceDefinitionSpecializationComponent(t));
110    for (DeviceDefinitionVersionComponent t : src.getVersion())
111      tgt.getVersion().add(String40_50.convertString(t.getValueElement()));
112    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getSafety())
113      tgt.addSafety(CodeableConcept40_50.convertCodeableConcept(t));
114    for (org.hl7.fhir.r5.model.ProductShelfLife t : src.getShelfLifeStorage())
115      tgt.addShelfLifeStorage(ProductShelfLife40_50.convertProductShelfLife(t));
116//    if (src.hasPhysicalCharacteristics())
117//      tgt.setPhysicalCharacteristics(ProdCharacteristic40_50.convertProdCharacteristic(src.getPhysicalCharacteristics()));
118    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getLanguageCode())
119      tgt.addLanguageCode(CodeableConcept40_50.convertCodeableConcept(t));
120//    for (org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionCapabilityComponent t : src.getCapability())
121//      tgt.addCapability(convertDeviceDefinitionCapabilityComponent(t));
122    for (org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionPropertyComponent t : src.getProperty())
123      tgt.addProperty(convertDeviceDefinitionPropertyComponent(t));
124    if (src.hasOwner())
125      tgt.setOwner(Reference40_50.convertReference(src.getOwner()));
126    for (org.hl7.fhir.r5.model.ContactPoint t : src.getContact())
127      tgt.addContact(ContactPoint40_50.convertContactPoint(t));
128//    if (src.hasOnlineInformation())
129//      tgt.setOnlineInformationElement(Uri40_50.convertUri(src.getOnlineInformationElement()));
130    for (org.hl7.fhir.r5.model.Annotation t : src.getNote()) tgt.addNote(Annotation40_50.convertAnnotation(t));
131    if (src.hasParentDevice())
132      tgt.setParentDevice(Reference40_50.convertReference(src.getParentDevice()));
133    for (org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionMaterialComponent t : src.getMaterial())
134      tgt.addMaterial(convertDeviceDefinitionMaterialComponent(t));
135    return tgt;
136  }
137
138  public static org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierComponent convertDeviceDefinitionUdiDeviceIdentifierComponent(org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierComponent src) throws FHIRException {
139    if (src == null)
140      return null;
141    org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierComponent tgt = new org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierComponent();
142    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
143    if (src.hasDeviceIdentifier())
144      tgt.setDeviceIdentifierElement(String40_50.convertString(src.getDeviceIdentifierElement()));
145    if (src.hasIssuer())
146      tgt.setIssuerElement(Uri40_50.convertUri(src.getIssuerElement()));
147    if (src.hasJurisdiction())
148      tgt.setJurisdictionElement(Uri40_50.convertUri(src.getJurisdictionElement()));
149    return tgt;
150  }
151
152  public static org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierComponent convertDeviceDefinitionUdiDeviceIdentifierComponent(org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierComponent src) throws FHIRException {
153    if (src == null)
154      return null;
155    org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierComponent tgt = new org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierComponent();
156    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
157    if (src.hasDeviceIdentifier())
158      tgt.setDeviceIdentifierElement(String40_50.convertString(src.getDeviceIdentifierElement()));
159    if (src.hasIssuer())
160      tgt.setIssuerElement(Uri40_50.convertUri(src.getIssuerElement()));
161    if (src.hasJurisdiction())
162      tgt.setJurisdictionElement(Uri40_50.convertUri(src.getJurisdictionElement()));
163    return tgt;
164  }
165
166  public static org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionDeviceNameComponent convertDeviceDefinitionDeviceNameComponent(org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionDeviceNameComponent src) throws FHIRException {
167    if (src == null)
168      return null;
169    org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionDeviceNameComponent tgt = new org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionDeviceNameComponent();
170    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
171    if (src.hasName())
172      tgt.setNameElement(String40_50.convertString(src.getNameElement()));
173    if (src.hasType())
174      tgt.setTypeElement(convertDeviceNameType(src.getTypeElement()));
175    return tgt;
176  }
177
178  public static org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionDeviceNameComponent convertDeviceDefinitionDeviceNameComponent(org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionDeviceNameComponent src) throws FHIRException {
179    if (src == null)
180      return null;
181    org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionDeviceNameComponent tgt = new org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionDeviceNameComponent();
182    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
183    if (src.hasName())
184      tgt.setNameElement(String40_50.convertString(src.getNameElement()));
185    if (src.hasType())
186      tgt.setTypeElement(convertDeviceNameType(src.getTypeElement()));
187    return tgt;
188  }
189
190  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.DeviceNameType> convertDeviceNameType(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.DeviceDefinition.DeviceNameType> src) throws FHIRException {
191    if (src == null || src.isEmpty())
192      return null;
193    org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.DeviceNameType> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.DeviceNameTypeEnumFactory());
194    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
195    switch (src.getValue()) {
196      case USERFRIENDLYNAME:
197        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DeviceNameType.USERFRIENDLYNAME);
198        break;
199      case PATIENTREPORTEDNAME:
200        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DeviceNameType.PATIENTREPORTEDNAME);
201        break;
202      case MANUFACTURERNAME:
203        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DeviceNameType.REGISTEREDNAME);
204        break;
205      case MODELNAME:
206        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DeviceNameType.USERFRIENDLYNAME);
207        break;
208      default:
209        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DeviceNameType.NULL);
210        break;
211    }
212    return tgt;
213  }
214
215  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.DeviceDefinition.DeviceNameType> convertDeviceNameType(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.DeviceNameType> src) throws FHIRException {
216    if (src == null || src.isEmpty())
217      return null;
218    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.DeviceDefinition.DeviceNameType> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.DeviceDefinition.DeviceNameTypeEnumFactory());
219    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
220    switch (src.getValue()) {
221      case USERFRIENDLYNAME:
222        tgt.setValue(org.hl7.fhir.r4.model.DeviceDefinition.DeviceNameType.USERFRIENDLYNAME);
223        break;
224      case PATIENTREPORTEDNAME:
225        tgt.setValue(org.hl7.fhir.r4.model.DeviceDefinition.DeviceNameType.PATIENTREPORTEDNAME);
226        break;
227      case REGISTEREDNAME:
228        tgt.setValue(org.hl7.fhir.r4.model.DeviceDefinition.DeviceNameType.MANUFACTURERNAME);
229        break;
230      default:
231        tgt.setValue(org.hl7.fhir.r4.model.DeviceDefinition.DeviceNameType.NULL);
232        break;
233    }
234    return tgt;
235  }
236//
237//  public static org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionSpecializationComponent convertDeviceDefinitionSpecializationComponent(org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionSpecializationComponent src) throws FHIRException {
238//    if (src == null)
239//      return null;
240//    org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionSpecializationComponent tgt = new org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionSpecializationComponent();
241//    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
242//    if (src.hasSystemType())
243//      tgt.setSystemTypeElement(String40_50.convertString(src.getSystemTypeElement()));
244//    if (src.hasVersion())
245//      tgt.setVersionElement(String40_50.convertString(src.getVersionElement()));
246//    return tgt;
247//  }
248//
249//  public static org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionSpecializationComponent convertDeviceDefinitionSpecializationComponent(org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionSpecializationComponent src) throws FHIRException {
250//    if (src == null)
251//      return null;
252//    org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionSpecializationComponent tgt = new org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionSpecializationComponent();
253//    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
254//    if (src.hasSystemType())
255//      tgt.setSystemTypeElement(String40_50.convertString(src.getSystemTypeElement()));
256//    if (src.hasVersion())
257//      tgt.setVersionElement(String40_50.convertString(src.getVersionElement()));
258//    return tgt;
259//  }
260//
261//  public static org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionCapabilityComponent convertDeviceDefinitionCapabilityComponent(org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionCapabilityComponent src) throws FHIRException {
262//    if (src == null)
263//      return null;
264//    org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionCapabilityComponent tgt = new org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionCapabilityComponent();
265//    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
266//    if (src.hasType())
267//      tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType()));
268//    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getDescription())
269//      tgt.addDescription(CodeableConcept40_50.convertCodeableConcept(t));
270//    return tgt;
271//  }
272//
273//  public static org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionCapabilityComponent convertDeviceDefinitionCapabilityComponent(org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionCapabilityComponent src) throws FHIRException {
274//    if (src == null)
275//      return null;
276//    org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionCapabilityComponent tgt = new org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionCapabilityComponent();
277//    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
278//    if (src.hasType())
279//      tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType()));
280//    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getDescription())
281//      tgt.addDescription(CodeableConcept40_50.convertCodeableConcept(t));
282//    return tgt;
283//  }
284
285  public static org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionPropertyComponent convertDeviceDefinitionPropertyComponent(org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionPropertyComponent src) throws FHIRException {
286    if (src == null)
287      return null;
288    org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionPropertyComponent tgt = new org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionPropertyComponent();
289    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
290    if (src.hasType())
291      tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType()));
292    for (org.hl7.fhir.r4.model.Quantity t : src.getValueQuantity())
293      tgt.setValue(Quantity40_50.convertQuantity(t));
294    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getValueCode())
295      tgt.setValue(CodeableConcept40_50.convertCodeableConcept(t));
296    return tgt;
297  }
298
299  public static org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionPropertyComponent convertDeviceDefinitionPropertyComponent(org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionPropertyComponent src) throws FHIRException {
300    if (src == null)
301      return null;
302    org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionPropertyComponent tgt = new org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionPropertyComponent();
303    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
304    if (src.hasType())
305      tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType()));
306    if (src.hasValueQuantity())
307      tgt.addValueQuantity(Quantity40_50.convertQuantity(src.getValueQuantity()));
308    if (src.hasValueCodeableConcept())
309      tgt.addValueCode(CodeableConcept40_50.convertCodeableConcept(src.getValueCodeableConcept()));
310    return tgt;
311  }
312
313  public static org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionMaterialComponent convertDeviceDefinitionMaterialComponent(org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionMaterialComponent src) throws FHIRException {
314    if (src == null)
315      return null;
316    org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionMaterialComponent tgt = new org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionMaterialComponent();
317    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
318    if (src.hasSubstance())
319      tgt.setSubstance(CodeableConcept40_50.convertCodeableConcept(src.getSubstance()));
320    if (src.hasAlternate())
321      tgt.setAlternateElement(Boolean40_50.convertBoolean(src.getAlternateElement()));
322    if (src.hasAllergenicIndicator())
323      tgt.setAllergenicIndicatorElement(Boolean40_50.convertBoolean(src.getAllergenicIndicatorElement()));
324    return tgt;
325  }
326
327  public static org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionMaterialComponent convertDeviceDefinitionMaterialComponent(org.hl7.fhir.r5.model.DeviceDefinition.DeviceDefinitionMaterialComponent src) throws FHIRException {
328    if (src == null)
329      return null;
330    org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionMaterialComponent tgt = new org.hl7.fhir.r4.model.DeviceDefinition.DeviceDefinitionMaterialComponent();
331    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
332    if (src.hasSubstance())
333      tgt.setSubstance(CodeableConcept40_50.convertCodeableConcept(src.getSubstance()));
334    if (src.hasAlternate())
335      tgt.setAlternateElement(Boolean40_50.convertBoolean(src.getAlternateElement()));
336    if (src.hasAllergenicIndicator())
337      tgt.setAllergenicIndicatorElement(Boolean40_50.convertBoolean(src.getAllergenicIndicatorElement()));
338    return tgt;
339  }
340}