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.Coding40_50;
006import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50;
007import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50;
008import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50;
009import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*;
010import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50;
011import org.hl7.fhir.exceptions.FHIRException;
012import org.hl7.fhir.r4.model.ExampleScenario;
013import org.hl7.fhir.r4.model.ExampleScenario.FHIRResourceType;
014import org.hl7.fhir.r4.model.StringType;
015import org.hl7.fhir.r5.model.Enumeration;
016import org.hl7.fhir.r5.model.Enumerations;
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 ExampleScenario40_50 {
048  private static final String VERSION_ALGORITHM = "http://hl7.org/fhir/5.0/StructureDefinition/extension-ExampleScenario.versionAlgorithm";
049  private static final String TITLE = "http://hl7.org/fhir/5.0/StructureDefinition/extension-ExampleScenario.title";
050  private static final String DESCRIPTION = "http://hl7.org/fhir/5.0/StructureDefinition/extension-ExampleScenario.description";
051  private static final String COPYRIGHT_LABEL = "http://hl7.org/fhir/5.0/StructureDefinition/extension-ExampleScenario.copyrightLabel";
052  private static final String WORKFLOW = "http://hl7.org/fhir/4.0/StructureDefinition/extension-ExampleScenario.workflow";
053  private static final String INSTANCE_STRUCTURE_VERSION = "http://hl7.org/fhir/5.0/StructureDefinition/extension-ExampleScenario.instance.structureVersion";
054  private static final String INSTANCE_STRUCTURE_PROFILE = "http://hl7.org/fhir/5.0/StructureDefinition/extension-ExampleScenario.instance.structureProfile";
055  private static final String INSTANCE_CONTENT = "http://hl7.org/fhir/5.0/StructureDefinition/extension-ExampleScenario.instance.content";
056  private static final String INSTANCE_VERSION_TITLE = "http://hl7.org/fhir/5.0/StructureDefinition/extension-ExampleScenario.instance.version.title";
057  private static final String INSTANCE_VERSION_CONTENT = "http://hl7.org/fhir/5.0/StructureDefinition/extension-ExampleScenario.instance.version.content";
058  private static final String PROCESS_STEP_NUMBER = "http://hl7.org/fhir/5.0/StructureDefinition/extension-ExampleScenario.process.step.number";
059  private static final String PROCESS_STEP_WORKFLOW = "http://hl7.org/fhir/5.0/StructureDefinition/extension-ExampleScenario.process.step.workflow";
060
061  public static org.hl7.fhir.r5.model.ExampleScenario convertExampleScenario(org.hl7.fhir.r4.model.ExampleScenario src) throws FHIRException {
062    if (src == null)
063      return null;
064    org.hl7.fhir.r5.model.ExampleScenario tgt = new org.hl7.fhir.r5.model.ExampleScenario();
065    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt, VERSION_ALGORITHM, TITLE, DESCRIPTION, COPYRIGHT_LABEL);
066    if (src.hasUrl())
067      tgt.setUrlElement(Uri40_50.convertUri(src.getUrlElement()));
068    for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier())
069      tgt.addIdentifier(Identifier40_50.convertIdentifier(t));
070    if (src.hasVersion())
071      tgt.setVersionElement(String40_50.convertString(src.getVersionElement()));
072    if (src.hasExtension(VERSION_ALGORITHM)) {
073      if (src.getExtensionByUrl(VERSION_ALGORITHM).getValue() instanceof org.hl7.fhir.r4.model.StringType)
074        tgt.setVersionAlgorithm(String40_50.convertString((org.hl7.fhir.r4.model.StringType)src.getExtensionByUrl(VERSION_ALGORITHM).getValue()));
075      else
076        tgt.setVersionAlgorithm(Coding40_50.convertCoding((org.hl7.fhir.r4.model.Coding)src.getExtensionByUrl(VERSION_ALGORITHM).getValue()));
077    }
078    if (src.hasName())
079      tgt.setNameElement(String40_50.convertString(src.getNameElement()));
080    if (src.hasExtension(TITLE))
081      tgt.setTitleElement(String40_50.convertString((org.hl7.fhir.r4.model.StringType)src.getExtensionByUrl(TITLE).getValue()));
082    if (src.hasStatus())
083      tgt.setStatusElement(Enumerations40_50.convertPublicationStatus(src.getStatusElement()));
084    if (src.hasExperimental())
085      tgt.setExperimentalElement(Boolean40_50.convertBoolean(src.getExperimentalElement()));
086    if (src.hasDate())
087      tgt.setDateElement(DateTime40_50.convertDateTime(src.getDateElement()));
088    if (src.hasPublisher())
089      tgt.setPublisherElement(String40_50.convertString(src.getPublisherElement()));
090    for (org.hl7.fhir.r4.model.ContactDetail t : src.getContact())
091      tgt.addContact(ContactDetail40_50.convertContactDetail(t));
092    if (src.hasExtension(DESCRIPTION))
093      tgt.setDescriptionElement(MarkDown40_50.convertMarkdown((org.hl7.fhir.r4.model.MarkdownType)src.getExtensionByUrl(DESCRIPTION).getValue()));
094    for (org.hl7.fhir.r4.model.UsageContext t : src.getUseContext())
095      tgt.addUseContext(UsageContext40_50.convertUsageContext(t));
096    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getJurisdiction())
097      tgt.addJurisdiction(CodeableConcept40_50.convertCodeableConcept(t));
098    if (src.hasCopyright())
099      tgt.setCopyrightElement(MarkDown40_50.convertMarkdown(src.getCopyrightElement()));
100    if (src.hasExtension(COPYRIGHT_LABEL))
101      tgt.setCopyrightLabelElement(String40_50.convertString((org.hl7.fhir.r4.model.StringType)src.getExtensionByUrl(COPYRIGHT_LABEL).getValue()));
102    if (src.hasPurpose())
103      tgt.setPurposeElement(MarkDown40_50.convertMarkdown(src.getPurposeElement()));
104    for (org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioActorComponent t : src.getActor())
105      tgt.addActor(convertExampleScenarioActorComponent(t));
106    for (org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioInstanceComponent t : src.getInstance())
107      tgt.addInstance(convertExampleScenarioInstanceComponent(t));
108    for (org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessComponent t : src.getProcess())
109      tgt.addProcess(convertExampleScenarioProcessComponent(t));
110    for (org.hl7.fhir.r4.model.CanonicalType t : src.getWorkflow())
111      tgt.addExtension(WORKFLOW, Canonical40_50.convertCanonical(t));
112    return tgt;
113  }
114
115  public static org.hl7.fhir.r4.model.ExampleScenario convertExampleScenario(org.hl7.fhir.r5.model.ExampleScenario src) throws FHIRException {
116    if (src == null)
117      return null;
118    org.hl7.fhir.r4.model.ExampleScenario tgt = new org.hl7.fhir.r4.model.ExampleScenario();
119    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt, WORKFLOW);
120    if (src.hasVersionAlgorithm()) {
121      if (src.getVersionAlgorithm() instanceof org.hl7.fhir.r5.model.StringType)
122        tgt.addExtension(VERSION_ALGORITHM, String40_50.convertString((org.hl7.fhir.r5.model.StringType)src.getVersionAlgorithm()));
123      else
124        tgt.addExtension(VERSION_ALGORITHM, Coding40_50.convertCoding((org.hl7.fhir.r5.model.Coding)src.getVersionAlgorithm()));
125    }
126    if (src.hasUrl())
127      tgt.setUrlElement(Uri40_50.convertUri(src.getUrlElement()));
128    for (org.hl7.fhir.r5.model.Identifier t : src.getIdentifier())
129      tgt.addIdentifier(Identifier40_50.convertIdentifier(t));
130    if (src.hasVersion())
131      tgt.setVersionElement(String40_50.convertString(src.getVersionElement()));
132    if (src.hasName())
133      tgt.setNameElement(String40_50.convertString(src.getNameElement()));
134    if (src.hasTitle())
135      tgt.addExtension(TITLE, String40_50.convertString(src.getTitleElement()));
136    if (src.hasStatus())
137      tgt.setStatusElement(Enumerations40_50.convertPublicationStatus(src.getStatusElement()));
138    if (src.hasExperimental())
139      tgt.setExperimentalElement(Boolean40_50.convertBoolean(src.getExperimentalElement()));
140    if (src.hasDate())
141      tgt.setDateElement(DateTime40_50.convertDateTime(src.getDateElement()));
142    if (src.hasPublisher())
143      tgt.setPublisherElement(String40_50.convertString(src.getPublisherElement()));
144    for (org.hl7.fhir.r5.model.ContactDetail t : src.getContact())
145      tgt.addContact(ContactDetail40_50.convertContactDetail(t));
146    if (src.hasDescription())
147      tgt.addExtension(DESCRIPTION, MarkDown40_50.convertMarkdown(src.getDescriptionElement()));
148    for (org.hl7.fhir.r5.model.UsageContext t : src.getUseContext())
149      tgt.addUseContext(UsageContext40_50.convertUsageContext(t));
150    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getJurisdiction())
151      tgt.addJurisdiction(CodeableConcept40_50.convertCodeableConcept(t));
152    if (src.hasCopyright())
153      tgt.setCopyrightElement(MarkDown40_50.convertMarkdown(src.getCopyrightElement()));
154    if (src.hasCopyrightLabel())
155      tgt.addExtension(COPYRIGHT_LABEL, String40_50.convertString(src.getCopyrightLabelElement()));
156    if (src.hasPurpose())
157      tgt.setPurposeElement(MarkDown40_50.convertMarkdown(src.getPurposeElement()));
158    for (org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioActorComponent t : src.getActor())
159      tgt.addActor(convertExampleScenarioActorComponent(t));
160    for (org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceComponent t : src.getInstance())
161      tgt.addInstance(convertExampleScenarioInstanceComponent(t));
162    for (org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessComponent t : src.getProcess())
163      tgt.addProcess(convertExampleScenarioProcessComponent(t));
164    for (org.hl7.fhir.r5.model.Extension e : src.getExtensionsByUrl(WORKFLOW))
165      tgt.getWorkflow().add(Canonical40_50.convertCanonical(e.getValueCanonicalType()));
166
167    return tgt;
168  }
169
170  public static org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioActorComponent convertExampleScenarioActorComponent(org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioActorComponent src) throws FHIRException {
171    if (src == null)
172      return null;
173    org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioActorComponent tgt = new org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioActorComponent();
174    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
175    if (src.hasActorId())
176      tgt.setKeyElement(String40_50.convertString(src.getActorIdElement()));
177    if (src.hasType())
178      tgt.setTypeElement(convertExampleScenarioActorType(src.getTypeElement()));
179    if (src.hasName())
180      tgt.setTitleElement(String40_50.convertString(src.getNameElement()));
181    if (src.hasDescription())
182      tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement()));
183    return tgt;
184  }
185
186  public static org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioActorComponent convertExampleScenarioActorComponent(org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioActorComponent src) throws FHIRException {
187    if (src == null)
188      return null;
189    org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioActorComponent tgt = new org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioActorComponent();
190    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
191    if (src.hasKey())
192      tgt.setActorIdElement(String40_50.convertString(src.getKeyElement()));
193    if (src.hasType())
194      tgt.setTypeElement(convertExampleScenarioActorType(src.getTypeElement()));
195    if (src.hasTitle())
196      tgt.setNameElement(String40_50.convertString(src.getTitleElement()));
197    if (src.hasDescription())
198      tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement()));
199    return tgt;
200  }
201
202  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.ExampleScenarioActorType> convertExampleScenarioActorType(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioActorType> src) throws FHIRException {
203      if (src == null || src.isEmpty())
204          return null;
205      Enumeration<Enumerations.ExampleScenarioActorType> tgt = new Enumeration<>(new Enumerations.ExampleScenarioActorTypeEnumFactory());
206      ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
207      if (src.getValue() == null) {
208          tgt.setValue(null);
209      } else {
210          switch (src.getValue()) {
211              case PERSON:
212                  tgt.setValue(Enumerations.ExampleScenarioActorType.PERSON);
213                  break;
214              case ENTITY:
215                  tgt.setValue(Enumerations.ExampleScenarioActorType.SYSTEM);
216                  break;
217              default:
218                  tgt.setValue(Enumerations.ExampleScenarioActorType.NULL);
219                  break;
220          }
221      }
222      return tgt;
223  }
224
225  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioActorType> convertExampleScenarioActorType(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.ExampleScenarioActorType> src) throws FHIRException {
226      if (src == null || src.isEmpty())
227          return null;
228      org.hl7.fhir.r4.model.Enumeration<ExampleScenario.ExampleScenarioActorType> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new ExampleScenario.ExampleScenarioActorTypeEnumFactory());
229      ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
230      if (src.getValue() == null) {
231          tgt.setValue(null);
232      } else {
233          switch (src.getValue()) {
234              case PERSON:
235                  tgt.setValue(ExampleScenario.ExampleScenarioActorType.PERSON);
236                  break;
237              case SYSTEM:
238                  tgt.setValue(ExampleScenario.ExampleScenarioActorType.ENTITY);
239                  break;
240              default:
241                  tgt.setValue(ExampleScenario.ExampleScenarioActorType.NULL);
242                  break;
243          }
244      }
245      return tgt;
246  }
247
248  public static org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceComponent convertExampleScenarioInstanceComponent(org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioInstanceComponent src) throws FHIRException {
249    if (src == null)
250      return null;
251    org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceComponent tgt = new org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceComponent();
252    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt, INSTANCE_STRUCTURE_VERSION, INSTANCE_STRUCTURE_PROFILE, INSTANCE_CONTENT);
253    if (src.hasResourceId())
254      tgt.setKeyElement(String40_50.convertString(src.getResourceIdElement()));
255    if (src.hasResourceType()) {
256      tgt.getStructureType().setCode(src.getResourceType().toCode());
257      tgt.getStructureType().setSystem("http://hl7.org/fhir/fhir-types");
258    }
259    if (src.hasExtension(INSTANCE_STRUCTURE_VERSION))
260      tgt.setStructureVersionElement(String40_50.convertString((org.hl7.fhir.r4.model.StringType)src.getExtensionByUrl(INSTANCE_STRUCTURE_VERSION).getValue()));
261    if (src.hasExtension(INSTANCE_STRUCTURE_PROFILE)) {
262      if (src.getExtensionByUrl(INSTANCE_STRUCTURE_PROFILE).getValue() instanceof org.hl7.fhir.r4.model.CanonicalType)
263        tgt.setStructureProfile(Canonical40_50.convertCanonical((org.hl7.fhir.r4.model.CanonicalType)src.getExtensionByUrl(INSTANCE_STRUCTURE_PROFILE).getValue()));
264      else
265        tgt.setStructureProfile(Uri40_50.convertUri((org.hl7.fhir.r4.model.UriType)src.getExtensionByUrl(INSTANCE_STRUCTURE_PROFILE).getValue()));
266    }
267    if (src.hasName())
268      tgt.setTitleElement(String40_50.convertString(src.getNameElement()));
269    if (src.hasDescription())
270      tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement()));
271    if (src.hasExtension(INSTANCE_CONTENT))
272      tgt.setContent(Reference40_50.convertReference((org.hl7.fhir.r4.model.Reference)src.getExtensionByUrl(INSTANCE_CONTENT).getValue()));
273    for (org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioInstanceVersionComponent t : src.getVersion())
274      tgt.addVersion(convertExampleScenarioInstanceVersionComponent(t));
275    for (org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent t : src.getContainedInstance())
276      tgt.addContainedInstance(convertExampleScenarioInstanceContainedInstanceComponent(t));
277    return tgt;
278  }
279
280  public static org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioInstanceComponent convertExampleScenarioInstanceComponent(org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceComponent src) throws FHIRException {
281    if (src == null)
282      return null;
283    org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioInstanceComponent tgt = new org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioInstanceComponent();
284    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
285    if (src.hasStructureVersion())
286      tgt.addExtension(INSTANCE_STRUCTURE_VERSION, String40_50.convertString(src.getStructureVersionElement()));
287    if (src.hasStructureProfile()) {
288      if (src.getStructureProfile() instanceof org.hl7.fhir.r5.model.CanonicalType)
289        tgt.addExtension(INSTANCE_STRUCTURE_PROFILE, Canonical40_50.convertCanonical((org.hl7.fhir.r5.model.CanonicalType)src.getStructureProfile()));
290      else
291        tgt.addExtension(INSTANCE_STRUCTURE_PROFILE, Uri40_50.convertUri((org.hl7.fhir.r5.model.UriType)src.getStructureProfile()));
292    }
293    if (src.hasContent())
294      tgt.addExtension(INSTANCE_CONTENT, Reference40_50.convertReference(src.getContent()));
295    if (src.hasKey())
296      tgt.setResourceIdElement(String40_50.convertString(src.getKeyElement()));
297    if (src.hasStructureType())
298      tgt.setResourceType(FHIRResourceType.fromCode(src.getStructureType().getCode()));
299    if (src.hasTitle())
300      tgt.setNameElement(String40_50.convertString(src.getTitleElement()));
301    if (src.hasDescription())
302      tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement()));
303    for (org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceVersionComponent t : src.getVersion())
304      tgt.addVersion(convertExampleScenarioInstanceVersionComponent(t));
305    for (org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent t : src.getContainedInstance())
306      tgt.addContainedInstance(convertExampleScenarioInstanceContainedInstanceComponent(t));
307    return tgt;
308  }
309
310  public static org.hl7.fhir.r5.model.CodeType convertFHIRResourceType(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ExampleScenario.FHIRResourceType> src) throws FHIRException {
311    if (src == null)
312      return null;
313    org.hl7.fhir.r5.model.CodeType tgt = new org.hl7.fhir.r5.model.CodeType(src.asStringValue());
314    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
315    return tgt;
316  }
317
318  public static org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ExampleScenario.FHIRResourceType> convertFHIRResourceType(org.hl7.fhir.r5.model.CodeType src) throws FHIRException {
319    if (src == null)
320      return null;
321    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ExampleScenario.FHIRResourceType> tgt = new org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ExampleScenario.FHIRResourceType>(new org.hl7.fhir.r4.model.ExampleScenario.FHIRResourceTypeEnumFactory(), src.getCode());
322    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
323    return tgt;
324  }
325
326  public static org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceVersionComponent convertExampleScenarioInstanceVersionComponent(org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioInstanceVersionComponent src) throws FHIRException {
327    if (src == null)
328      return null;
329    org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceVersionComponent tgt = new org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceVersionComponent();
330    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt, INSTANCE_VERSION_TITLE, INSTANCE_VERSION_CONTENT);
331    if (src.hasVersionId())
332      tgt.setKeyElement(String40_50.convertString(src.getVersionIdElement()));
333    if (src.hasDescription())
334      tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement()));
335    if (src.hasExtension(INSTANCE_VERSION_TITLE))
336      tgt.setTitleElement(String40_50.convertString((org.hl7.fhir.r4.model.StringType) src.getExtensionByUrl(INSTANCE_VERSION_TITLE).getValue()));
337    if (src.hasExtension(INSTANCE_VERSION_CONTENT))
338      tgt.setContent(Reference40_50.convertReference((org.hl7.fhir.r4.model.Reference) src.getExtensionByUrl(INSTANCE_VERSION_CONTENT).getValue()));
339    return tgt;
340  }
341
342  public static org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioInstanceVersionComponent convertExampleScenarioInstanceVersionComponent(org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceVersionComponent src) throws FHIRException {
343    if (src == null)
344      return null;
345    org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioInstanceVersionComponent tgt = new org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioInstanceVersionComponent();
346    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
347    if (src.hasKey())
348      tgt.setVersionIdElement(String40_50.convertString(src.getKeyElement()));
349    if (src.hasDescription())
350      tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement()));
351    if (src.hasTitle())
352      tgt.addExtension(INSTANCE_VERSION_TITLE, String40_50.convertString(src.getTitleElement()));
353    if (src.hasContent())
354      tgt.addExtension(INSTANCE_VERSION_CONTENT, Reference40_50.convertReference(src.getContent()));
355    return tgt;
356  }
357
358  public static org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent convertExampleScenarioInstanceContainedInstanceComponent(org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent src) throws FHIRException {
359    if (src == null)
360      return null;
361    org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent tgt = new org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent();
362    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
363    if (src.hasResourceId())
364      tgt.setInstanceReferenceElement(String40_50.convertString(src.getResourceIdElement()));
365    if (src.hasVersionId())
366      tgt.setVersionReferenceElement(String40_50.convertString(src.getVersionIdElement()));
367    return tgt;
368  }
369
370  public static org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent convertExampleScenarioInstanceContainedInstanceComponent(org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent src) throws FHIRException {
371    if (src == null)
372      return null;
373    org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent tgt = new org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent();
374    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
375    if (src.hasInstanceReference())
376      tgt.setResourceIdElement(String40_50.convertString(src.getInstanceReferenceElement()));
377    if (src.hasVersionReference())
378      tgt.setVersionIdElement(String40_50.convertString(src.getVersionReferenceElement()));
379    return tgt;
380  }
381
382  public static org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessComponent convertExampleScenarioProcessComponent(org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessComponent src) throws FHIRException {
383    if (src == null)
384      return null;
385    org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessComponent tgt = new org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessComponent();
386    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
387    if (src.hasTitle())
388      tgt.setTitleElement(String40_50.convertString(src.getTitleElement()));
389    if (src.hasDescription())
390      tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement()));
391    if (src.hasPreConditions())
392      tgt.setPreConditionsElement(MarkDown40_50.convertMarkdown(src.getPreConditionsElement()));
393    if (src.hasPostConditions())
394      tgt.setPostConditionsElement(MarkDown40_50.convertMarkdown(src.getPostConditionsElement()));
395    for (org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessStepComponent t : src.getStep())
396      tgt.addStep(convertExampleScenarioProcessStepComponent(t));
397    return tgt;
398  }
399
400  public static org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessComponent convertExampleScenarioProcessComponent(org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessComponent src) throws FHIRException {
401    if (src == null)
402      return null;
403    org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessComponent tgt = new org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessComponent();
404    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
405    if (src.hasTitle())
406      tgt.setTitleElement(String40_50.convertString(src.getTitleElement()));
407    if (src.hasDescription())
408      tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement()));
409    if (src.hasPreConditions())
410      tgt.setPreConditionsElement(MarkDown40_50.convertMarkdown(src.getPreConditionsElement()));
411    if (src.hasPostConditions())
412      tgt.setPostConditionsElement(MarkDown40_50.convertMarkdown(src.getPostConditionsElement()));
413    for (org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessStepComponent t : src.getStep())
414      tgt.addStep(convertExampleScenarioProcessStepComponent(t));
415    return tgt;
416  }
417
418  public static org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessStepComponent convertExampleScenarioProcessStepComponent(org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessStepComponent src) throws FHIRException {
419    if (src == null)
420      return null;
421    org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessStepComponent tgt = new org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessStepComponent();
422    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt, PROCESS_STEP_NUMBER, PROCESS_STEP_WORKFLOW);
423    if (src.hasOperation())
424      tgt.setNumberElement(String40_50.convertString(src.getOperation().getNumberElement()));
425    else if (src.hasExtension(PROCESS_STEP_NUMBER))
426      tgt.setNumberElement(String40_50.convertString((org.hl7.fhir.r4.model.StringType)src.getExtensionByUrl(PROCESS_STEP_NUMBER).getValue()));
427    for (org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessComponent t : src.getProcess())
428      tgt.setProcess(convertExampleScenarioProcessComponent(t));
429    if (src.hasExtension(PROCESS_STEP_WORKFLOW))
430      tgt.setWorkflowElement(Canonical40_50.convertCanonical((org.hl7.fhir.r4.model.CanonicalType)src.getExtensionByUrl(PROCESS_STEP_WORKFLOW).getValue()));
431
432    if (src.hasPause())
433      tgt.setPauseElement(Boolean40_50.convertBoolean(src.getPauseElement()));
434    if (src.hasOperation())
435      tgt.setOperation(convertExampleScenarioProcessStepOperationComponent(src.getOperation()));
436    for (org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessStepAlternativeComponent t : src.getAlternative())
437      tgt.addAlternative(convertExampleScenarioProcessStepAlternativeComponent(t));
438    return tgt;
439  }
440
441  public static org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessStepComponent convertExampleScenarioProcessStepComponent(org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessStepComponent src) throws FHIRException {
442    if (src == null)
443      return null;
444    org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessStepComponent tgt = new org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessStepComponent();
445    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
446
447    if (src.hasProcess())
448      tgt.addProcess(convertExampleScenarioProcessComponent(src.getProcess()));
449    if (src.hasWorkflow())
450      tgt.addExtension(PROCESS_STEP_WORKFLOW, Canonical40_50.convertCanonical(src.getWorkflowElement()));
451    if (src.hasPause())
452      tgt.setPauseElement(Boolean40_50.convertBoolean(src.getPauseElement()));
453    if (src.hasOperation())
454      tgt.setOperation(convertExampleScenarioProcessStepOperationComponent(src.getOperation(), src.getNumber()));
455    else if (src.hasNumber()) {
456      tgt.addExtension(PROCESS_STEP_NUMBER, String40_50.convertString(src.getNumberElement()));
457    }
458    for (org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessStepAlternativeComponent t : src.getAlternative())
459      tgt.addAlternative(convertExampleScenarioProcessStepAlternativeComponent(t));
460    return tgt;
461  }
462
463  public static org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessStepOperationComponent convertExampleScenarioProcessStepOperationComponent(org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessStepOperationComponent src) throws FHIRException {
464    if (src == null)
465      return null;
466    org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessStepOperationComponent tgt = new org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessStepOperationComponent();
467    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
468//    if (src.hasNumber())
469//      tgt.setNumberElement(String40_50.convertString(src.getNumberElement()));
470    if (src.hasType()) {
471      tgt.getType().setSystem("http://hl7.org/fhir/restful-interaction");
472      tgt.getType().setCode(src.getType());
473    }
474    if (src.hasName())
475      tgt.setTitleElement(String40_50.convertString(src.getNameElement()));
476    if (src.hasInitiator())
477      tgt.setInitiatorElement(String40_50.convertString(src.getInitiatorElement()));
478    if (src.hasReceiver())
479      tgt.setReceiverElement(String40_50.convertString(src.getReceiverElement()));
480    if (src.hasDescription())
481      tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement()));
482    if (src.hasInitiatorActive())
483      tgt.setInitiatorActiveElement(Boolean40_50.convertBoolean(src.getInitiatorActiveElement()));
484    if (src.hasReceiverActive())
485      tgt.setReceiverActiveElement(Boolean40_50.convertBoolean(src.getReceiverActiveElement()));
486    if (src.hasRequest())
487      tgt.setRequest(convertExampleScenarioInstanceContainedInstanceComponent(src.getRequest()));
488    if (src.hasResponse())
489      tgt.setResponse(convertExampleScenarioInstanceContainedInstanceComponent(src.getResponse()));
490    return tgt;
491  }
492
493  public static org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessStepOperationComponent convertExampleScenarioProcessStepOperationComponent(org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessStepOperationComponent src, String stepPosition) throws FHIRException {
494    if (src == null)
495      return null;
496    org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessStepOperationComponent tgt = new org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessStepOperationComponent();
497    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
498    if (src.hasExtension("http://hl7.org/fhir/4.0/StructureDefinition/extension-ExampleScenario.process.step.operation.number"))
499      tgt.setNumber(src.getExtensionByUrl("http://hl7.org/fhir/4.0/StructureDefinition/extension-ExampleScenario.process.step.operation.number").getValueStringType().toString());
500    else
501      tgt.setNumber(stepPosition);
502    if (src.hasType())
503      tgt.setType(src.getType().getCode());
504    if (src.hasTitle())
505      tgt.setNameElement(String40_50.convertString(src.getTitleElement()));
506    if (src.hasInitiator())
507      tgt.setInitiatorElement(String40_50.convertString(src.getInitiatorElement()));
508    if (src.hasReceiver())
509      tgt.setReceiverElement(String40_50.convertString(src.getReceiverElement()));
510    if (src.hasDescription())
511      tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement()));
512    if (src.hasInitiatorActive())
513      tgt.setInitiatorActiveElement(Boolean40_50.convertBoolean(src.getInitiatorActiveElement()));
514    if (src.hasReceiverActive())
515      tgt.setReceiverActiveElement(Boolean40_50.convertBoolean(src.getReceiverActiveElement()));
516    if (src.hasRequest())
517      tgt.setRequest(convertExampleScenarioInstanceContainedInstanceComponent(src.getRequest()));
518    if (src.hasResponse())
519      tgt.setResponse(convertExampleScenarioInstanceContainedInstanceComponent(src.getResponse()));
520    return tgt;
521  }
522
523  public static org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessStepAlternativeComponent convertExampleScenarioProcessStepAlternativeComponent(org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessStepAlternativeComponent src) throws FHIRException {
524    if (src == null)
525      return null;
526    org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessStepAlternativeComponent tgt = new org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessStepAlternativeComponent();
527    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
528    if (src.hasTitle())
529      tgt.setTitleElement(String40_50.convertString(src.getTitleElement()));
530    if (src.hasDescription())
531      tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement()));
532    for (org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessStepComponent t : src.getStep())
533      tgt.addStep(convertExampleScenarioProcessStepComponent(t));
534    return tgt;
535  }
536
537  public static org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessStepAlternativeComponent convertExampleScenarioProcessStepAlternativeComponent(org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessStepAlternativeComponent src) throws FHIRException {
538    if (src == null)
539      return null;
540    org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessStepAlternativeComponent tgt = new org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessStepAlternativeComponent();
541    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
542    if (src.hasTitle())
543      tgt.setTitleElement(String40_50.convertString(src.getTitleElement()));
544    if (src.hasDescription())
545      tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement()));
546    for (org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessStepComponent t : src.getStep())
547      tgt.addStep(convertExampleScenarioProcessStepComponent(t));
548    return tgt;
549  }
550}