001package org.hl7.fhir.convertors.conv40_50.resources40_50;
002
003import java.util.stream.Collectors;
004
005import org.hl7.fhir.convertors.VersionConvertorConstants;
006import org.hl7.fhir.convertors.context.ConversionContext40_50;
007import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_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.UsageContext40_50;
010import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50;
011import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50;
012import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Code40_50;
013import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50;
014import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Id40_50;
015import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50;
016import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50;
017import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50;
018import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Url40_50;
019import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50;
020import org.hl7.fhir.exceptions.FHIRException;
021import org.hl7.fhir.r4.model.Extension;
022import org.hl7.fhir.r4.model.MarkdownType;
023import org.hl7.fhir.r4.model.UrlType;
024import org.hl7.fhir.r5.model.CanonicalType;
025import org.hl7.fhir.r5.model.Enumeration;
026import org.hl7.fhir.r5.model.ImplementationGuide;
027import org.hl7.fhir.utilities.Utilities;
028
029/*
030  Copyright (c) 2011+, HL7, Inc.
031  All rights reserved.
032  
033  Redistribution and use in source and binary forms, with or without modification, 
034  are permitted provided that the following conditions are met:
035  
036   * Redistributions of source code must retain the above copyright notice, this 
037     list of conditions and the following disclaimer.
038   * Redistributions in binary form must reproduce the above copyright notice, 
039     this list of conditions and the following disclaimer in the documentation 
040     and/or other materials provided with the distribution.
041   * Neither the name of HL7 nor the names of its contributors may be used to 
042     endorse or promote products derived from this software without specific 
043     prior written permission.
044  
045  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
046  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
047  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
048  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
049  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
050  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
051  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
052  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
053  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
054  POSSIBILITY OF SUCH DAMAGE.
055  
056*/
057// Generated on Sun, Feb 24, 2019 11:37+1100 for FHIR v4.0.0
058public class ImplementationGuide40_50 {
059
060  public static org.hl7.fhir.r5.model.ImplementationGuide convertImplementationGuide(org.hl7.fhir.r4.model.ImplementationGuide src) throws FHIRException {
061    if (src == null)
062      return null;
063    org.hl7.fhir.r5.model.ImplementationGuide tgt = new org.hl7.fhir.r5.model.ImplementationGuide();
064    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt);
065    if (src.hasUrl())
066      tgt.setUrlElement(Uri40_50.convertUri(src.getUrlElement()));
067    if (src.hasVersion())
068      tgt.setVersionElement(String40_50.convertString(src.getVersionElement()));
069    if (src.hasName())
070      tgt.setNameElement(String40_50.convertString(src.getNameElement()));
071    if (src.hasTitle())
072      tgt.setTitleElement(String40_50.convertString(src.getTitleElement()));
073    if (src.hasStatus())
074      tgt.setStatusElement(Enumerations40_50.convertPublicationStatus(src.getStatusElement()));
075    if (src.hasExperimental())
076      tgt.setExperimentalElement(Boolean40_50.convertBoolean(src.getExperimentalElement()));
077    if (src.hasDate())
078      tgt.setDateElement(DateTime40_50.convertDateTime(src.getDateElement()));
079    if (src.hasPublisher())
080      tgt.setPublisherElement(String40_50.convertString(src.getPublisherElement()));
081    for (org.hl7.fhir.r4.model.ContactDetail t : src.getContact())
082      tgt.addContact(ContactDetail40_50.convertContactDetail(t));
083    if (src.hasDescription())
084      tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement()));
085    for (org.hl7.fhir.r4.model.UsageContext t : src.getUseContext())
086      tgt.addUseContext(UsageContext40_50.convertUsageContext(t));
087    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getJurisdiction())
088      tgt.addJurisdiction(CodeableConcept40_50.convertCodeableConcept(t));
089    if (src.hasCopyright())
090      tgt.setCopyrightElement(MarkDown40_50.convertMarkdown(src.getCopyrightElement()));
091    if (src.hasPackageId())
092      tgt.setPackageIdElement(Id40_50.convertId(src.getPackageIdElement()));
093    if (src.hasLicense())
094      tgt.setLicenseElement(convertSPDXLicense(src.getLicenseElement()));
095    tgt.setFhirVersion(src.getFhirVersion().stream()
096      .map(Enumerations40_50::convertFHIRVersion)
097      .collect(Collectors.toList()));
098    for (org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDependsOnComponent t : src.getDependsOn())
099      tgt.addDependsOn(convertImplementationGuideDependsOnComponent(t));
100    for (org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideGlobalComponent t : src.getGlobal())
101      tgt.addGlobal(convertImplementationGuideGlobalComponent(t));
102    if (src.hasDefinition())
103      tgt.setDefinition(convertImplementationGuideDefinitionComponent(src.getDefinition()));
104    if (src.hasManifest())
105      tgt.setManifest(convertImplementationGuideManifestComponent(src.getManifest()));
106    return tgt;
107  }
108
109  public static org.hl7.fhir.r4.model.ImplementationGuide convertImplementationGuide(ImplementationGuide src, boolean produceIllegalParameters) throws FHIRException {
110    if (src == null)
111      return null;
112    org.hl7.fhir.r4.model.ImplementationGuide tgt = new org.hl7.fhir.r4.model.ImplementationGuide();
113    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt);
114    if (src.hasUrl())
115      tgt.setUrlElement(Uri40_50.convertUri(src.getUrlElement()));
116    if (src.hasVersion())
117      tgt.setVersionElement(String40_50.convertString(src.getVersionElement()));
118    if (src.hasName())
119      tgt.setNameElement(String40_50.convertString(src.getNameElement()));
120    if (src.hasTitle())
121      tgt.setTitleElement(String40_50.convertString(src.getTitleElement()));
122    if (src.hasStatus())
123      tgt.setStatusElement(Enumerations40_50.convertPublicationStatus(src.getStatusElement()));
124    if (src.hasExperimental())
125      tgt.setExperimentalElement(Boolean40_50.convertBoolean(src.getExperimentalElement()));
126    if (src.hasDate())
127      tgt.setDateElement(DateTime40_50.convertDateTime(src.getDateElement()));
128    if (src.hasPublisher())
129      tgt.setPublisherElement(String40_50.convertString(src.getPublisherElement()));
130    for (org.hl7.fhir.r5.model.ContactDetail t : src.getContact())
131      tgt.addContact(ContactDetail40_50.convertContactDetail(t));
132    if (src.hasDescription())
133      tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement()));
134    for (org.hl7.fhir.r5.model.UsageContext t : src.getUseContext())
135      tgt.addUseContext(UsageContext40_50.convertUsageContext(t));
136    for (org.hl7.fhir.r5.model.CodeableConcept t : src.getJurisdiction())
137      tgt.addJurisdiction(CodeableConcept40_50.convertCodeableConcept(t));
138    if (src.hasCopyright())
139      tgt.setCopyrightElement(MarkDown40_50.convertMarkdown(src.getCopyrightElement()));
140    if (src.hasPackageId())
141      tgt.setPackageIdElement(Id40_50.convertId(src.getPackageIdElement()));
142    if (src.hasLicense())
143      tgt.setLicenseElement(convertSPDXLicense(src.getLicenseElement()));
144    tgt.setFhirVersion(src.getFhirVersion().stream()
145      .map(Enumerations40_50::convertFHIRVersion)
146      .collect(Collectors.toList()));
147    for (org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDependsOnComponent t : src.getDependsOn())
148      tgt.addDependsOn(convertImplementationGuideDependsOnComponent(t));
149    for (org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideGlobalComponent t : src.getGlobal())
150      tgt.addGlobal(convertImplementationGuideGlobalComponent(t));
151    if (src.hasDefinition())
152      tgt.setDefinition(convertImplementationGuideDefinitionComponent(src.getDefinition(), produceIllegalParameters));
153    if (src.hasManifest())
154      tgt.setManifest(convertImplementationGuideManifestComponent(src.getManifest()));
155    return tgt;
156  }
157
158  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ImplementationGuide.SPDXLicense> convertSPDXLicense(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ImplementationGuide.SPDXLicense> src) throws FHIRException {
159    if (src == null || src.isEmpty())
160      return null;
161    org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ImplementationGuide.SPDXLicense> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.ImplementationGuide.SPDXLicenseEnumFactory());
162    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
163    tgt.setValue(org.hl7.fhir.r5.model.ImplementationGuide.SPDXLicense.fromCode(src.getValue().toCode()));
164    return tgt;
165  }
166
167  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ImplementationGuide.SPDXLicense> convertSPDXLicense(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ImplementationGuide.SPDXLicense> src) throws FHIRException {
168    if (src == null || src.isEmpty())
169      return null;
170    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ImplementationGuide.SPDXLicense> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.ImplementationGuide.SPDXLicenseEnumFactory());
171    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
172    tgt.setValue(org.hl7.fhir.r4.model.ImplementationGuide.SPDXLicense.fromCode(src.getValue().toCode()));
173    return tgt;
174  }
175
176  public static org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDependsOnComponent convertImplementationGuideDependsOnComponent(org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDependsOnComponent src) throws FHIRException {
177    if (src == null)
178      return null;
179    org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDependsOnComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDependsOnComponent();
180    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt, VersionConvertorConstants.EXT_IG_DEPENDSON_REASON);
181    if (src.hasUri())
182      tgt.setUriElement(Canonical40_50.convertCanonical(src.getUriElement()));
183    if (src.hasPackageId())
184      tgt.setPackageIdElement(Id40_50.convertId(src.getPackageIdElement()));
185    if (src.hasVersion())
186      tgt.setVersionElement(String40_50.convertString(src.getVersionElement()));
187    if (src.hasExtension(VersionConvertorConstants.EXT_IG_DEPENDSON_REASON))
188      tgt.setReasonElement(MarkDown40_50.convertMarkdown((org.hl7.fhir.r4.model.MarkdownType)src.getExtensionByUrl(VersionConvertorConstants.EXT_IG_DEPENDSON_REASON).getValue()));
189    return tgt;
190  }
191
192  public static org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDependsOnComponent convertImplementationGuideDependsOnComponent(org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDependsOnComponent src) throws FHIRException {
193    if (src == null)
194      return null;
195    org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDependsOnComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDependsOnComponent();
196    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
197    if (src.hasUri())
198      tgt.setUriElement(Canonical40_50.convertCanonical(src.getUriElement()));
199    if (src.hasPackageId())
200      tgt.setPackageIdElement(Id40_50.convertId(src.getPackageIdElement()));
201    if (src.hasVersion())
202      tgt.setVersionElement(String40_50.convertString(src.getVersionElement()));
203    if (src.hasReason())
204      tgt.addExtension(VersionConvertorConstants.EXT_IG_DEPENDSON_REASON, MarkDown40_50.convertMarkdown(src.getReasonElement()));
205    return tgt;
206  }
207
208  public static org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideGlobalComponent convertImplementationGuideGlobalComponent(org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideGlobalComponent src) throws FHIRException {
209    if (src == null)
210      return null;
211    org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideGlobalComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideGlobalComponent();
212    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
213    if (src.hasType())
214      tgt.setTypeElement(Code40_50.convertCode(src.getTypeElement()));
215    if (src.hasProfile())
216      tgt.setProfileElement(Canonical40_50.convertCanonical(src.getProfileElement()));
217    return tgt;
218  }
219
220  public static org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideGlobalComponent convertImplementationGuideGlobalComponent(org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideGlobalComponent src) throws FHIRException {
221    if (src == null)
222      return null;
223    org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideGlobalComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideGlobalComponent();
224    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
225    if (src.hasType())
226      tgt.setTypeElement(Code40_50.convertCode(src.getTypeElement()));
227    if (src.hasProfile())
228      tgt.setProfileElement(Canonical40_50.convertCanonical(src.getProfileElement()));
229    return tgt;
230  }
231
232  public static org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionComponent convertImplementationGuideDefinitionComponent(org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionComponent src) throws FHIRException {
233    if (src == null)
234      return null;
235    org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionComponent();
236    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
237    for (org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionGroupingComponent t : src.getGrouping())
238      tgt.addGrouping(convertImplementationGuideDefinitionGroupingComponent(t));
239    for (org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent t : src.getResource())
240      tgt.addResource(convertImplementationGuideDefinitionResourceComponent(t));
241    if (src.hasPage())
242      tgt.setPage(convertImplementationGuideDefinitionPageComponent(src.getPage()));
243    for (org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent t : src.getParameter())
244      tgt.addParameter(convertImplementationGuideDefinitionParameterComponent(t));
245    for (org.hl7.fhir.r4.model.Extension e : org.hl7.fhir.r4.utils.ToolingExtensions.getExtensions(src, VersionConvertorConstants.EXT_IG_DEFINITION_PARAMETER)) {
246      org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent p = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent();
247      p.getCode().setCode(org.hl7.fhir.r4.utils.ToolingExtensions.readStringExtension(e, "code"));
248      p.getCode().setSystem(VersionConvertorConstants.EXT_IG_DEFINITION_PARAM_URL_EXT);
249      p.setValue(org.hl7.fhir.r4.utils.ToolingExtensions.readStringExtension(e, "value"));
250      tgt.addParameter(p);
251    }
252    for (org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionTemplateComponent t : src.getTemplate())
253      tgt.addTemplate(convertImplementationGuideDefinitionTemplateComponent(t));
254    return tgt;
255  }
256
257  public static org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionComponent convertImplementationGuideDefinitionComponent(ImplementationGuide.ImplementationGuideDefinitionComponent src, boolean produceIllegalParameters) throws FHIRException {
258    if (src == null)
259      return null;
260    org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionComponent();
261    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
262    for (org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionGroupingComponent t : src.getGrouping())
263      tgt.addGrouping(convertImplementationGuideDefinitionGroupingComponent(t));
264    for (org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent t : src.getResource())
265      tgt.addResource(convertImplementationGuideDefinitionResourceComponent(t));
266    if (src.hasPage())
267      tgt.setPage(convertImplementationGuideDefinitionPageComponent(src.getPage()));
268    for (org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent t : src.getParameter()) {
269        if (produceIllegalParameters || Utilities.existsInList(t.getCode().getCode(), "apply", "path-resource", "path-pages", "path-tx-cache", "expansion-parameter", "rule-broken-links", "generate-xml", "generate-json", "generate-turtle", "html-template")) {
270          tgt.addParameter(convertImplementationGuideDefinitionParameterComponent(t));
271        } else {
272          org.hl7.fhir.r4.model.Extension e = new org.hl7.fhir.r4.model.Extension(VersionConvertorConstants.EXT_IG_DEFINITION_PARAMETER);
273          org.hl7.fhir.r4.model.Extension eCode = new org.hl7.fhir.r4.model.Extension("code", new org.hl7.fhir.r4.model.CodeType(t.getCode().getCode()));
274          org.hl7.fhir.r4.model.Extension eValue = new org.hl7.fhir.r4.model.Extension("value", new org.hl7.fhir.r4.model.StringType(t.getValue()));
275          e.addExtension(eCode);
276          e.addExtension(eValue);
277          tgt.addExtension(e);
278      }
279    }
280    for (org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionTemplateComponent t : src.getTemplate())
281      tgt.addTemplate(convertImplementationGuideDefinitionTemplateComponent(t));
282    return tgt;
283  }
284
285  public static org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionGroupingComponent convertImplementationGuideDefinitionGroupingComponent(org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionGroupingComponent src) throws FHIRException {
286    if (src == null)
287      return null;
288    org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionGroupingComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionGroupingComponent();
289    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
290    if (src.hasName())
291      tgt.setNameElement(String40_50.convertString(src.getNameElement()));
292    if (src.hasDescription())
293      tgt.setDescriptionElement(String40_50.convertStringToMarkdown(src.getDescriptionElement()));
294    return tgt;
295  }
296
297  public static org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionGroupingComponent convertImplementationGuideDefinitionGroupingComponent(org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionGroupingComponent src) throws FHIRException {
298    if (src == null)
299      return null;
300    org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionGroupingComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionGroupingComponent();
301    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
302    if (src.hasName())
303      tgt.setNameElement(String40_50.convertString(src.getNameElement()));
304    if (src.hasDescription())
305      tgt.setDescriptionElement(String40_50.convertString(src.getDescriptionElement()));
306    return tgt;
307  }
308
309  public static org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent convertImplementationGuideDefinitionResourceComponent(org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent src) throws FHIRException {
310    if (src == null)
311      return null;
312    org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent();
313    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
314    if (src.hasReference())
315      tgt.setReference(Reference40_50.convertReference(src.getReference()));
316    tgt.setFhirVersion(src.getFhirVersion().stream()
317      .map(Enumerations40_50::convertFHIRVersion)
318      .collect(Collectors.toList()));
319    if (src.hasName())
320      tgt.setNameElement(String40_50.convertString(src.getNameElement()));
321    if (src.hasDescription())
322      tgt.setDescriptionElement(String40_50.convertStringToMarkdown(src.getDescriptionElement()));
323    if (src.hasExampleBooleanType())
324      tgt.setIsExampleElement(Boolean40_50.convertBoolean(src.getExampleBooleanType()));
325    if (src.hasExampleCanonicalType()) {
326      tgt.setIsExample(true);
327      tgt.getProfile().add(Canonical40_50.convertCanonical(src.getExampleCanonicalType()));
328    }
329    for (Extension ext: src.getExtensionsByUrl(VersionConvertorConstants.EXT_IG_DEFINITION_RESOURCE_PROFILE)) {
330      tgt.getProfile().add(Canonical40_50.convertCanonical((org.hl7.fhir.r4.model.CanonicalType)ext.getValue()));
331    }
332    if (src.hasGroupingId())
333      tgt.setGroupingIdElement(Id40_50.convertId(src.getGroupingIdElement()));
334    return tgt;
335  }
336
337  public static org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent convertImplementationGuideDefinitionResourceComponent(org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent src) throws FHIRException {
338    if (src == null)
339      return null;
340    org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent();
341    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
342    if (src.hasReference())
343      tgt.setReference(Reference40_50.convertReference(src.getReference()));
344    if (src.hasName())
345      tgt.setNameElement(String40_50.convertString(src.getNameElement()));
346    if (src.hasDescription())
347      tgt.setDescriptionElement(String40_50.convertString(src.getDescriptionElement()));
348    if (src.hasIsExample())
349      tgt.setExample(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getIsExampleElement()));
350    if (src.hasProfile() && (!src.hasIsExample() || src.getIsExample())) {
351      tgt.setExample(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getProfile().get(0)));
352    }
353    if (src.getProfile().size() > 1) {
354      for (CanonicalType p: src.getProfile().subList(1, src.getProfile().size())) {
355        tgt.addExtension(VersionConvertorConstants.EXT_IG_DEFINITION_RESOURCE_PROFILE, Canonical40_50.convertCanonical(p));
356      }
357    }
358    if (src.hasGroupingId())
359      tgt.setGroupingIdElement(Id40_50.convertId(src.getGroupingIdElement()));
360    return tgt;
361  }
362
363  public static org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent convertImplementationGuideDefinitionPageComponent(org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent src) throws FHIRException {
364    if (src == null)
365      return null;
366    org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent();
367    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt, VersionConvertorConstants.EXT_IG_DEFINITION_PAGE_NAME);
368    if (src.hasExtension(VersionConvertorConstants.EXT_IG_DEFINITION_PAGE_NAME)) {
369      tgt.setNameElement(Url40_50.convertUrl((UrlType) src.getExtensionByUrl(VersionConvertorConstants.EXT_IG_DEFINITION_PAGE_NAME).getValue()));
370    }
371    if (src.hasNameReference()) {
372      tgt.setSource(new org.hl7.fhir.r5.model.UrlType(src.getNameReference().getReference()));
373      if (!tgt.hasName()) {
374        tgt.setName(tgt.getSourceUrlType().asStringValue());
375      }
376    }
377    if (src.hasNameUrlType()) {
378      tgt.setSource(Url40_50.convertUrl(src.getNameUrlType()));
379      if (!tgt.hasName()) {
380        tgt.setName(tgt.getSourceUrlType().asStringValue());
381      }
382    }
383    if (src.hasTitle())
384      tgt.setTitleElement(String40_50.convertString(src.getTitleElement()));
385    if (src.hasGeneration())
386      tgt.setGenerationElement(convertGuidePageGeneration(src.getGenerationElement()));
387    for (org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent t : src.getPage())
388      tgt.addPage(convertImplementationGuideDefinitionPageComponent(t));
389    return tgt;
390  }
391
392  public static org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent convertImplementationGuideDefinitionPageComponent(org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent src) throws FHIRException {
393    if (src == null)
394      return null;
395    org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent();
396    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
397    if (src.hasName()) {
398      tgt.addExtension().setUrl(VersionConvertorConstants.EXT_IG_DEFINITION_PAGE_NAME).setValue(Url40_50.convertUrl(src.getNameElement()));
399    }
400    if (src.hasSourceUrlType()) {
401      tgt.setName(Url40_50.convertUrl(src.getSourceUrlType()));
402    } 
403    if (src.hasTitle())
404      tgt.setTitleElement(String40_50.convertString(src.getTitleElement()));
405    if (src.hasGeneration())
406      tgt.setGenerationElement(convertGuidePageGeneration(src.getGenerationElement()));
407    for (org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent t : src.getPage())
408      tgt.addPage(convertImplementationGuideDefinitionPageComponent(t));
409    return tgt;
410  }
411
412  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ImplementationGuide.GuidePageGeneration> convertGuidePageGeneration(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ImplementationGuide.GuidePageGeneration> src) throws FHIRException {
413      if (src == null || src.isEmpty())
414          return null;
415      Enumeration<ImplementationGuide.GuidePageGeneration> tgt = new Enumeration<>(new ImplementationGuide.GuidePageGenerationEnumFactory());
416      ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
417      if (src.getValue() == null) {
418          tgt.setValue(null);
419      } else {
420          switch (src.getValue()) {
421              case HTML:
422                  tgt.setValue(ImplementationGuide.GuidePageGeneration.HTML);
423                  break;
424              case MARKDOWN:
425                  tgt.setValue(ImplementationGuide.GuidePageGeneration.MARKDOWN);
426                  break;
427              case XML:
428                  tgt.setValue(ImplementationGuide.GuidePageGeneration.XML);
429                  break;
430              case GENERATED:
431                  tgt.setValue(ImplementationGuide.GuidePageGeneration.GENERATED);
432                  break;
433              default:
434                  tgt.setValue(ImplementationGuide.GuidePageGeneration.NULL);
435                  break;
436          }
437      }
438      return tgt;
439  }
440
441  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ImplementationGuide.GuidePageGeneration> convertGuidePageGeneration(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ImplementationGuide.GuidePageGeneration> src) throws FHIRException {
442      if (src == null || src.isEmpty())
443          return null;
444      org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ImplementationGuide.GuidePageGeneration> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.ImplementationGuide.GuidePageGenerationEnumFactory());
445      ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
446      if (src.getValue() == null) {
447          tgt.setValue(null);
448      } else {
449          switch (src.getValue()) {
450              case HTML:
451                  tgt.setValue(org.hl7.fhir.r4.model.ImplementationGuide.GuidePageGeneration.HTML);
452                  break;
453              case MARKDOWN:
454                  tgt.setValue(org.hl7.fhir.r4.model.ImplementationGuide.GuidePageGeneration.MARKDOWN);
455                  break;
456              case XML:
457                  tgt.setValue(org.hl7.fhir.r4.model.ImplementationGuide.GuidePageGeneration.XML);
458                  break;
459              case GENERATED:
460                  tgt.setValue(org.hl7.fhir.r4.model.ImplementationGuide.GuidePageGeneration.GENERATED);
461                  break;
462              default:
463                  tgt.setValue(org.hl7.fhir.r4.model.ImplementationGuide.GuidePageGeneration.NULL);
464                  break;
465          }
466      }
467      return tgt;
468  }
469
470  public static org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent convertImplementationGuideDefinitionParameterComponent(org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent src) throws FHIRException {
471    if (src == null)
472      return null;
473    org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent();
474    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
475    if (src.hasCode()) {
476      tgt.getCode().setCode(src.getCode());
477      if (Utilities.existsInList(tgt.getCode().getCode(), "apply", "path-resource", "path-pages", "path-tx-cache", "expansion-parameter", "rule-broken-links", "generate-xml", "generate-json", "generate-turtle", "html-template")) {
478        tgt.getCode().setSystem(VersionConvertorConstants.EXT_IG_DEFINITION_PARAM_URL_BASE);
479      } else {
480        tgt.getCode().setSystem(VersionConvertorConstants.EXT_IG_DEFINITION_PARAM_URL_EXT);  
481      }
482    }
483    if (src.hasValue())
484      tgt.setValueElement(String40_50.convertString(src.getValueElement()));
485    return tgt;
486  }
487
488  public static org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent convertImplementationGuideDefinitionParameterComponent(org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent src) throws FHIRException {
489    if (src == null)
490      return null;
491    org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent();
492    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
493    if (src.hasCode())
494      tgt.setCode(src.getCode().getCode());
495    if (src.hasValue())
496      tgt.setValueElement(String40_50.convertString(src.getValueElement()));
497    return tgt;
498  }
499
500  public static org.hl7.fhir.r5.utils.GuideParameterCode convertGuideParameterCode(org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode src) throws FHIRException {
501    if (src == null)
502      return null;
503    switch (src) {
504      case APPLY:
505        return org.hl7.fhir.r5.utils.GuideParameterCode.APPLY;
506      case PATHRESOURCE:
507        return org.hl7.fhir.r5.utils.GuideParameterCode.PATHRESOURCE;
508      case PATHPAGES:
509        return org.hl7.fhir.r5.utils.GuideParameterCode.PATHPAGES;
510      case PATHTXCACHE:
511        return org.hl7.fhir.r5.utils.GuideParameterCode.PATHTXCACHE;
512      case EXPANSIONPARAMETER:
513        return org.hl7.fhir.r5.utils.GuideParameterCode.EXPANSIONPARAMETER;
514      case RULEBROKENLINKS:
515        return org.hl7.fhir.r5.utils.GuideParameterCode.RULEBROKENLINKS;
516      case GENERATEXML:
517        return org.hl7.fhir.r5.utils.GuideParameterCode.GENERATEXML;
518      case GENERATEJSON:
519        return org.hl7.fhir.r5.utils.GuideParameterCode.GENERATEJSON;
520      case GENERATETURTLE:
521        return org.hl7.fhir.r5.utils.GuideParameterCode.GENERATETURTLE;
522      case HTMLTEMPLATE:
523        return org.hl7.fhir.r5.utils.GuideParameterCode.HTMLTEMPLATE;
524      default:
525        return org.hl7.fhir.r5.utils.GuideParameterCode.NULL;
526    }
527  }
528
529  public static org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode convertGuideParameterCode(org.hl7.fhir.r5.utils.GuideParameterCode src) throws FHIRException {
530    if (src == null)
531      return null;
532    switch (src) {
533      case APPLY:
534        return org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode.APPLY;
535      case PATHRESOURCE:
536        return org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode.PATHRESOURCE;
537      case PATHPAGES:
538        return org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode.PATHPAGES;
539      case PATHTXCACHE:
540        return org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode.PATHTXCACHE;
541      case EXPANSIONPARAMETER:
542        return org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode.EXPANSIONPARAMETER;
543      case RULEBROKENLINKS:
544        return org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode.RULEBROKENLINKS;
545      case GENERATEXML:
546        return org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode.GENERATEXML;
547      case GENERATEJSON:
548        return org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode.GENERATEJSON;
549      case GENERATETURTLE:
550        return org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode.GENERATETURTLE;
551      case HTMLTEMPLATE:
552        return org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode.HTMLTEMPLATE;
553      default:
554        return org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode.NULL;
555    }
556  }
557
558  public static org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionTemplateComponent convertImplementationGuideDefinitionTemplateComponent(org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionTemplateComponent src) throws FHIRException {
559    if (src == null)
560      return null;
561    org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionTemplateComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionTemplateComponent();
562    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
563    if (src.hasCode())
564      tgt.setCodeElement(Code40_50.convertCode(src.getCodeElement()));
565    if (src.hasSource())
566      tgt.setSourceElement(String40_50.convertString(src.getSourceElement()));
567    if (src.hasScope())
568      tgt.setScopeElement(String40_50.convertString(src.getScopeElement()));
569    return tgt;
570  }
571
572  public static org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionTemplateComponent convertImplementationGuideDefinitionTemplateComponent(org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionTemplateComponent src) throws FHIRException {
573    if (src == null)
574      return null;
575    org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionTemplateComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionTemplateComponent();
576    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
577    if (src.hasCode())
578      tgt.setCodeElement(Code40_50.convertCode(src.getCodeElement()));
579    if (src.hasSource())
580      tgt.setSourceElement(String40_50.convertString(src.getSourceElement()));
581    if (src.hasScope())
582      tgt.setScopeElement(String40_50.convertString(src.getScopeElement()));
583    return tgt;
584  }
585
586  public static org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideManifestComponent convertImplementationGuideManifestComponent(org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideManifestComponent src) throws FHIRException {
587    if (src == null)
588      return null;
589    org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideManifestComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideManifestComponent();
590    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
591    if (src.hasRendering())
592      tgt.setRenderingElement(Url40_50.convertUrl(src.getRenderingElement()));
593    for (org.hl7.fhir.r4.model.ImplementationGuide.ManifestResourceComponent t : src.getResource())
594      tgt.addResource(convertManifestResourceComponent(t));
595    for (org.hl7.fhir.r4.model.ImplementationGuide.ManifestPageComponent t : src.getPage())
596      tgt.addPage(convertManifestPageComponent(t));
597    for (org.hl7.fhir.r4.model.StringType t : src.getImage()) tgt.getImage().add(String40_50.convertString(t));
598    for (org.hl7.fhir.r4.model.StringType t : src.getOther()) tgt.getOther().add(String40_50.convertString(t));
599    return tgt;
600  }
601
602  public static org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideManifestComponent convertImplementationGuideManifestComponent(org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideManifestComponent src) throws FHIRException {
603    if (src == null)
604      return null;
605    org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideManifestComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideManifestComponent();
606    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
607    if (src.hasRendering())
608      tgt.setRenderingElement(Url40_50.convertUrl(src.getRenderingElement()));
609    for (org.hl7.fhir.r5.model.ImplementationGuide.ManifestResourceComponent t : src.getResource())
610      tgt.addResource(convertManifestResourceComponent(t));
611    for (org.hl7.fhir.r5.model.ImplementationGuide.ManifestPageComponent t : src.getPage())
612      tgt.addPage(convertManifestPageComponent(t));
613    for (org.hl7.fhir.r5.model.StringType t : src.getImage()) tgt.getImage().add(String40_50.convertString(t));
614    for (org.hl7.fhir.r5.model.StringType t : src.getOther()) tgt.getOther().add(String40_50.convertString(t));
615    return tgt;
616  }
617
618  public static org.hl7.fhir.r5.model.ImplementationGuide.ManifestResourceComponent convertManifestResourceComponent(org.hl7.fhir.r4.model.ImplementationGuide.ManifestResourceComponent src) throws FHIRException {
619    if (src == null)
620      return null;
621    org.hl7.fhir.r5.model.ImplementationGuide.ManifestResourceComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ManifestResourceComponent();
622    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
623    if (src.hasReference())
624      tgt.setReference(Reference40_50.convertReference(src.getReference()));
625    if (src.hasExampleBooleanType())
626      tgt.setIsExampleElement(Boolean40_50.convertBoolean(src.getExampleBooleanType()));
627    if (src.hasExampleCanonicalType())
628      tgt.getProfile().add((Canonical40_50.convertCanonical(src.getExampleCanonicalType())));
629    if (src.hasRelativePath())
630      tgt.setRelativePathElement(Url40_50.convertUrl(src.getRelativePathElement()));
631    return tgt;
632  }
633
634  public static org.hl7.fhir.r4.model.ImplementationGuide.ManifestResourceComponent convertManifestResourceComponent(org.hl7.fhir.r5.model.ImplementationGuide.ManifestResourceComponent src) throws FHIRException {
635    if (src == null)
636      return null;
637    org.hl7.fhir.r4.model.ImplementationGuide.ManifestResourceComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ManifestResourceComponent();
638    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
639    if (src.hasReference())
640      tgt.setReference(Reference40_50.convertReference(src.getReference()));
641    if (src.hasIsExample())
642      tgt.setExample(Boolean40_50.convertBoolean(src.getIsExampleElement()));
643    if (src.hasProfile())
644      tgt.setExample(Canonical40_50.convertCanonical(src.getProfile().get(0)));
645    if (src.hasRelativePath())
646      tgt.setRelativePathElement(Url40_50.convertUrl(src.getRelativePathElement()));
647    return tgt;
648  }
649
650  public static org.hl7.fhir.r5.model.ImplementationGuide.ManifestPageComponent convertManifestPageComponent(org.hl7.fhir.r4.model.ImplementationGuide.ManifestPageComponent src) throws FHIRException {
651    if (src == null)
652      return null;
653    org.hl7.fhir.r5.model.ImplementationGuide.ManifestPageComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ManifestPageComponent();
654    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
655    if (src.hasName())
656      tgt.setNameElement(String40_50.convertString(src.getNameElement()));
657    if (src.hasTitle())
658      tgt.setTitleElement(String40_50.convertString(src.getTitleElement()));
659    for (org.hl7.fhir.r4.model.StringType t : src.getAnchor()) tgt.getAnchor().add(String40_50.convertString(t));
660    return tgt;
661  }
662
663  public static org.hl7.fhir.r4.model.ImplementationGuide.ManifestPageComponent convertManifestPageComponent(org.hl7.fhir.r5.model.ImplementationGuide.ManifestPageComponent src) throws FHIRException {
664    if (src == null)
665      return null;
666    org.hl7.fhir.r4.model.ImplementationGuide.ManifestPageComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ManifestPageComponent();
667    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt);
668    if (src.hasName())
669      tgt.setNameElement(String40_50.convertString(src.getNameElement()));
670    if (src.hasTitle())
671      tgt.setTitleElement(String40_50.convertString(src.getTitleElement()));
672    for (org.hl7.fhir.r5.model.StringType t : src.getAnchor()) tgt.getAnchor().add(String40_50.convertString(t));
673    return tgt;
674  }
675}