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