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.CodeableConcept43_50;
005import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50;
006import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Money43_50;
007import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50;
008import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.SimpleQuantity43_50;
009import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50;
010import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Date43_50;
011import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50;
012import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Decimal43_50;
013import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.PositiveInt43_50;
014import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50;
015import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50;
016import org.hl7.fhir.exceptions.FHIRException;
017import org.hl7.fhir.r5.model.Enumeration;
018import org.hl7.fhir.r5.model.Enumerations;
019
020/*
021  Copyright (c) 2011+, HL7, Inc.
022  All rights reserved.
023  
024  Redistribution and use in source and binary forms, with or without modification, 
025  are permitted provided that the following conditions are met:
026  
027   * Redistributions of source code must retain the above copyright notice, this 
028     list of conditions and the following disclaimer.
029   * Redistributions in binary form must reproduce the above copyright notice, 
030     this list of conditions and the following disclaimer in the documentation 
031     and/or other materials provided with the distribution.
032   * Neither the name of HL7 nor the names of its contributors may be used to 
033     endorse or promote products derived from this software without specific 
034     prior written permission.
035  
036  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
037  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
038  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
039  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
040  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
041  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
042  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
043  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
044  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
045  POSSIBILITY OF SUCH DAMAGE.
046  
047*/
048// Generated on Sun, Feb 24, 2019 11:37+1100 for FHIR v4.0.0
049public class Claim43_50 {
050
051  public static org.hl7.fhir.r5.model.Claim convertClaim(org.hl7.fhir.r4b.model.Claim src) throws FHIRException {
052    if (src == null)
053      return null;
054    org.hl7.fhir.r5.model.Claim tgt = new org.hl7.fhir.r5.model.Claim();
055    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyDomainResource(src, tgt);
056    for (org.hl7.fhir.r4b.model.Identifier t : src.getIdentifier())
057      tgt.addIdentifier(Identifier43_50.convertIdentifier(t));
058    if (src.hasStatus())
059      tgt.setStatusElement(convertClaimStatus(src.getStatusElement()));
060    if (src.hasType())
061      tgt.setType(CodeableConcept43_50.convertCodeableConcept(src.getType()));
062    if (src.hasSubType())
063      tgt.setSubType(CodeableConcept43_50.convertCodeableConcept(src.getSubType()));
064    if (src.hasUse())
065      tgt.setUseElement(convertUse(src.getUseElement()));
066    if (src.hasPatient())
067      tgt.setPatient(Reference43_50.convertReference(src.getPatient()));
068    if (src.hasBillablePeriod())
069      tgt.setBillablePeriod(Period43_50.convertPeriod(src.getBillablePeriod()));
070    if (src.hasCreated())
071      tgt.setCreatedElement(DateTime43_50.convertDateTime(src.getCreatedElement()));
072    if (src.hasEnterer())
073      tgt.setEnterer(Reference43_50.convertReference(src.getEnterer()));
074    if (src.hasInsurer())
075      tgt.setInsurer(Reference43_50.convertReference(src.getInsurer()));
076    if (src.hasProvider())
077      tgt.setProvider(Reference43_50.convertReference(src.getProvider()));
078    if (src.hasPriority())
079      tgt.setPriority(CodeableConcept43_50.convertCodeableConcept(src.getPriority()));
080    if (src.hasFundsReserve())
081      tgt.setFundsReserve(CodeableConcept43_50.convertCodeableConcept(src.getFundsReserve()));
082    for (org.hl7.fhir.r4b.model.Claim.RelatedClaimComponent t : src.getRelated())
083      tgt.addRelated(convertRelatedClaimComponent(t));
084    if (src.hasPrescription())
085      tgt.setPrescription(Reference43_50.convertReference(src.getPrescription()));
086    if (src.hasOriginalPrescription())
087      tgt.setOriginalPrescription(Reference43_50.convertReference(src.getOriginalPrescription()));
088    if (src.hasPayee())
089      tgt.setPayee(convertPayeeComponent(src.getPayee()));
090    if (src.hasReferral())
091      tgt.setReferral(Reference43_50.convertReference(src.getReferral()));
092    if (src.hasFacility())
093      tgt.setFacility(Reference43_50.convertReference(src.getFacility()));
094    for (org.hl7.fhir.r4b.model.Claim.CareTeamComponent t : src.getCareTeam())
095      tgt.addCareTeam(convertCareTeamComponent(t));
096    for (org.hl7.fhir.r4b.model.Claim.SupportingInformationComponent t : src.getSupportingInfo())
097      tgt.addSupportingInfo(convertSupportingInformationComponent(t));
098    for (org.hl7.fhir.r4b.model.Claim.DiagnosisComponent t : src.getDiagnosis())
099      tgt.addDiagnosis(convertDiagnosisComponent(t));
100    for (org.hl7.fhir.r4b.model.Claim.ProcedureComponent t : src.getProcedure())
101      tgt.addProcedure(convertProcedureComponent(t));
102    for (org.hl7.fhir.r4b.model.Claim.InsuranceComponent t : src.getInsurance())
103      tgt.addInsurance(convertInsuranceComponent(t));
104    if (src.hasAccident())
105      tgt.setAccident(convertAccidentComponent(src.getAccident()));
106    for (org.hl7.fhir.r4b.model.Claim.ItemComponent t : src.getItem()) tgt.addItem(convertItemComponent(t));
107    if (src.hasTotal())
108      tgt.setTotal(Money43_50.convertMoney(src.getTotal()));
109    return tgt;
110  }
111
112  public static org.hl7.fhir.r4b.model.Claim convertClaim(org.hl7.fhir.r5.model.Claim src) throws FHIRException {
113    if (src == null)
114      return null;
115    org.hl7.fhir.r4b.model.Claim tgt = new org.hl7.fhir.r4b.model.Claim();
116    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyDomainResource(src, tgt);
117    for (org.hl7.fhir.r5.model.Identifier t : src.getIdentifier())
118      tgt.addIdentifier(Identifier43_50.convertIdentifier(t));
119    if (src.hasStatus())
120      tgt.setStatusElement(convertClaimStatus(src.getStatusElement()));
121    if (src.hasType())
122      tgt.setType(CodeableConcept43_50.convertCodeableConcept(src.getType()));
123    if (src.hasSubType())
124      tgt.setSubType(CodeableConcept43_50.convertCodeableConcept(src.getSubType()));
125    if (src.hasUse())
126      tgt.setUseElement(convertUse(src.getUseElement()));
127    if (src.hasPatient())
128      tgt.setPatient(Reference43_50.convertReference(src.getPatient()));
129    if (src.hasBillablePeriod())
130      tgt.setBillablePeriod(Period43_50.convertPeriod(src.getBillablePeriod()));
131    if (src.hasCreated())
132      tgt.setCreatedElement(DateTime43_50.convertDateTime(src.getCreatedElement()));
133    if (src.hasEnterer())
134      tgt.setEnterer(Reference43_50.convertReference(src.getEnterer()));
135    if (src.hasInsurer())
136      tgt.setInsurer(Reference43_50.convertReference(src.getInsurer()));
137    if (src.hasProvider())
138      tgt.setProvider(Reference43_50.convertReference(src.getProvider()));
139    if (src.hasPriority())
140      tgt.setPriority(CodeableConcept43_50.convertCodeableConcept(src.getPriority()));
141    if (src.hasFundsReserve())
142      tgt.setFundsReserve(CodeableConcept43_50.convertCodeableConcept(src.getFundsReserve()));
143    for (org.hl7.fhir.r5.model.Claim.RelatedClaimComponent t : src.getRelated())
144      tgt.addRelated(convertRelatedClaimComponent(t));
145    if (src.hasPrescription())
146      tgt.setPrescription(Reference43_50.convertReference(src.getPrescription()));
147    if (src.hasOriginalPrescription())
148      tgt.setOriginalPrescription(Reference43_50.convertReference(src.getOriginalPrescription()));
149    if (src.hasPayee())
150      tgt.setPayee(convertPayeeComponent(src.getPayee()));
151    if (src.hasReferral())
152      tgt.setReferral(Reference43_50.convertReference(src.getReferral()));
153    if (src.hasFacility())
154      tgt.setFacility(Reference43_50.convertReference(src.getFacility()));
155    for (org.hl7.fhir.r5.model.Claim.CareTeamComponent t : src.getCareTeam())
156      tgt.addCareTeam(convertCareTeamComponent(t));
157    for (org.hl7.fhir.r5.model.Claim.SupportingInformationComponent t : src.getSupportingInfo())
158      tgt.addSupportingInfo(convertSupportingInformationComponent(t));
159    for (org.hl7.fhir.r5.model.Claim.DiagnosisComponent t : src.getDiagnosis())
160      tgt.addDiagnosis(convertDiagnosisComponent(t));
161    for (org.hl7.fhir.r5.model.Claim.ProcedureComponent t : src.getProcedure())
162      tgt.addProcedure(convertProcedureComponent(t));
163    for (org.hl7.fhir.r5.model.Claim.InsuranceComponent t : src.getInsurance())
164      tgt.addInsurance(convertInsuranceComponent(t));
165    if (src.hasAccident())
166      tgt.setAccident(convertAccidentComponent(src.getAccident()));
167    for (org.hl7.fhir.r5.model.Claim.ItemComponent t : src.getItem()) tgt.addItem(convertItemComponent(t));
168    if (src.hasTotal())
169      tgt.setTotal(Money43_50.convertMoney(src.getTotal()));
170    return tgt;
171  }
172
173  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.FinancialResourceStatusCodes> convertClaimStatus(org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.Enumerations.FinancialResourceStatusCodes> src) throws FHIRException {
174      if (src == null || src.isEmpty())
175          return null;
176      Enumeration<Enumerations.FinancialResourceStatusCodes> tgt = new Enumeration<>(new Enumerations.FinancialResourceStatusCodesEnumFactory());
177      ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt);
178      if (src.getValue() == null) {
179          tgt.setValue(null);
180      } else {
181          switch (src.getValue()) {
182              case ACTIVE:
183                  tgt.setValue(Enumerations.FinancialResourceStatusCodes.ACTIVE);
184                  break;
185              case CANCELLED:
186                  tgt.setValue(Enumerations.FinancialResourceStatusCodes.CANCELLED);
187                  break;
188              case DRAFT:
189                  tgt.setValue(Enumerations.FinancialResourceStatusCodes.DRAFT);
190                  break;
191              case ENTEREDINERROR:
192                  tgt.setValue(Enumerations.FinancialResourceStatusCodes.ENTEREDINERROR);
193                  break;
194              default:
195                  tgt.setValue(Enumerations.FinancialResourceStatusCodes.NULL);
196                  break;
197          }
198      }
199      return tgt;
200  }
201
202  static public org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.Enumerations.FinancialResourceStatusCodes> convertClaimStatus(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.FinancialResourceStatusCodes> src) throws FHIRException {
203      if (src == null || src.isEmpty())
204          return null;
205      org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.Enumerations.FinancialResourceStatusCodes> tgt = new org.hl7.fhir.r4b.model.Enumeration<>(new org.hl7.fhir.r4b.model.Enumerations.FinancialResourceStatusCodesEnumFactory());
206      ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt);
207      if (src.getValue() == null) {
208          tgt.setValue(null);
209      } else {
210          switch (src.getValue()) {
211              case ACTIVE:
212                  tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.FinancialResourceStatusCodes.ACTIVE);
213                  break;
214              case CANCELLED:
215                  tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.FinancialResourceStatusCodes.CANCELLED);
216                  break;
217              case DRAFT:
218                  tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.FinancialResourceStatusCodes.DRAFT);
219                  break;
220              case ENTEREDINERROR:
221                  tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.FinancialResourceStatusCodes.ENTEREDINERROR);
222                  break;
223              default:
224                  tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.FinancialResourceStatusCodes.NULL);
225                  break;
226          }
227      }
228      return tgt;
229  }
230
231  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.Use> convertUse(org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.Enumerations.Use> src) throws FHIRException {
232      if (src == null || src.isEmpty())
233          return null;
234      Enumeration<Enumerations.Use> tgt = new Enumeration<>(new Enumerations.UseEnumFactory());
235      ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt);
236      if (src.getValue() == null) {
237          tgt.setValue(null);
238      } else {
239          switch (src.getValue()) {
240              case CLAIM:
241                  tgt.setValue(Enumerations.Use.CLAIM);
242                  break;
243              case PREAUTHORIZATION:
244                  tgt.setValue(Enumerations.Use.PREAUTHORIZATION);
245                  break;
246              case PREDETERMINATION:
247                  tgt.setValue(Enumerations.Use.PREDETERMINATION);
248                  break;
249              default:
250                  tgt.setValue(Enumerations.Use.NULL);
251                  break;
252          }
253      }
254      return tgt;
255  }
256
257  static public org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.Enumerations.Use> convertUse(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.Use> src) throws FHIRException {
258      if (src == null || src.isEmpty())
259          return null;
260      org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.Enumerations.Use> tgt = new org.hl7.fhir.r4b.model.Enumeration<>(new org.hl7.fhir.r4b.model.Enumerations.UseEnumFactory());
261      ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt);
262      if (src.getValue() == null) {
263          tgt.setValue(null);
264      } else {
265          switch (src.getValue()) {
266              case CLAIM:
267                  tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.Use.CLAIM);
268                  break;
269              case PREAUTHORIZATION:
270                  tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.Use.PREAUTHORIZATION);
271                  break;
272              case PREDETERMINATION:
273                  tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.Use.PREDETERMINATION);
274                  break;
275              default:
276                  tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.Use.NULL);
277                  break;
278          }
279      }
280      return tgt;
281  }
282
283  public static org.hl7.fhir.r5.model.Claim.RelatedClaimComponent convertRelatedClaimComponent(org.hl7.fhir.r4b.model.Claim.RelatedClaimComponent src) throws FHIRException {
284    if (src == null)
285      return null;
286    org.hl7.fhir.r5.model.Claim.RelatedClaimComponent tgt = new org.hl7.fhir.r5.model.Claim.RelatedClaimComponent();
287    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt);
288    if (src.hasClaim())
289      tgt.setClaim(Reference43_50.convertReference(src.getClaim()));
290    if (src.hasRelationship())
291      tgt.setRelationship(CodeableConcept43_50.convertCodeableConcept(src.getRelationship()));
292    if (src.hasReference())
293      tgt.setReference(Identifier43_50.convertIdentifier(src.getReference()));
294    return tgt;
295  }
296
297  public static org.hl7.fhir.r4b.model.Claim.RelatedClaimComponent convertRelatedClaimComponent(org.hl7.fhir.r5.model.Claim.RelatedClaimComponent src) throws FHIRException {
298    if (src == null)
299      return null;
300    org.hl7.fhir.r4b.model.Claim.RelatedClaimComponent tgt = new org.hl7.fhir.r4b.model.Claim.RelatedClaimComponent();
301    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt);
302    if (src.hasClaim())
303      tgt.setClaim(Reference43_50.convertReference(src.getClaim()));
304    if (src.hasRelationship())
305      tgt.setRelationship(CodeableConcept43_50.convertCodeableConcept(src.getRelationship()));
306    if (src.hasReference())
307      tgt.setReference(Identifier43_50.convertIdentifier(src.getReference()));
308    return tgt;
309  }
310
311  public static org.hl7.fhir.r5.model.Claim.PayeeComponent convertPayeeComponent(org.hl7.fhir.r4b.model.Claim.PayeeComponent src) throws FHIRException {
312    if (src == null)
313      return null;
314    org.hl7.fhir.r5.model.Claim.PayeeComponent tgt = new org.hl7.fhir.r5.model.Claim.PayeeComponent();
315    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt);
316    if (src.hasType())
317      tgt.setType(CodeableConcept43_50.convertCodeableConcept(src.getType()));
318    if (src.hasParty())
319      tgt.setParty(Reference43_50.convertReference(src.getParty()));
320    return tgt;
321  }
322
323  public static org.hl7.fhir.r4b.model.Claim.PayeeComponent convertPayeeComponent(org.hl7.fhir.r5.model.Claim.PayeeComponent src) throws FHIRException {
324    if (src == null)
325      return null;
326    org.hl7.fhir.r4b.model.Claim.PayeeComponent tgt = new org.hl7.fhir.r4b.model.Claim.PayeeComponent();
327    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt);
328    if (src.hasType())
329      tgt.setType(CodeableConcept43_50.convertCodeableConcept(src.getType()));
330    if (src.hasParty())
331      tgt.setParty(Reference43_50.convertReference(src.getParty()));
332    return tgt;
333  }
334
335  public static org.hl7.fhir.r5.model.Claim.CareTeamComponent convertCareTeamComponent(org.hl7.fhir.r4b.model.Claim.CareTeamComponent src) throws FHIRException {
336    if (src == null)
337      return null;
338    org.hl7.fhir.r5.model.Claim.CareTeamComponent tgt = new org.hl7.fhir.r5.model.Claim.CareTeamComponent();
339    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt);
340    if (src.hasSequence())
341      tgt.setSequenceElement(PositiveInt43_50.convertPositiveInt(src.getSequenceElement()));
342    if (src.hasProvider())
343      tgt.setProvider(Reference43_50.convertReference(src.getProvider()));
344    if (src.hasResponsible())
345      tgt.setResponsibleElement(Boolean43_50.convertBoolean(src.getResponsibleElement()));
346    if (src.hasRole())
347      tgt.setRole(CodeableConcept43_50.convertCodeableConcept(src.getRole()));
348    if (src.hasQualification())
349      tgt.setSpecialty(CodeableConcept43_50.convertCodeableConcept(src.getQualification()));
350    return tgt;
351  }
352
353  public static org.hl7.fhir.r4b.model.Claim.CareTeamComponent convertCareTeamComponent(org.hl7.fhir.r5.model.Claim.CareTeamComponent src) throws FHIRException {
354    if (src == null)
355      return null;
356    org.hl7.fhir.r4b.model.Claim.CareTeamComponent tgt = new org.hl7.fhir.r4b.model.Claim.CareTeamComponent();
357    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt);
358    if (src.hasSequence())
359      tgt.setSequenceElement(PositiveInt43_50.convertPositiveInt(src.getSequenceElement()));
360    if (src.hasProvider())
361      tgt.setProvider(Reference43_50.convertReference(src.getProvider()));
362    if (src.hasResponsible())
363      tgt.setResponsibleElement(Boolean43_50.convertBoolean(src.getResponsibleElement()));
364    if (src.hasRole())
365      tgt.setRole(CodeableConcept43_50.convertCodeableConcept(src.getRole()));
366    if (src.hasSpecialty())
367      tgt.setQualification(CodeableConcept43_50.convertCodeableConcept(src.getSpecialty()));
368    return tgt;
369  }
370
371  public static org.hl7.fhir.r5.model.Claim.SupportingInformationComponent convertSupportingInformationComponent(org.hl7.fhir.r4b.model.Claim.SupportingInformationComponent src) throws FHIRException {
372    if (src == null)
373      return null;
374    org.hl7.fhir.r5.model.Claim.SupportingInformationComponent tgt = new org.hl7.fhir.r5.model.Claim.SupportingInformationComponent();
375    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt);
376    if (src.hasSequence())
377      tgt.setSequenceElement(PositiveInt43_50.convertPositiveInt(src.getSequenceElement()));
378    if (src.hasCategory())
379      tgt.setCategory(CodeableConcept43_50.convertCodeableConcept(src.getCategory()));
380    if (src.hasCode())
381      tgt.setCode(CodeableConcept43_50.convertCodeableConcept(src.getCode()));
382    if (src.hasTiming())
383      tgt.setTiming(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getTiming()));
384    if (src.hasValue())
385      tgt.setValue(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getValue()));
386    if (src.hasReason())
387      tgt.setReason(CodeableConcept43_50.convertCodeableConcept(src.getReason()));
388    return tgt;
389  }
390
391  public static org.hl7.fhir.r4b.model.Claim.SupportingInformationComponent convertSupportingInformationComponent(org.hl7.fhir.r5.model.Claim.SupportingInformationComponent src) throws FHIRException {
392    if (src == null)
393      return null;
394    org.hl7.fhir.r4b.model.Claim.SupportingInformationComponent tgt = new org.hl7.fhir.r4b.model.Claim.SupportingInformationComponent();
395    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt);
396    if (src.hasSequence())
397      tgt.setSequenceElement(PositiveInt43_50.convertPositiveInt(src.getSequenceElement()));
398    if (src.hasCategory())
399      tgt.setCategory(CodeableConcept43_50.convertCodeableConcept(src.getCategory()));
400    if (src.hasCode())
401      tgt.setCode(CodeableConcept43_50.convertCodeableConcept(src.getCode()));
402    if (src.hasTiming())
403      tgt.setTiming(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getTiming()));
404    if (src.hasValue())
405      tgt.setValue(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getValue()));
406    if (src.hasReason())
407      tgt.setReason(CodeableConcept43_50.convertCodeableConcept(src.getReason()));
408    return tgt;
409  }
410
411  public static org.hl7.fhir.r5.model.Claim.DiagnosisComponent convertDiagnosisComponent(org.hl7.fhir.r4b.model.Claim.DiagnosisComponent src) throws FHIRException {
412    if (src == null)
413      return null;
414    org.hl7.fhir.r5.model.Claim.DiagnosisComponent tgt = new org.hl7.fhir.r5.model.Claim.DiagnosisComponent();
415    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt);
416    if (src.hasSequence())
417      tgt.setSequenceElement(PositiveInt43_50.convertPositiveInt(src.getSequenceElement()));
418    if (src.hasDiagnosis())
419      tgt.setDiagnosis(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getDiagnosis()));
420    for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getType())
421      tgt.addType(CodeableConcept43_50.convertCodeableConcept(t));
422    if (src.hasOnAdmission())
423      tgt.setOnAdmission(CodeableConcept43_50.convertCodeableConcept(src.getOnAdmission()));
424//    if (src.hasPackageCode())
425//      tgt.setPackageCode(CodeableConcept43_50.convertCodeableConcept(src.getPackageCode()));
426    return tgt;
427  }
428
429  public static org.hl7.fhir.r4b.model.Claim.DiagnosisComponent convertDiagnosisComponent(org.hl7.fhir.r5.model.Claim.DiagnosisComponent src) throws FHIRException {
430    if (src == null)
431      return null;
432    org.hl7.fhir.r4b.model.Claim.DiagnosisComponent tgt = new org.hl7.fhir.r4b.model.Claim.DiagnosisComponent();
433    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt);
434    if (src.hasSequence())
435      tgt.setSequenceElement(PositiveInt43_50.convertPositiveInt(src.getSequenceElement()));
436    if (src.hasDiagnosis())
437      tgt.setDiagnosis(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getDiagnosis()));
438    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getType())
439      tgt.addType(CodeableConcept43_50.convertCodeableConcept(t));
440    if (src.hasOnAdmission())
441      tgt.setOnAdmission(CodeableConcept43_50.convertCodeableConcept(src.getOnAdmission()));
442//    if (src.hasPackageCode())
443//      tgt.setPackageCode(CodeableConcept43_50.convertCodeableConcept(src.getPackageCode()));
444    return tgt;
445  }
446
447  public static org.hl7.fhir.r5.model.Claim.ProcedureComponent convertProcedureComponent(org.hl7.fhir.r4b.model.Claim.ProcedureComponent src) throws FHIRException {
448    if (src == null)
449      return null;
450    org.hl7.fhir.r5.model.Claim.ProcedureComponent tgt = new org.hl7.fhir.r5.model.Claim.ProcedureComponent();
451    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt);
452    if (src.hasSequence())
453      tgt.setSequenceElement(PositiveInt43_50.convertPositiveInt(src.getSequenceElement()));
454    for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getType())
455      tgt.addType(CodeableConcept43_50.convertCodeableConcept(t));
456    if (src.hasDate())
457      tgt.setDateElement(DateTime43_50.convertDateTime(src.getDateElement()));
458    if (src.hasProcedure())
459      tgt.setProcedure(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getProcedure()));
460    for (org.hl7.fhir.r4b.model.Reference t : src.getUdi()) tgt.addUdi(Reference43_50.convertReference(t));
461    return tgt;
462  }
463
464  public static org.hl7.fhir.r4b.model.Claim.ProcedureComponent convertProcedureComponent(org.hl7.fhir.r5.model.Claim.ProcedureComponent src) throws FHIRException {
465    if (src == null)
466      return null;
467    org.hl7.fhir.r4b.model.Claim.ProcedureComponent tgt = new org.hl7.fhir.r4b.model.Claim.ProcedureComponent();
468    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt);
469    if (src.hasSequence())
470      tgt.setSequenceElement(PositiveInt43_50.convertPositiveInt(src.getSequenceElement()));
471    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getType())
472      tgt.addType(CodeableConcept43_50.convertCodeableConcept(t));
473    if (src.hasDate())
474      tgt.setDateElement(DateTime43_50.convertDateTime(src.getDateElement()));
475    if (src.hasProcedure())
476      tgt.setProcedure(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getProcedure()));
477    for (org.hl7.fhir.r5.model.Reference t : src.getUdi()) tgt.addUdi(Reference43_50.convertReference(t));
478    return tgt;
479  }
480
481  public static org.hl7.fhir.r5.model.Claim.InsuranceComponent convertInsuranceComponent(org.hl7.fhir.r4b.model.Claim.InsuranceComponent src) throws FHIRException {
482    if (src == null)
483      return null;
484    org.hl7.fhir.r5.model.Claim.InsuranceComponent tgt = new org.hl7.fhir.r5.model.Claim.InsuranceComponent();
485    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt);
486    if (src.hasSequence())
487      tgt.setSequenceElement(PositiveInt43_50.convertPositiveInt(src.getSequenceElement()));
488    if (src.hasFocal())
489      tgt.setFocalElement(Boolean43_50.convertBoolean(src.getFocalElement()));
490    if (src.hasIdentifier())
491      tgt.setIdentifier(Identifier43_50.convertIdentifier(src.getIdentifier()));
492    if (src.hasCoverage())
493      tgt.setCoverage(Reference43_50.convertReference(src.getCoverage()));
494    if (src.hasBusinessArrangement())
495      tgt.setBusinessArrangementElement(String43_50.convertString(src.getBusinessArrangementElement()));
496    for (org.hl7.fhir.r4b.model.StringType t : src.getPreAuthRef())
497      tgt.getPreAuthRef().add(String43_50.convertString(t));
498    if (src.hasClaimResponse())
499      tgt.setClaimResponse(Reference43_50.convertReference(src.getClaimResponse()));
500    return tgt;
501  }
502
503  public static org.hl7.fhir.r4b.model.Claim.InsuranceComponent convertInsuranceComponent(org.hl7.fhir.r5.model.Claim.InsuranceComponent src) throws FHIRException {
504    if (src == null)
505      return null;
506    org.hl7.fhir.r4b.model.Claim.InsuranceComponent tgt = new org.hl7.fhir.r4b.model.Claim.InsuranceComponent();
507    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt);
508    if (src.hasSequence())
509      tgt.setSequenceElement(PositiveInt43_50.convertPositiveInt(src.getSequenceElement()));
510    if (src.hasFocal())
511      tgt.setFocalElement(Boolean43_50.convertBoolean(src.getFocalElement()));
512    if (src.hasIdentifier())
513      tgt.setIdentifier(Identifier43_50.convertIdentifier(src.getIdentifier()));
514    if (src.hasCoverage())
515      tgt.setCoverage(Reference43_50.convertReference(src.getCoverage()));
516    if (src.hasBusinessArrangement())
517      tgt.setBusinessArrangementElement(String43_50.convertString(src.getBusinessArrangementElement()));
518    for (org.hl7.fhir.r5.model.StringType t : src.getPreAuthRef())
519      tgt.getPreAuthRef().add(String43_50.convertString(t));
520    if (src.hasClaimResponse())
521      tgt.setClaimResponse(Reference43_50.convertReference(src.getClaimResponse()));
522    return tgt;
523  }
524
525  public static org.hl7.fhir.r5.model.Claim.AccidentComponent convertAccidentComponent(org.hl7.fhir.r4b.model.Claim.AccidentComponent src) throws FHIRException {
526    if (src == null)
527      return null;
528    org.hl7.fhir.r5.model.Claim.AccidentComponent tgt = new org.hl7.fhir.r5.model.Claim.AccidentComponent();
529    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt);
530    if (src.hasDate())
531      tgt.setDateElement(Date43_50.convertDate(src.getDateElement()));
532    if (src.hasType())
533      tgt.setType(CodeableConcept43_50.convertCodeableConcept(src.getType()));
534    if (src.hasLocation())
535      tgt.setLocation(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getLocation()));
536    return tgt;
537  }
538
539  public static org.hl7.fhir.r4b.model.Claim.AccidentComponent convertAccidentComponent(org.hl7.fhir.r5.model.Claim.AccidentComponent src) throws FHIRException {
540    if (src == null)
541      return null;
542    org.hl7.fhir.r4b.model.Claim.AccidentComponent tgt = new org.hl7.fhir.r4b.model.Claim.AccidentComponent();
543    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt);
544    if (src.hasDate())
545      tgt.setDateElement(Date43_50.convertDate(src.getDateElement()));
546    if (src.hasType())
547      tgt.setType(CodeableConcept43_50.convertCodeableConcept(src.getType()));
548    if (src.hasLocation())
549      tgt.setLocation(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getLocation()));
550    return tgt;
551  }
552
553  public static org.hl7.fhir.r5.model.Claim.ItemComponent convertItemComponent(org.hl7.fhir.r4b.model.Claim.ItemComponent src) throws FHIRException {
554    if (src == null)
555      return null;
556    org.hl7.fhir.r5.model.Claim.ItemComponent tgt = new org.hl7.fhir.r5.model.Claim.ItemComponent();
557    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt);
558    if (src.hasSequence())
559      tgt.setSequenceElement(PositiveInt43_50.convertPositiveInt(src.getSequenceElement()));
560    for (org.hl7.fhir.r4b.model.PositiveIntType t : src.getCareTeamSequence())
561      tgt.getCareTeamSequence().add(PositiveInt43_50.convertPositiveInt(t));
562    for (org.hl7.fhir.r4b.model.PositiveIntType t : src.getDiagnosisSequence())
563      tgt.getDiagnosisSequence().add(PositiveInt43_50.convertPositiveInt(t));
564    for (org.hl7.fhir.r4b.model.PositiveIntType t : src.getProcedureSequence())
565      tgt.getProcedureSequence().add(PositiveInt43_50.convertPositiveInt(t));
566    for (org.hl7.fhir.r4b.model.PositiveIntType t : src.getInformationSequence())
567      tgt.getInformationSequence().add(PositiveInt43_50.convertPositiveInt(t));
568    if (src.hasRevenue())
569      tgt.setRevenue(CodeableConcept43_50.convertCodeableConcept(src.getRevenue()));
570    if (src.hasCategory())
571      tgt.setCategory(CodeableConcept43_50.convertCodeableConcept(src.getCategory()));
572    if (src.hasProductOrService())
573      tgt.setProductOrService(CodeableConcept43_50.convertCodeableConcept(src.getProductOrService()));
574    for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getModifier())
575      tgt.addModifier(CodeableConcept43_50.convertCodeableConcept(t));
576    for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getProgramCode())
577      tgt.addProgramCode(CodeableConcept43_50.convertCodeableConcept(t));
578    if (src.hasServiced())
579      tgt.setServiced(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getServiced()));
580    if (src.hasLocation())
581      tgt.setLocation(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getLocation()));
582    if (src.hasQuantity())
583      tgt.setQuantity(SimpleQuantity43_50.convertSimpleQuantity(src.getQuantity()));
584    if (src.hasUnitPrice())
585      tgt.setUnitPrice(Money43_50.convertMoney(src.getUnitPrice()));
586    if (src.hasFactor())
587      tgt.setFactorElement(Decimal43_50.convertDecimal(src.getFactorElement()));
588    if (src.hasNet())
589      tgt.setNet(Money43_50.convertMoney(src.getNet()));
590    for (org.hl7.fhir.r4b.model.Reference t : src.getUdi()) tgt.addUdi(Reference43_50.convertReference(t));
591    if (src.hasBodySite())
592      tgt.getBodySiteFirstRep().addSite(CodeableConcept43_50.convertCodeableConceptToCodeableReference(src.getBodySite()));
593    for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getSubSite())
594      tgt.getBodySiteFirstRep().addSubSite(CodeableConcept43_50.convertCodeableConcept(t));
595    for (org.hl7.fhir.r4b.model.Reference t : src.getEncounter()) tgt.addEncounter(Reference43_50.convertReference(t));
596    for (org.hl7.fhir.r4b.model.Claim.DetailComponent t : src.getDetail()) tgt.addDetail(convertDetailComponent(t));
597    return tgt;
598  }
599
600  public static org.hl7.fhir.r4b.model.Claim.ItemComponent convertItemComponent(org.hl7.fhir.r5.model.Claim.ItemComponent src) throws FHIRException {
601    if (src == null)
602      return null;
603    org.hl7.fhir.r4b.model.Claim.ItemComponent tgt = new org.hl7.fhir.r4b.model.Claim.ItemComponent();
604    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt);
605    if (src.hasSequence())
606      tgt.setSequenceElement(PositiveInt43_50.convertPositiveInt(src.getSequenceElement()));
607    for (org.hl7.fhir.r5.model.PositiveIntType t : src.getCareTeamSequence())
608      tgt.getCareTeamSequence().add(PositiveInt43_50.convertPositiveInt(t));
609    for (org.hl7.fhir.r5.model.PositiveIntType t : src.getDiagnosisSequence())
610      tgt.getDiagnosisSequence().add(PositiveInt43_50.convertPositiveInt(t));
611    for (org.hl7.fhir.r5.model.PositiveIntType t : src.getProcedureSequence())
612      tgt.getProcedureSequence().add(PositiveInt43_50.convertPositiveInt(t));
613    for (org.hl7.fhir.r5.model.PositiveIntType t : src.getInformationSequence())
614      tgt.getInformationSequence().add(PositiveInt43_50.convertPositiveInt(t));
615    if (src.hasRevenue())
616      tgt.setRevenue(CodeableConcept43_50.convertCodeableConcept(src.getRevenue()));
617    if (src.hasCategory())
618      tgt.setCategory(CodeableConcept43_50.convertCodeableConcept(src.getCategory()));
619    if (src.hasProductOrService())
620      tgt.setProductOrService(CodeableConcept43_50.convertCodeableConcept(src.getProductOrService()));
621    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getModifier())
622      tgt.addModifier(CodeableConcept43_50.convertCodeableConcept(t));
623    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getProgramCode())
624      tgt.addProgramCode(CodeableConcept43_50.convertCodeableConcept(t));
625    if (src.hasServiced())
626      tgt.setServiced(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getServiced()));
627    if (src.hasLocation())
628      tgt.setLocation(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getLocation()));
629    if (src.hasQuantity())
630      tgt.setQuantity(SimpleQuantity43_50.convertSimpleQuantity(src.getQuantity()));
631    if (src.hasUnitPrice())
632      tgt.setUnitPrice(Money43_50.convertMoney(src.getUnitPrice()));
633    if (src.hasFactor())
634      tgt.setFactorElement(Decimal43_50.convertDecimal(src.getFactorElement()));
635    if (src.hasNet())
636      tgt.setNet(Money43_50.convertMoney(src.getNet()));
637    for (org.hl7.fhir.r5.model.Reference t : src.getUdi()) tgt.addUdi(Reference43_50.convertReference(t));
638    if (src.hasBodySite())
639      tgt.setBodySite(CodeableConcept43_50.convertCodeableReferenceToCodeableConcept(src.getBodySiteFirstRep().getSiteFirstRep()));
640    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getBodySiteFirstRep().getSubSite())
641      tgt.addSubSite(CodeableConcept43_50.convertCodeableConcept(t));
642    for (org.hl7.fhir.r5.model.Reference t : src.getEncounter()) tgt.addEncounter(Reference43_50.convertReference(t));
643    for (org.hl7.fhir.r5.model.Claim.DetailComponent t : src.getDetail()) tgt.addDetail(convertDetailComponent(t));
644    return tgt;
645  }
646
647  public static org.hl7.fhir.r5.model.Claim.DetailComponent convertDetailComponent(org.hl7.fhir.r4b.model.Claim.DetailComponent src) throws FHIRException {
648    if (src == null)
649      return null;
650    org.hl7.fhir.r5.model.Claim.DetailComponent tgt = new org.hl7.fhir.r5.model.Claim.DetailComponent();
651    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt);
652    if (src.hasSequence())
653      tgt.setSequenceElement(PositiveInt43_50.convertPositiveInt(src.getSequenceElement()));
654    if (src.hasRevenue())
655      tgt.setRevenue(CodeableConcept43_50.convertCodeableConcept(src.getRevenue()));
656    if (src.hasCategory())
657      tgt.setCategory(CodeableConcept43_50.convertCodeableConcept(src.getCategory()));
658    if (src.hasProductOrService())
659      tgt.setProductOrService(CodeableConcept43_50.convertCodeableConcept(src.getProductOrService()));
660    for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getModifier())
661      tgt.addModifier(CodeableConcept43_50.convertCodeableConcept(t));
662    for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getProgramCode())
663      tgt.addProgramCode(CodeableConcept43_50.convertCodeableConcept(t));
664    if (src.hasQuantity())
665      tgt.setQuantity(SimpleQuantity43_50.convertSimpleQuantity(src.getQuantity()));
666    if (src.hasUnitPrice())
667      tgt.setUnitPrice(Money43_50.convertMoney(src.getUnitPrice()));
668    if (src.hasFactor())
669      tgt.setFactorElement(Decimal43_50.convertDecimal(src.getFactorElement()));
670    if (src.hasNet())
671      tgt.setNet(Money43_50.convertMoney(src.getNet()));
672    for (org.hl7.fhir.r4b.model.Reference t : src.getUdi()) tgt.addUdi(Reference43_50.convertReference(t));
673    for (org.hl7.fhir.r4b.model.Claim.SubDetailComponent t : src.getSubDetail())
674      tgt.addSubDetail(convertSubDetailComponent(t));
675    return tgt;
676  }
677
678  public static org.hl7.fhir.r4b.model.Claim.DetailComponent convertDetailComponent(org.hl7.fhir.r5.model.Claim.DetailComponent src) throws FHIRException {
679    if (src == null)
680      return null;
681    org.hl7.fhir.r4b.model.Claim.DetailComponent tgt = new org.hl7.fhir.r4b.model.Claim.DetailComponent();
682    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt);
683    if (src.hasSequence())
684      tgt.setSequenceElement(PositiveInt43_50.convertPositiveInt(src.getSequenceElement()));
685    if (src.hasRevenue())
686      tgt.setRevenue(CodeableConcept43_50.convertCodeableConcept(src.getRevenue()));
687    if (src.hasCategory())
688      tgt.setCategory(CodeableConcept43_50.convertCodeableConcept(src.getCategory()));
689    if (src.hasProductOrService())
690      tgt.setProductOrService(CodeableConcept43_50.convertCodeableConcept(src.getProductOrService()));
691    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getModifier())
692      tgt.addModifier(CodeableConcept43_50.convertCodeableConcept(t));
693    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getProgramCode())
694      tgt.addProgramCode(CodeableConcept43_50.convertCodeableConcept(t));
695    if (src.hasQuantity())
696      tgt.setQuantity(SimpleQuantity43_50.convertSimpleQuantity(src.getQuantity()));
697    if (src.hasUnitPrice())
698      tgt.setUnitPrice(Money43_50.convertMoney(src.getUnitPrice()));
699    if (src.hasFactor())
700      tgt.setFactorElement(Decimal43_50.convertDecimal(src.getFactorElement()));
701    if (src.hasNet())
702      tgt.setNet(Money43_50.convertMoney(src.getNet()));
703    for (org.hl7.fhir.r5.model.Reference t : src.getUdi()) tgt.addUdi(Reference43_50.convertReference(t));
704    for (org.hl7.fhir.r5.model.Claim.SubDetailComponent t : src.getSubDetail())
705      tgt.addSubDetail(convertSubDetailComponent(t));
706    return tgt;
707  }
708
709  public static org.hl7.fhir.r5.model.Claim.SubDetailComponent convertSubDetailComponent(org.hl7.fhir.r4b.model.Claim.SubDetailComponent src) throws FHIRException {
710    if (src == null)
711      return null;
712    org.hl7.fhir.r5.model.Claim.SubDetailComponent tgt = new org.hl7.fhir.r5.model.Claim.SubDetailComponent();
713    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt);
714    if (src.hasSequence())
715      tgt.setSequenceElement(PositiveInt43_50.convertPositiveInt(src.getSequenceElement()));
716    if (src.hasRevenue())
717      tgt.setRevenue(CodeableConcept43_50.convertCodeableConcept(src.getRevenue()));
718    if (src.hasCategory())
719      tgt.setCategory(CodeableConcept43_50.convertCodeableConcept(src.getCategory()));
720    if (src.hasProductOrService())
721      tgt.setProductOrService(CodeableConcept43_50.convertCodeableConcept(src.getProductOrService()));
722    for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getModifier())
723      tgt.addModifier(CodeableConcept43_50.convertCodeableConcept(t));
724    for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getProgramCode())
725      tgt.addProgramCode(CodeableConcept43_50.convertCodeableConcept(t));
726    if (src.hasQuantity())
727      tgt.setQuantity(SimpleQuantity43_50.convertSimpleQuantity(src.getQuantity()));
728    if (src.hasUnitPrice())
729      tgt.setUnitPrice(Money43_50.convertMoney(src.getUnitPrice()));
730    if (src.hasFactor())
731      tgt.setFactorElement(Decimal43_50.convertDecimal(src.getFactorElement()));
732    if (src.hasNet())
733      tgt.setNet(Money43_50.convertMoney(src.getNet()));
734    for (org.hl7.fhir.r4b.model.Reference t : src.getUdi()) tgt.addUdi(Reference43_50.convertReference(t));
735    return tgt;
736  }
737
738  public static org.hl7.fhir.r4b.model.Claim.SubDetailComponent convertSubDetailComponent(org.hl7.fhir.r5.model.Claim.SubDetailComponent src) throws FHIRException {
739    if (src == null)
740      return null;
741    org.hl7.fhir.r4b.model.Claim.SubDetailComponent tgt = new org.hl7.fhir.r4b.model.Claim.SubDetailComponent();
742    ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt);
743    if (src.hasSequence())
744      tgt.setSequenceElement(PositiveInt43_50.convertPositiveInt(src.getSequenceElement()));
745    if (src.hasRevenue())
746      tgt.setRevenue(CodeableConcept43_50.convertCodeableConcept(src.getRevenue()));
747    if (src.hasCategory())
748      tgt.setCategory(CodeableConcept43_50.convertCodeableConcept(src.getCategory()));
749    if (src.hasProductOrService())
750      tgt.setProductOrService(CodeableConcept43_50.convertCodeableConcept(src.getProductOrService()));
751    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getModifier())
752      tgt.addModifier(CodeableConcept43_50.convertCodeableConcept(t));
753    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getProgramCode())
754      tgt.addProgramCode(CodeableConcept43_50.convertCodeableConcept(t));
755    if (src.hasQuantity())
756      tgt.setQuantity(SimpleQuantity43_50.convertSimpleQuantity(src.getQuantity()));
757    if (src.hasUnitPrice())
758      tgt.setUnitPrice(Money43_50.convertMoney(src.getUnitPrice()));
759    if (src.hasFactor())
760      tgt.setFactorElement(Decimal43_50.convertDecimal(src.getFactorElement()));
761    if (src.hasNet())
762      tgt.setNet(Money43_50.convertMoney(src.getNet()));
763    for (org.hl7.fhir.r5.model.Reference t : src.getUdi()) tgt.addUdi(Reference43_50.convertReference(t));
764    return tgt;
765  }
766}