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