001package org.hl7.fhir.convertors.conv40_50.resources40_50; 002 003import java.util.stream.Collectors; 004 005import org.hl7.fhir.convertors.context.ConversionContext40_50; 006import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; 007import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50; 008import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; 009import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; 010import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; 011import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Code40_50; 012import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; 013import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Id40_50; 014import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; 015import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; 016import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; 017import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Url40_50; 018import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; 019import org.hl7.fhir.exceptions.FHIRException; 020import org.hl7.fhir.r4.model.UrlType; 021import org.hl7.fhir.r5.model.ImplementationGuide; 022import org.hl7.fhir.utilities.Utilities; 023 024/* 025 Copyright (c) 2011+, HL7, Inc. 026 All rights reserved. 027 028 Redistribution and use in source and binary forms, with or without modification, 029 are permitted provided that the following conditions are met: 030 031 * Redistributions of source code must retain the above copyright notice, this 032 list of conditions and the following disclaimer. 033 * Redistributions in binary form must reproduce the above copyright notice, 034 this list of conditions and the following disclaimer in the documentation 035 and/or other materials provided with the distribution. 036 * Neither the name of HL7 nor the names of its contributors may be used to 037 endorse or promote products derived from this software without specific 038 prior written permission. 039 040 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 041 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 042 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 043 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 044 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 045 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 046 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 047 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 048 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 049 POSSIBILITY OF SUCH DAMAGE. 050 051*/ 052// Generated on Sun, Feb 24, 2019 11:37+1100 for FHIR v4.0.0 053public class ImplementationGuide40_50 { 054 055 static final String EXT_IG_DEFINITION_PAGE_NAME = "http://hl7.org/fhir/tools/StructureDefinition/ig-page-name"; 056 static final String EXT_IG_DEFINITION_PARAMETER = "http://hl7.org/fhir/tools/StructureDefinition/ig-parameter"; 057 static final String EXT_IG_DEFINITION_PARAM_URL_EXT = "http://hl7.org/fhir/tools/CodeSystem/ig-parameters"; 058 static final String EXT_IG_DEFINITION_PARAM_URL_BASE = "http://hl7.org/fhir/guide-parameter-code"; 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); 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 return tgt; 188 } 189 190 public static org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDependsOnComponent convertImplementationGuideDependsOnComponent(org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDependsOnComponent src) throws FHIRException { 191 if (src == null) 192 return null; 193 org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDependsOnComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDependsOnComponent(); 194 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 195 if (src.hasUri()) 196 tgt.setUriElement(Canonical40_50.convertCanonical(src.getUriElement())); 197 if (src.hasPackageId()) 198 tgt.setPackageIdElement(Id40_50.convertId(src.getPackageIdElement())); 199 if (src.hasVersion()) 200 tgt.setVersionElement(String40_50.convertString(src.getVersionElement())); 201 return tgt; 202 } 203 204 public static org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideGlobalComponent convertImplementationGuideGlobalComponent(org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideGlobalComponent src) throws FHIRException { 205 if (src == null) 206 return null; 207 org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideGlobalComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideGlobalComponent(); 208 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 209 if (src.hasType()) 210 tgt.setTypeElement(Code40_50.convertCode(src.getTypeElement())); 211 if (src.hasProfile()) 212 tgt.setProfileElement(Canonical40_50.convertCanonical(src.getProfileElement())); 213 return tgt; 214 } 215 216 public static org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideGlobalComponent convertImplementationGuideGlobalComponent(org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideGlobalComponent src) throws FHIRException { 217 if (src == null) 218 return null; 219 org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideGlobalComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideGlobalComponent(); 220 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 221 if (src.hasType()) 222 tgt.setTypeElement(Code40_50.convertCode(src.getTypeElement())); 223 if (src.hasProfile()) 224 tgt.setProfileElement(Canonical40_50.convertCanonical(src.getProfileElement())); 225 return tgt; 226 } 227 228 public static org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionComponent convertImplementationGuideDefinitionComponent(org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionComponent src) throws FHIRException { 229 if (src == null) 230 return null; 231 org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionComponent(); 232 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 233 for (org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionGroupingComponent t : src.getGrouping()) 234 tgt.addGrouping(convertImplementationGuideDefinitionGroupingComponent(t)); 235 for (org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent t : src.getResource()) 236 tgt.addResource(convertImplementationGuideDefinitionResourceComponent(t)); 237 if (src.hasPage()) 238 tgt.setPage(convertImplementationGuideDefinitionPageComponent(src.getPage())); 239 for (org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent t : src.getParameter()) 240 tgt.addParameter(convertImplementationGuideDefinitionParameterComponent(t)); 241 for (org.hl7.fhir.r4.model.Extension e : org.hl7.fhir.r4.utils.ToolingExtensions.getExtensions(src, EXT_IG_DEFINITION_PARAMETER)) { 242 org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent p = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent(); 243 p.getCode().setCode(org.hl7.fhir.r4.utils.ToolingExtensions.readStringExtension(e, "code")); 244 p.getCode().setSystem(EXT_IG_DEFINITION_PARAM_URL_EXT); 245 p.setValue(org.hl7.fhir.r4.utils.ToolingExtensions.readStringExtension(e, "value")); 246 tgt.addParameter(p); 247 } 248 for (org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionTemplateComponent t : src.getTemplate()) 249 tgt.addTemplate(convertImplementationGuideDefinitionTemplateComponent(t)); 250 return tgt; 251 } 252 253 public static org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionComponent convertImplementationGuideDefinitionComponent(ImplementationGuide.ImplementationGuideDefinitionComponent src, boolean produceIllegalParameters) throws FHIRException { 254 if (src == null) 255 return null; 256 org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionComponent(); 257 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 258 for (org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionGroupingComponent t : src.getGrouping()) 259 tgt.addGrouping(convertImplementationGuideDefinitionGroupingComponent(t)); 260 for (org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent t : src.getResource()) 261 tgt.addResource(convertImplementationGuideDefinitionResourceComponent(t)); 262 if (src.hasPage()) 263 tgt.setPage(convertImplementationGuideDefinitionPageComponent(src.getPage())); 264 for (org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent t : src.getParameter()) { 265 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")) { 266 tgt.addParameter(convertImplementationGuideDefinitionParameterComponent(t)); 267 } else { 268 org.hl7.fhir.r4.model.Extension e = new org.hl7.fhir.r4.model.Extension(EXT_IG_DEFINITION_PARAMETER); 269 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())); 270 org.hl7.fhir.r4.model.Extension eValue = new org.hl7.fhir.r4.model.Extension("value", new org.hl7.fhir.r4.model.StringType(t.getValue())); 271 e.addExtension(eCode); 272 e.addExtension(eValue); 273 tgt.addExtension(e); 274 } 275 } 276 for (org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionTemplateComponent t : src.getTemplate()) 277 tgt.addTemplate(convertImplementationGuideDefinitionTemplateComponent(t)); 278 return tgt; 279 } 280 281 public static org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionGroupingComponent convertImplementationGuideDefinitionGroupingComponent(org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionGroupingComponent src) throws FHIRException { 282 if (src == null) 283 return null; 284 org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionGroupingComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionGroupingComponent(); 285 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 286 if (src.hasName()) 287 tgt.setNameElement(String40_50.convertString(src.getNameElement())); 288 if (src.hasDescription()) 289 tgt.setDescriptionElement(String40_50.convertStringToMarkdown(src.getDescriptionElement())); 290 return tgt; 291 } 292 293 public static org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionGroupingComponent convertImplementationGuideDefinitionGroupingComponent(org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionGroupingComponent src) throws FHIRException { 294 if (src == null) 295 return null; 296 org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionGroupingComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionGroupingComponent(); 297 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 298 if (src.hasName()) 299 tgt.setNameElement(String40_50.convertString(src.getNameElement())); 300 if (src.hasDescription()) 301 tgt.setDescriptionElement(String40_50.convertString(src.getDescriptionElement())); 302 return tgt; 303 } 304 305 public static org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent convertImplementationGuideDefinitionResourceComponent(org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent src) throws FHIRException { 306 if (src == null) 307 return null; 308 org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent(); 309 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 310 if (src.hasReference()) 311 tgt.setReference(Reference40_50.convertReference(src.getReference())); 312 tgt.setFhirVersion(src.getFhirVersion().stream() 313 .map(Enumerations40_50::convertFHIRVersion) 314 .collect(Collectors.toList())); 315 if (src.hasName()) 316 tgt.setNameElement(String40_50.convertString(src.getNameElement())); 317 if (src.hasDescription()) 318 tgt.setDescriptionElement(String40_50.convertStringToMarkdown(src.getDescriptionElement())); 319 if (src.hasExampleBooleanType()) 320 tgt.setIsExampleElement(Boolean40_50.convertBoolean(src.getExampleBooleanType())); 321 if (src.hasExampleCanonicalType()) 322 tgt.getProfile().add(Canonical40_50.convertCanonical(src.getExampleCanonicalType())); 323 if (src.hasGroupingId()) 324 tgt.setGroupingIdElement(Id40_50.convertId(src.getGroupingIdElement())); 325 return tgt; 326 } 327 328 public static org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent convertImplementationGuideDefinitionResourceComponent(org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent src) throws FHIRException { 329 if (src == null) 330 return null; 331 org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent(); 332 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 333 if (src.hasReference()) 334 tgt.setReference(Reference40_50.convertReference(src.getReference())); 335 if (src.hasName()) 336 tgt.setNameElement(String40_50.convertString(src.getNameElement())); 337 if (src.hasDescription()) 338 tgt.setDescriptionElement(String40_50.convertString(src.getDescriptionElement())); 339 if (src.hasIsExample()) 340 tgt.setExample(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getIsExampleElement())); 341 if (src.hasProfile()) 342 tgt.setExample(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getProfile().get(0))); 343 if (src.hasGroupingId()) 344 tgt.setGroupingIdElement(Id40_50.convertId(src.getGroupingIdElement())); 345 return tgt; 346 } 347 348 public static org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent convertImplementationGuideDefinitionPageComponent(org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent src) throws FHIRException { 349 if (src == null) 350 return null; 351 org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent(); 352 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt, EXT_IG_DEFINITION_PAGE_NAME); 353 if (src.hasExtension(EXT_IG_DEFINITION_PAGE_NAME)) { 354 tgt.setNameElement(Url40_50.convertUrl((UrlType) src.getExtensionByUrl(EXT_IG_DEFINITION_PAGE_NAME).getValue())); 355 } 356 if (src.hasNameReference()) { 357 tgt.setSource(new org.hl7.fhir.r5.model.UrlType(src.getNameReference().getReference())); 358 if (!tgt.hasName()) { 359 tgt.setName(tgt.getSourceUrlType().asStringValue()); 360 } 361 } 362 if (src.hasNameUrlType()) { 363 tgt.setSource(Url40_50.convertUrl(src.getNameUrlType())); 364 if (!tgt.hasName()) { 365 tgt.setName(tgt.getSourceUrlType().asStringValue()); 366 } 367 } 368 if (src.hasTitle()) 369 tgt.setTitleElement(String40_50.convertString(src.getTitleElement())); 370 if (src.hasGeneration()) 371 tgt.setGenerationElement(convertGuidePageGeneration(src.getGenerationElement())); 372 for (org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent t : src.getPage()) 373 tgt.addPage(convertImplementationGuideDefinitionPageComponent(t)); 374 return tgt; 375 } 376 377 public static org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent convertImplementationGuideDefinitionPageComponent(org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent src) throws FHIRException { 378 if (src == null) 379 return null; 380 org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent(); 381 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 382 if (src.hasName()) { 383 tgt.addExtension().setUrl(EXT_IG_DEFINITION_PAGE_NAME).setValue(Url40_50.convertUrl(src.getNameElement())); 384 } 385 if (src.hasSourceUrlType()) { 386 tgt.setName(Url40_50.convertUrl(src.getSourceUrlType())); 387 } 388 if (src.hasTitle()) 389 tgt.setTitleElement(String40_50.convertString(src.getTitleElement())); 390 if (src.hasGeneration()) 391 tgt.setGenerationElement(convertGuidePageGeneration(src.getGenerationElement())); 392 for (org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent t : src.getPage()) 393 tgt.addPage(convertImplementationGuideDefinitionPageComponent(t)); 394 return tgt; 395 } 396 397 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 { 398 if (src == null || src.isEmpty()) 399 return null; 400 org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ImplementationGuide.GuidePageGeneration> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.ImplementationGuide.GuidePageGenerationEnumFactory()); 401 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 402 switch (src.getValue()) { 403 case HTML: 404 tgt.setValue(org.hl7.fhir.r5.model.ImplementationGuide.GuidePageGeneration.HTML); 405 break; 406 case MARKDOWN: 407 tgt.setValue(org.hl7.fhir.r5.model.ImplementationGuide.GuidePageGeneration.MARKDOWN); 408 break; 409 case XML: 410 tgt.setValue(org.hl7.fhir.r5.model.ImplementationGuide.GuidePageGeneration.XML); 411 break; 412 case GENERATED: 413 tgt.setValue(org.hl7.fhir.r5.model.ImplementationGuide.GuidePageGeneration.GENERATED); 414 break; 415 default: 416 tgt.setValue(org.hl7.fhir.r5.model.ImplementationGuide.GuidePageGeneration.NULL); 417 break; 418 } 419 return tgt; 420 } 421 422 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 { 423 if (src == null || src.isEmpty()) 424 return null; 425 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()); 426 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 427 switch (src.getValue()) { 428 case HTML: 429 tgt.setValue(org.hl7.fhir.r4.model.ImplementationGuide.GuidePageGeneration.HTML); 430 break; 431 case MARKDOWN: 432 tgt.setValue(org.hl7.fhir.r4.model.ImplementationGuide.GuidePageGeneration.MARKDOWN); 433 break; 434 case XML: 435 tgt.setValue(org.hl7.fhir.r4.model.ImplementationGuide.GuidePageGeneration.XML); 436 break; 437 case GENERATED: 438 tgt.setValue(org.hl7.fhir.r4.model.ImplementationGuide.GuidePageGeneration.GENERATED); 439 break; 440 default: 441 tgt.setValue(org.hl7.fhir.r4.model.ImplementationGuide.GuidePageGeneration.NULL); 442 break; 443 } 444 return tgt; 445 } 446 447 public static org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent convertImplementationGuideDefinitionParameterComponent(org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent src) throws FHIRException { 448 if (src == null) 449 return null; 450 org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent(); 451 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 452 if (src.hasCode()) { 453 tgt.getCode().setCode(src.getCode()); 454 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")) { 455 tgt.getCode().setSystem(EXT_IG_DEFINITION_PARAM_URL_BASE); 456 } else { 457 tgt.getCode().setSystem(EXT_IG_DEFINITION_PARAM_URL_EXT); 458 } 459 } 460 if (src.hasValue()) 461 tgt.setValueElement(String40_50.convertString(src.getValueElement())); 462 return tgt; 463 } 464 465 public static org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent convertImplementationGuideDefinitionParameterComponent(org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent src) throws FHIRException { 466 if (src == null) 467 return null; 468 org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent(); 469 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 470 if (src.hasCode()) 471 tgt.setCode(src.getCode().getCode()); 472 if (src.hasValue()) 473 tgt.setValueElement(String40_50.convertString(src.getValueElement())); 474 return tgt; 475 } 476 477 public static org.hl7.fhir.r5.utils.GuideParameterCode convertGuideParameterCode(org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode src) throws FHIRException { 478 if (src == null) 479 return null; 480 switch (src) { 481 case APPLY: 482 return org.hl7.fhir.r5.utils.GuideParameterCode.APPLY; 483 case PATHRESOURCE: 484 return org.hl7.fhir.r5.utils.GuideParameterCode.PATHRESOURCE; 485 case PATHPAGES: 486 return org.hl7.fhir.r5.utils.GuideParameterCode.PATHPAGES; 487 case PATHTXCACHE: 488 return org.hl7.fhir.r5.utils.GuideParameterCode.PATHTXCACHE; 489 case EXPANSIONPARAMETER: 490 return org.hl7.fhir.r5.utils.GuideParameterCode.EXPANSIONPARAMETER; 491 case RULEBROKENLINKS: 492 return org.hl7.fhir.r5.utils.GuideParameterCode.RULEBROKENLINKS; 493 case GENERATEXML: 494 return org.hl7.fhir.r5.utils.GuideParameterCode.GENERATEXML; 495 case GENERATEJSON: 496 return org.hl7.fhir.r5.utils.GuideParameterCode.GENERATEJSON; 497 case GENERATETURTLE: 498 return org.hl7.fhir.r5.utils.GuideParameterCode.GENERATETURTLE; 499 case HTMLTEMPLATE: 500 return org.hl7.fhir.r5.utils.GuideParameterCode.HTMLTEMPLATE; 501 default: 502 return org.hl7.fhir.r5.utils.GuideParameterCode.NULL; 503 } 504 } 505 506 public static org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode convertGuideParameterCode(org.hl7.fhir.r5.utils.GuideParameterCode src) throws FHIRException { 507 if (src == null) 508 return null; 509 switch (src) { 510 case APPLY: 511 return org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode.APPLY; 512 case PATHRESOURCE: 513 return org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode.PATHRESOURCE; 514 case PATHPAGES: 515 return org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode.PATHPAGES; 516 case PATHTXCACHE: 517 return org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode.PATHTXCACHE; 518 case EXPANSIONPARAMETER: 519 return org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode.EXPANSIONPARAMETER; 520 case RULEBROKENLINKS: 521 return org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode.RULEBROKENLINKS; 522 case GENERATEXML: 523 return org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode.GENERATEXML; 524 case GENERATEJSON: 525 return org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode.GENERATEJSON; 526 case GENERATETURTLE: 527 return org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode.GENERATETURTLE; 528 case HTMLTEMPLATE: 529 return org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode.HTMLTEMPLATE; 530 default: 531 return org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode.NULL; 532 } 533 } 534 535 public static org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionTemplateComponent convertImplementationGuideDefinitionTemplateComponent(org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionTemplateComponent src) throws FHIRException { 536 if (src == null) 537 return null; 538 org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionTemplateComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionTemplateComponent(); 539 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 540 if (src.hasCode()) 541 tgt.setCodeElement(Code40_50.convertCode(src.getCodeElement())); 542 if (src.hasSource()) 543 tgt.setSourceElement(String40_50.convertString(src.getSourceElement())); 544 if (src.hasScope()) 545 tgt.setScopeElement(String40_50.convertString(src.getScopeElement())); 546 return tgt; 547 } 548 549 public static org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionTemplateComponent convertImplementationGuideDefinitionTemplateComponent(org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionTemplateComponent src) throws FHIRException { 550 if (src == null) 551 return null; 552 org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionTemplateComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionTemplateComponent(); 553 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 554 if (src.hasCode()) 555 tgt.setCodeElement(Code40_50.convertCode(src.getCodeElement())); 556 if (src.hasSource()) 557 tgt.setSourceElement(String40_50.convertString(src.getSourceElement())); 558 if (src.hasScope()) 559 tgt.setScopeElement(String40_50.convertString(src.getScopeElement())); 560 return tgt; 561 } 562 563 public static org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideManifestComponent convertImplementationGuideManifestComponent(org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideManifestComponent src) throws FHIRException { 564 if (src == null) 565 return null; 566 org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideManifestComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideManifestComponent(); 567 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 568 if (src.hasRendering()) 569 tgt.setRenderingElement(Url40_50.convertUrl(src.getRenderingElement())); 570 for (org.hl7.fhir.r4.model.ImplementationGuide.ManifestResourceComponent t : src.getResource()) 571 tgt.addResource(convertManifestResourceComponent(t)); 572 for (org.hl7.fhir.r4.model.ImplementationGuide.ManifestPageComponent t : src.getPage()) 573 tgt.addPage(convertManifestPageComponent(t)); 574 for (org.hl7.fhir.r4.model.StringType t : src.getImage()) tgt.getImage().add(String40_50.convertString(t)); 575 for (org.hl7.fhir.r4.model.StringType t : src.getOther()) tgt.getOther().add(String40_50.convertString(t)); 576 return tgt; 577 } 578 579 public static org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideManifestComponent convertImplementationGuideManifestComponent(org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideManifestComponent src) throws FHIRException { 580 if (src == null) 581 return null; 582 org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideManifestComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideManifestComponent(); 583 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 584 if (src.hasRendering()) 585 tgt.setRenderingElement(Url40_50.convertUrl(src.getRenderingElement())); 586 for (org.hl7.fhir.r5.model.ImplementationGuide.ManifestResourceComponent t : src.getResource()) 587 tgt.addResource(convertManifestResourceComponent(t)); 588 for (org.hl7.fhir.r5.model.ImplementationGuide.ManifestPageComponent t : src.getPage()) 589 tgt.addPage(convertManifestPageComponent(t)); 590 for (org.hl7.fhir.r5.model.StringType t : src.getImage()) tgt.getImage().add(String40_50.convertString(t)); 591 for (org.hl7.fhir.r5.model.StringType t : src.getOther()) tgt.getOther().add(String40_50.convertString(t)); 592 return tgt; 593 } 594 595 public static org.hl7.fhir.r5.model.ImplementationGuide.ManifestResourceComponent convertManifestResourceComponent(org.hl7.fhir.r4.model.ImplementationGuide.ManifestResourceComponent src) throws FHIRException { 596 if (src == null) 597 return null; 598 org.hl7.fhir.r5.model.ImplementationGuide.ManifestResourceComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ManifestResourceComponent(); 599 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 600 if (src.hasReference()) 601 tgt.setReference(Reference40_50.convertReference(src.getReference())); 602 if (src.hasExampleBooleanType()) 603 tgt.setIsExampleElement(Boolean40_50.convertBoolean(src.getExampleBooleanType())); 604 if (src.hasExampleCanonicalType()) 605 tgt.getProfile().add((Canonical40_50.convertCanonical(src.getExampleCanonicalType()))); 606 if (src.hasRelativePath()) 607 tgt.setRelativePathElement(Url40_50.convertUrl(src.getRelativePathElement())); 608 return tgt; 609 } 610 611 public static org.hl7.fhir.r4.model.ImplementationGuide.ManifestResourceComponent convertManifestResourceComponent(org.hl7.fhir.r5.model.ImplementationGuide.ManifestResourceComponent src) throws FHIRException { 612 if (src == null) 613 return null; 614 org.hl7.fhir.r4.model.ImplementationGuide.ManifestResourceComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ManifestResourceComponent(); 615 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 616 if (src.hasReference()) 617 tgt.setReference(Reference40_50.convertReference(src.getReference())); 618 if (src.hasIsExample()) 619 tgt.setExample(Boolean40_50.convertBoolean(src.getIsExampleElement())); 620 if (src.hasProfile()) 621 tgt.setExample(Canonical40_50.convertCanonical(src.getProfile().get(0))); 622 if (src.hasRelativePath()) 623 tgt.setRelativePathElement(Url40_50.convertUrl(src.getRelativePathElement())); 624 return tgt; 625 } 626 627 public static org.hl7.fhir.r5.model.ImplementationGuide.ManifestPageComponent convertManifestPageComponent(org.hl7.fhir.r4.model.ImplementationGuide.ManifestPageComponent src) throws FHIRException { 628 if (src == null) 629 return null; 630 org.hl7.fhir.r5.model.ImplementationGuide.ManifestPageComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ManifestPageComponent(); 631 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 632 if (src.hasName()) 633 tgt.setNameElement(String40_50.convertString(src.getNameElement())); 634 if (src.hasTitle()) 635 tgt.setTitleElement(String40_50.convertString(src.getTitleElement())); 636 for (org.hl7.fhir.r4.model.StringType t : src.getAnchor()) tgt.getAnchor().add(String40_50.convertString(t)); 637 return tgt; 638 } 639 640 public static org.hl7.fhir.r4.model.ImplementationGuide.ManifestPageComponent convertManifestPageComponent(org.hl7.fhir.r5.model.ImplementationGuide.ManifestPageComponent src) throws FHIRException { 641 if (src == null) 642 return null; 643 org.hl7.fhir.r4.model.ImplementationGuide.ManifestPageComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ManifestPageComponent(); 644 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 645 if (src.hasName()) 646 tgt.setNameElement(String40_50.convertString(src.getNameElement())); 647 if (src.hasTitle()) 648 tgt.setTitleElement(String40_50.convertString(src.getTitleElement())); 649 for (org.hl7.fhir.r5.model.StringType t : src.getAnchor()) tgt.getAnchor().add(String40_50.convertString(t)); 650 return tgt; 651 } 652}