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.Attachment40_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.Money40_50;
008import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50;
009import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.SimpleQuantity40_50;
010import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50;
011import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Date40_50;
012import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50;
013import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Decimal40_50;
014import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.PositiveInt40_50;
015import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50;
016import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50;
017import org.hl7.fhir.exceptions.FHIRException;
018import org.hl7.fhir.r4.model.ClaimResponse;
019import org.hl7.fhir.r5.model.Enumeration;
020import org.hl7.fhir.r5.model.Enumerations;
021
022/*
023  Copyright (c) 2011+, HL7, Inc.
024  All rights reserved.
025  
026  Redistribution and use in source and binary forms, with or without modification, 
027  are permitted provided that the following conditions are met:
028  
029   * Redistributions of source code must retain the above copyright notice, this 
030     list of conditions and the following disclaimer.
031   * Redistributions in binary form must reproduce the above copyright notice, 
032     this list of conditions and the following disclaimer in the documentation 
033     and/or other materials provided with the distribution.
034   * Neither the name of HL7 nor the names of its contributors may be used to 
035     endorse or promote products derived from this software without specific 
036     prior written permission.
037  
038  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
039  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
040  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
041  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
042  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
043  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
044  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
045  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
046  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
047  POSSIBILITY OF SUCH DAMAGE.
048  
049*/
050// Generated on Sun, Feb 24, 2019 11:37+1100 for FHIR v4.0.0
051public class ClaimResponse40_50 {
052
053  public static org.hl7.fhir.r5.model.ClaimResponse convertClaimResponse(org.hl7.fhir.r4.model.ClaimResponse src) throws FHIRException {
054    if (src == null)
055      return null;
056    org.hl7.fhir.r5.model.ClaimResponse tgt = new org.hl7.fhir.r5.model.ClaimResponse();
057    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt);
058    for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier())
059      tgt.addIdentifier(Identifier40_50.convertIdentifier(t));
060    if (src.hasStatus())
061      tgt.setStatusElement(convertClaimResponseStatus(src.getStatusElement()));
062    if (src.hasType())
063      tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType()));
064    if (src.hasSubType())
065      tgt.setSubType(CodeableConcept40_50.convertCodeableConcept(src.getSubType()));
066    if (src.hasUse())
067      tgt.setUseElement(convertUse(src.getUseElement()));
068    if (src.hasPatient())
069      tgt.setPatient(Reference40_50.convertReference(src.getPatient()));
070    if (src.hasCreated())
071      tgt.setCreatedElement(DateTime40_50.convertDateTime(src.getCreatedElement()));
072    if (src.hasInsurer())
073      tgt.setInsurer(Reference40_50.convertReference(src.getInsurer()));
074    if (src.hasRequestor())
075      tgt.setRequestor(Reference40_50.convertReference(src.getRequestor()));
076    if (src.hasRequest())
077      tgt.setRequest(Reference40_50.convertReference(src.getRequest()));
078    if (src.hasOutcome())
079      tgt.setOutcomeElement(convertRemittanceOutcome(src.getOutcomeElement()));
080    if (src.hasDisposition())
081      tgt.setDispositionElement(String40_50.convertString(src.getDispositionElement()));
082    if (src.hasPreAuthRef())
083      tgt.setPreAuthRefElement(String40_50.convertString(src.getPreAuthRefElement()));
084    if (src.hasPreAuthPeriod())
085      tgt.setPreAuthPeriod(Period40_50.convertPeriod(src.getPreAuthPeriod()));
086    if (src.hasPayeeType())
087      tgt.setPayeeType(CodeableConcept40_50.convertCodeableConcept(src.getPayeeType()));
088    for (org.hl7.fhir.r4.model.ClaimResponse.ItemComponent t : src.getItem()) tgt.addItem(convertItemComponent(t));
089    for (org.hl7.fhir.r4.model.ClaimResponse.AddedItemComponent t : src.getAddItem())
090      tgt.addAddItem(convertAddedItemComponent(t));
091    for (org.hl7.fhir.r4.model.ClaimResponse.AdjudicationComponent t : src.getAdjudication())
092      tgt.addAdjudication(convertAdjudicationComponent(t));
093    for (org.hl7.fhir.r4.model.ClaimResponse.TotalComponent t : src.getTotal()) tgt.addTotal(convertTotalComponent(t));
094    if (src.hasPayment())
095      tgt.setPayment(convertPaymentComponent(src.getPayment()));
096    if (src.hasFundsReserve())
097      tgt.setFundsReserve(CodeableConcept40_50.convertCodeableConcept(src.getFundsReserve()));
098    if (src.hasFormCode())
099      tgt.setFormCode(CodeableConcept40_50.convertCodeableConcept(src.getFormCode()));
100    if (src.hasForm())
101      tgt.setForm(Attachment40_50.convertAttachment(src.getForm()));
102    for (org.hl7.fhir.r4.model.ClaimResponse.NoteComponent t : src.getProcessNote())
103      tgt.addProcessNote(convertNoteComponent(t));
104    for (org.hl7.fhir.r4.model.Reference t : src.getCommunicationRequest())
105      tgt.addCommunicationRequest(Reference40_50.convertReference(t));
106    for (org.hl7.fhir.r4.model.ClaimResponse.InsuranceComponent t : src.getInsurance())
107      tgt.addInsurance(convertInsuranceComponent(t));
108    for (org.hl7.fhir.r4.model.ClaimResponse.ErrorComponent t : src.getError()) tgt.addError(convertErrorComponent(t));
109    return tgt;
110  }
111
112  public static org.hl7.fhir.r4.model.ClaimResponse convertClaimResponse(org.hl7.fhir.r5.model.ClaimResponse src) throws FHIRException {
113    if (src == null)
114      return null;
115    org.hl7.fhir.r4.model.ClaimResponse tgt = new org.hl7.fhir.r4.model.ClaimResponse();
116    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt);
117    for (org.hl7.fhir.r5.model.Identifier t : src.getIdentifier())
118      tgt.addIdentifier(Identifier40_50.convertIdentifier(t));
119    if (src.hasStatus())
120      tgt.setStatusElement(convertClaimResponseStatus(src.getStatusElement()));
121    if (src.hasType())
122      tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType()));
123    if (src.hasSubType())
124      tgt.setSubType(CodeableConcept40_50.convertCodeableConcept(src.getSubType()));
125    if (src.hasUse())
126      tgt.setUseElement(convertUse(src.getUseElement()));
127    if (src.hasPatient())
128      tgt.setPatient(Reference40_50.convertReference(src.getPatient()));
129    if (src.hasCreated())
130      tgt.setCreatedElement(DateTime40_50.convertDateTime(src.getCreatedElement()));
131    if (src.hasInsurer())
132      tgt.setInsurer(Reference40_50.convertReference(src.getInsurer()));
133    if (src.hasRequestor())
134      tgt.setRequestor(Reference40_50.convertReference(src.getRequestor()));
135    if (src.hasRequest())
136      tgt.setRequest(Reference40_50.convertReference(src.getRequest()));
137    if (src.hasOutcome())
138      tgt.setOutcomeElement(convertRemittanceOutcome(src.getOutcomeElement()));
139    if (src.hasDisposition())
140      tgt.setDispositionElement(String40_50.convertString(src.getDispositionElement()));
141    if (src.hasPreAuthRef())
142      tgt.setPreAuthRefElement(String40_50.convertString(src.getPreAuthRefElement()));
143    if (src.hasPreAuthPeriod())
144      tgt.setPreAuthPeriod(Period40_50.convertPeriod(src.getPreAuthPeriod()));
145    if (src.hasPayeeType())
146      tgt.setPayeeType(CodeableConcept40_50.convertCodeableConcept(src.getPayeeType()));
147    for (org.hl7.fhir.r5.model.ClaimResponse.ItemComponent t : src.getItem()) tgt.addItem(convertItemComponent(t));
148    for (org.hl7.fhir.r5.model.ClaimResponse.AddedItemComponent t : src.getAddItem())
149      tgt.addAddItem(convertAddedItemComponent(t));
150    for (org.hl7.fhir.r5.model.ClaimResponse.AdjudicationComponent t : src.getAdjudication())
151      tgt.addAdjudication(convertAdjudicationComponent(t));
152    for (org.hl7.fhir.r5.model.ClaimResponse.TotalComponent t : src.getTotal()) tgt.addTotal(convertTotalComponent(t));
153    if (src.hasPayment())
154      tgt.setPayment(convertPaymentComponent(src.getPayment()));
155    if (src.hasFundsReserve())
156      tgt.setFundsReserve(CodeableConcept40_50.convertCodeableConcept(src.getFundsReserve()));
157    if (src.hasFormCode())
158      tgt.setFormCode(CodeableConcept40_50.convertCodeableConcept(src.getFormCode()));
159    if (src.hasForm())
160      tgt.setForm(Attachment40_50.convertAttachment(src.getForm()));
161    for (org.hl7.fhir.r5.model.ClaimResponse.NoteComponent t : src.getProcessNote())
162      tgt.addProcessNote(convertNoteComponent(t));
163    for (org.hl7.fhir.r5.model.Reference t : src.getCommunicationRequest())
164      tgt.addCommunicationRequest(Reference40_50.convertReference(t));
165    for (org.hl7.fhir.r5.model.ClaimResponse.InsuranceComponent t : src.getInsurance())
166      tgt.addInsurance(convertInsuranceComponent(t));
167    for (org.hl7.fhir.r5.model.ClaimResponse.ErrorComponent t : src.getError()) tgt.addError(convertErrorComponent(t));
168    return tgt;
169  }
170
171  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.FinancialResourceStatusCodes> convertClaimResponseStatus(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ClaimResponse.ClaimResponseStatus> src) throws FHIRException {
172      if (src == null || src.isEmpty())
173          return null;
174      Enumeration<Enumerations.FinancialResourceStatusCodes> tgt = new Enumeration<>(new Enumerations.FinancialResourceStatusCodesEnumFactory());
175      ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
176      if (src.getValue() == null) {
177          tgt.setValue(null);
178      } else {
179          switch (src.getValue()) {
180              case ACTIVE:
181                  tgt.setValue(Enumerations.FinancialResourceStatusCodes.ACTIVE);
182                  break;
183              case CANCELLED:
184                  tgt.setValue(Enumerations.FinancialResourceStatusCodes.CANCELLED);
185                  break;
186              case DRAFT:
187                  tgt.setValue(Enumerations.FinancialResourceStatusCodes.DRAFT);
188                  break;
189              case ENTEREDINERROR:
190                  tgt.setValue(Enumerations.FinancialResourceStatusCodes.ENTEREDINERROR);
191                  break;
192              default:
193                  tgt.setValue(Enumerations.FinancialResourceStatusCodes.NULL);
194                  break;
195          }
196      }
197      return tgt;
198  }
199
200  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ClaimResponse.ClaimResponseStatus> convertClaimResponseStatus(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.FinancialResourceStatusCodes> src) throws FHIRException {
201      if (src == null || src.isEmpty())
202          return null;
203      org.hl7.fhir.r4.model.Enumeration<ClaimResponse.ClaimResponseStatus> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new ClaimResponse.ClaimResponseStatusEnumFactory());
204      ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
205      if (src.getValue() == null) {
206          tgt.setValue(null);
207      } else {
208          switch (src.getValue()) {
209              case ACTIVE:
210                  tgt.setValue(ClaimResponse.ClaimResponseStatus.ACTIVE);
211                  break;
212              case CANCELLED:
213                  tgt.setValue(ClaimResponse.ClaimResponseStatus.CANCELLED);
214                  break;
215              case DRAFT:
216                  tgt.setValue(ClaimResponse.ClaimResponseStatus.DRAFT);
217                  break;
218              case ENTEREDINERROR:
219                  tgt.setValue(ClaimResponse.ClaimResponseStatus.ENTEREDINERROR);
220                  break;
221              default:
222                  tgt.setValue(ClaimResponse.ClaimResponseStatus.NULL);
223                  break;
224          }
225      }
226      return tgt;
227  }
228
229  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.ClaimResponse.Use> src) throws FHIRException {
230      if (src == null || src.isEmpty())
231          return null;
232      Enumeration<Enumerations.Use> tgt = new Enumeration<>(new Enumerations.UseEnumFactory());
233      ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
234      if (src.getValue() == null) {
235          tgt.setValue(null);
236      } else {
237          switch (src.getValue()) {
238              case CLAIM:
239                  tgt.setValue(Enumerations.Use.CLAIM);
240                  break;
241              case PREAUTHORIZATION:
242                  tgt.setValue(Enumerations.Use.PREAUTHORIZATION);
243                  break;
244              case PREDETERMINATION:
245                  tgt.setValue(Enumerations.Use.PREDETERMINATION);
246                  break;
247              default:
248                  tgt.setValue(Enumerations.Use.NULL);
249                  break;
250          }
251      }
252      return tgt;
253  }
254
255  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ClaimResponse.Use> convertUse(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.Use> src) throws FHIRException {
256      if (src == null || src.isEmpty())
257          return null;
258      org.hl7.fhir.r4.model.Enumeration<ClaimResponse.Use> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new ClaimResponse.UseEnumFactory());
259      ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
260      if (src.getValue() == null) {
261          tgt.setValue(null);
262      } else {
263          switch (src.getValue()) {
264              case CLAIM:
265                  tgt.setValue(ClaimResponse.Use.CLAIM);
266                  break;
267              case PREAUTHORIZATION:
268                  tgt.setValue(ClaimResponse.Use.PREAUTHORIZATION);
269                  break;
270              case PREDETERMINATION:
271                  tgt.setValue(ClaimResponse.Use.PREDETERMINATION);
272                  break;
273              default:
274                  tgt.setValue(ClaimResponse.Use.NULL);
275                  break;
276          }
277      }
278      return tgt;
279  }
280
281  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.ClaimProcessingCodes> convertRemittanceOutcome(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ClaimResponse.RemittanceOutcome> src) throws FHIRException {
282      if (src == null || src.isEmpty())
283          return null;
284      Enumeration<Enumerations.ClaimProcessingCodes> tgt = new Enumeration<>(new Enumerations.ClaimProcessingCodesEnumFactory());
285      ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
286      if (src.getValue() == null) {
287          tgt.setValue(null);
288      } else {
289          switch (src.getValue()) {
290              case QUEUED:
291                  tgt.setValue(Enumerations.ClaimProcessingCodes.QUEUED);
292                  break;
293              case COMPLETE:
294                  tgt.setValue(Enumerations.ClaimProcessingCodes.COMPLETE);
295                  break;
296              case ERROR:
297                  tgt.setValue(Enumerations.ClaimProcessingCodes.ERROR);
298                  break;
299              case PARTIAL:
300                  tgt.setValue(Enumerations.ClaimProcessingCodes.PARTIAL);
301                  break;
302              default:
303                  tgt.setValue(Enumerations.ClaimProcessingCodes.NULL);
304                  break;
305          }
306      }
307      return tgt;
308  }
309
310  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ClaimResponse.RemittanceOutcome> convertRemittanceOutcome(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.ClaimProcessingCodes> src) throws FHIRException {
311      if (src == null || src.isEmpty())
312          return null;
313      org.hl7.fhir.r4.model.Enumeration<ClaimResponse.RemittanceOutcome> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new ClaimResponse.RemittanceOutcomeEnumFactory());
314      ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
315      if (src.getValue() == null) {
316          tgt.setValue(null);
317      } else {
318          switch (src.getValue()) {
319              case QUEUED:
320                  tgt.setValue(ClaimResponse.RemittanceOutcome.QUEUED);
321                  break;
322              case COMPLETE:
323                  tgt.setValue(ClaimResponse.RemittanceOutcome.COMPLETE);
324                  break;
325              case ERROR:
326                  tgt.setValue(ClaimResponse.RemittanceOutcome.ERROR);
327                  break;
328              case PARTIAL:
329                  tgt.setValue(ClaimResponse.RemittanceOutcome.PARTIAL);
330                  break;
331              default:
332                  tgt.setValue(ClaimResponse.RemittanceOutcome.NULL);
333                  break;
334          }
335      }
336      return tgt;
337  }
338
339  public static org.hl7.fhir.r5.model.ClaimResponse.ItemComponent convertItemComponent(org.hl7.fhir.r4.model.ClaimResponse.ItemComponent src) throws FHIRException {
340    if (src == null)
341      return null;
342    org.hl7.fhir.r5.model.ClaimResponse.ItemComponent tgt = new org.hl7.fhir.r5.model.ClaimResponse.ItemComponent();
343    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
344    if (src.hasItemSequence())
345      tgt.setItemSequenceElement(PositiveInt40_50.convertPositiveInt(src.getItemSequenceElement()));
346    for (org.hl7.fhir.r4.model.PositiveIntType t : src.getNoteNumber())
347      tgt.getNoteNumber().add(PositiveInt40_50.convertPositiveInt(t));
348    for (org.hl7.fhir.r4.model.ClaimResponse.AdjudicationComponent t : src.getAdjudication())
349      tgt.addAdjudication(convertAdjudicationComponent(t));
350    for (org.hl7.fhir.r4.model.ClaimResponse.ItemDetailComponent t : src.getDetail())
351      tgt.addDetail(convertItemDetailComponent(t));
352    return tgt;
353  }
354
355  public static org.hl7.fhir.r4.model.ClaimResponse.ItemComponent convertItemComponent(org.hl7.fhir.r5.model.ClaimResponse.ItemComponent src) throws FHIRException {
356    if (src == null)
357      return null;
358    org.hl7.fhir.r4.model.ClaimResponse.ItemComponent tgt = new org.hl7.fhir.r4.model.ClaimResponse.ItemComponent();
359    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
360    if (src.hasItemSequence())
361      tgt.setItemSequenceElement(PositiveInt40_50.convertPositiveInt(src.getItemSequenceElement()));
362    for (org.hl7.fhir.r5.model.PositiveIntType t : src.getNoteNumber())
363      tgt.getNoteNumber().add(PositiveInt40_50.convertPositiveInt(t));
364    for (org.hl7.fhir.r5.model.ClaimResponse.AdjudicationComponent t : src.getAdjudication())
365      tgt.addAdjudication(convertAdjudicationComponent(t));
366    for (org.hl7.fhir.r5.model.ClaimResponse.ItemDetailComponent t : src.getDetail())
367      tgt.addDetail(convertItemDetailComponent(t));
368    return tgt;
369  }
370
371  public static org.hl7.fhir.r5.model.ClaimResponse.AdjudicationComponent convertAdjudicationComponent(org.hl7.fhir.r4.model.ClaimResponse.AdjudicationComponent src) throws FHIRException {
372    if (src == null)
373      return null;
374    org.hl7.fhir.r5.model.ClaimResponse.AdjudicationComponent tgt = new org.hl7.fhir.r5.model.ClaimResponse.AdjudicationComponent();
375    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
376    if (src.hasCategory())
377      tgt.setCategory(CodeableConcept40_50.convertCodeableConcept(src.getCategory()));
378    if (src.hasReason())
379      tgt.setReason(CodeableConcept40_50.convertCodeableConcept(src.getReason()));
380    if (src.hasAmount())
381      tgt.setAmount(Money40_50.convertMoney(src.getAmount()));
382    if (src.hasValue())
383      tgt.setQuantity(Decimal40_50.convertDecimalToQuantity(src.getValueElement()));
384    return tgt;
385  }
386
387  public static org.hl7.fhir.r4.model.ClaimResponse.AdjudicationComponent convertAdjudicationComponent(org.hl7.fhir.r5.model.ClaimResponse.AdjudicationComponent src) throws FHIRException {
388    if (src == null)
389      return null;
390    org.hl7.fhir.r4.model.ClaimResponse.AdjudicationComponent tgt = new org.hl7.fhir.r4.model.ClaimResponse.AdjudicationComponent();
391    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
392    if (src.hasCategory())
393      tgt.setCategory(CodeableConcept40_50.convertCodeableConcept(src.getCategory()));
394    if (src.hasReason())
395      tgt.setReason(CodeableConcept40_50.convertCodeableConcept(src.getReason()));
396    if (src.hasAmount())
397      tgt.setAmount(Money40_50.convertMoney(src.getAmount()));
398    if (src.hasQuantity())
399      tgt.setValueElement(Decimal40_50.convertDecimal(src.getQuantity().getValueElement()));
400    return tgt;
401  }
402
403  public static org.hl7.fhir.r5.model.ClaimResponse.ItemDetailComponent convertItemDetailComponent(org.hl7.fhir.r4.model.ClaimResponse.ItemDetailComponent src) throws FHIRException {
404    if (src == null)
405      return null;
406    org.hl7.fhir.r5.model.ClaimResponse.ItemDetailComponent tgt = new org.hl7.fhir.r5.model.ClaimResponse.ItemDetailComponent();
407    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
408    if (src.hasDetailSequence())
409      tgt.setDetailSequenceElement(PositiveInt40_50.convertPositiveInt(src.getDetailSequenceElement()));
410    for (org.hl7.fhir.r4.model.PositiveIntType t : src.getNoteNumber())
411      tgt.getNoteNumber().add(PositiveInt40_50.convertPositiveInt(t));
412    for (org.hl7.fhir.r4.model.ClaimResponse.AdjudicationComponent t : src.getAdjudication())
413      tgt.addAdjudication(convertAdjudicationComponent(t));
414    for (org.hl7.fhir.r4.model.ClaimResponse.SubDetailComponent t : src.getSubDetail())
415      tgt.addSubDetail(convertSubDetailComponent(t));
416    return tgt;
417  }
418
419  public static org.hl7.fhir.r4.model.ClaimResponse.ItemDetailComponent convertItemDetailComponent(org.hl7.fhir.r5.model.ClaimResponse.ItemDetailComponent src) throws FHIRException {
420    if (src == null)
421      return null;
422    org.hl7.fhir.r4.model.ClaimResponse.ItemDetailComponent tgt = new org.hl7.fhir.r4.model.ClaimResponse.ItemDetailComponent();
423    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
424    if (src.hasDetailSequence())
425      tgt.setDetailSequenceElement(PositiveInt40_50.convertPositiveInt(src.getDetailSequenceElement()));
426    for (org.hl7.fhir.r5.model.PositiveIntType t : src.getNoteNumber())
427      tgt.getNoteNumber().add(PositiveInt40_50.convertPositiveInt(t));
428    for (org.hl7.fhir.r5.model.ClaimResponse.AdjudicationComponent t : src.getAdjudication())
429      tgt.addAdjudication(convertAdjudicationComponent(t));
430    for (org.hl7.fhir.r5.model.ClaimResponse.SubDetailComponent t : src.getSubDetail())
431      tgt.addSubDetail(convertSubDetailComponent(t));
432    return tgt;
433  }
434
435  public static org.hl7.fhir.r5.model.ClaimResponse.SubDetailComponent convertSubDetailComponent(org.hl7.fhir.r4.model.ClaimResponse.SubDetailComponent src) throws FHIRException {
436    if (src == null)
437      return null;
438    org.hl7.fhir.r5.model.ClaimResponse.SubDetailComponent tgt = new org.hl7.fhir.r5.model.ClaimResponse.SubDetailComponent();
439    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
440    if (src.hasSubDetailSequence())
441      tgt.setSubDetailSequenceElement(PositiveInt40_50.convertPositiveInt(src.getSubDetailSequenceElement()));
442    for (org.hl7.fhir.r4.model.PositiveIntType t : src.getNoteNumber())
443      tgt.getNoteNumber().add(PositiveInt40_50.convertPositiveInt(t));
444    for (org.hl7.fhir.r4.model.ClaimResponse.AdjudicationComponent t : src.getAdjudication())
445      tgt.addAdjudication(convertAdjudicationComponent(t));
446    return tgt;
447  }
448
449  public static org.hl7.fhir.r4.model.ClaimResponse.SubDetailComponent convertSubDetailComponent(org.hl7.fhir.r5.model.ClaimResponse.SubDetailComponent src) throws FHIRException {
450    if (src == null)
451      return null;
452    org.hl7.fhir.r4.model.ClaimResponse.SubDetailComponent tgt = new org.hl7.fhir.r4.model.ClaimResponse.SubDetailComponent();
453    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
454    if (src.hasSubDetailSequence())
455      tgt.setSubDetailSequenceElement(PositiveInt40_50.convertPositiveInt(src.getSubDetailSequenceElement()));
456    for (org.hl7.fhir.r5.model.PositiveIntType t : src.getNoteNumber())
457      tgt.getNoteNumber().add(PositiveInt40_50.convertPositiveInt(t));
458    for (org.hl7.fhir.r5.model.ClaimResponse.AdjudicationComponent t : src.getAdjudication())
459      tgt.addAdjudication(convertAdjudicationComponent(t));
460    return tgt;
461  }
462
463  public static org.hl7.fhir.r5.model.ClaimResponse.AddedItemComponent convertAddedItemComponent(org.hl7.fhir.r4.model.ClaimResponse.AddedItemComponent src) throws FHIRException {
464    if (src == null)
465      return null;
466    org.hl7.fhir.r5.model.ClaimResponse.AddedItemComponent tgt = new org.hl7.fhir.r5.model.ClaimResponse.AddedItemComponent();
467    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
468    for (org.hl7.fhir.r4.model.PositiveIntType t : src.getItemSequence())
469      tgt.getItemSequence().add(PositiveInt40_50.convertPositiveInt(t));
470    for (org.hl7.fhir.r4.model.PositiveIntType t : src.getDetailSequence())
471      tgt.getDetailSequence().add(PositiveInt40_50.convertPositiveInt(t));
472    for (org.hl7.fhir.r4.model.PositiveIntType t : src.getSubdetailSequence())
473      tgt.getSubdetailSequence().add(PositiveInt40_50.convertPositiveInt(t));
474    for (org.hl7.fhir.r4.model.Reference t : src.getProvider()) tgt.addProvider(Reference40_50.convertReference(t));
475    if (src.hasProductOrService())
476      tgt.setProductOrService(CodeableConcept40_50.convertCodeableConcept(src.getProductOrService()));
477    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getModifier())
478      tgt.addModifier(CodeableConcept40_50.convertCodeableConcept(t));
479    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getProgramCode())
480      tgt.addProgramCode(CodeableConcept40_50.convertCodeableConcept(t));
481    if (src.hasServiced())
482      tgt.setServiced(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getServiced()));
483    if (src.hasLocation())
484      tgt.setLocation(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getLocation()));
485    if (src.hasQuantity())
486      tgt.setQuantity(SimpleQuantity40_50.convertSimpleQuantity(src.getQuantity()));
487    if (src.hasUnitPrice())
488      tgt.setUnitPrice(Money40_50.convertMoney(src.getUnitPrice()));
489    if (src.hasFactor())
490      tgt.setFactorElement(Decimal40_50.convertDecimal(src.getFactorElement()));
491    if (src.hasNet())
492      tgt.setNet(Money40_50.convertMoney(src.getNet()));
493    if (src.hasBodySite())
494      tgt.getBodySiteFirstRep().addSite(CodeableConcept40_50.convertCodeableConceptToCodeableReference(src.getBodySite()));
495    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getSubSite())
496      tgt.getBodySiteFirstRep().addSubSite(CodeableConcept40_50.convertCodeableConcept(t));
497    for (org.hl7.fhir.r4.model.PositiveIntType t : src.getNoteNumber())
498      tgt.getNoteNumber().add(PositiveInt40_50.convertPositiveInt(t));
499    for (org.hl7.fhir.r4.model.ClaimResponse.AdjudicationComponent t : src.getAdjudication())
500      tgt.addAdjudication(convertAdjudicationComponent(t));
501    for (org.hl7.fhir.r4.model.ClaimResponse.AddedItemDetailComponent t : src.getDetail())
502      tgt.addDetail(convertAddedItemDetailComponent(t));
503    return tgt;
504  }
505
506  public static org.hl7.fhir.r4.model.ClaimResponse.AddedItemComponent convertAddedItemComponent(org.hl7.fhir.r5.model.ClaimResponse.AddedItemComponent src) throws FHIRException {
507    if (src == null)
508      return null;
509    org.hl7.fhir.r4.model.ClaimResponse.AddedItemComponent tgt = new org.hl7.fhir.r4.model.ClaimResponse.AddedItemComponent();
510    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
511    for (org.hl7.fhir.r5.model.PositiveIntType t : src.getItemSequence())
512      tgt.getItemSequence().add(PositiveInt40_50.convertPositiveInt(t));
513    for (org.hl7.fhir.r5.model.PositiveIntType t : src.getDetailSequence())
514      tgt.getDetailSequence().add(PositiveInt40_50.convertPositiveInt(t));
515    for (org.hl7.fhir.r5.model.PositiveIntType t : src.getSubdetailSequence())
516      tgt.getSubdetailSequence().add(PositiveInt40_50.convertPositiveInt(t));
517    for (org.hl7.fhir.r5.model.Reference t : src.getProvider()) tgt.addProvider(Reference40_50.convertReference(t));
518    if (src.hasProductOrService())
519      tgt.setProductOrService(CodeableConcept40_50.convertCodeableConcept(src.getProductOrService()));
520    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getModifier())
521      tgt.addModifier(CodeableConcept40_50.convertCodeableConcept(t));
522    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getProgramCode())
523      tgt.addProgramCode(CodeableConcept40_50.convertCodeableConcept(t));
524    if (src.hasServiced())
525      tgt.setServiced(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getServiced()));
526    if (src.hasLocation())
527      tgt.setLocation(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getLocation()));
528    if (src.hasQuantity())
529      tgt.setQuantity(SimpleQuantity40_50.convertSimpleQuantity(src.getQuantity()));
530    if (src.hasUnitPrice())
531      tgt.setUnitPrice(Money40_50.convertMoney(src.getUnitPrice()));
532    if (src.hasFactor())
533      tgt.setFactorElement(Decimal40_50.convertDecimal(src.getFactorElement()));
534    if (src.hasNet())
535      tgt.setNet(Money40_50.convertMoney(src.getNet()));
536    if (src.getBodySiteFirstRep().hasSite())
537      tgt.setBodySite(CodeableConcept40_50.convertCodeableReferenceToCodeableConcept(src.getBodySiteFirstRep().getSiteFirstRep()));
538    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getBodySiteFirstRep().getSubSite())
539      tgt.addSubSite(CodeableConcept40_50.convertCodeableConcept(t));
540    for (org.hl7.fhir.r5.model.PositiveIntType t : src.getNoteNumber())
541      tgt.getNoteNumber().add(PositiveInt40_50.convertPositiveInt(t));
542    for (org.hl7.fhir.r5.model.ClaimResponse.AdjudicationComponent t : src.getAdjudication())
543      tgt.addAdjudication(convertAdjudicationComponent(t));
544    for (org.hl7.fhir.r5.model.ClaimResponse.AddedItemDetailComponent t : src.getDetail())
545      tgt.addDetail(convertAddedItemDetailComponent(t));
546    return tgt;
547  }
548
549  public static org.hl7.fhir.r5.model.ClaimResponse.AddedItemDetailComponent convertAddedItemDetailComponent(org.hl7.fhir.r4.model.ClaimResponse.AddedItemDetailComponent src) throws FHIRException {
550    if (src == null)
551      return null;
552    org.hl7.fhir.r5.model.ClaimResponse.AddedItemDetailComponent tgt = new org.hl7.fhir.r5.model.ClaimResponse.AddedItemDetailComponent();
553    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
554    if (src.hasProductOrService())
555      tgt.setProductOrService(CodeableConcept40_50.convertCodeableConcept(src.getProductOrService()));
556    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getModifier())
557      tgt.addModifier(CodeableConcept40_50.convertCodeableConcept(t));
558    if (src.hasQuantity())
559      tgt.setQuantity(SimpleQuantity40_50.convertSimpleQuantity(src.getQuantity()));
560    if (src.hasUnitPrice())
561      tgt.setUnitPrice(Money40_50.convertMoney(src.getUnitPrice()));
562    if (src.hasFactor())
563      tgt.setFactorElement(Decimal40_50.convertDecimal(src.getFactorElement()));
564    if (src.hasNet())
565      tgt.setNet(Money40_50.convertMoney(src.getNet()));
566    for (org.hl7.fhir.r4.model.PositiveIntType t : src.getNoteNumber())
567      tgt.getNoteNumber().add(PositiveInt40_50.convertPositiveInt(t));
568    for (org.hl7.fhir.r4.model.ClaimResponse.AdjudicationComponent t : src.getAdjudication())
569      tgt.addAdjudication(convertAdjudicationComponent(t));
570    for (org.hl7.fhir.r4.model.ClaimResponse.AddedItemSubDetailComponent t : src.getSubDetail())
571      tgt.addSubDetail(convertAddedItemSubDetailComponent(t));
572    return tgt;
573  }
574
575  public static org.hl7.fhir.r4.model.ClaimResponse.AddedItemDetailComponent convertAddedItemDetailComponent(org.hl7.fhir.r5.model.ClaimResponse.AddedItemDetailComponent src) throws FHIRException {
576    if (src == null)
577      return null;
578    org.hl7.fhir.r4.model.ClaimResponse.AddedItemDetailComponent tgt = new org.hl7.fhir.r4.model.ClaimResponse.AddedItemDetailComponent();
579    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
580    if (src.hasProductOrService())
581      tgt.setProductOrService(CodeableConcept40_50.convertCodeableConcept(src.getProductOrService()));
582    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getModifier())
583      tgt.addModifier(CodeableConcept40_50.convertCodeableConcept(t));
584    if (src.hasQuantity())
585      tgt.setQuantity(SimpleQuantity40_50.convertSimpleQuantity(src.getQuantity()));
586    if (src.hasUnitPrice())
587      tgt.setUnitPrice(Money40_50.convertMoney(src.getUnitPrice()));
588    if (src.hasFactor())
589      tgt.setFactorElement(Decimal40_50.convertDecimal(src.getFactorElement()));
590    if (src.hasNet())
591      tgt.setNet(Money40_50.convertMoney(src.getNet()));
592    for (org.hl7.fhir.r5.model.PositiveIntType t : src.getNoteNumber())
593      tgt.getNoteNumber().add(PositiveInt40_50.convertPositiveInt(t));
594    for (org.hl7.fhir.r5.model.ClaimResponse.AdjudicationComponent t : src.getAdjudication())
595      tgt.addAdjudication(convertAdjudicationComponent(t));
596    for (org.hl7.fhir.r5.model.ClaimResponse.AddedItemSubDetailComponent t : src.getSubDetail())
597      tgt.addSubDetail(convertAddedItemSubDetailComponent(t));
598    return tgt;
599  }
600
601  public static org.hl7.fhir.r5.model.ClaimResponse.AddedItemSubDetailComponent convertAddedItemSubDetailComponent(org.hl7.fhir.r4.model.ClaimResponse.AddedItemSubDetailComponent src) throws FHIRException {
602    if (src == null)
603      return null;
604    org.hl7.fhir.r5.model.ClaimResponse.AddedItemSubDetailComponent tgt = new org.hl7.fhir.r5.model.ClaimResponse.AddedItemSubDetailComponent();
605    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
606    if (src.hasProductOrService())
607      tgt.setProductOrService(CodeableConcept40_50.convertCodeableConcept(src.getProductOrService()));
608    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getModifier())
609      tgt.addModifier(CodeableConcept40_50.convertCodeableConcept(t));
610    if (src.hasQuantity())
611      tgt.setQuantity(SimpleQuantity40_50.convertSimpleQuantity(src.getQuantity()));
612    if (src.hasUnitPrice())
613      tgt.setUnitPrice(Money40_50.convertMoney(src.getUnitPrice()));
614    if (src.hasFactor())
615      tgt.setFactorElement(Decimal40_50.convertDecimal(src.getFactorElement()));
616    if (src.hasNet())
617      tgt.setNet(Money40_50.convertMoney(src.getNet()));
618    for (org.hl7.fhir.r4.model.PositiveIntType t : src.getNoteNumber())
619      tgt.getNoteNumber().add(PositiveInt40_50.convertPositiveInt(t));
620    for (org.hl7.fhir.r4.model.ClaimResponse.AdjudicationComponent t : src.getAdjudication())
621      tgt.addAdjudication(convertAdjudicationComponent(t));
622    return tgt;
623  }
624
625  public static org.hl7.fhir.r4.model.ClaimResponse.AddedItemSubDetailComponent convertAddedItemSubDetailComponent(org.hl7.fhir.r5.model.ClaimResponse.AddedItemSubDetailComponent src) throws FHIRException {
626    if (src == null)
627      return null;
628    org.hl7.fhir.r4.model.ClaimResponse.AddedItemSubDetailComponent tgt = new org.hl7.fhir.r4.model.ClaimResponse.AddedItemSubDetailComponent();
629    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
630    if (src.hasProductOrService())
631      tgt.setProductOrService(CodeableConcept40_50.convertCodeableConcept(src.getProductOrService()));
632    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getModifier())
633      tgt.addModifier(CodeableConcept40_50.convertCodeableConcept(t));
634    if (src.hasQuantity())
635      tgt.setQuantity(SimpleQuantity40_50.convertSimpleQuantity(src.getQuantity()));
636    if (src.hasUnitPrice())
637      tgt.setUnitPrice(Money40_50.convertMoney(src.getUnitPrice()));
638    if (src.hasFactor())
639      tgt.setFactorElement(Decimal40_50.convertDecimal(src.getFactorElement()));
640    if (src.hasNet())
641      tgt.setNet(Money40_50.convertMoney(src.getNet()));
642    for (org.hl7.fhir.r5.model.PositiveIntType t : src.getNoteNumber())
643      tgt.getNoteNumber().add(PositiveInt40_50.convertPositiveInt(t));
644    for (org.hl7.fhir.r5.model.ClaimResponse.AdjudicationComponent t : src.getAdjudication())
645      tgt.addAdjudication(convertAdjudicationComponent(t));
646    return tgt;
647  }
648
649  public static org.hl7.fhir.r5.model.ClaimResponse.TotalComponent convertTotalComponent(org.hl7.fhir.r4.model.ClaimResponse.TotalComponent src) throws FHIRException {
650    if (src == null)
651      return null;
652    org.hl7.fhir.r5.model.ClaimResponse.TotalComponent tgt = new org.hl7.fhir.r5.model.ClaimResponse.TotalComponent();
653    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
654    if (src.hasCategory())
655      tgt.setCategory(CodeableConcept40_50.convertCodeableConcept(src.getCategory()));
656    if (src.hasAmount())
657      tgt.setAmount(Money40_50.convertMoney(src.getAmount()));
658    return tgt;
659  }
660
661  public static org.hl7.fhir.r4.model.ClaimResponse.TotalComponent convertTotalComponent(org.hl7.fhir.r5.model.ClaimResponse.TotalComponent src) throws FHIRException {
662    if (src == null)
663      return null;
664    org.hl7.fhir.r4.model.ClaimResponse.TotalComponent tgt = new org.hl7.fhir.r4.model.ClaimResponse.TotalComponent();
665    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
666    if (src.hasCategory())
667      tgt.setCategory(CodeableConcept40_50.convertCodeableConcept(src.getCategory()));
668    if (src.hasAmount())
669      tgt.setAmount(Money40_50.convertMoney(src.getAmount()));
670    return tgt;
671  }
672
673  public static org.hl7.fhir.r5.model.ClaimResponse.PaymentComponent convertPaymentComponent(org.hl7.fhir.r4.model.ClaimResponse.PaymentComponent src) throws FHIRException {
674    if (src == null)
675      return null;
676    org.hl7.fhir.r5.model.ClaimResponse.PaymentComponent tgt = new org.hl7.fhir.r5.model.ClaimResponse.PaymentComponent();
677    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
678    if (src.hasType())
679      tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType()));
680    if (src.hasAdjustment())
681      tgt.setAdjustment(Money40_50.convertMoney(src.getAdjustment()));
682    if (src.hasAdjustmentReason())
683      tgt.setAdjustmentReason(CodeableConcept40_50.convertCodeableConcept(src.getAdjustmentReason()));
684    if (src.hasDate())
685      tgt.setDateElement(Date40_50.convertDate(src.getDateElement()));
686    if (src.hasAmount())
687      tgt.setAmount(Money40_50.convertMoney(src.getAmount()));
688    if (src.hasIdentifier())
689      tgt.setIdentifier(Identifier40_50.convertIdentifier(src.getIdentifier()));
690    return tgt;
691  }
692
693  public static org.hl7.fhir.r4.model.ClaimResponse.PaymentComponent convertPaymentComponent(org.hl7.fhir.r5.model.ClaimResponse.PaymentComponent src) throws FHIRException {
694    if (src == null)
695      return null;
696    org.hl7.fhir.r4.model.ClaimResponse.PaymentComponent tgt = new org.hl7.fhir.r4.model.ClaimResponse.PaymentComponent();
697    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
698    if (src.hasType())
699      tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType()));
700    if (src.hasAdjustment())
701      tgt.setAdjustment(Money40_50.convertMoney(src.getAdjustment()));
702    if (src.hasAdjustmentReason())
703      tgt.setAdjustmentReason(CodeableConcept40_50.convertCodeableConcept(src.getAdjustmentReason()));
704    if (src.hasDate())
705      tgt.setDateElement(Date40_50.convertDate(src.getDateElement()));
706    if (src.hasAmount())
707      tgt.setAmount(Money40_50.convertMoney(src.getAmount()));
708    if (src.hasIdentifier())
709      tgt.setIdentifier(Identifier40_50.convertIdentifier(src.getIdentifier()));
710    return tgt;
711  }
712
713  public static org.hl7.fhir.r5.model.ClaimResponse.NoteComponent convertNoteComponent(org.hl7.fhir.r4.model.ClaimResponse.NoteComponent src) throws FHIRException {
714    if (src == null)
715      return null;
716    org.hl7.fhir.r5.model.ClaimResponse.NoteComponent tgt = new org.hl7.fhir.r5.model.ClaimResponse.NoteComponent();
717    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
718    if (src.hasNumber())
719      tgt.setNumberElement(PositiveInt40_50.convertPositiveInt(src.getNumberElement()));
720    if (src.hasType())
721      tgt.getType().addCoding().setSystem("http://hl7.org/fhir/note-type").setCode(src.getType().toCode());
722    if (src.hasText())
723      tgt.setTextElement(String40_50.convertString(src.getTextElement()));
724    if (src.hasLanguage())
725      tgt.setLanguage(CodeableConcept40_50.convertCodeableConcept(src.getLanguage()));
726    return tgt;
727  }
728
729  public static org.hl7.fhir.r4.model.ClaimResponse.NoteComponent convertNoteComponent(org.hl7.fhir.r5.model.ClaimResponse.NoteComponent src) throws FHIRException {
730    if (src == null)
731      return null;
732    org.hl7.fhir.r4.model.ClaimResponse.NoteComponent tgt = new org.hl7.fhir.r4.model.ClaimResponse.NoteComponent();
733    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
734    if (src.hasNumber())
735      tgt.setNumberElement(PositiveInt40_50.convertPositiveInt(src.getNumberElement()));
736    if (src.hasType() && src.getType().hasCoding("http://hl7.org/fhir/note-type"))
737      tgt.setType(org.hl7.fhir.r4.model.Enumerations.NoteType.fromCode(src.getType().getCode("http://hl7.org/fhir/note-type")));
738    if (src.hasText())
739      tgt.setTextElement(String40_50.convertString(src.getTextElement()));
740    if (src.hasLanguage())
741      tgt.setLanguage(CodeableConcept40_50.convertCodeableConcept(src.getLanguage()));
742    return tgt;
743  }
744
745  public static org.hl7.fhir.r5.model.ClaimResponse.InsuranceComponent convertInsuranceComponent(org.hl7.fhir.r4.model.ClaimResponse.InsuranceComponent src) throws FHIRException {
746    if (src == null)
747      return null;
748    org.hl7.fhir.r5.model.ClaimResponse.InsuranceComponent tgt = new org.hl7.fhir.r5.model.ClaimResponse.InsuranceComponent();
749    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
750    if (src.hasSequence())
751      tgt.setSequenceElement(PositiveInt40_50.convertPositiveInt(src.getSequenceElement()));
752    if (src.hasFocal())
753      tgt.setFocalElement(Boolean40_50.convertBoolean(src.getFocalElement()));
754    if (src.hasCoverage())
755      tgt.setCoverage(Reference40_50.convertReference(src.getCoverage()));
756    if (src.hasBusinessArrangement())
757      tgt.setBusinessArrangementElement(String40_50.convertString(src.getBusinessArrangementElement()));
758    if (src.hasClaimResponse())
759      tgt.setClaimResponse(Reference40_50.convertReference(src.getClaimResponse()));
760    return tgt;
761  }
762
763  public static org.hl7.fhir.r4.model.ClaimResponse.InsuranceComponent convertInsuranceComponent(org.hl7.fhir.r5.model.ClaimResponse.InsuranceComponent src) throws FHIRException {
764    if (src == null)
765      return null;
766    org.hl7.fhir.r4.model.ClaimResponse.InsuranceComponent tgt = new org.hl7.fhir.r4.model.ClaimResponse.InsuranceComponent();
767    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
768    if (src.hasSequence())
769      tgt.setSequenceElement(PositiveInt40_50.convertPositiveInt(src.getSequenceElement()));
770    if (src.hasFocal())
771      tgt.setFocalElement(Boolean40_50.convertBoolean(src.getFocalElement()));
772    if (src.hasCoverage())
773      tgt.setCoverage(Reference40_50.convertReference(src.getCoverage()));
774    if (src.hasBusinessArrangement())
775      tgt.setBusinessArrangementElement(String40_50.convertString(src.getBusinessArrangementElement()));
776    if (src.hasClaimResponse())
777      tgt.setClaimResponse(Reference40_50.convertReference(src.getClaimResponse()));
778    return tgt;
779  }
780
781  public static org.hl7.fhir.r5.model.ClaimResponse.ErrorComponent convertErrorComponent(org.hl7.fhir.r4.model.ClaimResponse.ErrorComponent src) throws FHIRException {
782    if (src == null)
783      return null;
784    org.hl7.fhir.r5.model.ClaimResponse.ErrorComponent tgt = new org.hl7.fhir.r5.model.ClaimResponse.ErrorComponent();
785    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
786    if (src.hasItemSequence())
787      tgt.setItemSequenceElement(PositiveInt40_50.convertPositiveInt(src.getItemSequenceElement()));
788    if (src.hasDetailSequence())
789      tgt.setDetailSequenceElement(PositiveInt40_50.convertPositiveInt(src.getDetailSequenceElement()));
790    if (src.hasSubDetailSequence())
791      tgt.setSubDetailSequenceElement(PositiveInt40_50.convertPositiveInt(src.getSubDetailSequenceElement()));
792    if (src.hasCode())
793      tgt.setCode(CodeableConcept40_50.convertCodeableConcept(src.getCode()));
794    return tgt;
795  }
796
797  public static org.hl7.fhir.r4.model.ClaimResponse.ErrorComponent convertErrorComponent(org.hl7.fhir.r5.model.ClaimResponse.ErrorComponent src) throws FHIRException {
798    if (src == null)
799      return null;
800    org.hl7.fhir.r4.model.ClaimResponse.ErrorComponent tgt = new org.hl7.fhir.r4.model.ClaimResponse.ErrorComponent();
801    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
802    if (src.hasItemSequence())
803      tgt.setItemSequenceElement(PositiveInt40_50.convertPositiveInt(src.getItemSequenceElement()));
804    if (src.hasDetailSequence())
805      tgt.setDetailSequenceElement(PositiveInt40_50.convertPositiveInt(src.getDetailSequenceElement()));
806    if (src.hasSubDetailSequence())
807      tgt.setSubDetailSequenceElement(PositiveInt40_50.convertPositiveInt(src.getSubDetailSequenceElement()));
808    if (src.hasCode())
809      tgt.setCode(CodeableConcept40_50.convertCodeableConcept(src.getCode()));
810    return tgt;
811  }
812}