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;
015import org.hl7.fhir.r4.model.NutritionOrder;
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 NutritionOrder40_50 {
049
050  public static org.hl7.fhir.r5.model.NutritionOrder convertNutritionOrder(org.hl7.fhir.r4.model.NutritionOrder src) throws FHIRException {
051    if (src == null)
052      return null;
053    org.hl7.fhir.r5.model.NutritionOrder tgt = new org.hl7.fhir.r5.model.NutritionOrder();
054    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt);
055    for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier())
056      tgt.addIdentifier(Identifier40_50.convertIdentifier(t));
057    for (org.hl7.fhir.r4.model.CanonicalType t : src.getInstantiatesCanonical())
058      tgt.getInstantiatesCanonical().add(Canonical40_50.convertCanonical(t));
059    for (org.hl7.fhir.r4.model.UriType t : src.getInstantiatesUri())
060      tgt.getInstantiatesUri().add(Uri40_50.convertUri(t));
061    for (org.hl7.fhir.r4.model.UriType t : src.getInstantiates()) tgt.getInstantiates().add(Uri40_50.convertUri(t));
062    if (src.hasStatus())
063      tgt.setStatusElement(convertNutritionOrderStatus(src.getStatusElement()));
064    if (src.hasIntent())
065      tgt.setIntentElement(convertNutritiionOrderIntent(src.getIntentElement()));
066    if (src.hasPatient())
067      tgt.setSubject(Reference40_50.convertReference(src.getPatient()));
068    if (src.hasEncounter())
069      tgt.setEncounter(Reference40_50.convertReference(src.getEncounter()));
070    if (src.hasDateTime())
071      tgt.setDateTimeElement(DateTime40_50.convertDateTime(src.getDateTimeElement()));
072    if (src.hasOrderer())
073      tgt.setOrderer(Reference40_50.convertReference(src.getOrderer()));
074    for (org.hl7.fhir.r4.model.Reference t : src.getAllergyIntolerance())
075      tgt.addAllergyIntolerance(Reference40_50.convertReference(t));
076    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getFoodPreferenceModifier())
077      tgt.addFoodPreferenceModifier(CodeableConcept40_50.convertCodeableConcept(t));
078    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getExcludeFoodModifier())
079      tgt.addExcludeFoodModifier(CodeableConcept40_50.convertCodeableConcept(t));
080    if (src.hasOralDiet())
081      tgt.setOralDiet(convertNutritionOrderOralDietComponent(src.getOralDiet()));
082    for (org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderSupplementComponent t : src.getSupplement())
083      tgt.addSupplement(convertNutritionOrderSupplementComponent(t));
084    if (src.hasEnteralFormula())
085      tgt.setEnteralFormula(convertNutritionOrderEnteralFormulaComponent(src.getEnteralFormula()));
086    for (org.hl7.fhir.r4.model.Annotation t : src.getNote()) tgt.addNote(Annotation40_50.convertAnnotation(t));
087    return tgt;
088  }
089
090  public static org.hl7.fhir.r4.model.NutritionOrder convertNutritionOrder(org.hl7.fhir.r5.model.NutritionOrder src) throws FHIRException {
091    if (src == null)
092      return null;
093    org.hl7.fhir.r4.model.NutritionOrder tgt = new org.hl7.fhir.r4.model.NutritionOrder();
094    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt);
095    for (org.hl7.fhir.r5.model.Identifier t : src.getIdentifier())
096      tgt.addIdentifier(Identifier40_50.convertIdentifier(t));
097    for (org.hl7.fhir.r5.model.CanonicalType t : src.getInstantiatesCanonical())
098      tgt.getInstantiatesCanonical().add(Canonical40_50.convertCanonical(t));
099    for (org.hl7.fhir.r5.model.UriType t : src.getInstantiatesUri())
100      tgt.getInstantiatesUri().add(Uri40_50.convertUri(t));
101    for (org.hl7.fhir.r5.model.UriType t : src.getInstantiates()) tgt.getInstantiates().add(Uri40_50.convertUri(t));
102    if (src.hasStatus())
103      tgt.setStatusElement(convertNutritionOrderStatus(src.getStatusElement()));
104    if (src.hasIntent())
105      tgt.setIntentElement(convertNutritiionOrderIntent(src.getIntentElement()));
106    if (src.hasSubject())
107      tgt.setPatient(Reference40_50.convertReference(src.getSubject()));
108    if (src.hasEncounter())
109      tgt.setEncounter(Reference40_50.convertReference(src.getEncounter()));
110    if (src.hasDateTime())
111      tgt.setDateTimeElement(DateTime40_50.convertDateTime(src.getDateTimeElement()));
112    if (src.hasOrderer())
113      tgt.setOrderer(Reference40_50.convertReference(src.getOrderer()));
114    for (org.hl7.fhir.r5.model.Reference t : src.getAllergyIntolerance())
115      tgt.addAllergyIntolerance(Reference40_50.convertReference(t));
116    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getFoodPreferenceModifier())
117      tgt.addFoodPreferenceModifier(CodeableConcept40_50.convertCodeableConcept(t));
118    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getExcludeFoodModifier())
119      tgt.addExcludeFoodModifier(CodeableConcept40_50.convertCodeableConcept(t));
120    if (src.hasOralDiet())
121      tgt.setOralDiet(convertNutritionOrderOralDietComponent(src.getOralDiet()));
122    for (org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderSupplementComponent t : src.getSupplement())
123      tgt.addSupplement(convertNutritionOrderSupplementComponent(t));
124    if (src.hasEnteralFormula())
125      tgt.setEnteralFormula(convertNutritionOrderEnteralFormulaComponent(src.getEnteralFormula()));
126    for (org.hl7.fhir.r5.model.Annotation t : src.getNote()) tgt.addNote(Annotation40_50.convertAnnotation(t));
127    return tgt;
128  }
129
130  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 {
131      if (src == null || src.isEmpty())
132          return null;
133      Enumeration<Enumerations.RequestStatus> tgt = new Enumeration<>(new Enumerations.RequestStatusEnumFactory());
134      ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
135      if (src.getValue() == null) {
136          tgt.setValue(null);
137      } else {
138          switch (src.getValue()) {
139              case DRAFT:
140                  tgt.setValue(Enumerations.RequestStatus.DRAFT);
141                  break;
142              case ACTIVE:
143                  tgt.setValue(Enumerations.RequestStatus.ACTIVE);
144                  break;
145              case ONHOLD:
146                  tgt.setValue(Enumerations.RequestStatus.ONHOLD);
147                  break;
148              case REVOKED:
149                  tgt.setValue(Enumerations.RequestStatus.REVOKED);
150                  break;
151              case COMPLETED:
152                  tgt.setValue(Enumerations.RequestStatus.COMPLETED);
153                  break;
154              case ENTEREDINERROR:
155                  tgt.setValue(Enumerations.RequestStatus.ENTEREDINERROR);
156                  break;
157              case UNKNOWN:
158                  tgt.setValue(Enumerations.RequestStatus.UNKNOWN);
159                  break;
160              default:
161                  tgt.setValue(Enumerations.RequestStatus.NULL);
162                  break;
163          }
164      }
165      return tgt;
166  }
167
168  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 {
169      if (src == null || src.isEmpty())
170          return null;
171      org.hl7.fhir.r4.model.Enumeration<NutritionOrder.NutritionOrderStatus> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new NutritionOrder.NutritionOrderStatusEnumFactory());
172      ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
173      if (src.getValue() == null) {
174          tgt.setValue(null);
175      } else {
176          switch (src.getValue()) {
177              case DRAFT:
178                  tgt.setValue(NutritionOrder.NutritionOrderStatus.DRAFT);
179                  break;
180              case ACTIVE:
181                  tgt.setValue(NutritionOrder.NutritionOrderStatus.ACTIVE);
182                  break;
183              case ONHOLD:
184                  tgt.setValue(NutritionOrder.NutritionOrderStatus.ONHOLD);
185                  break;
186              case REVOKED:
187                  tgt.setValue(NutritionOrder.NutritionOrderStatus.REVOKED);
188                  break;
189              case COMPLETED:
190                  tgt.setValue(NutritionOrder.NutritionOrderStatus.COMPLETED);
191                  break;
192              case ENTEREDINERROR:
193                  tgt.setValue(NutritionOrder.NutritionOrderStatus.ENTEREDINERROR);
194                  break;
195              case UNKNOWN:
196                  tgt.setValue(NutritionOrder.NutritionOrderStatus.UNKNOWN);
197                  break;
198              default:
199                  tgt.setValue(NutritionOrder.NutritionOrderStatus.NULL);
200                  break;
201          }
202      }
203      return tgt;
204  }
205
206  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 {
207      if (src == null || src.isEmpty())
208          return null;
209      Enumeration<Enumerations.RequestIntent> tgt = new Enumeration<>(new Enumerations.RequestIntentEnumFactory());
210      ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
211      if (src.getValue() == null) {
212          tgt.setValue(null);
213      } else {
214          switch (src.getValue()) {
215              case PROPOSAL:
216                  tgt.setValue(Enumerations.RequestIntent.PROPOSAL);
217                  break;
218              case PLAN:
219                  tgt.setValue(Enumerations.RequestIntent.PLAN);
220                  break;
221              case DIRECTIVE:
222                  tgt.setValue(Enumerations.RequestIntent.DIRECTIVE);
223                  break;
224              case ORDER:
225                  tgt.setValue(Enumerations.RequestIntent.ORDER);
226                  break;
227              case ORIGINALORDER:
228                  tgt.setValue(Enumerations.RequestIntent.ORIGINALORDER);
229                  break;
230              case REFLEXORDER:
231                  tgt.setValue(Enumerations.RequestIntent.REFLEXORDER);
232                  break;
233              case FILLERORDER:
234                  tgt.setValue(Enumerations.RequestIntent.FILLERORDER);
235                  break;
236              case INSTANCEORDER:
237                  tgt.setValue(Enumerations.RequestIntent.INSTANCEORDER);
238                  break;
239              case OPTION:
240                  tgt.setValue(Enumerations.RequestIntent.OPTION);
241                  break;
242              default:
243                  tgt.setValue(Enumerations.RequestIntent.NULL);
244                  break;
245          }
246      }
247      return tgt;
248  }
249
250  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 {
251      if (src == null || src.isEmpty())
252          return null;
253      org.hl7.fhir.r4.model.Enumeration<NutritionOrder.NutritiionOrderIntent> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new NutritionOrder.NutritiionOrderIntentEnumFactory());
254      ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
255      if (src.getValue() == null) {
256          tgt.setValue(null);
257      } else {
258          switch (src.getValue()) {
259              case PROPOSAL:
260                  tgt.setValue(NutritionOrder.NutritiionOrderIntent.PROPOSAL);
261                  break;
262              case PLAN:
263                  tgt.setValue(NutritionOrder.NutritiionOrderIntent.PLAN);
264                  break;
265              case DIRECTIVE:
266                  tgt.setValue(NutritionOrder.NutritiionOrderIntent.DIRECTIVE);
267                  break;
268              case ORDER:
269                  tgt.setValue(NutritionOrder.NutritiionOrderIntent.ORDER);
270                  break;
271              case ORIGINALORDER:
272                  tgt.setValue(NutritionOrder.NutritiionOrderIntent.ORIGINALORDER);
273                  break;
274              case REFLEXORDER:
275                  tgt.setValue(NutritionOrder.NutritiionOrderIntent.REFLEXORDER);
276                  break;
277              case FILLERORDER:
278                  tgt.setValue(NutritionOrder.NutritiionOrderIntent.FILLERORDER);
279                  break;
280              case INSTANCEORDER:
281                  tgt.setValue(NutritionOrder.NutritiionOrderIntent.INSTANCEORDER);
282                  break;
283              case OPTION:
284                  tgt.setValue(NutritionOrder.NutritiionOrderIntent.OPTION);
285                  break;
286              default:
287                  tgt.setValue(NutritionOrder.NutritiionOrderIntent.NULL);
288                  break;
289          }
290      }
291      return tgt;
292  }
293
294  public static org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietComponent convertNutritionOrderOralDietComponent(org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietComponent src) throws FHIRException {
295    if (src == null)
296      return null;
297    org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietComponent tgt = new org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietComponent();
298    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
299    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getType())
300      tgt.addType(CodeableConcept40_50.convertCodeableConcept(t));
301    for (org.hl7.fhir.r4.model.Timing t : src.getSchedule()) tgt.getSchedule().addTiming(Timing40_50.convertTiming(t));
302    for (org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietNutrientComponent t : src.getNutrient())
303      tgt.addNutrient(convertNutritionOrderOralDietNutrientComponent(t));
304    for (org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietTextureComponent t : src.getTexture())
305      tgt.addTexture(convertNutritionOrderOralDietTextureComponent(t));
306    for (org.hl7.fhir.r4.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.r4.model.NutritionOrder.NutritionOrderOralDietComponent convertNutritionOrderOralDietComponent(org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietComponent src) throws FHIRException {
314    if (src == null)
315      return null;
316    org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietComponent tgt = new org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietComponent();
317    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
318    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getType())
319      tgt.addType(CodeableConcept40_50.convertCodeableConcept(t));
320    for (org.hl7.fhir.r5.model.Timing t : src.getSchedule().getTiming()) tgt.addSchedule(Timing40_50.convertTiming(t));
321    for (org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietNutrientComponent t : src.getNutrient())
322      tgt.addNutrient(convertNutritionOrderOralDietNutrientComponent(t));
323    for (org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietTextureComponent t : src.getTexture())
324      tgt.addTexture(convertNutritionOrderOralDietTextureComponent(t));
325    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getFluidConsistencyType())
326      tgt.addFluidConsistencyType(CodeableConcept40_50.convertCodeableConcept(t));
327    if (src.hasInstruction())
328      tgt.setInstructionElement(String40_50.convertString(src.getInstructionElement()));
329    return tgt;
330  }
331
332  public static org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietNutrientComponent convertNutritionOrderOralDietNutrientComponent(org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietNutrientComponent src) throws FHIRException {
333    if (src == null)
334      return null;
335    org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietNutrientComponent tgt = new org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietNutrientComponent();
336    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
337    if (src.hasModifier())
338      tgt.setModifier(CodeableConcept40_50.convertCodeableConcept(src.getModifier()));
339    if (src.hasAmount())
340      tgt.setAmount(SimpleQuantity40_50.convertSimpleQuantity(src.getAmount()));
341    return tgt;
342  }
343
344  public static org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietNutrientComponent convertNutritionOrderOralDietNutrientComponent(org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietNutrientComponent src) throws FHIRException {
345    if (src == null)
346      return null;
347    org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietNutrientComponent tgt = new org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietNutrientComponent();
348    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
349    if (src.hasModifier())
350      tgt.setModifier(CodeableConcept40_50.convertCodeableConcept(src.getModifier()));
351    if (src.hasAmount())
352      tgt.setAmount(SimpleQuantity40_50.convertSimpleQuantity(src.getAmount()));
353    return tgt;
354  }
355
356  public static org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietTextureComponent convertNutritionOrderOralDietTextureComponent(org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietTextureComponent src) throws FHIRException {
357    if (src == null)
358      return null;
359    org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietTextureComponent tgt = new org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietTextureComponent();
360    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
361    if (src.hasModifier())
362      tgt.setModifier(CodeableConcept40_50.convertCodeableConcept(src.getModifier()));
363    if (src.hasFoodType())
364      tgt.setFoodType(CodeableConcept40_50.convertCodeableConcept(src.getFoodType()));
365    return tgt;
366  }
367
368  public static org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietTextureComponent convertNutritionOrderOralDietTextureComponent(org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietTextureComponent src) throws FHIRException {
369    if (src == null)
370      return null;
371    org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietTextureComponent tgt = new org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietTextureComponent();
372    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
373    if (src.hasModifier())
374      tgt.setModifier(CodeableConcept40_50.convertCodeableConcept(src.getModifier()));
375    if (src.hasFoodType())
376      tgt.setFoodType(CodeableConcept40_50.convertCodeableConcept(src.getFoodType()));
377    return tgt;
378  }
379
380  public static org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderSupplementComponent convertNutritionOrderSupplementComponent(org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderSupplementComponent src) throws FHIRException {
381    if (src == null)
382      return null;
383    org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderSupplementComponent tgt = new org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderSupplementComponent();
384    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
385    if (src.hasType())
386      tgt.setType(CodeableConcept40_50.convertCodeableConceptToCodeableReference(src.getType()));
387    if (src.hasProductName())
388      tgt.setProductNameElement(String40_50.convertString(src.getProductNameElement()));
389    for (org.hl7.fhir.r4.model.Timing t : src.getSchedule()) tgt.getSchedule().addTiming(Timing40_50.convertTiming(t));
390    if (src.hasQuantity())
391      tgt.setQuantity(SimpleQuantity40_50.convertSimpleQuantity(src.getQuantity()));
392    if (src.hasInstruction())
393      tgt.setInstructionElement(String40_50.convertString(src.getInstructionElement()));
394    return tgt;
395  }
396
397  public static org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderSupplementComponent convertNutritionOrderSupplementComponent(org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderSupplementComponent src) throws FHIRException {
398    if (src == null)
399      return null;
400    org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderSupplementComponent tgt = new org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderSupplementComponent();
401    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
402    if (src.hasType())
403      tgt.setType(CodeableConcept40_50.convertCodeableReferenceToCodeableConcept(src.getType()));
404    if (src.hasProductName())
405      tgt.setProductNameElement(String40_50.convertString(src.getProductNameElement()));
406    for (org.hl7.fhir.r5.model.Timing t : src.getSchedule().getTiming()) tgt.addSchedule(Timing40_50.convertTiming(t));
407    if (src.hasQuantity())
408      tgt.setQuantity(SimpleQuantity40_50.convertSimpleQuantity(src.getQuantity()));
409    if (src.hasInstruction())
410      tgt.setInstructionElement(String40_50.convertString(src.getInstructionElement()));
411    return tgt;
412  }
413
414  public static org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaComponent convertNutritionOrderEnteralFormulaComponent(org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderEnteralFormulaComponent src) throws FHIRException {
415    if (src == null)
416      return null;
417    org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaComponent tgt = new org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaComponent();
418    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
419    if (src.hasBaseFormulaType())
420      tgt.setBaseFormulaType(CodeableConcept40_50.convertCodeableConceptToCodeableReference(src.getBaseFormulaType()));
421    if (src.hasBaseFormulaProductName())
422      tgt.setBaseFormulaProductNameElement(String40_50.convertString(src.getBaseFormulaProductNameElement()));
423//    if (src.hasAdditiveType())
424//      tgt.setAdditiveType(CodeableConcept40_50.convertCodeableConcept(src.getAdditiveType()));
425//    if (src.hasAdditiveProductName())
426//      tgt.setAdditiveProductNameElement(String40_50.convertString(src.getAdditiveProductNameElement()));
427    if (src.hasCaloricDensity())
428      tgt.setCaloricDensity(SimpleQuantity40_50.convertSimpleQuantity(src.getCaloricDensity()));
429    if (src.hasRouteofAdministration())
430      tgt.setRouteOfAdministration(CodeableConcept40_50.convertCodeableConcept(src.getRouteofAdministration()));
431    for (org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent t : src.getAdministration())
432      tgt.addAdministration(convertNutritionOrderEnteralFormulaAdministrationComponent(t));
433    if (src.hasMaxVolumeToDeliver())
434      tgt.setMaxVolumeToDeliver(SimpleQuantity40_50.convertSimpleQuantity(src.getMaxVolumeToDeliver()));
435    if (src.hasAdministrationInstruction())
436      tgt.setAdministrationInstructionElement(String40_50.convertStringToMarkdown(src.getAdministrationInstructionElement()));
437    return tgt;
438  }
439
440  public static org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderEnteralFormulaComponent convertNutritionOrderEnteralFormulaComponent(org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaComponent src) throws FHIRException {
441    if (src == null)
442      return null;
443    org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderEnteralFormulaComponent tgt = new org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderEnteralFormulaComponent();
444    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
445    if (src.hasBaseFormulaType())
446      tgt.setBaseFormulaType(CodeableConcept40_50.convertCodeableReferenceToCodeableConcept(src.getBaseFormulaType()));
447    if (src.hasBaseFormulaProductName())
448      tgt.setBaseFormulaProductNameElement(String40_50.convertString(src.getBaseFormulaProductNameElement()));
449//    if (src.hasAdditeProductNameElement(String40_50.convertString(src.getAdditiveProductNameElement()));
450    if (src.hasCaloricDensity())
451      tgt.setCaloricDensity(SimpleQuantity40_50.convertSimpleQuantity(src.getCaloricDensity()));
452    if (src.hasRouteOfAdministration())
453      tgt.setRouteofAdministration(CodeableConcept40_50.convertCodeableConcept(src.getRouteOfAdministration()));
454    for (org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent t : src.getAdministration())
455      tgt.addAdministration(convertNutritionOrderEnteralFormulaAdministrationComponent(t));
456    if (src.hasMaxVolumeToDeliver())
457      tgt.setMaxVolumeToDeliver(SimpleQuantity40_50.convertSimpleQuantity(src.getMaxVolumeToDeliver()));
458    if (src.hasAdministrationInstruction())
459      tgt.setAdministrationInstructionElement(String40_50.convertString(src.getAdministrationInstructionElement()));
460    return tgt;
461  }
462
463  public static org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent convertNutritionOrderEnteralFormulaAdministrationComponent(org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent src) throws FHIRException {
464    if (src == null)
465      return null;
466    org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent tgt = new org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent();
467    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
468    if (src.hasSchedule())
469      tgt.getSchedule().addTiming(Timing40_50.convertTiming(src.getSchedule()));
470    if (src.hasQuantity())
471      tgt.setQuantity(SimpleQuantity40_50.convertSimpleQuantity(src.getQuantity()));
472    if (src.hasRate())
473      tgt.setRate(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getRate()));
474    return tgt;
475  }
476
477  public static org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent convertNutritionOrderEnteralFormulaAdministrationComponent(org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent src) throws FHIRException {
478    if (src == null)
479      return null;
480    org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent tgt = new org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent();
481    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
482    if (src.getSchedule().hasTiming())
483      tgt.setSchedule(Timing40_50.convertTiming(src.getSchedule().getTimingFirstRep()));
484    if (src.hasQuantity())
485      tgt.setQuantity(SimpleQuantity40_50.convertSimpleQuantity(src.getQuantity()));
486    if (src.hasRate())
487      tgt.setRate(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getRate()));
488    return tgt;
489  }
490}