001package org.hl7.fhir.convertors.conv40_50.resources40_50;
002
003import org.hl7.fhir.convertors.context.ConversionContext40_50;
004import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50;
005import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50;
006import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50;
007import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.SimpleQuantity40_50;
008import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50;
009import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.Expression40_50;
010import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.RelatedArtifact40_50;
011import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50;
012import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*;
013import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Dosage40_50;
014import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50;
015import org.hl7.fhir.exceptions.FHIRException;
016import org.hl7.fhir.r5.model.CodeableReference;
017
018/*
019  Copyright (c) 2011+, HL7, Inc.
020  All rights reserved.
021  
022  Redistribution and use in source and binary forms, with or without modification, 
023  are permitted provided that the following conditions are met:
024  
025   * Redistributions of source code must retain the above copyright notice, this 
026     list of conditions and the following disclaimer.
027   * Redistributions in binary form must reproduce the above copyright notice, 
028     this list of conditions and the following disclaimer in the documentation 
029     and/or other materials provided with the distribution.
030   * Neither the name of HL7 nor the names of its contributors may be used to 
031     endorse or promote products derived from this software without specific 
032     prior written permission.
033  
034  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
035  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
036  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
037  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
038  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
039  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
040  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
041  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
042  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
043  POSSIBILITY OF SUCH DAMAGE.
044  
045*/
046// Generated on Sun, Feb 24, 2019 11:37+1100 for FHIR v4.0.0
047public class ActivityDefinition40_50 {
048
049  public static org.hl7.fhir.r5.model.ActivityDefinition convertActivityDefinition(org.hl7.fhir.r4.model.ActivityDefinition src) throws FHIRException {
050    if (src == null)
051      return null;
052    org.hl7.fhir.r5.model.ActivityDefinition tgt = new org.hl7.fhir.r5.model.ActivityDefinition();
053    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt);
054    if (src.hasUrl())
055      tgt.setUrlElement(Uri40_50.convertUri(src.getUrlElement()));
056    for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier())
057      tgt.addIdentifier(Identifier40_50.convertIdentifier(t));
058    if (src.hasVersion())
059      tgt.setVersionElement(String40_50.convertString(src.getVersionElement()));
060    if (src.hasName())
061      tgt.setNameElement(String40_50.convertString(src.getNameElement()));
062    if (src.hasTitle())
063      tgt.setTitleElement(String40_50.convertString(src.getTitleElement()));
064    if (src.hasSubtitle())
065      tgt.setSubtitleElement(String40_50.convertString(src.getSubtitleElement()));
066    if (src.hasStatus())
067      tgt.setStatusElement(Enumerations40_50.convertPublicationStatus(src.getStatusElement()));
068    if (src.hasExperimental())
069      tgt.setExperimentalElement(Boolean40_50.convertBoolean(src.getExperimentalElement()));
070    if (src.hasSubject())
071      tgt.setSubject(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getSubject()));
072    if (src.hasDate())
073      tgt.setDateElement(DateTime40_50.convertDateTime(src.getDateElement()));
074    if (src.hasPublisher())
075      tgt.setPublisherElement(String40_50.convertString(src.getPublisherElement()));
076    for (org.hl7.fhir.r4.model.ContactDetail t : src.getContact())
077      tgt.addContact(ContactDetail40_50.convertContactDetail(t));
078    if (src.hasDescription())
079      tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement()));
080    for (org.hl7.fhir.r4.model.UsageContext t : src.getUseContext())
081      tgt.addUseContext(UsageContext40_50.convertUsageContext(t));
082    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getJurisdiction())
083      tgt.addJurisdiction(CodeableConcept40_50.convertCodeableConcept(t));
084    if (src.hasPurpose())
085      tgt.setPurposeElement(MarkDown40_50.convertMarkdown(src.getPurposeElement()));
086    if (src.hasUsage())
087      tgt.setUsageElement(String40_50.convertString(src.getUsageElement()));
088    if (src.hasCopyright())
089      tgt.setCopyrightElement(MarkDown40_50.convertMarkdown(src.getCopyrightElement()));
090    if (src.hasApprovalDate())
091      tgt.setApprovalDateElement(Date40_50.convertDate(src.getApprovalDateElement()));
092    if (src.hasLastReviewDate())
093      tgt.setLastReviewDateElement(Date40_50.convertDate(src.getLastReviewDateElement()));
094    if (src.hasEffectivePeriod())
095      tgt.setEffectivePeriod(Period40_50.convertPeriod(src.getEffectivePeriod()));
096    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getTopic())
097      tgt.addTopic(CodeableConcept40_50.convertCodeableConcept(t));
098    for (org.hl7.fhir.r4.model.ContactDetail t : src.getAuthor())
099      tgt.addAuthor(ContactDetail40_50.convertContactDetail(t));
100    for (org.hl7.fhir.r4.model.ContactDetail t : src.getEditor())
101      tgt.addEditor(ContactDetail40_50.convertContactDetail(t));
102    for (org.hl7.fhir.r4.model.ContactDetail t : src.getReviewer())
103      tgt.addReviewer(ContactDetail40_50.convertContactDetail(t));
104    for (org.hl7.fhir.r4.model.ContactDetail t : src.getEndorser())
105      tgt.addEndorser(ContactDetail40_50.convertContactDetail(t));
106    for (org.hl7.fhir.r4.model.RelatedArtifact t : src.getRelatedArtifact())
107      tgt.addRelatedArtifact(RelatedArtifact40_50.convertRelatedArtifact(t));
108    for (org.hl7.fhir.r4.model.CanonicalType t : src.getLibrary())
109      tgt.getLibrary().add(Canonical40_50.convertCanonical(t));
110    if (src.hasKind())
111      tgt.setKindElement(convertActivityDefinitionKind(src.getKindElement()));
112    if (src.hasProfile())
113      tgt.setProfileElement(Canonical40_50.convertCanonical(src.getProfileElement()));
114    if (src.hasCode())
115      tgt.setCode(CodeableConcept40_50.convertCodeableConcept(src.getCode()));
116    if (src.hasIntent())
117      tgt.setIntentElement(convertRequestIntent(src.getIntentElement()));
118    if (src.hasPriority())
119      tgt.setPriorityElement(convertRequestPriority(src.getPriorityElement()));
120    if (src.hasDoNotPerform())
121      tgt.setDoNotPerformElement(Boolean40_50.convertBoolean(src.getDoNotPerformElement()));
122    if (src.hasTiming())
123      tgt.setTiming(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getTiming()));
124    if (src.hasLocation())
125      tgt.setLocation(new CodeableReference(Reference40_50.convertReference(src.getLocation())));
126    for (org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionParticipantComponent t : src.getParticipant())
127      tgt.addParticipant(convertActivityDefinitionParticipantComponent(t));
128    if (src.hasProduct())
129      tgt.setProduct(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getProduct()));
130    if (src.hasQuantity())
131      tgt.setQuantity(SimpleQuantity40_50.convertSimpleQuantity(src.getQuantity()));
132    for (org.hl7.fhir.r4.model.Dosage t : src.getDosage()) tgt.addDosage(Dosage40_50.convertDosage(t));
133    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getBodySite())
134      tgt.addBodySite(CodeableConcept40_50.convertCodeableConcept(t));
135    for (org.hl7.fhir.r4.model.Reference t : src.getSpecimenRequirement())
136      tgt.addSpecimenRequirement(Reference40_50.convertReference(t));
137    for (org.hl7.fhir.r4.model.Reference t : src.getObservationRequirement())
138      tgt.addObservationRequirement(Reference40_50.convertReference(t));
139    for (org.hl7.fhir.r4.model.Reference t : src.getObservationResultRequirement())
140      tgt.addObservationResultRequirement(Reference40_50.convertReference(t));
141    if (src.hasTransform())
142      tgt.setTransformElement(Canonical40_50.convertCanonical(src.getTransformElement()));
143    for (org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionDynamicValueComponent t : src.getDynamicValue())
144      tgt.addDynamicValue(convertActivityDefinitionDynamicValueComponent(t));
145    return tgt;
146  }
147
148  public static org.hl7.fhir.r4.model.ActivityDefinition convertActivityDefinition(org.hl7.fhir.r5.model.ActivityDefinition src) throws FHIRException {
149    if (src == null)
150      return null;
151    org.hl7.fhir.r4.model.ActivityDefinition tgt = new org.hl7.fhir.r4.model.ActivityDefinition();
152    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt);
153    if (src.hasUrl())
154      tgt.setUrlElement(Uri40_50.convertUri(src.getUrlElement()));
155    for (org.hl7.fhir.r5.model.Identifier t : src.getIdentifier())
156      tgt.addIdentifier(Identifier40_50.convertIdentifier(t));
157    if (src.hasVersion())
158      tgt.setVersionElement(String40_50.convertString(src.getVersionElement()));
159    if (src.hasName())
160      tgt.setNameElement(String40_50.convertString(src.getNameElement()));
161    if (src.hasTitle())
162      tgt.setTitleElement(String40_50.convertString(src.getTitleElement()));
163    if (src.hasSubtitle())
164      tgt.setSubtitleElement(String40_50.convertString(src.getSubtitleElement()));
165    if (src.hasStatus())
166      tgt.setStatusElement(Enumerations40_50.convertPublicationStatus(src.getStatusElement()));
167    if (src.hasExperimental())
168      tgt.setExperimentalElement(Boolean40_50.convertBoolean(src.getExperimentalElement()));
169    if (src.hasSubject())
170      tgt.setSubject(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getSubject()));
171    if (src.hasDate())
172      tgt.setDateElement(DateTime40_50.convertDateTime(src.getDateElement()));
173    if (src.hasPublisher())
174      tgt.setPublisherElement(String40_50.convertString(src.getPublisherElement()));
175    for (org.hl7.fhir.r5.model.ContactDetail t : src.getContact())
176      tgt.addContact(ContactDetail40_50.convertContactDetail(t));
177    if (src.hasDescription())
178      tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement()));
179    for (org.hl7.fhir.r5.model.UsageContext t : src.getUseContext())
180      tgt.addUseContext(UsageContext40_50.convertUsageContext(t));
181    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getJurisdiction())
182      tgt.addJurisdiction(CodeableConcept40_50.convertCodeableConcept(t));
183    if (src.hasPurpose())
184      tgt.setPurposeElement(MarkDown40_50.convertMarkdown(src.getPurposeElement()));
185    if (src.hasUsage())
186      tgt.setUsageElement(String40_50.convertString(src.getUsageElement()));
187    if (src.hasCopyright())
188      tgt.setCopyrightElement(MarkDown40_50.convertMarkdown(src.getCopyrightElement()));
189    if (src.hasApprovalDate())
190      tgt.setApprovalDateElement(Date40_50.convertDate(src.getApprovalDateElement()));
191    if (src.hasLastReviewDate())
192      tgt.setLastReviewDateElement(Date40_50.convertDate(src.getLastReviewDateElement()));
193    if (src.hasEffectivePeriod())
194      tgt.setEffectivePeriod(Period40_50.convertPeriod(src.getEffectivePeriod()));
195    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getTopic())
196      tgt.addTopic(CodeableConcept40_50.convertCodeableConcept(t));
197    for (org.hl7.fhir.r5.model.ContactDetail t : src.getAuthor())
198      tgt.addAuthor(ContactDetail40_50.convertContactDetail(t));
199    for (org.hl7.fhir.r5.model.ContactDetail t : src.getEditor())
200      tgt.addEditor(ContactDetail40_50.convertContactDetail(t));
201    for (org.hl7.fhir.r5.model.ContactDetail t : src.getReviewer())
202      tgt.addReviewer(ContactDetail40_50.convertContactDetail(t));
203    for (org.hl7.fhir.r5.model.ContactDetail t : src.getEndorser())
204      tgt.addEndorser(ContactDetail40_50.convertContactDetail(t));
205    for (org.hl7.fhir.r5.model.RelatedArtifact t : src.getRelatedArtifact())
206      tgt.addRelatedArtifact(RelatedArtifact40_50.convertRelatedArtifact(t));
207    for (org.hl7.fhir.r5.model.CanonicalType t : src.getLibrary())
208      tgt.getLibrary().add(Canonical40_50.convertCanonical(t));
209    if (src.hasKind())
210      tgt.setKindElement(convertActivityDefinitionKind(src.getKindElement()));
211    if (src.hasProfile())
212      tgt.setProfileElement(Canonical40_50.convertCanonical(src.getProfileElement()));
213    if (src.hasCode())
214      tgt.setCode(CodeableConcept40_50.convertCodeableConcept(src.getCode()));
215    if (src.hasIntent())
216      tgt.setIntentElement(convertRequestIntent(src.getIntentElement()));
217    if (src.hasPriority())
218      tgt.setPriorityElement(convertRequestPriority(src.getPriorityElement()));
219    if (src.hasDoNotPerform())
220      tgt.setDoNotPerformElement(Boolean40_50.convertBoolean(src.getDoNotPerformElement()));
221    if (src.hasTiming())
222      tgt.setTiming(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getTiming()));
223    if (src.getLocation().hasReference())
224      tgt.setLocation(Reference40_50.convertReference(src.getLocation().getReference()));
225    for (org.hl7.fhir.r5.model.ActivityDefinition.ActivityDefinitionParticipantComponent t : src.getParticipant())
226      tgt.addParticipant(convertActivityDefinitionParticipantComponent(t));
227    if (src.hasProduct())
228      tgt.setProduct(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getProduct()));
229    if (src.hasQuantity())
230      tgt.setQuantity(SimpleQuantity40_50.convertSimpleQuantity(src.getQuantity()));
231    for (org.hl7.fhir.r5.model.Dosage t : src.getDosage()) tgt.addDosage(Dosage40_50.convertDosage(t));
232    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getBodySite())
233      tgt.addBodySite(CodeableConcept40_50.convertCodeableConcept(t));
234    for (org.hl7.fhir.r5.model.Reference t : src.getSpecimenRequirement())
235      tgt.addSpecimenRequirement(Reference40_50.convertReference(t));
236    for (org.hl7.fhir.r5.model.Reference t : src.getObservationRequirement())
237      tgt.addObservationRequirement(Reference40_50.convertReference(t));
238    for (org.hl7.fhir.r5.model.Reference t : src.getObservationResultRequirement())
239      tgt.addObservationResultRequirement(Reference40_50.convertReference(t));
240    if (src.hasTransform())
241      tgt.setTransformElement(Canonical40_50.convertCanonical(src.getTransformElement()));
242    for (org.hl7.fhir.r5.model.ActivityDefinition.ActivityDefinitionDynamicValueComponent t : src.getDynamicValue())
243      tgt.addDynamicValue(convertActivityDefinitionDynamicValueComponent(t));
244    return tgt;
245  }
246
247  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType> convertActivityDefinitionKind(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind> src) throws FHIRException {
248    if (src == null || src.isEmpty())
249      return null;
250    org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypeEnumFactory());
251    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
252    switch (src.getValue()) {
253      case APPOINTMENT:
254        tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.APPOINTMENT);
255        break;
256      case APPOINTMENTRESPONSE:
257        tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.APPOINTMENTRESPONSE);
258        break;
259      case CAREPLAN:
260        tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.CAREPLAN);
261        break;
262      case CLAIM:
263        tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.CLAIM);
264        break;
265      case COMMUNICATIONREQUEST:
266        tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.COMMUNICATIONREQUEST);
267        break;
268      case CONTRACT:
269        tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.CONTRACT);
270        break;
271      case DEVICEREQUEST:
272        tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.DEVICEREQUEST);
273        break;
274      case ENROLLMENTREQUEST:
275        tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.ENROLLMENTREQUEST);
276        break;
277      case IMMUNIZATIONRECOMMENDATION:
278        tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.IMMUNIZATIONRECOMMENDATION);
279        break;
280      case MEDICATIONREQUEST:
281        tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.MEDICATIONREQUEST);
282        break;
283      case NUTRITIONORDER:
284        tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.NUTRITIONORDER);
285        break;
286      case SERVICEREQUEST:
287        tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.SERVICEREQUEST);
288        break;
289      case SUPPLYREQUEST:
290        tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.SUPPLYREQUEST);
291        break;
292      case TASK:
293        tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.TASK);
294        break;
295      case VISIONPRESCRIPTION:
296        tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.VISIONPRESCRIPTION);
297        break;
298      default:
299        tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.NULL);
300        break;
301    }
302    return tgt;
303  }
304
305  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind> convertActivityDefinitionKind(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType> src) throws FHIRException {
306    if (src == null || src.isEmpty())
307      return null;
308    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKindEnumFactory());
309    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
310    switch (src.getValue()) {
311      case APPOINTMENT:
312        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind.APPOINTMENT);
313        break;
314      case APPOINTMENTRESPONSE:
315        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind.APPOINTMENTRESPONSE);
316        break;
317      case CAREPLAN:
318        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind.CAREPLAN);
319        break;
320      case CLAIM:
321        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind.CLAIM);
322        break;
323      case COMMUNICATIONREQUEST:
324        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind.COMMUNICATIONREQUEST);
325        break;
326      case CONTRACT:
327        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind.CONTRACT);
328        break;
329      case DEVICEREQUEST:
330        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind.DEVICEREQUEST);
331        break;
332      case ENROLLMENTREQUEST:
333        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind.ENROLLMENTREQUEST);
334        break;
335      case IMMUNIZATIONRECOMMENDATION:
336        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind.IMMUNIZATIONRECOMMENDATION);
337        break;
338      case MEDICATIONREQUEST:
339        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind.MEDICATIONREQUEST);
340        break;
341      case NUTRITIONORDER:
342        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind.NUTRITIONORDER);
343        break;
344      case SERVICEREQUEST:
345        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind.SERVICEREQUEST);
346        break;
347      case SUPPLYREQUEST:
348        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind.SUPPLYREQUEST);
349        break;
350      case TASK:
351        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind.TASK);
352        break;
353      case VISIONPRESCRIPTION:
354        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind.VISIONPRESCRIPTION);
355        break;
356      default:
357        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind.NULL);
358        break;
359    }
360    return tgt;
361  }
362
363  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.RequestIntent> convertRequestIntent(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ActivityDefinition.RequestIntent> src) throws FHIRException {
364    if (src == null || src.isEmpty())
365      return null;
366    org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.RequestIntent> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.RequestIntentEnumFactory());
367    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
368    switch (src.getValue()) {
369      case PROPOSAL:
370        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestIntent.PROPOSAL);
371        break;
372      case PLAN:
373        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestIntent.PLAN);
374        break;
375      case DIRECTIVE:
376        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestIntent.DIRECTIVE);
377        break;
378      case ORDER:
379        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestIntent.ORDER);
380        break;
381      case ORIGINALORDER:
382        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestIntent.ORIGINALORDER);
383        break;
384      case REFLEXORDER:
385        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestIntent.REFLEXORDER);
386        break;
387      case FILLERORDER:
388        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestIntent.FILLERORDER);
389        break;
390      case INSTANCEORDER:
391        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestIntent.INSTANCEORDER);
392        break;
393      case OPTION:
394        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestIntent.OPTION);
395        break;
396      default:
397        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestIntent.NULL);
398        break;
399    }
400    return tgt;
401  }
402
403  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ActivityDefinition.RequestIntent> convertRequestIntent(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.RequestIntent> src) throws FHIRException {
404    if (src == null || src.isEmpty())
405      return null;
406    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ActivityDefinition.RequestIntent> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.ActivityDefinition.RequestIntentEnumFactory());
407    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
408    switch (src.getValue()) {
409      case PROPOSAL:
410        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.RequestIntent.PROPOSAL);
411        break;
412      case PLAN:
413        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.RequestIntent.PLAN);
414        break;
415      case DIRECTIVE:
416        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.RequestIntent.DIRECTIVE);
417        break;
418      case ORDER:
419        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.RequestIntent.ORDER);
420        break;
421      case ORIGINALORDER:
422        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.RequestIntent.ORIGINALORDER);
423        break;
424      case REFLEXORDER:
425        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.RequestIntent.REFLEXORDER);
426        break;
427      case FILLERORDER:
428        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.RequestIntent.FILLERORDER);
429        break;
430      case INSTANCEORDER:
431        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.RequestIntent.INSTANCEORDER);
432        break;
433      case OPTION:
434        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.RequestIntent.OPTION);
435        break;
436      default:
437        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.RequestIntent.NULL);
438        break;
439    }
440    return tgt;
441  }
442
443  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.RequestPriority> convertRequestPriority(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ActivityDefinition.RequestPriority> src) throws FHIRException {
444    if (src == null || src.isEmpty())
445      return null;
446    org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.RequestPriority> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.RequestPriorityEnumFactory());
447    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
448    switch (src.getValue()) {
449      case ROUTINE:
450        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestPriority.ROUTINE);
451        break;
452      case URGENT:
453        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestPriority.URGENT);
454        break;
455      case ASAP:
456        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestPriority.ASAP);
457        break;
458      case STAT:
459        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestPriority.STAT);
460        break;
461      default:
462        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RequestPriority.NULL);
463        break;
464    }
465    return tgt;
466  }
467
468  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ActivityDefinition.RequestPriority> convertRequestPriority(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.RequestPriority> src) throws FHIRException {
469    if (src == null || src.isEmpty())
470      return null;
471    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ActivityDefinition.RequestPriority> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.ActivityDefinition.RequestPriorityEnumFactory());
472    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
473    switch (src.getValue()) {
474      case ROUTINE:
475        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.RequestPriority.ROUTINE);
476        break;
477      case URGENT:
478        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.RequestPriority.URGENT);
479        break;
480      case ASAP:
481        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.RequestPriority.ASAP);
482        break;
483      case STAT:
484        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.RequestPriority.STAT);
485        break;
486      default:
487        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.RequestPriority.NULL);
488        break;
489    }
490    return tgt;
491  }
492
493  public static org.hl7.fhir.r5.model.ActivityDefinition.ActivityDefinitionParticipantComponent convertActivityDefinitionParticipantComponent(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionParticipantComponent src) throws FHIRException {
494    if (src == null)
495      return null;
496    org.hl7.fhir.r5.model.ActivityDefinition.ActivityDefinitionParticipantComponent tgt = new org.hl7.fhir.r5.model.ActivityDefinition.ActivityDefinitionParticipantComponent();
497    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
498    if (src.hasType())
499      tgt.setTypeElement(convertActivityParticipantType(src.getTypeElement()));
500    if (src.hasRole())
501      tgt.setRole(CodeableConcept40_50.convertCodeableConcept(src.getRole()));
502    return tgt;
503  }
504
505  public static org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionParticipantComponent convertActivityDefinitionParticipantComponent(org.hl7.fhir.r5.model.ActivityDefinition.ActivityDefinitionParticipantComponent src) throws FHIRException {
506    if (src == null)
507      return null;
508    org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionParticipantComponent tgt = new org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionParticipantComponent();
509    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
510    if (src.hasType())
511      tgt.setTypeElement(convertActivityParticipantType(src.getTypeElement()));
512    if (src.hasRole())
513      tgt.setRole(CodeableConcept40_50.convertCodeableConcept(src.getRole()));
514    return tgt;
515  }
516
517  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.ActionParticipantType> convertActivityParticipantType(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ActivityDefinition.ActivityParticipantType> src) throws FHIRException {
518    if (src == null || src.isEmpty())
519      return null;
520    org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.ActionParticipantType> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.ActionParticipantTypeEnumFactory());
521    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
522    switch (src.getValue()) {
523      case PATIENT:
524        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ActionParticipantType.PATIENT);
525        break;
526      case PRACTITIONER:
527        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ActionParticipantType.PRACTITIONER);
528        break;
529      case RELATEDPERSON:
530        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ActionParticipantType.RELATEDPERSON);
531        break;
532      case DEVICE:
533        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ActionParticipantType.DEVICE);
534        break;
535      default:
536        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ActionParticipantType.NULL);
537        break;
538    }
539    return tgt;
540  }
541
542  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ActivityDefinition.ActivityParticipantType> convertActivityParticipantType(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.ActionParticipantType> src) throws FHIRException {
543    if (src == null || src.isEmpty())
544      return null;
545    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ActivityDefinition.ActivityParticipantType> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.ActivityDefinition.ActivityParticipantTypeEnumFactory());
546    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
547    switch (src.getValue()) {
548      case PATIENT:
549        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityParticipantType.PATIENT);
550        break;
551      case PRACTITIONER:
552        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityParticipantType.PRACTITIONER);
553        break;
554      case RELATEDPERSON:
555        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityParticipantType.RELATEDPERSON);
556        break;
557      case DEVICE:
558        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityParticipantType.DEVICE);
559        break;
560      default:
561        tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityParticipantType.NULL);
562        break;
563    }
564    return tgt;
565  }
566
567  public static org.hl7.fhir.r5.model.ActivityDefinition.ActivityDefinitionDynamicValueComponent convertActivityDefinitionDynamicValueComponent(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionDynamicValueComponent src) throws FHIRException {
568    if (src == null)
569      return null;
570    org.hl7.fhir.r5.model.ActivityDefinition.ActivityDefinitionDynamicValueComponent tgt = new org.hl7.fhir.r5.model.ActivityDefinition.ActivityDefinitionDynamicValueComponent();
571    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
572    if (src.hasPath())
573      tgt.setPathElement(String40_50.convertString(src.getPathElement()));
574    if (src.hasExpression())
575      tgt.setExpression(Expression40_50.convertExpression(src.getExpression()));
576    return tgt;
577  }
578
579  public static org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionDynamicValueComponent convertActivityDefinitionDynamicValueComponent(org.hl7.fhir.r5.model.ActivityDefinition.ActivityDefinitionDynamicValueComponent src) throws FHIRException {
580    if (src == null)
581      return null;
582    org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionDynamicValueComponent tgt = new org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionDynamicValueComponent();
583    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
584    if (src.hasPath())
585      tgt.setPathElement(String40_50.convertString(src.getPathElement()));
586    if (src.hasExpression())
587      tgt.setExpression(Expression40_50.convertExpression(src.getExpression()));
588    return tgt;
589  }
590}