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.Utilities40_50;
005import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50;
006import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50;
007import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50;
008import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50;
009import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50;
010import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Code40_50;
011import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50;
012import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Integer40_50;
013import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50;
014import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50;
015import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50;
016import org.hl7.fhir.exceptions.FHIRException;
017import org.hl7.fhir.r5.model.Enumeration;
018import org.hl7.fhir.r5.model.Enumerations.VersionIndependentResourceTypesAll;
019import org.hl7.fhir.r5.model.Enumerations.VersionIndependentResourceTypesAllEnumFactory;
020
021/*
022  Copyright (c) 2011+, HL7, Inc.
023  All rights reserved.
024  
025  Redistribution and use in source and binary forms, with or without modification, 
026  are permitted provided that the following conditions are met:
027  
028   * Redistributions of source code must retain the above copyright notice, this 
029     list of conditions and the following disclaimer.
030   * Redistributions in binary form must reproduce the above copyright notice, 
031     this list of conditions and the following disclaimer in the documentation 
032     and/or other materials provided with the distribution.
033   * Neither the name of HL7 nor the names of its contributors may be used to 
034     endorse or promote products derived from this software without specific 
035     prior written permission.
036  
037  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
038  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
039  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
040  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
041  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
042  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
043  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
044  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
045  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
046  POSSIBILITY OF SUCH DAMAGE.
047  
048*/
049// Generated on Sun, Feb 24, 2019 11:37+1100 for FHIR v4.0.0
050public class OperationDefinition40_50 {
051
052  public static org.hl7.fhir.r5.model.OperationDefinition convertOperationDefinition(org.hl7.fhir.r4.model.OperationDefinition src) throws FHIRException {
053    if (src == null)
054      return null;
055    org.hl7.fhir.r5.model.OperationDefinition tgt = new org.hl7.fhir.r5.model.OperationDefinition();
056    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt);
057    if (src.hasUrl())
058      tgt.setUrlElement(Uri40_50.convertUri(src.getUrlElement()));
059    if (src.hasVersion())
060      tgt.setVersionElement(String40_50.convertString(src.getVersionElement()));
061    if (src.hasName())
062      tgt.setNameElement(String40_50.convertString(src.getNameElement()));
063    if (src.hasTitle())
064      tgt.setTitleElement(String40_50.convertString(src.getTitleElement()));
065    if (src.hasStatus())
066      tgt.setStatusElement(Enumerations40_50.convertPublicationStatus(src.getStatusElement()));
067    if (src.hasKind())
068      tgt.setKindElement(convertOperationKind(src.getKindElement()));
069    if (src.hasExperimental())
070      tgt.setExperimentalElement(Boolean40_50.convertBoolean(src.getExperimentalElement()));
071    if (src.hasDate())
072      tgt.setDateElement(DateTime40_50.convertDateTime(src.getDateElement()));
073    if (src.hasPublisher())
074      tgt.setPublisherElement(String40_50.convertString(src.getPublisherElement()));
075    for (org.hl7.fhir.r4.model.ContactDetail t : src.getContact())
076      tgt.addContact(ContactDetail40_50.convertContactDetail(t));
077    if (src.hasDescription())
078      tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement()));
079    for (org.hl7.fhir.r4.model.UsageContext t : src.getUseContext())
080      tgt.addUseContext(UsageContext40_50.convertUsageContext(t));
081    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getJurisdiction())
082      tgt.addJurisdiction(CodeableConcept40_50.convertCodeableConcept(t));
083    if (src.hasPurpose())
084      tgt.setPurposeElement(MarkDown40_50.convertMarkdown(src.getPurposeElement()));
085    if (src.hasAffectsState())
086      tgt.setAffectsStateElement(Boolean40_50.convertBoolean(src.getAffectsStateElement()));
087    if (src.hasCode())
088      tgt.setCodeElement(Code40_50.convertCode(src.getCodeElement()));
089    if (src.hasComment())
090      tgt.setCommentElement(MarkDown40_50.convertMarkdown(src.getCommentElement()));
091    if (src.hasBase())
092      tgt.setBaseElement(Canonical40_50.convertCanonical(src.getBaseElement()));
093    for (org.hl7.fhir.r4.model.CodeType t : src.getResource()) tgt.getResource().add(new Enumeration<VersionIndependentResourceTypesAll>(new VersionIndependentResourceTypesAllEnumFactory(), Code40_50.convertCode(t)));
094    if (src.hasSystem())
095      tgt.setSystemElement(Boolean40_50.convertBoolean(src.getSystemElement()));
096    if (src.hasType())
097      tgt.setTypeElement(Boolean40_50.convertBoolean(src.getTypeElement()));
098    if (src.hasInstance())
099      tgt.setInstanceElement(Boolean40_50.convertBoolean(src.getInstanceElement()));
100    if (src.hasInputProfile())
101      tgt.setInputProfileElement(Canonical40_50.convertCanonical(src.getInputProfileElement()));
102    if (src.hasOutputProfile())
103      tgt.setOutputProfileElement(Canonical40_50.convertCanonical(src.getOutputProfileElement()));
104    for (org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterComponent t : src.getParameter())
105      tgt.addParameter(convertOperationDefinitionParameterComponent(t));
106    for (org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionOverloadComponent t : src.getOverload())
107      tgt.addOverload(convertOperationDefinitionOverloadComponent(t));
108    return tgt;
109  }
110
111  public static org.hl7.fhir.r4.model.OperationDefinition convertOperationDefinition(org.hl7.fhir.r5.model.OperationDefinition src) throws FHIRException {
112    if (src == null)
113      return null;
114    org.hl7.fhir.r4.model.OperationDefinition tgt = new org.hl7.fhir.r4.model.OperationDefinition();
115    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt);
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.hasName())
121      tgt.setNameElement(String40_50.convertString(src.getNameElement()));
122    if (src.hasTitle())
123      tgt.setTitleElement(String40_50.convertString(src.getTitleElement()));
124    if (src.hasStatus())
125      tgt.setStatusElement(Enumerations40_50.convertPublicationStatus(src.getStatusElement()));
126    if (src.hasKind())
127      tgt.setKindElement(convertOperationKind(src.getKindElement()));
128    if (src.hasExperimental())
129      tgt.setExperimentalElement(Boolean40_50.convertBoolean(src.getExperimentalElement()));
130    if (src.hasDate())
131      tgt.setDateElement(DateTime40_50.convertDateTime(src.getDateElement()));
132    if (src.hasPublisher())
133      tgt.setPublisherElement(String40_50.convertString(src.getPublisherElement()));
134    for (org.hl7.fhir.r5.model.ContactDetail t : src.getContact())
135      tgt.addContact(ContactDetail40_50.convertContactDetail(t));
136    if (src.hasDescription())
137      tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement()));
138    for (org.hl7.fhir.r5.model.UsageContext t : src.getUseContext())
139      tgt.addUseContext(UsageContext40_50.convertUsageContext(t));
140    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getJurisdiction())
141      tgt.addJurisdiction(CodeableConcept40_50.convertCodeableConcept(t));
142    if (src.hasPurpose())
143      tgt.setPurposeElement(MarkDown40_50.convertMarkdown(src.getPurposeElement()));
144    if (src.hasAffectsState())
145      tgt.setAffectsStateElement(Boolean40_50.convertBoolean(src.getAffectsStateElement()));
146    if (src.hasCode())
147      tgt.setCodeElement(Code40_50.convertCode(src.getCodeElement()));
148    if (src.hasComment())
149      tgt.setCommentElement(MarkDown40_50.convertMarkdown(src.getCommentElement()));
150    if (src.hasBase())
151      tgt.setBaseElement(Canonical40_50.convertCanonical(src.getBaseElement()));
152    for (Enumeration<VersionIndependentResourceTypesAll> t : src.getResource()) tgt.getResource().add(Code40_50.convertCode(t.getCodeType()));
153    if (src.hasSystem())
154      tgt.setSystemElement(Boolean40_50.convertBoolean(src.getSystemElement()));
155    if (src.hasType())
156      tgt.setTypeElement(Boolean40_50.convertBoolean(src.getTypeElement()));
157    if (src.hasInstance())
158      tgt.setInstanceElement(Boolean40_50.convertBoolean(src.getInstanceElement()));
159    if (src.hasInputProfile())
160      tgt.setInputProfileElement(Canonical40_50.convertCanonical(src.getInputProfileElement()));
161    if (src.hasOutputProfile())
162      tgt.setOutputProfileElement(Canonical40_50.convertCanonical(src.getOutputProfileElement()));
163    for (org.hl7.fhir.r5.model.OperationDefinition.OperationDefinitionParameterComponent t : src.getParameter())
164      tgt.addParameter(convertOperationDefinitionParameterComponent(t));
165    for (org.hl7.fhir.r5.model.OperationDefinition.OperationDefinitionOverloadComponent t : src.getOverload())
166      tgt.addOverload(convertOperationDefinitionOverloadComponent(t));
167    return tgt;
168  }
169
170  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.OperationDefinition.OperationKind> convertOperationKind(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.OperationDefinition.OperationKind> src) throws FHIRException {
171    if (src == null || src.isEmpty())
172      return null;
173    org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.OperationDefinition.OperationKind> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.OperationDefinition.OperationKindEnumFactory());
174    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
175    switch (src.getValue()) {
176      case OPERATION:
177        tgt.setValue(org.hl7.fhir.r5.model.OperationDefinition.OperationKind.OPERATION);
178        break;
179      case QUERY:
180        tgt.setValue(org.hl7.fhir.r5.model.OperationDefinition.OperationKind.QUERY);
181        break;
182      default:
183        tgt.setValue(org.hl7.fhir.r5.model.OperationDefinition.OperationKind.NULL);
184        break;
185    }
186    return tgt;
187  }
188
189  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.OperationDefinition.OperationKind> convertOperationKind(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.OperationDefinition.OperationKind> src) throws FHIRException {
190    if (src == null || src.isEmpty())
191      return null;
192    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.OperationDefinition.OperationKind> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.OperationDefinition.OperationKindEnumFactory());
193    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
194    switch (src.getValue()) {
195      case OPERATION:
196        tgt.setValue(org.hl7.fhir.r4.model.OperationDefinition.OperationKind.OPERATION);
197        break;
198      case QUERY:
199        tgt.setValue(org.hl7.fhir.r4.model.OperationDefinition.OperationKind.QUERY);
200        break;
201      default:
202        tgt.setValue(org.hl7.fhir.r4.model.OperationDefinition.OperationKind.NULL);
203        break;
204    }
205    return tgt;
206  }
207
208  public static org.hl7.fhir.r5.model.OperationDefinition.OperationDefinitionParameterComponent convertOperationDefinitionParameterComponent(org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterComponent src) throws FHIRException {
209    if (src == null)
210      return null;
211    org.hl7.fhir.r5.model.OperationDefinition.OperationDefinitionParameterComponent tgt = new org.hl7.fhir.r5.model.OperationDefinition.OperationDefinitionParameterComponent();
212    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
213    if (src.hasName())
214      tgt.setNameElement(Code40_50.convertCode(src.getNameElement()));
215    if (src.hasUse())
216      tgt.setUseElement(convertOperationParameterUse(src.getUseElement()));
217    if (src.hasMin())
218      tgt.setMinElement(Integer40_50.convertInteger(src.getMinElement()));
219    if (src.hasMax())
220      tgt.setMaxElement(String40_50.convertString(src.getMaxElement()));
221    if (src.hasDocumentation())
222      tgt.setDocumentationElement(String40_50.convertStringToMarkdown(src.getDocumentationElement()));
223    if (src.hasType()) {
224      Utilities40_50.convertType(src.getTypeElement(), tgt.getTypeElement());      
225    }
226    for (org.hl7.fhir.r4.model.CanonicalType t : src.getTargetProfile())
227      tgt.getTargetProfile().add(Canonical40_50.convertCanonical(t));
228    if (src.hasSearchType())
229      tgt.setSearchTypeElement(Enumerations40_50.convertSearchParamType(src.getSearchTypeElement()));
230    if (src.hasBinding())
231      tgt.setBinding(convertOperationDefinitionParameterBindingComponent(src.getBinding()));
232    for (org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterReferencedFromComponent t : src.getReferencedFrom())
233      tgt.addReferencedFrom(convertOperationDefinitionParameterReferencedFromComponent(t));
234    for (org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterComponent t : src.getPart())
235      tgt.addPart(convertOperationDefinitionParameterComponent(t));
236    return tgt;
237  }
238
239  public static org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterComponent convertOperationDefinitionParameterComponent(org.hl7.fhir.r5.model.OperationDefinition.OperationDefinitionParameterComponent src) throws FHIRException {
240    if (src == null)
241      return null;
242    org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterComponent tgt = new org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterComponent();
243    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
244    if (src.hasName())
245      tgt.setNameElement(Code40_50.convertCode(src.getNameElement()));
246    if (src.hasUse())
247      tgt.setUseElement(convertOperationParameterUse(src.getUseElement()));
248    if (src.hasMin())
249      tgt.setMinElement(Integer40_50.convertInteger(src.getMinElement()));
250    if (src.hasMax())
251      tgt.setMaxElement(String40_50.convertString(src.getMaxElement()));
252    if (src.hasDocumentation())
253      tgt.setDocumentationElement(String40_50.convertString(src.getDocumentationElement()));
254    if (src.hasType()) {
255      Utilities40_50.convertType(src.getTypeElement(), tgt.getTypeElement());     
256    }
257    for (org.hl7.fhir.r5.model.CanonicalType t : src.getTargetProfile())
258      tgt.getTargetProfile().add(Canonical40_50.convertCanonical(t));
259    if (src.hasSearchType())
260      tgt.setSearchTypeElement(Enumerations40_50.convertSearchParamType(src.getSearchTypeElement()));
261    if (src.hasBinding())
262      tgt.setBinding(convertOperationDefinitionParameterBindingComponent(src.getBinding()));
263    for (org.hl7.fhir.r5.model.OperationDefinition.OperationDefinitionParameterReferencedFromComponent t : src.getReferencedFrom())
264      tgt.addReferencedFrom(convertOperationDefinitionParameterReferencedFromComponent(t));
265    for (org.hl7.fhir.r5.model.OperationDefinition.OperationDefinitionParameterComponent t : src.getPart())
266      tgt.addPart(convertOperationDefinitionParameterComponent(t));
267    return tgt;
268  }
269
270  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.OperationParameterUse> convertOperationParameterUse(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.OperationDefinition.OperationParameterUse> src) throws FHIRException {
271    if (src == null || src.isEmpty())
272      return null;
273    org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.OperationParameterUse> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.OperationParameterUseEnumFactory());
274    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
275    switch (src.getValue()) {
276      case IN:
277        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.OperationParameterUse.IN);
278        break;
279      case OUT:
280        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.OperationParameterUse.OUT);
281        break;
282      default:
283        tgt.setValue(org.hl7.fhir.r5.model.Enumerations.OperationParameterUse.NULL);
284        break;
285    }
286    return tgt;
287  }
288
289  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.OperationDefinition.OperationParameterUse> convertOperationParameterUse(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.OperationParameterUse> src) throws FHIRException {
290    if (src == null || src.isEmpty())
291      return null;
292    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.OperationDefinition.OperationParameterUse> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.OperationDefinition.OperationParameterUseEnumFactory());
293    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
294    switch (src.getValue()) {
295      case IN:
296        tgt.setValue(org.hl7.fhir.r4.model.OperationDefinition.OperationParameterUse.IN);
297        break;
298      case OUT:
299        tgt.setValue(org.hl7.fhir.r4.model.OperationDefinition.OperationParameterUse.OUT);
300        break;
301      default:
302        tgt.setValue(org.hl7.fhir.r4.model.OperationDefinition.OperationParameterUse.NULL);
303        break;
304    }
305    return tgt;
306  }
307
308  public static org.hl7.fhir.r5.model.OperationDefinition.OperationDefinitionParameterBindingComponent convertOperationDefinitionParameterBindingComponent(org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterBindingComponent src) throws FHIRException {
309    if (src == null)
310      return null;
311    org.hl7.fhir.r5.model.OperationDefinition.OperationDefinitionParameterBindingComponent tgt = new org.hl7.fhir.r5.model.OperationDefinition.OperationDefinitionParameterBindingComponent();
312    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
313    if (src.hasStrength())
314      tgt.setStrengthElement(Enumerations40_50.convertBindingStrength(src.getStrengthElement()));
315    if (src.hasValueSet())
316      tgt.setValueSetElement(Canonical40_50.convertCanonical(src.getValueSetElement()));
317    return tgt;
318  }
319
320  public static org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterBindingComponent convertOperationDefinitionParameterBindingComponent(org.hl7.fhir.r5.model.OperationDefinition.OperationDefinitionParameterBindingComponent src) throws FHIRException {
321    if (src == null)
322      return null;
323    org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterBindingComponent tgt = new org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterBindingComponent();
324    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
325    if (src.hasStrength())
326      tgt.setStrengthElement(Enumerations40_50.convertBindingStrength(src.getStrengthElement()));
327    if (src.hasValueSet())
328      tgt.setValueSetElement(Canonical40_50.convertCanonical(src.getValueSetElement()));
329    return tgt;
330  }
331
332  public static org.hl7.fhir.r5.model.OperationDefinition.OperationDefinitionParameterReferencedFromComponent convertOperationDefinitionParameterReferencedFromComponent(org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterReferencedFromComponent src) throws FHIRException {
333    if (src == null)
334      return null;
335    org.hl7.fhir.r5.model.OperationDefinition.OperationDefinitionParameterReferencedFromComponent tgt = new org.hl7.fhir.r5.model.OperationDefinition.OperationDefinitionParameterReferencedFromComponent();
336    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
337    if (src.hasSource())
338      tgt.setSourceElement(String40_50.convertString(src.getSourceElement()));
339    if (src.hasSourceId())
340      tgt.setSourceIdElement(String40_50.convertString(src.getSourceIdElement()));
341    return tgt;
342  }
343
344  public static org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterReferencedFromComponent convertOperationDefinitionParameterReferencedFromComponent(org.hl7.fhir.r5.model.OperationDefinition.OperationDefinitionParameterReferencedFromComponent src) throws FHIRException {
345    if (src == null)
346      return null;
347    org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterReferencedFromComponent tgt = new org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterReferencedFromComponent();
348    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
349    if (src.hasSource())
350      tgt.setSourceElement(String40_50.convertString(src.getSourceElement()));
351    if (src.hasSourceId())
352      tgt.setSourceIdElement(String40_50.convertString(src.getSourceIdElement()));
353    return tgt;
354  }
355
356  public static org.hl7.fhir.r5.model.OperationDefinition.OperationDefinitionOverloadComponent convertOperationDefinitionOverloadComponent(org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionOverloadComponent src) throws FHIRException {
357    if (src == null)
358      return null;
359    org.hl7.fhir.r5.model.OperationDefinition.OperationDefinitionOverloadComponent tgt = new org.hl7.fhir.r5.model.OperationDefinition.OperationDefinitionOverloadComponent();
360    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
361    for (org.hl7.fhir.r4.model.StringType t : src.getParameterName())
362      tgt.getParameterName().add(String40_50.convertString(t));
363    if (src.hasComment())
364      tgt.setCommentElement(String40_50.convertString(src.getCommentElement()));
365    return tgt;
366  }
367
368  public static org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionOverloadComponent convertOperationDefinitionOverloadComponent(org.hl7.fhir.r5.model.OperationDefinition.OperationDefinitionOverloadComponent src) throws FHIRException {
369    if (src == null)
370      return null;
371    org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionOverloadComponent tgt = new org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionOverloadComponent();
372    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
373    for (org.hl7.fhir.r5.model.StringType t : src.getParameterName())
374      tgt.getParameterName().add(String40_50.convertString(t));
375    if (src.hasComment())
376      tgt.setCommentElement(String40_50.convertString(src.getCommentElement()));
377    return tgt;
378  }
379}