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