001package org.hl7.fhir.convertors.conv40_50.resources40_50;
002
003import org.hl7.fhir.convertors.context.ConversionContext40_50;
004import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Annotation40_50;
005import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50;
006import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Coding40_50;
007import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50;
008import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Money40_50;
009import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50;
010import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Signature40_50;
011import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.SimpleQuantity40_50;
012import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50;
013import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50;
014import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Decimal40_50;
015import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50;
016import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50;
017import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.UnsignedInt40_50;
018import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50;
019import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50;
020import org.hl7.fhir.exceptions.FHIRException;
021import org.hl7.fhir.r5.model.CodeableReference;
022
023/*
024  Copyright (c) 2011+, HL7, Inc.
025  All rights reserved.
026  
027  Redistribution and use in source and binary forms, with or without modification, 
028  are permitted provided that the following conditions are met:
029  
030   * Redistributions of source code must retain the above copyright notice, this 
031     list of conditions and the following disclaimer.
032   * Redistributions in binary form must reproduce the above copyright notice, 
033     this list of conditions and the following disclaimer in the documentation 
034     and/or other materials provided with the distribution.
035   * Neither the name of HL7 nor the names of its contributors may be used to 
036     endorse or promote products derived from this software without specific 
037     prior written permission.
038  
039  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
040  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
041  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
042  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
043  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
044  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
045  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
046  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
047  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
048  POSSIBILITY OF SUCH DAMAGE.
049  
050*/
051// Generated on Sun, Feb 24, 2019 11:37+1100 for FHIR v4.0.0
052public class Contract40_50 {
053
054  public static org.hl7.fhir.r5.model.Contract convertContract(org.hl7.fhir.r4.model.Contract src) throws FHIRException {
055    if (src == null)
056      return null;
057    org.hl7.fhir.r5.model.Contract tgt = new org.hl7.fhir.r5.model.Contract();
058    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt);
059    for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier())
060      tgt.addIdentifier(Identifier40_50.convertIdentifier(t));
061    if (src.hasUrl())
062      tgt.setUrlElement(Uri40_50.convertUri(src.getUrlElement()));
063    if (src.hasVersion())
064      tgt.setVersionElement(String40_50.convertString(src.getVersionElement()));
065    if (src.hasStatus())
066      tgt.setStatusElement(convertContractStatus(src.getStatusElement()));
067    if (src.hasLegalState())
068      tgt.setLegalState(CodeableConcept40_50.convertCodeableConcept(src.getLegalState()));
069    if (src.hasInstantiatesCanonical())
070      tgt.setInstantiatesCanonical(Reference40_50.convertReference(src.getInstantiatesCanonical()));
071    if (src.hasInstantiatesUri())
072      tgt.setInstantiatesUriElement(Uri40_50.convertUri(src.getInstantiatesUriElement()));
073    if (src.hasContentDerivative())
074      tgt.setContentDerivative(CodeableConcept40_50.convertCodeableConcept(src.getContentDerivative()));
075    if (src.hasIssued())
076      tgt.setIssuedElement(DateTime40_50.convertDateTime(src.getIssuedElement()));
077    if (src.hasApplies())
078      tgt.setApplies(Period40_50.convertPeriod(src.getApplies()));
079    if (src.hasExpirationType())
080      tgt.setExpirationType(CodeableConcept40_50.convertCodeableConcept(src.getExpirationType()));
081    for (org.hl7.fhir.r4.model.Reference t : src.getSubject()) tgt.addSubject(Reference40_50.convertReference(t));
082    for (org.hl7.fhir.r4.model.Reference t : src.getAuthority()) tgt.addAuthority(Reference40_50.convertReference(t));
083    for (org.hl7.fhir.r4.model.Reference t : src.getDomain()) tgt.addDomain(Reference40_50.convertReference(t));
084    for (org.hl7.fhir.r4.model.Reference t : src.getSite()) tgt.addSite(Reference40_50.convertReference(t));
085    if (src.hasName())
086      tgt.setNameElement(String40_50.convertString(src.getNameElement()));
087    if (src.hasTitle())
088      tgt.setTitleElement(String40_50.convertString(src.getTitleElement()));
089    if (src.hasSubtitle())
090      tgt.setSubtitleElement(String40_50.convertString(src.getSubtitleElement()));
091    for (org.hl7.fhir.r4.model.StringType t : src.getAlias()) tgt.getAlias().add(String40_50.convertString(t));
092    if (src.hasAuthor())
093      tgt.setAuthor(Reference40_50.convertReference(src.getAuthor()));
094    if (src.hasScope())
095      tgt.setScope(CodeableConcept40_50.convertCodeableConcept(src.getScope()));
096    if (src.hasTopic())
097      tgt.setTopic(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getTopic()));
098    if (src.hasType())
099      tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType()));
100    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getSubType())
101      tgt.addSubType(CodeableConcept40_50.convertCodeableConcept(t));
102    if (src.hasContentDefinition())
103      tgt.setContentDefinition(convertContentDefinitionComponent(src.getContentDefinition()));
104    for (org.hl7.fhir.r4.model.Contract.TermComponent t : src.getTerm()) tgt.addTerm(convertTermComponent(t));
105    for (org.hl7.fhir.r4.model.Reference t : src.getSupportingInfo())
106      tgt.addSupportingInfo(Reference40_50.convertReference(t));
107    for (org.hl7.fhir.r4.model.Reference t : src.getRelevantHistory())
108      tgt.addRelevantHistory(Reference40_50.convertReference(t));
109    for (org.hl7.fhir.r4.model.Contract.SignatoryComponent t : src.getSigner())
110      tgt.addSigner(convertSignatoryComponent(t));
111    for (org.hl7.fhir.r4.model.Contract.FriendlyLanguageComponent t : src.getFriendly())
112      tgt.addFriendly(convertFriendlyLanguageComponent(t));
113    for (org.hl7.fhir.r4.model.Contract.LegalLanguageComponent t : src.getLegal())
114      tgt.addLegal(convertLegalLanguageComponent(t));
115    for (org.hl7.fhir.r4.model.Contract.ComputableLanguageComponent t : src.getRule())
116      tgt.addRule(convertComputableLanguageComponent(t));
117    if (src.hasLegallyBinding())
118      tgt.setLegallyBinding(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getLegallyBinding()));
119    return tgt;
120  }
121
122  public static org.hl7.fhir.r4.model.Contract convertContract(org.hl7.fhir.r5.model.Contract src) throws FHIRException {
123    if (src == null)
124      return null;
125    org.hl7.fhir.r4.model.Contract tgt = new org.hl7.fhir.r4.model.Contract();
126    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt);
127    for (org.hl7.fhir.r5.model.Identifier t : src.getIdentifier())
128      tgt.addIdentifier(Identifier40_50.convertIdentifier(t));
129    if (src.hasUrl())
130      tgt.setUrlElement(Uri40_50.convertUri(src.getUrlElement()));
131    if (src.hasVersion())
132      tgt.setVersionElement(String40_50.convertString(src.getVersionElement()));
133    if (src.hasStatus())
134      tgt.setStatusElement(convertContractStatus(src.getStatusElement()));
135    if (src.hasLegalState())
136      tgt.setLegalState(CodeableConcept40_50.convertCodeableConcept(src.getLegalState()));
137    if (src.hasInstantiatesCanonical())
138      tgt.setInstantiatesCanonical(Reference40_50.convertReference(src.getInstantiatesCanonical()));
139    if (src.hasInstantiatesUri())
140      tgt.setInstantiatesUriElement(Uri40_50.convertUri(src.getInstantiatesUriElement()));
141    if (src.hasContentDerivative())
142      tgt.setContentDerivative(CodeableConcept40_50.convertCodeableConcept(src.getContentDerivative()));
143    if (src.hasIssued())
144      tgt.setIssuedElement(DateTime40_50.convertDateTime(src.getIssuedElement()));
145    if (src.hasApplies())
146      tgt.setApplies(Period40_50.convertPeriod(src.getApplies()));
147    if (src.hasExpirationType())
148      tgt.setExpirationType(CodeableConcept40_50.convertCodeableConcept(src.getExpirationType()));
149    for (org.hl7.fhir.r5.model.Reference t : src.getSubject()) tgt.addSubject(Reference40_50.convertReference(t));
150    for (org.hl7.fhir.r5.model.Reference t : src.getAuthority()) tgt.addAuthority(Reference40_50.convertReference(t));
151    for (org.hl7.fhir.r5.model.Reference t : src.getDomain()) tgt.addDomain(Reference40_50.convertReference(t));
152    for (org.hl7.fhir.r5.model.Reference t : src.getSite()) tgt.addSite(Reference40_50.convertReference(t));
153    if (src.hasName())
154      tgt.setNameElement(String40_50.convertString(src.getNameElement()));
155    if (src.hasTitle())
156      tgt.setTitleElement(String40_50.convertString(src.getTitleElement()));
157    if (src.hasSubtitle())
158      tgt.setSubtitleElement(String40_50.convertString(src.getSubtitleElement()));
159    for (org.hl7.fhir.r5.model.StringType t : src.getAlias()) tgt.getAlias().add(String40_50.convertString(t));
160    if (src.hasAuthor())
161      tgt.setAuthor(Reference40_50.convertReference(src.getAuthor()));
162    if (src.hasScope())
163      tgt.setScope(CodeableConcept40_50.convertCodeableConcept(src.getScope()));
164    if (src.hasTopic())
165      tgt.setTopic(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getTopic()));
166    if (src.hasType())
167      tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType()));
168    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getSubType())
169      tgt.addSubType(CodeableConcept40_50.convertCodeableConcept(t));
170    if (src.hasContentDefinition())
171      tgt.setContentDefinition(convertContentDefinitionComponent(src.getContentDefinition()));
172    for (org.hl7.fhir.r5.model.Contract.TermComponent t : src.getTerm()) tgt.addTerm(convertTermComponent(t));
173    for (org.hl7.fhir.r5.model.Reference t : src.getSupportingInfo())
174      tgt.addSupportingInfo(Reference40_50.convertReference(t));
175    for (org.hl7.fhir.r5.model.Reference t : src.getRelevantHistory())
176      tgt.addRelevantHistory(Reference40_50.convertReference(t));
177    for (org.hl7.fhir.r5.model.Contract.SignatoryComponent t : src.getSigner())
178      tgt.addSigner(convertSignatoryComponent(t));
179    for (org.hl7.fhir.r5.model.Contract.FriendlyLanguageComponent t : src.getFriendly())
180      tgt.addFriendly(convertFriendlyLanguageComponent(t));
181    for (org.hl7.fhir.r5.model.Contract.LegalLanguageComponent t : src.getLegal())
182      tgt.addLegal(convertLegalLanguageComponent(t));
183    for (org.hl7.fhir.r5.model.Contract.ComputableLanguageComponent t : src.getRule())
184      tgt.addRule(convertComputableLanguageComponent(t));
185    if (src.hasLegallyBinding())
186      tgt.setLegallyBinding(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getLegallyBinding()));
187    return tgt;
188  }
189
190  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Contract.ContractResourceStatusCodes> convertContractStatus(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Contract.ContractStatus> src) throws FHIRException {
191    if (src == null || src.isEmpty())
192      return null;
193    org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Contract.ContractResourceStatusCodes> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Contract.ContractResourceStatusCodesEnumFactory());
194    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
195    switch (src.getValue()) {
196      case AMENDED:
197        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourceStatusCodes.AMENDED);
198        break;
199      case APPENDED:
200        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourceStatusCodes.APPENDED);
201        break;
202      case CANCELLED:
203        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourceStatusCodes.CANCELLED);
204        break;
205      case DISPUTED:
206        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourceStatusCodes.DISPUTED);
207        break;
208      case ENTEREDINERROR:
209        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourceStatusCodes.ENTEREDINERROR);
210        break;
211      case EXECUTABLE:
212        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourceStatusCodes.EXECUTABLE);
213        break;
214      case EXECUTED:
215        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourceStatusCodes.EXECUTED);
216        break;
217      case NEGOTIABLE:
218        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourceStatusCodes.NEGOTIABLE);
219        break;
220      case OFFERED:
221        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourceStatusCodes.OFFERED);
222        break;
223      case POLICY:
224        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourceStatusCodes.POLICY);
225        break;
226      case REJECTED:
227        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourceStatusCodes.REJECTED);
228        break;
229      case RENEWED:
230        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourceStatusCodes.RENEWED);
231        break;
232      case REVOKED:
233        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourceStatusCodes.REVOKED);
234        break;
235      case RESOLVED:
236        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourceStatusCodes.RESOLVED);
237        break;
238      case TERMINATED:
239        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourceStatusCodes.TERMINATED);
240        break;
241      default:
242        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourceStatusCodes.NULL);
243        break;
244    }
245    return tgt;
246  }
247
248  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Contract.ContractStatus> convertContractStatus(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Contract.ContractResourceStatusCodes> src) throws FHIRException {
249    if (src == null || src.isEmpty())
250      return null;
251    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Contract.ContractStatus> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.Contract.ContractStatusEnumFactory());
252    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
253    switch (src.getValue()) {
254      case AMENDED:
255        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractStatus.AMENDED);
256        break;
257      case APPENDED:
258        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractStatus.APPENDED);
259        break;
260      case CANCELLED:
261        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractStatus.CANCELLED);
262        break;
263      case DISPUTED:
264        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractStatus.DISPUTED);
265        break;
266      case ENTEREDINERROR:
267        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractStatus.ENTEREDINERROR);
268        break;
269      case EXECUTABLE:
270        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractStatus.EXECUTABLE);
271        break;
272      case EXECUTED:
273        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractStatus.EXECUTED);
274        break;
275      case NEGOTIABLE:
276        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractStatus.NEGOTIABLE);
277        break;
278      case OFFERED:
279        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractStatus.OFFERED);
280        break;
281      case POLICY:
282        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractStatus.POLICY);
283        break;
284      case REJECTED:
285        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractStatus.REJECTED);
286        break;
287      case RENEWED:
288        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractStatus.RENEWED);
289        break;
290      case REVOKED:
291        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractStatus.REVOKED);
292        break;
293      case RESOLVED:
294        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractStatus.RESOLVED);
295        break;
296      case TERMINATED:
297        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractStatus.TERMINATED);
298        break;
299      default:
300        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractStatus.NULL);
301        break;
302    }
303    return tgt;
304  }
305
306  public static org.hl7.fhir.r5.model.Contract.ContentDefinitionComponent convertContentDefinitionComponent(org.hl7.fhir.r4.model.Contract.ContentDefinitionComponent src) throws FHIRException {
307    if (src == null)
308      return null;
309    org.hl7.fhir.r5.model.Contract.ContentDefinitionComponent tgt = new org.hl7.fhir.r5.model.Contract.ContentDefinitionComponent();
310    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
311    if (src.hasType())
312      tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType()));
313    if (src.hasSubType())
314      tgt.setSubType(CodeableConcept40_50.convertCodeableConcept(src.getSubType()));
315    if (src.hasPublisher())
316      tgt.setPublisher(Reference40_50.convertReference(src.getPublisher()));
317    if (src.hasPublicationDate())
318      tgt.setPublicationDateElement(DateTime40_50.convertDateTime(src.getPublicationDateElement()));
319    if (src.hasPublicationStatus())
320      tgt.setPublicationStatusElement(convertContractPublicationStatus(src.getPublicationStatusElement()));
321    if (src.hasCopyright())
322      tgt.setCopyrightElement(MarkDown40_50.convertMarkdown(src.getCopyrightElement()));
323    return tgt;
324  }
325
326  public static org.hl7.fhir.r4.model.Contract.ContentDefinitionComponent convertContentDefinitionComponent(org.hl7.fhir.r5.model.Contract.ContentDefinitionComponent src) throws FHIRException {
327    if (src == null)
328      return null;
329    org.hl7.fhir.r4.model.Contract.ContentDefinitionComponent tgt = new org.hl7.fhir.r4.model.Contract.ContentDefinitionComponent();
330    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
331    if (src.hasType())
332      tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType()));
333    if (src.hasSubType())
334      tgt.setSubType(CodeableConcept40_50.convertCodeableConcept(src.getSubType()));
335    if (src.hasPublisher())
336      tgt.setPublisher(Reference40_50.convertReference(src.getPublisher()));
337    if (src.hasPublicationDate())
338      tgt.setPublicationDateElement(DateTime40_50.convertDateTime(src.getPublicationDateElement()));
339    if (src.hasPublicationStatus())
340      tgt.setPublicationStatusElement(convertContractPublicationStatus(src.getPublicationStatusElement()));
341    if (src.hasCopyright())
342      tgt.setCopyrightElement(MarkDown40_50.convertMarkdown(src.getCopyrightElement()));
343    return tgt;
344  }
345
346  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Contract.ContractResourcePublicationStatusCodes> convertContractPublicationStatus(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Contract.ContractPublicationStatus> src) throws FHIRException {
347    if (src == null || src.isEmpty())
348      return null;
349    org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Contract.ContractResourcePublicationStatusCodes> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Contract.ContractResourcePublicationStatusCodesEnumFactory());
350    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
351    switch (src.getValue()) {
352      case AMENDED:
353        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourcePublicationStatusCodes.AMENDED);
354        break;
355      case APPENDED:
356        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourcePublicationStatusCodes.APPENDED);
357        break;
358      case CANCELLED:
359        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourcePublicationStatusCodes.CANCELLED);
360        break;
361      case DISPUTED:
362        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourcePublicationStatusCodes.DISPUTED);
363        break;
364      case ENTEREDINERROR:
365        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourcePublicationStatusCodes.ENTEREDINERROR);
366        break;
367      case EXECUTABLE:
368        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourcePublicationStatusCodes.EXECUTABLE);
369        break;
370      case EXECUTED:
371        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourcePublicationStatusCodes.EXECUTED);
372        break;
373      case NEGOTIABLE:
374        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourcePublicationStatusCodes.NEGOTIABLE);
375        break;
376      case OFFERED:
377        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourcePublicationStatusCodes.OFFERED);
378        break;
379      case POLICY:
380        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourcePublicationStatusCodes.POLICY);
381        break;
382      case REJECTED:
383        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourcePublicationStatusCodes.REJECTED);
384        break;
385      case RENEWED:
386        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourcePublicationStatusCodes.RENEWED);
387        break;
388      case REVOKED:
389        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourcePublicationStatusCodes.REVOKED);
390        break;
391      case RESOLVED:
392        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourcePublicationStatusCodes.RESOLVED);
393        break;
394      case TERMINATED:
395        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourcePublicationStatusCodes.TERMINATED);
396        break;
397      default:
398        tgt.setValue(org.hl7.fhir.r5.model.Contract.ContractResourcePublicationStatusCodes.NULL);
399        break;
400    }
401    return tgt;
402  }
403
404  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Contract.ContractPublicationStatus> convertContractPublicationStatus(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Contract.ContractResourcePublicationStatusCodes> src) throws FHIRException {
405    if (src == null || src.isEmpty())
406      return null;
407    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Contract.ContractPublicationStatus> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.Contract.ContractPublicationStatusEnumFactory());
408    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
409    switch (src.getValue()) {
410      case AMENDED:
411        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractPublicationStatus.AMENDED);
412        break;
413      case APPENDED:
414        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractPublicationStatus.APPENDED);
415        break;
416      case CANCELLED:
417        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractPublicationStatus.CANCELLED);
418        break;
419      case DISPUTED:
420        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractPublicationStatus.DISPUTED);
421        break;
422      case ENTEREDINERROR:
423        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractPublicationStatus.ENTEREDINERROR);
424        break;
425      case EXECUTABLE:
426        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractPublicationStatus.EXECUTABLE);
427        break;
428      case EXECUTED:
429        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractPublicationStatus.EXECUTED);
430        break;
431      case NEGOTIABLE:
432        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractPublicationStatus.NEGOTIABLE);
433        break;
434      case OFFERED:
435        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractPublicationStatus.OFFERED);
436        break;
437      case POLICY:
438        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractPublicationStatus.POLICY);
439        break;
440      case REJECTED:
441        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractPublicationStatus.REJECTED);
442        break;
443      case RENEWED:
444        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractPublicationStatus.RENEWED);
445        break;
446      case REVOKED:
447        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractPublicationStatus.REVOKED);
448        break;
449      case RESOLVED:
450        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractPublicationStatus.RESOLVED);
451        break;
452      case TERMINATED:
453        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractPublicationStatus.TERMINATED);
454        break;
455      default:
456        tgt.setValue(org.hl7.fhir.r4.model.Contract.ContractPublicationStatus.NULL);
457        break;
458    }
459    return tgt;
460  }
461
462  public static org.hl7.fhir.r5.model.Contract.TermComponent convertTermComponent(org.hl7.fhir.r4.model.Contract.TermComponent src) throws FHIRException {
463    if (src == null)
464      return null;
465    org.hl7.fhir.r5.model.Contract.TermComponent tgt = new org.hl7.fhir.r5.model.Contract.TermComponent();
466    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
467    if (src.hasIdentifier())
468      tgt.setIdentifier(Identifier40_50.convertIdentifier(src.getIdentifier()));
469    if (src.hasIssued())
470      tgt.setIssuedElement(DateTime40_50.convertDateTime(src.getIssuedElement()));
471    if (src.hasApplies())
472      tgt.setApplies(Period40_50.convertPeriod(src.getApplies()));
473    if (src.hasTopic())
474      tgt.setTopic(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getTopic()));
475    if (src.hasType())
476      tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType()));
477    if (src.hasSubType())
478      tgt.setSubType(CodeableConcept40_50.convertCodeableConcept(src.getSubType()));
479    if (src.hasText())
480      tgt.setTextElement(String40_50.convertString(src.getTextElement()));
481    for (org.hl7.fhir.r4.model.Contract.SecurityLabelComponent t : src.getSecurityLabel())
482      tgt.addSecurityLabel(convertSecurityLabelComponent(t));
483    if (src.hasOffer())
484      tgt.setOffer(convertContractOfferComponent(src.getOffer()));
485    for (org.hl7.fhir.r4.model.Contract.ContractAssetComponent t : src.getAsset())
486      tgt.addAsset(convertContractAssetComponent(t));
487    for (org.hl7.fhir.r4.model.Contract.ActionComponent t : src.getAction()) tgt.addAction(convertActionComponent(t));
488    for (org.hl7.fhir.r4.model.Contract.TermComponent t : src.getGroup()) tgt.addGroup(convertTermComponent(t));
489    return tgt;
490  }
491
492  public static org.hl7.fhir.r4.model.Contract.TermComponent convertTermComponent(org.hl7.fhir.r5.model.Contract.TermComponent src) throws FHIRException {
493    if (src == null)
494      return null;
495    org.hl7.fhir.r4.model.Contract.TermComponent tgt = new org.hl7.fhir.r4.model.Contract.TermComponent();
496    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
497    if (src.hasIdentifier())
498      tgt.setIdentifier(Identifier40_50.convertIdentifier(src.getIdentifier()));
499    if (src.hasIssued())
500      tgt.setIssuedElement(DateTime40_50.convertDateTime(src.getIssuedElement()));
501    if (src.hasApplies())
502      tgt.setApplies(Period40_50.convertPeriod(src.getApplies()));
503    if (src.hasTopic())
504      tgt.setTopic(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getTopic()));
505    if (src.hasType())
506      tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType()));
507    if (src.hasSubType())
508      tgt.setSubType(CodeableConcept40_50.convertCodeableConcept(src.getSubType()));
509    if (src.hasText())
510      tgt.setTextElement(String40_50.convertString(src.getTextElement()));
511    for (org.hl7.fhir.r5.model.Contract.SecurityLabelComponent t : src.getSecurityLabel())
512      tgt.addSecurityLabel(convertSecurityLabelComponent(t));
513    if (src.hasOffer())
514      tgt.setOffer(convertContractOfferComponent(src.getOffer()));
515    for (org.hl7.fhir.r5.model.Contract.ContractAssetComponent t : src.getAsset())
516      tgt.addAsset(convertContractAssetComponent(t));
517    for (org.hl7.fhir.r5.model.Contract.ActionComponent t : src.getAction()) tgt.addAction(convertActionComponent(t));
518    for (org.hl7.fhir.r5.model.Contract.TermComponent t : src.getGroup()) tgt.addGroup(convertTermComponent(t));
519    return tgt;
520  }
521
522  public static org.hl7.fhir.r5.model.Contract.SecurityLabelComponent convertSecurityLabelComponent(org.hl7.fhir.r4.model.Contract.SecurityLabelComponent src) throws FHIRException {
523    if (src == null)
524      return null;
525    org.hl7.fhir.r5.model.Contract.SecurityLabelComponent tgt = new org.hl7.fhir.r5.model.Contract.SecurityLabelComponent();
526    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
527    for (org.hl7.fhir.r4.model.UnsignedIntType t : src.getNumber())
528      tgt.getNumber().add(UnsignedInt40_50.convertUnsignedInt(t));
529    if (src.hasClassification())
530      tgt.setClassification(Coding40_50.convertCoding(src.getClassification()));
531    for (org.hl7.fhir.r4.model.Coding t : src.getCategory()) tgt.addCategory(Coding40_50.convertCoding(t));
532    for (org.hl7.fhir.r4.model.Coding t : src.getControl()) tgt.addControl(Coding40_50.convertCoding(t));
533    return tgt;
534  }
535
536  public static org.hl7.fhir.r4.model.Contract.SecurityLabelComponent convertSecurityLabelComponent(org.hl7.fhir.r5.model.Contract.SecurityLabelComponent src) throws FHIRException {
537    if (src == null)
538      return null;
539    org.hl7.fhir.r4.model.Contract.SecurityLabelComponent tgt = new org.hl7.fhir.r4.model.Contract.SecurityLabelComponent();
540    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
541    for (org.hl7.fhir.r5.model.UnsignedIntType t : src.getNumber())
542      tgt.getNumber().add(UnsignedInt40_50.convertUnsignedInt(t));
543    if (src.hasClassification())
544      tgt.setClassification(Coding40_50.convertCoding(src.getClassification()));
545    for (org.hl7.fhir.r5.model.Coding t : src.getCategory()) tgt.addCategory(Coding40_50.convertCoding(t));
546    for (org.hl7.fhir.r5.model.Coding t : src.getControl()) tgt.addControl(Coding40_50.convertCoding(t));
547    return tgt;
548  }
549
550  public static org.hl7.fhir.r5.model.Contract.ContractOfferComponent convertContractOfferComponent(org.hl7.fhir.r4.model.Contract.ContractOfferComponent src) throws FHIRException {
551    if (src == null)
552      return null;
553    org.hl7.fhir.r5.model.Contract.ContractOfferComponent tgt = new org.hl7.fhir.r5.model.Contract.ContractOfferComponent();
554    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
555    for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier())
556      tgt.addIdentifier(Identifier40_50.convertIdentifier(t));
557    for (org.hl7.fhir.r4.model.Contract.ContractPartyComponent t : src.getParty())
558      tgt.addParty(convertContractPartyComponent(t));
559    if (src.hasTopic())
560      tgt.setTopic(Reference40_50.convertReference(src.getTopic()));
561    if (src.hasType())
562      tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType()));
563    if (src.hasDecision())
564      tgt.setDecision(CodeableConcept40_50.convertCodeableConcept(src.getDecision()));
565    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getDecisionMode())
566      tgt.addDecisionMode(CodeableConcept40_50.convertCodeableConcept(t));
567    for (org.hl7.fhir.r4.model.Contract.AnswerComponent t : src.getAnswer()) tgt.addAnswer(convertAnswerComponent(t));
568    if (src.hasText())
569      tgt.setTextElement(String40_50.convertString(src.getTextElement()));
570    for (org.hl7.fhir.r4.model.StringType t : src.getLinkId()) tgt.getLinkId().add(String40_50.convertString(t));
571    for (org.hl7.fhir.r4.model.UnsignedIntType t : src.getSecurityLabelNumber())
572      tgt.getSecurityLabelNumber().add(UnsignedInt40_50.convertUnsignedInt(t));
573    return tgt;
574  }
575
576  public static org.hl7.fhir.r4.model.Contract.ContractOfferComponent convertContractOfferComponent(org.hl7.fhir.r5.model.Contract.ContractOfferComponent src) throws FHIRException {
577    if (src == null)
578      return null;
579    org.hl7.fhir.r4.model.Contract.ContractOfferComponent tgt = new org.hl7.fhir.r4.model.Contract.ContractOfferComponent();
580    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
581    for (org.hl7.fhir.r5.model.Identifier t : src.getIdentifier())
582      tgt.addIdentifier(Identifier40_50.convertIdentifier(t));
583    for (org.hl7.fhir.r5.model.Contract.ContractPartyComponent t : src.getParty())
584      tgt.addParty(convertContractPartyComponent(t));
585    if (src.hasTopic())
586      tgt.setTopic(Reference40_50.convertReference(src.getTopic()));
587    if (src.hasType())
588      tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType()));
589    if (src.hasDecision())
590      tgt.setDecision(CodeableConcept40_50.convertCodeableConcept(src.getDecision()));
591    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getDecisionMode())
592      tgt.addDecisionMode(CodeableConcept40_50.convertCodeableConcept(t));
593    for (org.hl7.fhir.r5.model.Contract.AnswerComponent t : src.getAnswer()) tgt.addAnswer(convertAnswerComponent(t));
594    if (src.hasText())
595      tgt.setTextElement(String40_50.convertString(src.getTextElement()));
596    for (org.hl7.fhir.r5.model.StringType t : src.getLinkId()) tgt.getLinkId().add(String40_50.convertString(t));
597    for (org.hl7.fhir.r5.model.UnsignedIntType t : src.getSecurityLabelNumber())
598      tgt.getSecurityLabelNumber().add(UnsignedInt40_50.convertUnsignedInt(t));
599    return tgt;
600  }
601
602  public static org.hl7.fhir.r5.model.Contract.ContractPartyComponent convertContractPartyComponent(org.hl7.fhir.r4.model.Contract.ContractPartyComponent src) throws FHIRException {
603    if (src == null)
604      return null;
605    org.hl7.fhir.r5.model.Contract.ContractPartyComponent tgt = new org.hl7.fhir.r5.model.Contract.ContractPartyComponent();
606    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
607    for (org.hl7.fhir.r4.model.Reference t : src.getReference()) tgt.addReference(Reference40_50.convertReference(t));
608    if (src.hasRole())
609      tgt.setRole(CodeableConcept40_50.convertCodeableConcept(src.getRole()));
610    return tgt;
611  }
612
613  public static org.hl7.fhir.r4.model.Contract.ContractPartyComponent convertContractPartyComponent(org.hl7.fhir.r5.model.Contract.ContractPartyComponent src) throws FHIRException {
614    if (src == null)
615      return null;
616    org.hl7.fhir.r4.model.Contract.ContractPartyComponent tgt = new org.hl7.fhir.r4.model.Contract.ContractPartyComponent();
617    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
618    for (org.hl7.fhir.r5.model.Reference t : src.getReference()) tgt.addReference(Reference40_50.convertReference(t));
619    if (src.hasRole())
620      tgt.setRole(CodeableConcept40_50.convertCodeableConcept(src.getRole()));
621    return tgt;
622  }
623
624  public static org.hl7.fhir.r5.model.Contract.AnswerComponent convertAnswerComponent(org.hl7.fhir.r4.model.Contract.AnswerComponent src) throws FHIRException {
625    if (src == null)
626      return null;
627    org.hl7.fhir.r5.model.Contract.AnswerComponent tgt = new org.hl7.fhir.r5.model.Contract.AnswerComponent();
628    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
629    if (src.hasValue())
630      tgt.setValue(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getValue()));
631    return tgt;
632  }
633
634  public static org.hl7.fhir.r4.model.Contract.AnswerComponent convertAnswerComponent(org.hl7.fhir.r5.model.Contract.AnswerComponent src) throws FHIRException {
635    if (src == null)
636      return null;
637    org.hl7.fhir.r4.model.Contract.AnswerComponent tgt = new org.hl7.fhir.r4.model.Contract.AnswerComponent();
638    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
639    if (src.hasValue())
640      tgt.setValue(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getValue()));
641    return tgt;
642  }
643
644  public static org.hl7.fhir.r5.model.Contract.ContractAssetComponent convertContractAssetComponent(org.hl7.fhir.r4.model.Contract.ContractAssetComponent src) throws FHIRException {
645    if (src == null)
646      return null;
647    org.hl7.fhir.r5.model.Contract.ContractAssetComponent tgt = new org.hl7.fhir.r5.model.Contract.ContractAssetComponent();
648    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
649    if (src.hasScope())
650      tgt.setScope(CodeableConcept40_50.convertCodeableConcept(src.getScope()));
651    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getType())
652      tgt.addType(CodeableConcept40_50.convertCodeableConcept(t));
653    for (org.hl7.fhir.r4.model.Reference t : src.getTypeReference())
654      tgt.addTypeReference(Reference40_50.convertReference(t));
655    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getSubtype())
656      tgt.addSubtype(CodeableConcept40_50.convertCodeableConcept(t));
657    if (src.hasRelationship())
658      tgt.setRelationship(Coding40_50.convertCoding(src.getRelationship()));
659    for (org.hl7.fhir.r4.model.Contract.AssetContextComponent t : src.getContext())
660      tgt.addContext(convertAssetContextComponent(t));
661    if (src.hasCondition())
662      tgt.setConditionElement(String40_50.convertString(src.getConditionElement()));
663    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getPeriodType())
664      tgt.addPeriodType(CodeableConcept40_50.convertCodeableConcept(t));
665    for (org.hl7.fhir.r4.model.Period t : src.getPeriod()) tgt.addPeriod(Period40_50.convertPeriod(t));
666    for (org.hl7.fhir.r4.model.Period t : src.getUsePeriod()) tgt.addUsePeriod(Period40_50.convertPeriod(t));
667    if (src.hasText())
668      tgt.setTextElement(String40_50.convertString(src.getTextElement()));
669    for (org.hl7.fhir.r4.model.StringType t : src.getLinkId()) tgt.getLinkId().add(String40_50.convertString(t));
670    for (org.hl7.fhir.r4.model.Contract.AnswerComponent t : src.getAnswer()) tgt.addAnswer(convertAnswerComponent(t));
671    for (org.hl7.fhir.r4.model.UnsignedIntType t : src.getSecurityLabelNumber())
672      tgt.getSecurityLabelNumber().add(UnsignedInt40_50.convertUnsignedInt(t));
673    for (org.hl7.fhir.r4.model.Contract.ValuedItemComponent t : src.getValuedItem())
674      tgt.addValuedItem(convertValuedItemComponent(t));
675    return tgt;
676  }
677
678  public static org.hl7.fhir.r4.model.Contract.ContractAssetComponent convertContractAssetComponent(org.hl7.fhir.r5.model.Contract.ContractAssetComponent src) throws FHIRException {
679    if (src == null)
680      return null;
681    org.hl7.fhir.r4.model.Contract.ContractAssetComponent tgt = new org.hl7.fhir.r4.model.Contract.ContractAssetComponent();
682    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
683    if (src.hasScope())
684      tgt.setScope(CodeableConcept40_50.convertCodeableConcept(src.getScope()));
685    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getType())
686      tgt.addType(CodeableConcept40_50.convertCodeableConcept(t));
687    for (org.hl7.fhir.r5.model.Reference t : src.getTypeReference())
688      tgt.addTypeReference(Reference40_50.convertReference(t));
689    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getSubtype())
690      tgt.addSubtype(CodeableConcept40_50.convertCodeableConcept(t));
691    if (src.hasRelationship())
692      tgt.setRelationship(Coding40_50.convertCoding(src.getRelationship()));
693    for (org.hl7.fhir.r5.model.Contract.AssetContextComponent t : src.getContext())
694      tgt.addContext(convertAssetContextComponent(t));
695    if (src.hasCondition())
696      tgt.setConditionElement(String40_50.convertString(src.getConditionElement()));
697    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getPeriodType())
698      tgt.addPeriodType(CodeableConcept40_50.convertCodeableConcept(t));
699    for (org.hl7.fhir.r5.model.Period t : src.getPeriod()) tgt.addPeriod(Period40_50.convertPeriod(t));
700    for (org.hl7.fhir.r5.model.Period t : src.getUsePeriod()) tgt.addUsePeriod(Period40_50.convertPeriod(t));
701    if (src.hasText())
702      tgt.setTextElement(String40_50.convertString(src.getTextElement()));
703    for (org.hl7.fhir.r5.model.StringType t : src.getLinkId()) tgt.getLinkId().add(String40_50.convertString(t));
704    for (org.hl7.fhir.r5.model.Contract.AnswerComponent t : src.getAnswer()) tgt.addAnswer(convertAnswerComponent(t));
705    for (org.hl7.fhir.r5.model.UnsignedIntType t : src.getSecurityLabelNumber())
706      tgt.getSecurityLabelNumber().add(UnsignedInt40_50.convertUnsignedInt(t));
707    for (org.hl7.fhir.r5.model.Contract.ValuedItemComponent t : src.getValuedItem())
708      tgt.addValuedItem(convertValuedItemComponent(t));
709    return tgt;
710  }
711
712  public static org.hl7.fhir.r5.model.Contract.AssetContextComponent convertAssetContextComponent(org.hl7.fhir.r4.model.Contract.AssetContextComponent src) throws FHIRException {
713    if (src == null)
714      return null;
715    org.hl7.fhir.r5.model.Contract.AssetContextComponent tgt = new org.hl7.fhir.r5.model.Contract.AssetContextComponent();
716    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
717    if (src.hasReference())
718      tgt.setReference(Reference40_50.convertReference(src.getReference()));
719    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getCode())
720      tgt.addCode(CodeableConcept40_50.convertCodeableConcept(t));
721    if (src.hasText())
722      tgt.setTextElement(String40_50.convertString(src.getTextElement()));
723    return tgt;
724  }
725
726  public static org.hl7.fhir.r4.model.Contract.AssetContextComponent convertAssetContextComponent(org.hl7.fhir.r5.model.Contract.AssetContextComponent src) throws FHIRException {
727    if (src == null)
728      return null;
729    org.hl7.fhir.r4.model.Contract.AssetContextComponent tgt = new org.hl7.fhir.r4.model.Contract.AssetContextComponent();
730    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
731    if (src.hasReference())
732      tgt.setReference(Reference40_50.convertReference(src.getReference()));
733    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getCode())
734      tgt.addCode(CodeableConcept40_50.convertCodeableConcept(t));
735    if (src.hasText())
736      tgt.setTextElement(String40_50.convertString(src.getTextElement()));
737    return tgt;
738  }
739
740  public static org.hl7.fhir.r5.model.Contract.ValuedItemComponent convertValuedItemComponent(org.hl7.fhir.r4.model.Contract.ValuedItemComponent src) throws FHIRException {
741    if (src == null)
742      return null;
743    org.hl7.fhir.r5.model.Contract.ValuedItemComponent tgt = new org.hl7.fhir.r5.model.Contract.ValuedItemComponent();
744    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
745    if (src.hasEntity())
746      tgt.setEntity(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getEntity()));
747    if (src.hasIdentifier())
748      tgt.setIdentifier(Identifier40_50.convertIdentifier(src.getIdentifier()));
749    if (src.hasEffectiveTime())
750      tgt.setEffectiveTimeElement(DateTime40_50.convertDateTime(src.getEffectiveTimeElement()));
751    if (src.hasQuantity())
752      tgt.setQuantity(SimpleQuantity40_50.convertSimpleQuantity(src.getQuantity()));
753    if (src.hasUnitPrice())
754      tgt.setUnitPrice(Money40_50.convertMoney(src.getUnitPrice()));
755    if (src.hasFactor())
756      tgt.setFactorElement(Decimal40_50.convertDecimal(src.getFactorElement()));
757    if (src.hasPoints())
758      tgt.setPointsElement(Decimal40_50.convertDecimal(src.getPointsElement()));
759    if (src.hasNet())
760      tgt.setNet(Money40_50.convertMoney(src.getNet()));
761    if (src.hasPayment())
762      tgt.setPaymentElement(String40_50.convertString(src.getPaymentElement()));
763    if (src.hasPaymentDate())
764      tgt.setPaymentDateElement(DateTime40_50.convertDateTime(src.getPaymentDateElement()));
765    if (src.hasResponsible())
766      tgt.setResponsible(Reference40_50.convertReference(src.getResponsible()));
767    if (src.hasRecipient())
768      tgt.setRecipient(Reference40_50.convertReference(src.getRecipient()));
769    for (org.hl7.fhir.r4.model.StringType t : src.getLinkId()) tgt.getLinkId().add(String40_50.convertString(t));
770    for (org.hl7.fhir.r4.model.UnsignedIntType t : src.getSecurityLabelNumber())
771      tgt.getSecurityLabelNumber().add(UnsignedInt40_50.convertUnsignedInt(t));
772    return tgt;
773  }
774
775  public static org.hl7.fhir.r4.model.Contract.ValuedItemComponent convertValuedItemComponent(org.hl7.fhir.r5.model.Contract.ValuedItemComponent src) throws FHIRException {
776    if (src == null)
777      return null;
778    org.hl7.fhir.r4.model.Contract.ValuedItemComponent tgt = new org.hl7.fhir.r4.model.Contract.ValuedItemComponent();
779    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
780    if (src.hasEntity())
781      tgt.setEntity(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getEntity()));
782    if (src.hasIdentifier())
783      tgt.setIdentifier(Identifier40_50.convertIdentifier(src.getIdentifier()));
784    if (src.hasEffectiveTime())
785      tgt.setEffectiveTimeElement(DateTime40_50.convertDateTime(src.getEffectiveTimeElement()));
786    if (src.hasQuantity())
787      tgt.setQuantity(SimpleQuantity40_50.convertSimpleQuantity(src.getQuantity()));
788    if (src.hasUnitPrice())
789      tgt.setUnitPrice(Money40_50.convertMoney(src.getUnitPrice()));
790    if (src.hasFactor())
791      tgt.setFactorElement(Decimal40_50.convertDecimal(src.getFactorElement()));
792    if (src.hasPoints())
793      tgt.setPointsElement(Decimal40_50.convertDecimal(src.getPointsElement()));
794    if (src.hasNet())
795      tgt.setNet(Money40_50.convertMoney(src.getNet()));
796    if (src.hasPayment())
797      tgt.setPaymentElement(String40_50.convertString(src.getPaymentElement()));
798    if (src.hasPaymentDate())
799      tgt.setPaymentDateElement(DateTime40_50.convertDateTime(src.getPaymentDateElement()));
800    if (src.hasResponsible())
801      tgt.setResponsible(Reference40_50.convertReference(src.getResponsible()));
802    if (src.hasRecipient())
803      tgt.setRecipient(Reference40_50.convertReference(src.getRecipient()));
804    for (org.hl7.fhir.r5.model.StringType t : src.getLinkId()) tgt.getLinkId().add(String40_50.convertString(t));
805    for (org.hl7.fhir.r5.model.UnsignedIntType t : src.getSecurityLabelNumber())
806      tgt.getSecurityLabelNumber().add(UnsignedInt40_50.convertUnsignedInt(t));
807    return tgt;
808  }
809
810  public static org.hl7.fhir.r5.model.Contract.ActionComponent convertActionComponent(org.hl7.fhir.r4.model.Contract.ActionComponent src) throws FHIRException {
811    if (src == null)
812      return null;
813    org.hl7.fhir.r5.model.Contract.ActionComponent tgt = new org.hl7.fhir.r5.model.Contract.ActionComponent();
814    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
815    if (src.hasDoNotPerform())
816      tgt.setDoNotPerformElement(Boolean40_50.convertBoolean(src.getDoNotPerformElement()));
817    if (src.hasType())
818      tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType()));
819    for (org.hl7.fhir.r4.model.Contract.ActionSubjectComponent t : src.getSubject())
820      tgt.addSubject(convertActionSubjectComponent(t));
821    if (src.hasIntent())
822      tgt.setIntent(CodeableConcept40_50.convertCodeableConcept(src.getIntent()));
823    for (org.hl7.fhir.r4.model.StringType t : src.getLinkId()) tgt.getLinkId().add(String40_50.convertString(t));
824    if (src.hasStatus())
825      tgt.setStatus(CodeableConcept40_50.convertCodeableConcept(src.getStatus()));
826    if (src.hasContext())
827      tgt.setContext(Reference40_50.convertReference(src.getContext()));
828    for (org.hl7.fhir.r4.model.StringType t : src.getContextLinkId())
829      tgt.getContextLinkId().add(String40_50.convertString(t));
830    if (src.hasOccurrence())
831      tgt.setOccurrence(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getOccurrence()));
832    for (org.hl7.fhir.r4.model.Reference t : src.getRequester()) tgt.addRequester(Reference40_50.convertReference(t));
833    for (org.hl7.fhir.r4.model.StringType t : src.getRequesterLinkId())
834      tgt.getRequesterLinkId().add(String40_50.convertString(t));
835    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getPerformerType())
836      tgt.addPerformerType(CodeableConcept40_50.convertCodeableConcept(t));
837    if (src.hasPerformerRole())
838      tgt.setPerformerRole(CodeableConcept40_50.convertCodeableConcept(src.getPerformerRole()));
839    if (src.hasPerformer())
840      tgt.setPerformer(Reference40_50.convertReference(src.getPerformer()));
841    for (org.hl7.fhir.r4.model.StringType t : src.getPerformerLinkId())
842      tgt.getPerformerLinkId().add(String40_50.convertString(t));
843    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getReasonCode())
844      tgt.addReason(CodeableConcept40_50.convertCodeableConceptToCodeableReference(t));
845    for (org.hl7.fhir.r4.model.Reference t : src.getReasonReference())
846      tgt.addReason(Reference40_50.convertReferenceToCodeableReference(t));
847    for (org.hl7.fhir.r4.model.StringType t : src.getReasonLinkId())
848      tgt.getReasonLinkId().add(String40_50.convertString(t));
849    for (org.hl7.fhir.r4.model.Annotation t : src.getNote()) tgt.addNote(Annotation40_50.convertAnnotation(t));
850    for (org.hl7.fhir.r4.model.UnsignedIntType t : src.getSecurityLabelNumber())
851      tgt.getSecurityLabelNumber().add(UnsignedInt40_50.convertUnsignedInt(t));
852    return tgt;
853  }
854
855  public static org.hl7.fhir.r4.model.Contract.ActionComponent convertActionComponent(org.hl7.fhir.r5.model.Contract.ActionComponent src) throws FHIRException {
856    if (src == null)
857      return null;
858    org.hl7.fhir.r4.model.Contract.ActionComponent tgt = new org.hl7.fhir.r4.model.Contract.ActionComponent();
859    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
860    if (src.hasDoNotPerform())
861      tgt.setDoNotPerformElement(Boolean40_50.convertBoolean(src.getDoNotPerformElement()));
862    if (src.hasType())
863      tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType()));
864    for (org.hl7.fhir.r5.model.Contract.ActionSubjectComponent t : src.getSubject())
865      tgt.addSubject(convertActionSubjectComponent(t));
866    if (src.hasIntent())
867      tgt.setIntent(CodeableConcept40_50.convertCodeableConcept(src.getIntent()));
868    for (org.hl7.fhir.r5.model.StringType t : src.getLinkId()) tgt.getLinkId().add(String40_50.convertString(t));
869    if (src.hasStatus())
870      tgt.setStatus(CodeableConcept40_50.convertCodeableConcept(src.getStatus()));
871    if (src.hasContext())
872      tgt.setContext(Reference40_50.convertReference(src.getContext()));
873    for (org.hl7.fhir.r5.model.StringType t : src.getContextLinkId())
874      tgt.getContextLinkId().add(String40_50.convertString(t));
875    if (src.hasOccurrence())
876      tgt.setOccurrence(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getOccurrence()));
877    for (org.hl7.fhir.r5.model.Reference t : src.getRequester()) tgt.addRequester(Reference40_50.convertReference(t));
878    for (org.hl7.fhir.r5.model.StringType t : src.getRequesterLinkId())
879      tgt.getRequesterLinkId().add(String40_50.convertString(t));
880    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getPerformerType())
881      tgt.addPerformerType(CodeableConcept40_50.convertCodeableConcept(t));
882    if (src.hasPerformerRole())
883      tgt.setPerformerRole(CodeableConcept40_50.convertCodeableConcept(src.getPerformerRole()));
884    if (src.hasPerformer())
885      tgt.setPerformer(Reference40_50.convertReference(src.getPerformer()));
886    for (org.hl7.fhir.r5.model.StringType t : src.getPerformerLinkId())
887      tgt.getPerformerLinkId().add(String40_50.convertString(t));
888    for (CodeableReference t : src.getReason())
889      if (t.hasConcept())
890        tgt.addReasonCode(CodeableConcept40_50.convertCodeableConcept(t.getConcept()));
891    for (CodeableReference t : src.getReason())
892      if (t.hasReference())
893        tgt.addReasonReference(Reference40_50.convertReference(t.getReference()));
894    for (org.hl7.fhir.r5.model.StringType t : src.getReasonLinkId()) tgt.getReason().add(String40_50.convertString(t));
895    for (org.hl7.fhir.r5.model.StringType t : src.getReasonLinkId())
896      tgt.getReasonLinkId().add(String40_50.convertString(t));
897    for (org.hl7.fhir.r5.model.Annotation t : src.getNote()) tgt.addNote(Annotation40_50.convertAnnotation(t));
898    for (org.hl7.fhir.r5.model.UnsignedIntType t : src.getSecurityLabelNumber())
899      tgt.getSecurityLabelNumber().add(UnsignedInt40_50.convertUnsignedInt(t));
900    return tgt;
901  }
902
903  public static org.hl7.fhir.r5.model.Contract.ActionSubjectComponent convertActionSubjectComponent(org.hl7.fhir.r4.model.Contract.ActionSubjectComponent src) throws FHIRException {
904    if (src == null)
905      return null;
906    org.hl7.fhir.r5.model.Contract.ActionSubjectComponent tgt = new org.hl7.fhir.r5.model.Contract.ActionSubjectComponent();
907    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
908    for (org.hl7.fhir.r4.model.Reference t : src.getReference()) tgt.addReference(Reference40_50.convertReference(t));
909    if (src.hasRole())
910      tgt.setRole(CodeableConcept40_50.convertCodeableConcept(src.getRole()));
911    return tgt;
912  }
913
914  public static org.hl7.fhir.r4.model.Contract.ActionSubjectComponent convertActionSubjectComponent(org.hl7.fhir.r5.model.Contract.ActionSubjectComponent src) throws FHIRException {
915    if (src == null)
916      return null;
917    org.hl7.fhir.r4.model.Contract.ActionSubjectComponent tgt = new org.hl7.fhir.r4.model.Contract.ActionSubjectComponent();
918    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
919    for (org.hl7.fhir.r5.model.Reference t : src.getReference()) tgt.addReference(Reference40_50.convertReference(t));
920    if (src.hasRole())
921      tgt.setRole(CodeableConcept40_50.convertCodeableConcept(src.getRole()));
922    return tgt;
923  }
924
925  public static org.hl7.fhir.r5.model.Contract.SignatoryComponent convertSignatoryComponent(org.hl7.fhir.r4.model.Contract.SignatoryComponent src) throws FHIRException {
926    if (src == null)
927      return null;
928    org.hl7.fhir.r5.model.Contract.SignatoryComponent tgt = new org.hl7.fhir.r5.model.Contract.SignatoryComponent();
929    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
930    if (src.hasType())
931      tgt.setType(Coding40_50.convertCoding(src.getType()));
932    if (src.hasParty())
933      tgt.setParty(Reference40_50.convertReference(src.getParty()));
934    for (org.hl7.fhir.r4.model.Signature t : src.getSignature()) tgt.addSignature(Signature40_50.convertSignature(t));
935    return tgt;
936  }
937
938  public static org.hl7.fhir.r4.model.Contract.SignatoryComponent convertSignatoryComponent(org.hl7.fhir.r5.model.Contract.SignatoryComponent src) throws FHIRException {
939    if (src == null)
940      return null;
941    org.hl7.fhir.r4.model.Contract.SignatoryComponent tgt = new org.hl7.fhir.r4.model.Contract.SignatoryComponent();
942    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
943    if (src.hasType())
944      tgt.setType(Coding40_50.convertCoding(src.getType()));
945    if (src.hasParty())
946      tgt.setParty(Reference40_50.convertReference(src.getParty()));
947    for (org.hl7.fhir.r5.model.Signature t : src.getSignature()) tgt.addSignature(Signature40_50.convertSignature(t));
948    return tgt;
949  }
950
951  public static org.hl7.fhir.r5.model.Contract.FriendlyLanguageComponent convertFriendlyLanguageComponent(org.hl7.fhir.r4.model.Contract.FriendlyLanguageComponent src) throws FHIRException {
952    if (src == null)
953      return null;
954    org.hl7.fhir.r5.model.Contract.FriendlyLanguageComponent tgt = new org.hl7.fhir.r5.model.Contract.FriendlyLanguageComponent();
955    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
956    if (src.hasContent())
957      tgt.setContent(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getContent()));
958    return tgt;
959  }
960
961  public static org.hl7.fhir.r4.model.Contract.FriendlyLanguageComponent convertFriendlyLanguageComponent(org.hl7.fhir.r5.model.Contract.FriendlyLanguageComponent src) throws FHIRException {
962    if (src == null)
963      return null;
964    org.hl7.fhir.r4.model.Contract.FriendlyLanguageComponent tgt = new org.hl7.fhir.r4.model.Contract.FriendlyLanguageComponent();
965    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
966    if (src.hasContent())
967      tgt.setContent(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getContent()));
968    return tgt;
969  }
970
971  public static org.hl7.fhir.r5.model.Contract.LegalLanguageComponent convertLegalLanguageComponent(org.hl7.fhir.r4.model.Contract.LegalLanguageComponent src) throws FHIRException {
972    if (src == null)
973      return null;
974    org.hl7.fhir.r5.model.Contract.LegalLanguageComponent tgt = new org.hl7.fhir.r5.model.Contract.LegalLanguageComponent();
975    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
976    if (src.hasContent())
977      tgt.setContent(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getContent()));
978    return tgt;
979  }
980
981  public static org.hl7.fhir.r4.model.Contract.LegalLanguageComponent convertLegalLanguageComponent(org.hl7.fhir.r5.model.Contract.LegalLanguageComponent src) throws FHIRException {
982    if (src == null)
983      return null;
984    org.hl7.fhir.r4.model.Contract.LegalLanguageComponent tgt = new org.hl7.fhir.r4.model.Contract.LegalLanguageComponent();
985    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
986    if (src.hasContent())
987      tgt.setContent(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getContent()));
988    return tgt;
989  }
990
991  public static org.hl7.fhir.r5.model.Contract.ComputableLanguageComponent convertComputableLanguageComponent(org.hl7.fhir.r4.model.Contract.ComputableLanguageComponent src) throws FHIRException {
992    if (src == null)
993      return null;
994    org.hl7.fhir.r5.model.Contract.ComputableLanguageComponent tgt = new org.hl7.fhir.r5.model.Contract.ComputableLanguageComponent();
995    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
996    if (src.hasContent())
997      tgt.setContent(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getContent()));
998    return tgt;
999  }
1000
1001  public static org.hl7.fhir.r4.model.Contract.ComputableLanguageComponent convertComputableLanguageComponent(org.hl7.fhir.r5.model.Contract.ComputableLanguageComponent src) throws FHIRException {
1002    if (src == null)
1003      return null;
1004    org.hl7.fhir.r4.model.Contract.ComputableLanguageComponent tgt = new org.hl7.fhir.r4.model.Contract.ComputableLanguageComponent();
1005    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
1006    if (src.hasContent())
1007      tgt.setContent(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getContent()));
1008    return tgt;
1009  }
1010}