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