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