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.Annotation40_50;
005import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50;
006import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50;
007import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.SimpleQuantity40_50;
008import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Timing40_50;
009import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50;
010import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50;
011import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50;
012import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50;
013import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50;
014import org.hl7.fhir.exceptions.FHIRException;
015
016/*
017  Copyright (c) 2011+, HL7, Inc.
018  All rights reserved.
019  
020  Redistribution and use in source and binary forms, with or without modification, 
021  are permitted provided that the following conditions are met:
022  
023   * Redistributions of source code must retain the above copyright notice, this 
024     list of conditions and the following disclaimer.
025   * Redistributions in binary form must reproduce the above copyright notice, 
026     this list of conditions and the following disclaimer in the documentation 
027     and/or other materials provided with the distribution.
028   * Neither the name of HL7 nor the names of its contributors may be used to 
029     endorse or promote products derived from this software without specific 
030     prior written permission.
031  
032  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
033  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
034  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
035  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
036  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
037  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
038  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
039  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
040  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
041  POSSIBILITY OF SUCH DAMAGE.
042  
043*/
044// Generated on Sun, Feb 24, 2019 11:37+1100 for FHIR v4.0.0
045public class NutritionOrder40_50 {
046
047  public static org.hl7.fhir.r5.model.NutritionOrder convertNutritionOrder(org.hl7.fhir.r4.model.NutritionOrder src) throws FHIRException {
048    if (src == null)
049      return null;
050    org.hl7.fhir.r5.model.NutritionOrder tgt = new org.hl7.fhir.r5.model.NutritionOrder();
051    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt);
052    for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier())
053      tgt.addIdentifier(Identifier40_50.convertIdentifier(t));
054    for (org.hl7.fhir.r4.model.CanonicalType t : src.getInstantiatesCanonical())
055      tgt.getInstantiatesCanonical().add(Canonical40_50.convertCanonical(t));
056    for (org.hl7.fhir.r4.model.UriType t : src.getInstantiatesUri())
057      tgt.getInstantiatesUri().add(Uri40_50.convertUri(t));
058    for (org.hl7.fhir.r4.model.UriType t : src.getInstantiates()) tgt.getInstantiates().add(Uri40_50.convertUri(t));
059    if (src.hasStatus())
060      tgt.setStatusElement(convertNutritionOrderStatus(src.getStatusElement()));
061    if (src.hasIntent())
062      tgt.setIntentElement(convertNutritiionOrderIntent(src.getIntentElement()));
063    if (src.hasPatient())
064      tgt.setSubject(Reference40_50.convertReference(src.getPatient()));
065    if (src.hasEncounter())
066      tgt.setEncounter(Reference40_50.convertReference(src.getEncounter()));
067    if (src.hasDateTime())
068      tgt.setDateTimeElement(DateTime40_50.convertDateTime(src.getDateTimeElement()));
069    if (src.hasOrderer())
070      tgt.setOrderer(Reference40_50.convertReference(src.getOrderer()));
071    for (org.hl7.fhir.r4.model.Reference t : src.getAllergyIntolerance())
072      tgt.addAllergyIntolerance(Reference40_50.convertReference(t));
073    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getFoodPreferenceModifier())
074      tgt.addFoodPreferenceModifier(CodeableConcept40_50.convertCodeableConcept(t));
075    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getExcludeFoodModifier())
076      tgt.addExcludeFoodModifier(CodeableConcept40_50.convertCodeableConcept(t));
077    if (src.hasOralDiet())
078      tgt.setOralDiet(convertNutritionOrderOralDietComponent(src.getOralDiet()));
079    for (org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderSupplementComponent t : src.getSupplement())
080      tgt.addSupplement(convertNutritionOrderSupplementComponent(t));
081    if (src.hasEnteralFormula())
082      tgt.setEnteralFormula(convertNutritionOrderEnteralFormulaComponent(src.getEnteralFormula()));
083    for (org.hl7.fhir.r4.model.Annotation t : src.getNote()) tgt.addNote(Annotation40_50.convertAnnotation(t));
084    return tgt;
085  }
086
087  public static org.hl7.fhir.r4.model.NutritionOrder convertNutritionOrder(org.hl7.fhir.r5.model.NutritionOrder src) throws FHIRException {
088    if (src == null)
089      return null;
090    org.hl7.fhir.r4.model.NutritionOrder tgt = new org.hl7.fhir.r4.model.NutritionOrder();
091    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt);
092    for (org.hl7.fhir.r5.model.Identifier t : src.getIdentifier())
093      tgt.addIdentifier(Identifier40_50.convertIdentifier(t));
094    for (org.hl7.fhir.r5.model.CanonicalType t : src.getInstantiatesCanonical())
095      tgt.getInstantiatesCanonical().add(Canonical40_50.convertCanonical(t));
096    for (org.hl7.fhir.r5.model.UriType t : src.getInstantiatesUri())
097      tgt.getInstantiatesUri().add(Uri40_50.convertUri(t));
098    for (org.hl7.fhir.r5.model.UriType t : src.getInstantiates()) tgt.getInstantiates().add(Uri40_50.convertUri(t));
099    if (src.hasStatus())
100      tgt.setStatusElement(convertNutritionOrderStatus(src.getStatusElement()));
101    if (src.hasIntent())
102      tgt.setIntentElement(convertNutritiionOrderIntent(src.getIntentElement()));
103    if (src.hasSubject())
104      tgt.setPatient(Reference40_50.convertReference(src.getSubject()));
105    if (src.hasEncounter())
106      tgt.setEncounter(Reference40_50.convertReference(src.getEncounter()));
107    if (src.hasDateTime())
108      tgt.setDateTimeElement(DateTime40_50.convertDateTime(src.getDateTimeElement()));
109    if (src.hasOrderer())
110      tgt.setOrderer(Reference40_50.convertReference(src.getOrderer()));
111    for (org.hl7.fhir.r5.model.Reference t : src.getAllergyIntolerance())
112      tgt.addAllergyIntolerance(Reference40_50.convertReference(t));
113    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getFoodPreferenceModifier())
114      tgt.addFoodPreferenceModifier(CodeableConcept40_50.convertCodeableConcept(t));
115    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getExcludeFoodModifier())
116      tgt.addExcludeFoodModifier(CodeableConcept40_50.convertCodeableConcept(t));
117    if (src.hasOralDiet())
118      tgt.setOralDiet(convertNutritionOrderOralDietComponent(src.getOralDiet()));
119    for (org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderSupplementComponent t : src.getSupplement())
120      tgt.addSupplement(convertNutritionOrderSupplementComponent(t));
121    if (src.hasEnteralFormula())
122      tgt.setEnteralFormula(convertNutritionOrderEnteralFormulaComponent(src.getEnteralFormula()));
123    for (org.hl7.fhir.r5.model.Annotation t : src.getNote()) tgt.addNote(Annotation40_50.convertAnnotation(t));
124    return tgt;
125  }
126
127  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.RequestStatus> convertNutritionOrderStatus(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderStatus> src) throws FHIRException {
128    if (src == null || src.isEmpty())
129      return null;
130    org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.RequestStatus> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.RequestStatusEnumFactory());
131    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
132    switch (src.getValue()) {
133      case DRAFT:
134        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestStatus.DRAFT);
135        break;
136      case ACTIVE:
137        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestStatus.ACTIVE);
138        break;
139      case ONHOLD:
140        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestStatus.ONHOLD);
141        break;
142      case REVOKED:
143        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestStatus.REVOKED);
144        break;
145      case COMPLETED:
146        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestStatus.COMPLETED);
147        break;
148      case ENTEREDINERROR:
149        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestStatus.ENTEREDINERROR);
150        break;
151      case UNKNOWN:
152        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestStatus.UNKNOWN);
153        break;
154      default:
155        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestStatus.NULL);
156        break;
157    }
158    return tgt;
159  }
160
161  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderStatus> convertNutritionOrderStatus(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.RequestStatus> src) throws FHIRException {
162    if (src == null || src.isEmpty())
163      return null;
164    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderStatus> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderStatusEnumFactory());
165    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
166    switch (src.getValue()) {
167      case DRAFT:
168        tgt.setValue(org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderStatus.DRAFT);
169        break;
170      case ACTIVE:
171        tgt.setValue(org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderStatus.ACTIVE);
172        break;
173      case ONHOLD:
174        tgt.setValue(org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderStatus.ONHOLD);
175        break;
176      case REVOKED:
177        tgt.setValue(org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderStatus.REVOKED);
178        break;
179      case COMPLETED:
180        tgt.setValue(org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderStatus.COMPLETED);
181        break;
182      case ENTEREDINERROR:
183        tgt.setValue(org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderStatus.ENTEREDINERROR);
184        break;
185      case UNKNOWN:
186        tgt.setValue(org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderStatus.UNKNOWN);
187        break;
188      default:
189        tgt.setValue(org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderStatus.NULL);
190        break;
191    }
192    return tgt;
193  }
194
195  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.RequestIntent> convertNutritiionOrderIntent(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.NutritionOrder.NutritiionOrderIntent> src) throws FHIRException {
196    if (src == null || src.isEmpty())
197      return null;
198    org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.RequestIntent> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.RequestIntentEnumFactory());
199    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
200    switch (src.getValue()) {
201      case PROPOSAL:
202        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestIntent.PROPOSAL);
203        break;
204      case PLAN:
205        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestIntent.PLAN);
206        break;
207      case DIRECTIVE:
208        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestIntent.DIRECTIVE);
209        break;
210      case ORDER:
211        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestIntent.ORDER);
212        break;
213      case ORIGINALORDER:
214        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestIntent.ORIGINALORDER);
215        break;
216      case REFLEXORDER:
217        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestIntent.REFLEXORDER);
218        break;
219      case FILLERORDER:
220        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestIntent.FILLERORDER);
221        break;
222      case INSTANCEORDER:
223        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestIntent.INSTANCEORDER);
224        break;
225      case OPTION:
226        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestIntent.OPTION);
227        break;
228      default:
229        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestIntent.NULL);
230        break;
231    }
232    return tgt;
233  }
234
235  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.NutritionOrder.NutritiionOrderIntent> convertNutritiionOrderIntent(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.RequestIntent> src) throws FHIRException {
236    if (src == null || src.isEmpty())
237      return null;
238    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.NutritionOrder.NutritiionOrderIntent> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.NutritionOrder.NutritiionOrderIntentEnumFactory());
239    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
240    switch (src.getValue()) {
241      case PROPOSAL:
242        tgt.setValue(org.hl7.fhir.r4.model.NutritionOrder.NutritiionOrderIntent.PROPOSAL);
243        break;
244      case PLAN:
245        tgt.setValue(org.hl7.fhir.r4.model.NutritionOrder.NutritiionOrderIntent.PLAN);
246        break;
247      case DIRECTIVE:
248        tgt.setValue(org.hl7.fhir.r4.model.NutritionOrder.NutritiionOrderIntent.DIRECTIVE);
249        break;
250      case ORDER:
251        tgt.setValue(org.hl7.fhir.r4.model.NutritionOrder.NutritiionOrderIntent.ORDER);
252        break;
253      case ORIGINALORDER:
254        tgt.setValue(org.hl7.fhir.r4.model.NutritionOrder.NutritiionOrderIntent.ORIGINALORDER);
255        break;
256      case REFLEXORDER:
257        tgt.setValue(org.hl7.fhir.r4.model.NutritionOrder.NutritiionOrderIntent.REFLEXORDER);
258        break;
259      case FILLERORDER:
260        tgt.setValue(org.hl7.fhir.r4.model.NutritionOrder.NutritiionOrderIntent.FILLERORDER);
261        break;
262      case INSTANCEORDER:
263        tgt.setValue(org.hl7.fhir.r4.model.NutritionOrder.NutritiionOrderIntent.INSTANCEORDER);
264        break;
265      case OPTION:
266        tgt.setValue(org.hl7.fhir.r4.model.NutritionOrder.NutritiionOrderIntent.OPTION);
267        break;
268      default:
269        tgt.setValue(org.hl7.fhir.r4.model.NutritionOrder.NutritiionOrderIntent.NULL);
270        break;
271    }
272    return tgt;
273  }
274
275  public static org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietComponent convertNutritionOrderOralDietComponent(org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietComponent src) throws FHIRException {
276    if (src == null)
277      return null;
278    org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietComponent tgt = new org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietComponent();
279    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
280    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getType())
281      tgt.addType(CodeableConcept40_50.convertCodeableConcept(t));
282    for (org.hl7.fhir.r4.model.Timing t : src.getSchedule()) tgt.getSchedule().addTiming(Timing40_50.convertTiming(t));
283    for (org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietNutrientComponent t : src.getNutrient())
284      tgt.addNutrient(convertNutritionOrderOralDietNutrientComponent(t));
285    for (org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietTextureComponent t : src.getTexture())
286      tgt.addTexture(convertNutritionOrderOralDietTextureComponent(t));
287    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getFluidConsistencyType())
288      tgt.addFluidConsistencyType(CodeableConcept40_50.convertCodeableConcept(t));
289    if (src.hasInstruction())
290      tgt.setInstructionElement(String40_50.convertString(src.getInstructionElement()));
291    return tgt;
292  }
293
294  public static org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietComponent convertNutritionOrderOralDietComponent(org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietComponent src) throws FHIRException {
295    if (src == null)
296      return null;
297    org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietComponent tgt = new org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietComponent();
298    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
299    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getType())
300      tgt.addType(CodeableConcept40_50.convertCodeableConcept(t));
301    for (org.hl7.fhir.r5.model.Timing t : src.getSchedule().getTiming()) tgt.addSchedule(Timing40_50.convertTiming(t));
302    for (org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietNutrientComponent t : src.getNutrient())
303      tgt.addNutrient(convertNutritionOrderOralDietNutrientComponent(t));
304    for (org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietTextureComponent t : src.getTexture())
305      tgt.addTexture(convertNutritionOrderOralDietTextureComponent(t));
306    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getFluidConsistencyType())
307      tgt.addFluidConsistencyType(CodeableConcept40_50.convertCodeableConcept(t));
308    if (src.hasInstruction())
309      tgt.setInstructionElement(String40_50.convertString(src.getInstructionElement()));
310    return tgt;
311  }
312
313  public static org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietNutrientComponent convertNutritionOrderOralDietNutrientComponent(org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietNutrientComponent src) throws FHIRException {
314    if (src == null)
315      return null;
316    org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietNutrientComponent tgt = new org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietNutrientComponent();
317    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
318    if (src.hasModifier())
319      tgt.setModifier(CodeableConcept40_50.convertCodeableConcept(src.getModifier()));
320    if (src.hasAmount())
321      tgt.setAmount(SimpleQuantity40_50.convertSimpleQuantity(src.getAmount()));
322    return tgt;
323  }
324
325  public static org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietNutrientComponent convertNutritionOrderOralDietNutrientComponent(org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietNutrientComponent src) throws FHIRException {
326    if (src == null)
327      return null;
328    org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietNutrientComponent tgt = new org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietNutrientComponent();
329    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
330    if (src.hasModifier())
331      tgt.setModifier(CodeableConcept40_50.convertCodeableConcept(src.getModifier()));
332    if (src.hasAmount())
333      tgt.setAmount(SimpleQuantity40_50.convertSimpleQuantity(src.getAmount()));
334    return tgt;
335  }
336
337  public static org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietTextureComponent convertNutritionOrderOralDietTextureComponent(org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietTextureComponent src) throws FHIRException {
338    if (src == null)
339      return null;
340    org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietTextureComponent tgt = new org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietTextureComponent();
341    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
342    if (src.hasModifier())
343      tgt.setModifier(CodeableConcept40_50.convertCodeableConcept(src.getModifier()));
344    if (src.hasFoodType())
345      tgt.setFoodType(CodeableConcept40_50.convertCodeableConcept(src.getFoodType()));
346    return tgt;
347  }
348
349  public static org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietTextureComponent convertNutritionOrderOralDietTextureComponent(org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietTextureComponent src) throws FHIRException {
350    if (src == null)
351      return null;
352    org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietTextureComponent tgt = new org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietTextureComponent();
353    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
354    if (src.hasModifier())
355      tgt.setModifier(CodeableConcept40_50.convertCodeableConcept(src.getModifier()));
356    if (src.hasFoodType())
357      tgt.setFoodType(CodeableConcept40_50.convertCodeableConcept(src.getFoodType()));
358    return tgt;
359  }
360
361  public static org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderSupplementComponent convertNutritionOrderSupplementComponent(org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderSupplementComponent src) throws FHIRException {
362    if (src == null)
363      return null;
364    org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderSupplementComponent tgt = new org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderSupplementComponent();
365    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
366    if (src.hasType())
367      tgt.setType(CodeableConcept40_50.convertCodeableConceptToCodeableReference(src.getType()));
368    if (src.hasProductName())
369      tgt.setProductNameElement(String40_50.convertString(src.getProductNameElement()));
370    for (org.hl7.fhir.r4.model.Timing t : src.getSchedule()) tgt.getSchedule().addTiming(Timing40_50.convertTiming(t));
371    if (src.hasQuantity())
372      tgt.setQuantity(SimpleQuantity40_50.convertSimpleQuantity(src.getQuantity()));
373    if (src.hasInstruction())
374      tgt.setInstructionElement(String40_50.convertString(src.getInstructionElement()));
375    return tgt;
376  }
377
378  public static org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderSupplementComponent convertNutritionOrderSupplementComponent(org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderSupplementComponent src) throws FHIRException {
379    if (src == null)
380      return null;
381    org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderSupplementComponent tgt = new org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderSupplementComponent();
382    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
383    if (src.hasType())
384      tgt.setType(CodeableConcept40_50.convertCodeableReferenceToCodeableConcept(src.getType()));
385    if (src.hasProductName())
386      tgt.setProductNameElement(String40_50.convertString(src.getProductNameElement()));
387    for (org.hl7.fhir.r5.model.Timing t : src.getSchedule().getTiming()) tgt.addSchedule(Timing40_50.convertTiming(t));
388    if (src.hasQuantity())
389      tgt.setQuantity(SimpleQuantity40_50.convertSimpleQuantity(src.getQuantity()));
390    if (src.hasInstruction())
391      tgt.setInstructionElement(String40_50.convertString(src.getInstructionElement()));
392    return tgt;
393  }
394
395  public static org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaComponent convertNutritionOrderEnteralFormulaComponent(org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderEnteralFormulaComponent src) throws FHIRException {
396    if (src == null)
397      return null;
398    org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaComponent tgt = new org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaComponent();
399    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
400    if (src.hasBaseFormulaType())
401      tgt.setBaseFormulaType(CodeableConcept40_50.convertCodeableConceptToCodeableReference(src.getBaseFormulaType()));
402    if (src.hasBaseFormulaProductName())
403      tgt.setBaseFormulaProductNameElement(String40_50.convertString(src.getBaseFormulaProductNameElement()));
404//    if (src.hasAdditiveType())
405//      tgt.setAdditiveType(CodeableConcept40_50.convertCodeableConcept(src.getAdditiveType()));
406//    if (src.hasAdditiveProductName())
407//      tgt.setAdditiveProductNameElement(String40_50.convertString(src.getAdditiveProductNameElement()));
408    if (src.hasCaloricDensity())
409      tgt.setCaloricDensity(SimpleQuantity40_50.convertSimpleQuantity(src.getCaloricDensity()));
410    if (src.hasRouteofAdministration())
411      tgt.setRouteOfAdministration(CodeableConcept40_50.convertCodeableConcept(src.getRouteofAdministration()));
412    for (org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent t : src.getAdministration())
413      tgt.addAdministration(convertNutritionOrderEnteralFormulaAdministrationComponent(t));
414    if (src.hasMaxVolumeToDeliver())
415      tgt.setMaxVolumeToDeliver(SimpleQuantity40_50.convertSimpleQuantity(src.getMaxVolumeToDeliver()));
416    if (src.hasAdministrationInstruction())
417      tgt.setAdministrationInstructionElement(String40_50.convertStringToMarkdown(src.getAdministrationInstructionElement()));
418    return tgt;
419  }
420
421  public static org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderEnteralFormulaComponent convertNutritionOrderEnteralFormulaComponent(org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaComponent src) throws FHIRException {
422    if (src == null)
423      return null;
424    org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderEnteralFormulaComponent tgt = new org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderEnteralFormulaComponent();
425    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
426    if (src.hasBaseFormulaType())
427      tgt.setBaseFormulaType(CodeableConcept40_50.convertCodeableReferenceToCodeableConcept(src.getBaseFormulaType()));
428    if (src.hasBaseFormulaProductName())
429      tgt.setBaseFormulaProductNameElement(String40_50.convertString(src.getBaseFormulaProductNameElement()));
430//    if (src.hasAdditeProductNameElement(String40_50.convertString(src.getAdditiveProductNameElement()));
431    if (src.hasCaloricDensity())
432      tgt.setCaloricDensity(SimpleQuantity40_50.convertSimpleQuantity(src.getCaloricDensity()));
433    if (src.hasRouteOfAdministration())
434      tgt.setRouteofAdministration(CodeableConcept40_50.convertCodeableConcept(src.getRouteOfAdministration()));
435    for (org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent t : src.getAdministration())
436      tgt.addAdministration(convertNutritionOrderEnteralFormulaAdministrationComponent(t));
437    if (src.hasMaxVolumeToDeliver())
438      tgt.setMaxVolumeToDeliver(SimpleQuantity40_50.convertSimpleQuantity(src.getMaxVolumeToDeliver()));
439    if (src.hasAdministrationInstruction())
440      tgt.setAdministrationInstructionElement(String40_50.convertString(src.getAdministrationInstructionElement()));
441    return tgt;
442  }
443
444  public static org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent convertNutritionOrderEnteralFormulaAdministrationComponent(org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent src) throws FHIRException {
445    if (src == null)
446      return null;
447    org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent tgt = new org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent();
448    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
449    if (src.hasSchedule())
450      tgt.getSchedule().addTiming(Timing40_50.convertTiming(src.getSchedule()));
451    if (src.hasQuantity())
452      tgt.setQuantity(SimpleQuantity40_50.convertSimpleQuantity(src.getQuantity()));
453    if (src.hasRate())
454      tgt.setRate(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getRate()));
455    return tgt;
456  }
457
458  public static org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent convertNutritionOrderEnteralFormulaAdministrationComponent(org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent src) throws FHIRException {
459    if (src == null)
460      return null;
461    org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent tgt = new org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent();
462    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
463    if (src.getSchedule().hasTiming())
464      tgt.setSchedule(Timing40_50.convertTiming(src.getSchedule().getTimingFirstRep()));
465    if (src.hasQuantity())
466      tgt.setQuantity(SimpleQuantity40_50.convertSimpleQuantity(src.getQuantity()));
467    if (src.hasRate())
468      tgt.setRate(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getRate()));
469    return tgt;
470  }
471}