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