
001package org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_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.BackboneElement40_50; 007import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Coding40_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.Id40_50; 013import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Integer40_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.UnsignedInt40_50; 017import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; 018import org.hl7.fhir.convertors.conv40_50.resources40_50.Enumerations40_50; 019import org.hl7.fhir.exceptions.FHIRException; 020import org.hl7.fhir.r4.model.BooleanType; 021import org.hl7.fhir.r4.model.CanonicalType; 022import org.hl7.fhir.r4.model.Extension; 023import org.hl7.fhir.r4.model.MarkdownType; 024import org.hl7.fhir.r4.model.StringType; 025import org.hl7.fhir.r5.model.CodeType; 026import org.hl7.fhir.r5.model.ElementDefinition; 027import org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionBindingAdditionalComponent; 028import org.hl7.fhir.r5.model.UsageContext; 029import org.hl7.fhir.r5.utils.ToolingExtensions; 030 031public class ElementDefinition40_50 { 032 033 public static org.hl7.fhir.r5.model.ElementDefinition convertElementDefinition(org.hl7.fhir.r4.model.ElementDefinition src) throws FHIRException { 034 if (src == null) return null; 035 org.hl7.fhir.r5.model.ElementDefinition tgt = new org.hl7.fhir.r5.model.ElementDefinition(); 036 BackboneElement40_50.copyBackboneElement(src, tgt, 037 "http://hl7.org/fhir/5.0/StructureDefinition/extension-ElementDefinition.mustHaveValue", 038 "http://hl7.org/fhir/5.0/StructureDefinition/extension-ElementDefinition.valueAlternatives"); 039 if (src.hasPath()) tgt.setPathElement(String40_50.convertString(src.getPathElement())); 040 tgt.setRepresentation(src.getRepresentation().stream().map(ElementDefinition40_50::convertPropertyRepresentation).collect(Collectors.toList())); 041 if (src.hasSliceName()) tgt.setSliceNameElement(String40_50.convertString(src.getSliceNameElement())); 042 if (src.hasSliceIsConstraining()) 043 tgt.setSliceIsConstrainingElement(Boolean40_50.convertBoolean(src.getSliceIsConstrainingElement())); 044 if (src.hasLabel()) tgt.setLabelElement(String40_50.convertString(src.getLabelElement())); 045 for (org.hl7.fhir.r4.model.Coding t : src.getCode()) tgt.addCode(Coding40_50.convertCoding(t)); 046 if (src.hasSlicing()) tgt.setSlicing(convertElementDefinitionSlicingComponent(src.getSlicing())); 047 if (src.hasShort()) tgt.setShortElement(String40_50.convertString(src.getShortElement())); 048 if (src.hasDefinition()) tgt.setDefinitionElement(MarkDown40_50.convertMarkdown(src.getDefinitionElement())); 049 if (src.hasComment()) tgt.setCommentElement(MarkDown40_50.convertMarkdown(src.getCommentElement())); 050 if (src.hasRequirements()) tgt.setRequirementsElement(MarkDown40_50.convertMarkdown(src.getRequirementsElement())); 051 for (org.hl7.fhir.r4.model.StringType t : src.getAlias()) tgt.getAlias().add(String40_50.convertString(t)); 052 if (src.hasMin()) tgt.setMinElement(UnsignedInt40_50.convertUnsignedInt(src.getMinElement())); 053 if (src.hasMax()) tgt.setMaxElement(String40_50.convertString(src.getMaxElement())); 054 if (src.hasBase()) tgt.setBase(convertElementDefinitionBaseComponent(src.getBase())); 055 if (src.hasContentReference()) 056 tgt.setContentReferenceElement(Uri40_50.convertUri(src.getContentReferenceElement())); 057 for (org.hl7.fhir.r4.model.ElementDefinition.TypeRefComponent t : src.getType()) 058 tgt.addType(convertTypeRefComponent(t)); 059 if (src.hasDefaultValue()) 060 tgt.setDefaultValue(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getDefaultValue())); 061 if (src.hasMeaningWhenMissing()) 062 tgt.setMeaningWhenMissingElement(MarkDown40_50.convertMarkdown(src.getMeaningWhenMissingElement())); 063 if (src.hasOrderMeaning()) tgt.setOrderMeaningElement(String40_50.convertString(src.getOrderMeaningElement())); 064 if (src.hasFixed()) 065 tgt.setFixed(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getFixed())); 066 if (src.hasPattern()) 067 tgt.setPattern(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getPattern())); 068 for (org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionExampleComponent t : src.getExample()) 069 tgt.addExample(convertElementDefinitionExampleComponent(t)); 070 if (src.hasMinValue()) 071 tgt.setMinValue(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getMinValue())); 072 if (src.hasMaxValue()) 073 tgt.setMaxValue(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getMaxValue())); 074 if (src.hasMaxLength()) tgt.setMaxLengthElement(Integer40_50.convertInteger(src.getMaxLengthElement())); 075 for (org.hl7.fhir.r4.model.IdType t : src.getCondition()) tgt.getCondition().add(Id40_50.convertId(t)); 076 for (org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionConstraintComponent t : src.getConstraint()) 077 tgt.addConstraint(convertElementDefinitionConstraintComponent(t)); 078 if (src.hasMustSupport()) tgt.setMustSupportElement(Boolean40_50.convertBoolean(src.getMustSupportElement())); 079 if (src.hasIsModifier()) tgt.setIsModifierElement(Boolean40_50.convertBoolean(src.getIsModifierElement())); 080 if (src.hasIsModifierReason()) 081 tgt.setIsModifierReasonElement(String40_50.convertString(src.getIsModifierReasonElement())); 082 if (src.hasIsSummary()) tgt.setIsSummaryElement(Boolean40_50.convertBoolean(src.getIsSummaryElement())); 083 if (src.hasBinding()) tgt.setBinding(convertElementDefinitionBindingComponent(src.getBinding())); 084 for (org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionMappingComponent t : src.getMapping()) 085 tgt.addMapping(convertElementDefinitionMappingComponent(t)); 086 087 if (src.hasExtension("http://hl7.org/fhir/5.0/StructureDefinition/extension-ElementDefinition.mustHaveValue")) { 088 tgt.setMustHaveValueElement(Boolean40_50.convertBoolean((org.hl7.fhir.r4.model.BooleanType) src.getExtensionByUrl("http://hl7.org/fhir/5.0/StructureDefinition/extension-ElementDefinition.mustHaveValue").getValueAsPrimitive())); 089 } 090 for (org.hl7.fhir.r4.model.Extension ext : src.getExtensionsByUrl("http://hl7.org/fhir/5.0/StructureDefinition/extension-ElementDefinition.valueAlternatives")) { 091 tgt.addValueAlternative(Canonical40_50.convertCanonical((org.hl7.fhir.r4.model.CanonicalType)ext.getValue())); 092 } 093 094 return tgt; 095 } 096 097 public static org.hl7.fhir.r4.model.ElementDefinition convertElementDefinition(org.hl7.fhir.r5.model.ElementDefinition src) throws FHIRException { 098 if (src == null) return null; 099 org.hl7.fhir.r4.model.ElementDefinition tgt = new org.hl7.fhir.r4.model.ElementDefinition(); 100 BackboneElement40_50.copyBackboneElement(src, tgt); 101 if (src.hasPath()) tgt.setPathElement(String40_50.convertString(src.getPathElement())); 102 tgt.setRepresentation(src.getRepresentation().stream().map(ElementDefinition40_50::convertPropertyRepresentation).collect(Collectors.toList())); 103 if (src.hasSliceName()) tgt.setSliceNameElement(String40_50.convertString(src.getSliceNameElement())); 104 if (src.hasSliceIsConstraining()) 105 tgt.setSliceIsConstrainingElement(Boolean40_50.convertBoolean(src.getSliceIsConstrainingElement())); 106 if (src.hasLabel()) tgt.setLabelElement(String40_50.convertString(src.getLabelElement())); 107 for (org.hl7.fhir.r5.model.Coding t : src.getCode()) tgt.addCode(Coding40_50.convertCoding(t)); 108 if (src.hasSlicing()) tgt.setSlicing(convertElementDefinitionSlicingComponent(src.getSlicing())); 109 if (src.hasShort()) tgt.setShortElement(String40_50.convertString(src.getShortElement())); 110 if (src.hasDefinition()) tgt.setDefinitionElement(MarkDown40_50.convertMarkdown(src.getDefinitionElement())); 111 if (src.hasComment()) tgt.setCommentElement(MarkDown40_50.convertMarkdown(src.getCommentElement())); 112 if (src.hasRequirements()) tgt.setRequirementsElement(MarkDown40_50.convertMarkdown(src.getRequirementsElement())); 113 for (org.hl7.fhir.r5.model.StringType t : src.getAlias()) tgt.getAlias().add(String40_50.convertString(t)); 114 if (src.hasMin()) tgt.setMinElement(UnsignedInt40_50.convertUnsignedInt(src.getMinElement())); 115 if (src.hasMax()) tgt.setMaxElement(String40_50.convertString(src.getMaxElement())); 116 if (src.hasBase()) tgt.setBase(convertElementDefinitionBaseComponent(src.getBase())); 117 if (src.hasContentReference()) 118 tgt.setContentReferenceElement(Uri40_50.convertUri(src.getContentReferenceElement())); 119 for (org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent t : src.getType()) 120 tgt.addType(convertTypeRefComponent(t)); 121 if (src.hasDefaultValue()) 122 tgt.setDefaultValue(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getDefaultValue())); 123 if (src.hasMeaningWhenMissing()) 124 tgt.setMeaningWhenMissingElement(MarkDown40_50.convertMarkdown(src.getMeaningWhenMissingElement())); 125 if (src.hasOrderMeaning()) tgt.setOrderMeaningElement(String40_50.convertString(src.getOrderMeaningElement())); 126 if (src.hasFixed()) 127 tgt.setFixed(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getFixed())); 128 if (src.hasPattern()) 129 tgt.setPattern(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getPattern())); 130 for (org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionExampleComponent t : src.getExample()) 131 tgt.addExample(convertElementDefinitionExampleComponent(t)); 132 if (src.hasMinValue()) 133 tgt.setMinValue(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getMinValue())); 134 if (src.hasMaxValue()) 135 tgt.setMaxValue(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getMaxValue())); 136 if (src.hasMaxLength()) tgt.setMaxLengthElement(Integer40_50.convertInteger(src.getMaxLengthElement())); 137 for (org.hl7.fhir.r5.model.IdType t : src.getCondition()) tgt.getCondition().add(Id40_50.convertId(t)); 138 for (org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionConstraintComponent t : src.getConstraint()) 139 tgt.addConstraint(convertElementDefinitionConstraintComponent(t)); 140 if (src.hasMustSupport()) tgt.setMustSupportElement(Boolean40_50.convertBoolean(src.getMustSupportElement())); 141 if (src.hasIsModifier()) tgt.setIsModifierElement(Boolean40_50.convertBoolean(src.getIsModifierElement())); 142 if (src.hasIsModifierReason()) 143 tgt.setIsModifierReasonElement(String40_50.convertString(src.getIsModifierReasonElement())); 144 if (src.hasIsSummary()) tgt.setIsSummaryElement(Boolean40_50.convertBoolean(src.getIsSummaryElement())); 145 if (src.hasBinding()) tgt.setBinding(convertElementDefinitionBindingComponent(src.getBinding())); 146 for (org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionMappingComponent t : src.getMapping()) 147 tgt.addMapping(convertElementDefinitionMappingComponent(t)); 148 if (src.hasMustHaveValue()) { 149 tgt.addExtension("http://hl7.org/fhir/5.0/StructureDefinition/extension-ElementDefinition.mustHaveValue", Boolean40_50.convertBoolean(src.getMustHaveValueElement())); 150 } 151 for (org.hl7.fhir.r5.model.CanonicalType ct : src.getValueAlternatives()) { 152 tgt.addExtension("http://hl7.org/fhir/5.0/StructureDefinition/extension-ElementDefinition.valueAlternatives", Canonical40_50.convertCanonical(ct)); 153 } 154 155 return tgt; 156 } 157 158 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ElementDefinition.PropertyRepresentation> convertPropertyRepresentation(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ElementDefinition.PropertyRepresentation> src) throws FHIRException { 159 if (src == null || src.isEmpty()) return null; 160 org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ElementDefinition.PropertyRepresentation> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.ElementDefinition.PropertyRepresentationEnumFactory()); 161 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 162 if (src.getValue() == null) { 163 tgt.setValue(null); 164} else { 165 switch(src.getValue()) { 166 case XMLATTR: 167 tgt.setValue(ElementDefinition.PropertyRepresentation.XMLATTR); 168 break; 169 case XMLTEXT: 170 tgt.setValue(ElementDefinition.PropertyRepresentation.XMLTEXT); 171 break; 172 case TYPEATTR: 173 tgt.setValue(ElementDefinition.PropertyRepresentation.TYPEATTR); 174 break; 175 case CDATEXT: 176 tgt.setValue(ElementDefinition.PropertyRepresentation.CDATEXT); 177 break; 178 case XHTML: 179 tgt.setValue(ElementDefinition.PropertyRepresentation.XHTML); 180 break; 181 default: 182 tgt.setValue(ElementDefinition.PropertyRepresentation.NULL); 183 break; 184 } 185} 186 return tgt; 187 } 188 189 static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ElementDefinition.PropertyRepresentation> convertPropertyRepresentation(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ElementDefinition.PropertyRepresentation> src) throws FHIRException { 190 if (src == null || src.isEmpty()) return null; 191 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ElementDefinition.PropertyRepresentation> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.ElementDefinition.PropertyRepresentationEnumFactory()); 192 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 193 if (src.getValue() == null) { 194 tgt.setValue(null); 195} else { 196 switch(src.getValue()) { 197 case XMLATTR: 198 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.PropertyRepresentation.XMLATTR); 199 break; 200 case XMLTEXT: 201 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.PropertyRepresentation.XMLTEXT); 202 break; 203 case TYPEATTR: 204 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.PropertyRepresentation.TYPEATTR); 205 break; 206 case CDATEXT: 207 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.PropertyRepresentation.CDATEXT); 208 break; 209 case XHTML: 210 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.PropertyRepresentation.XHTML); 211 break; 212 default: 213 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.PropertyRepresentation.NULL); 214 break; 215 } 216} 217 return tgt; 218 } 219 220 public static org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionSlicingComponent convertElementDefinitionSlicingComponent(org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionSlicingComponent src) throws FHIRException { 221 if (src == null) return null; 222 org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionSlicingComponent tgt = new org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionSlicingComponent(); 223 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 224 for (org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent t : src.getDiscriminator()) 225 tgt.addDiscriminator(convertElementDefinitionSlicingDiscriminatorComponent(t)); 226 if (src.hasDescription()) tgt.setDescriptionElement(String40_50.convertString(src.getDescriptionElement())); 227 if (src.hasOrdered()) tgt.setOrderedElement(Boolean40_50.convertBoolean(src.getOrderedElement())); 228 if (src.hasRules()) tgt.setRulesElement(convertSlicingRules(src.getRulesElement())); 229 return tgt; 230 } 231 232 public static org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionSlicingComponent convertElementDefinitionSlicingComponent(org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionSlicingComponent src) throws FHIRException { 233 if (src == null) return null; 234 org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionSlicingComponent tgt = new org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionSlicingComponent(); 235 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 236 for (org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent t : src.getDiscriminator()) 237 tgt.addDiscriminator(convertElementDefinitionSlicingDiscriminatorComponent(t)); 238 if (src.hasDescription()) tgt.setDescriptionElement(String40_50.convertString(src.getDescriptionElement())); 239 if (src.hasOrdered()) tgt.setOrderedElement(Boolean40_50.convertBoolean(src.getOrderedElement())); 240 if (src.hasRules()) tgt.setRulesElement(convertSlicingRules(src.getRulesElement())); 241 return tgt; 242 } 243 244 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ElementDefinition.SlicingRules> convertSlicingRules(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ElementDefinition.SlicingRules> src) throws FHIRException { 245 if (src == null || src.isEmpty()) return null; 246 org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ElementDefinition.SlicingRules> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.ElementDefinition.SlicingRulesEnumFactory()); 247 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 248 if (src.getValue() == null) { 249 tgt.setValue(null); 250} else { 251 switch(src.getValue()) { 252 case CLOSED: 253 tgt.setValue(ElementDefinition.SlicingRules.CLOSED); 254 break; 255 case OPEN: 256 tgt.setValue(ElementDefinition.SlicingRules.OPEN); 257 break; 258 case OPENATEND: 259 tgt.setValue(ElementDefinition.SlicingRules.OPENATEND); 260 break; 261 default: 262 tgt.setValue(ElementDefinition.SlicingRules.NULL); 263 break; 264 } 265} 266 return tgt; 267 } 268 269 static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ElementDefinition.SlicingRules> convertSlicingRules(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ElementDefinition.SlicingRules> src) throws FHIRException { 270 if (src == null || src.isEmpty()) return null; 271 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ElementDefinition.SlicingRules> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.ElementDefinition.SlicingRulesEnumFactory()); 272 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 273 if (src.getValue() == null) { 274 tgt.setValue(null); 275} else { 276 switch(src.getValue()) { 277 case CLOSED: 278 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.SlicingRules.CLOSED); 279 break; 280 case OPEN: 281 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.SlicingRules.OPEN); 282 break; 283 case OPENATEND: 284 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.SlicingRules.OPENATEND); 285 break; 286 default: 287 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.SlicingRules.NULL); 288 break; 289 } 290} 291 return tgt; 292 } 293 294 public static org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent convertElementDefinitionSlicingDiscriminatorComponent(org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent src) throws FHIRException { 295 if (src == null) return null; 296 org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent tgt = new org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent(); 297 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 298 if (src.hasType()) tgt.setTypeElement(convertDiscriminatorType(src.getTypeElement())); 299 if (src.hasPath()) tgt.setPathElement(String40_50.convertString(src.getPathElement())); 300 return tgt; 301 } 302 303 public static org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent convertElementDefinitionSlicingDiscriminatorComponent(org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent src) throws FHIRException { 304 if (src == null) return null; 305 org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent tgt = new org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent(); 306 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 307 if (src.hasType()) tgt.setTypeElement(convertDiscriminatorType(src.getTypeElement())); 308 if (src.hasPath()) tgt.setPathElement(String40_50.convertString(src.getPathElement())); 309 return tgt; 310 } 311 312 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ElementDefinition.DiscriminatorType> convertDiscriminatorType(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ElementDefinition.DiscriminatorType> src) throws FHIRException { 313 if (src == null || src.isEmpty()) return null; 314 org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ElementDefinition.DiscriminatorType> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.ElementDefinition.DiscriminatorTypeEnumFactory()); 315 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 316 if (src.getValue() == null) { 317 tgt.setValue(null); 318} else { 319 switch(src.getValue()) { 320 case VALUE: 321 tgt.setValue(ElementDefinition.DiscriminatorType.VALUE); 322 break; 323 case EXISTS: 324 tgt.setValue(ElementDefinition.DiscriminatorType.EXISTS); 325 break; 326 case PATTERN: 327 tgt.setValue(ElementDefinition.DiscriminatorType.PATTERN); 328 break; 329 case TYPE: 330 tgt.setValue(ElementDefinition.DiscriminatorType.TYPE); 331 break; 332 case PROFILE: 333 tgt.setValue(ElementDefinition.DiscriminatorType.PROFILE); 334 break; 335 default: 336 tgt.setValue(ElementDefinition.DiscriminatorType.NULL); 337 break; 338 } 339} 340 return tgt; 341 } 342 343 static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ElementDefinition.DiscriminatorType> convertDiscriminatorType(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ElementDefinition.DiscriminatorType> src) throws FHIRException { 344 if (src == null || src.isEmpty()) return null; 345 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ElementDefinition.DiscriminatorType> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.ElementDefinition.DiscriminatorTypeEnumFactory()); 346 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 347 if (src.getValue() == null) { 348 tgt.setValue(null); 349} else { 350 switch(src.getValue()) { 351 case VALUE: 352 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.DiscriminatorType.VALUE); 353 break; 354 case EXISTS: 355 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.DiscriminatorType.EXISTS); 356 break; 357 case PATTERN: 358 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.DiscriminatorType.PATTERN); 359 break; 360 case TYPE: 361 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.DiscriminatorType.TYPE); 362 break; 363 case PROFILE: 364 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.DiscriminatorType.PROFILE); 365 break; 366 default: 367 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.DiscriminatorType.NULL); 368 break; 369 } 370} 371 return tgt; 372 } 373 374 public static org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionBaseComponent convertElementDefinitionBaseComponent(org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionBaseComponent src) throws FHIRException { 375 if (src == null) return null; 376 org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionBaseComponent tgt = new org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionBaseComponent(); 377 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 378 if (src.hasPath()) tgt.setPathElement(String40_50.convertString(src.getPathElement())); 379 if (src.hasMin()) tgt.setMinElement(UnsignedInt40_50.convertUnsignedInt(src.getMinElement())); 380 if (src.hasMax()) tgt.setMaxElement(String40_50.convertString(src.getMaxElement())); 381 return tgt; 382 } 383 384 public static org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionBaseComponent convertElementDefinitionBaseComponent(org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionBaseComponent src) throws FHIRException { 385 if (src == null) return null; 386 org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionBaseComponent tgt = new org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionBaseComponent(); 387 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 388 if (src.hasPath()) tgt.setPathElement(String40_50.convertString(src.getPathElement())); 389 if (src.hasMin()) tgt.setMinElement(UnsignedInt40_50.convertUnsignedInt(src.getMinElement())); 390 if (src.hasMax()) tgt.setMaxElement(String40_50.convertString(src.getMaxElement())); 391 return tgt; 392 } 393 394 public static org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent convertTypeRefComponent(org.hl7.fhir.r4.model.ElementDefinition.TypeRefComponent src) throws FHIRException { 395 if (src == null) return null; 396 org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent tgt = new org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent(); 397 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 398 if (src.hasCode()) tgt.setCodeElement(Uri40_50.convertUri(src.getCodeElement())); 399 for (org.hl7.fhir.r4.model.CanonicalType t : src.getProfile()) 400 tgt.getProfile().add(Canonical40_50.convertCanonical(t)); 401 for (org.hl7.fhir.r4.model.CanonicalType t : src.getTargetProfile()) 402 tgt.getTargetProfile().add(Canonical40_50.convertCanonical(t)); 403 tgt.setAggregation(src.getAggregation().stream().map(ElementDefinition40_50::convertAggregationMode).collect(Collectors.toList())); 404 if (src.hasVersioning()) tgt.setVersioningElement(convertReferenceVersionRules(src.getVersioningElement())); 405 return tgt; 406 } 407 408 public static org.hl7.fhir.r4.model.ElementDefinition.TypeRefComponent convertTypeRefComponent(org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent src) throws FHIRException { 409 if (src == null) return null; 410 org.hl7.fhir.r4.model.ElementDefinition.TypeRefComponent tgt = new org.hl7.fhir.r4.model.ElementDefinition.TypeRefComponent(); 411 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 412 if (src.hasCode()) tgt.setCodeElement(Uri40_50.convertUri(src.getCodeElement())); 413 for (org.hl7.fhir.r5.model.CanonicalType t : src.getProfile()) 414 tgt.getProfile().add(Canonical40_50.convertCanonical(t)); 415 for (org.hl7.fhir.r5.model.CanonicalType t : src.getTargetProfile()) 416 tgt.getTargetProfile().add(Canonical40_50.convertCanonical(t)); 417 tgt.setAggregation(src.getAggregation().stream().map(ElementDefinition40_50::convertAggregationMode).collect(Collectors.toList())); 418 if (src.hasVersioning()) tgt.setVersioningElement(convertReferenceVersionRules(src.getVersioningElement())); 419 return tgt; 420 } 421 422 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ElementDefinition.AggregationMode> convertAggregationMode(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ElementDefinition.AggregationMode> src) throws FHIRException { 423 if (src == null || src.isEmpty()) return null; 424 org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ElementDefinition.AggregationMode> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.ElementDefinition.AggregationModeEnumFactory()); 425 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 426 if (src.getValue() == null) { 427 tgt.setValue(null); 428} else { 429 switch(src.getValue()) { 430 case CONTAINED: 431 tgt.setValue(ElementDefinition.AggregationMode.CONTAINED); 432 break; 433 case REFERENCED: 434 tgt.setValue(ElementDefinition.AggregationMode.REFERENCED); 435 break; 436 case BUNDLED: 437 tgt.setValue(ElementDefinition.AggregationMode.BUNDLED); 438 break; 439 default: 440 tgt.setValue(ElementDefinition.AggregationMode.NULL); 441 break; 442 } 443} 444 return tgt; 445 } 446 447 static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ElementDefinition.AggregationMode> convertAggregationMode(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ElementDefinition.AggregationMode> src) throws FHIRException { 448 if (src == null || src.isEmpty()) return null; 449 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ElementDefinition.AggregationMode> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.ElementDefinition.AggregationModeEnumFactory()); 450 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 451 if (src.getValue() == null) { 452 tgt.setValue(null); 453} else { 454 switch(src.getValue()) { 455 case CONTAINED: 456 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.AggregationMode.CONTAINED); 457 break; 458 case REFERENCED: 459 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.AggregationMode.REFERENCED); 460 break; 461 case BUNDLED: 462 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.AggregationMode.BUNDLED); 463 break; 464 default: 465 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.AggregationMode.NULL); 466 break; 467 } 468} 469 return tgt; 470 } 471 472 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ElementDefinition.ReferenceVersionRules> convertReferenceVersionRules(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ElementDefinition.ReferenceVersionRules> src) throws FHIRException { 473 if (src == null || src.isEmpty()) return null; 474 org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ElementDefinition.ReferenceVersionRules> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.ElementDefinition.ReferenceVersionRulesEnumFactory()); 475 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 476 if (src.getValue() == null) { 477 tgt.setValue(null); 478} else { 479 switch(src.getValue()) { 480 case EITHER: 481 tgt.setValue(ElementDefinition.ReferenceVersionRules.EITHER); 482 break; 483 case INDEPENDENT: 484 tgt.setValue(ElementDefinition.ReferenceVersionRules.INDEPENDENT); 485 break; 486 case SPECIFIC: 487 tgt.setValue(ElementDefinition.ReferenceVersionRules.SPECIFIC); 488 break; 489 default: 490 tgt.setValue(ElementDefinition.ReferenceVersionRules.NULL); 491 break; 492 } 493} 494 return tgt; 495 } 496 497 static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ElementDefinition.ReferenceVersionRules> convertReferenceVersionRules(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ElementDefinition.ReferenceVersionRules> src) throws FHIRException { 498 if (src == null || src.isEmpty()) return null; 499 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ElementDefinition.ReferenceVersionRules> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.ElementDefinition.ReferenceVersionRulesEnumFactory()); 500 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 501 if (src.getValue() == null) { 502 tgt.setValue(null); 503} else { 504 switch(src.getValue()) { 505 case EITHER: 506 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.ReferenceVersionRules.EITHER); 507 break; 508 case INDEPENDENT: 509 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.ReferenceVersionRules.INDEPENDENT); 510 break; 511 case SPECIFIC: 512 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.ReferenceVersionRules.SPECIFIC); 513 break; 514 default: 515 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.ReferenceVersionRules.NULL); 516 break; 517 } 518} 519 return tgt; 520 } 521 522 public static org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionExampleComponent convertElementDefinitionExampleComponent(org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionExampleComponent src) throws FHIRException { 523 if (src == null) return null; 524 org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionExampleComponent tgt = new org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionExampleComponent(); 525 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 526 if (src.hasLabel()) tgt.setLabelElement(String40_50.convertString(src.getLabelElement())); 527 if (src.hasValue()) 528 tgt.setValue(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getValue())); 529 return tgt; 530 } 531 532 public static org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionExampleComponent convertElementDefinitionExampleComponent(org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionExampleComponent src) throws FHIRException { 533 if (src == null) return null; 534 org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionExampleComponent tgt = new org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionExampleComponent(); 535 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 536 if (src.hasLabel()) tgt.setLabelElement(String40_50.convertString(src.getLabelElement())); 537 if (src.hasValue()) 538 tgt.setValue(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getValue())); 539 return tgt; 540 } 541 542 public static org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionConstraintComponent convertElementDefinitionConstraintComponent(org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionConstraintComponent src) throws FHIRException { 543 if (src == null) return null; 544 org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionConstraintComponent tgt = new org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionConstraintComponent(); 545 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 546 if (src.hasKey()) tgt.setKeyElement(Id40_50.convertId(src.getKeyElement())); 547 if (src.hasRequirements()) tgt.setRequirementsElement(String40_50.convertStringToMarkdown(src.getRequirementsElement())); 548 if (src.hasSeverity()) tgt.setSeverityElement(convertConstraintSeverity(src.getSeverityElement())); 549 if (src.hasHuman()) tgt.setHumanElement(String40_50.convertString(src.getHumanElement())); 550 if (src.hasExpression()) tgt.setExpressionElement(String40_50.convertString(src.getExpressionElement())); 551 if (src.hasXpath()) { 552 tgt.addExtension(new org.hl7.fhir.r5.model.Extension(org.hl7.fhir.r5.utils.ToolingExtensions.EXT_XPATH_CONSTRAINT, new org.hl7.fhir.r5.model.StringType(src.getXpath()))); 553 } 554 if (src.hasSource()) tgt.setSourceElement(Canonical40_50.convertCanonical(src.getSourceElement())); 555 return tgt; 556 } 557 558 public static org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionConstraintComponent convertElementDefinitionConstraintComponent(org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionConstraintComponent src) throws FHIRException { 559 if (src == null) return null; 560 org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionConstraintComponent tgt = new org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionConstraintComponent(); 561 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt, org.hl7.fhir.r5.utils.ToolingExtensions.EXT_XPATH_CONSTRAINT); 562 if (src.hasKey()) tgt.setKeyElement(Id40_50.convertId(src.getKeyElement())); 563 if (src.hasRequirements()) tgt.setRequirementsElement(String40_50.convertString(src.getRequirementsElement())); 564 if (src.hasSeverity()) tgt.setSeverityElement(convertConstraintSeverity(src.getSeverityElement())); 565 if (src.hasHuman()) tgt.setHumanElement(String40_50.convertString(src.getHumanElement())); 566 if (src.hasExpression()) tgt.setExpressionElement(String40_50.convertString(src.getExpressionElement())); 567 if (org.hl7.fhir.r5.utils.ToolingExtensions.hasExtension(src, org.hl7.fhir.r5.utils.ToolingExtensions.EXT_XPATH_CONSTRAINT)) { 568 tgt.setXpath(org.hl7.fhir.r5.utils.ToolingExtensions.readStringExtension(src, org.hl7.fhir.r5.utils.ToolingExtensions.EXT_XPATH_CONSTRAINT)); 569 } 570 if (src.hasSource()) tgt.setSourceElement(Canonical40_50.convertCanonical(src.getSourceElement())); 571 return tgt; 572 } 573 574 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ElementDefinition.ConstraintSeverity> convertConstraintSeverity(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ElementDefinition.ConstraintSeverity> src) throws FHIRException { 575 if (src == null || src.isEmpty()) return null; 576 org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ElementDefinition.ConstraintSeverity> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.ElementDefinition.ConstraintSeverityEnumFactory()); 577 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 578 if (src.getValue() == null) { 579 tgt.setValue(null); 580} else { 581 switch(src.getValue()) { 582 case ERROR: 583 tgt.setValue(ElementDefinition.ConstraintSeverity.ERROR); 584 break; 585 case WARNING: 586 tgt.setValue(ElementDefinition.ConstraintSeverity.WARNING); 587 break; 588 default: 589 tgt.setValue(ElementDefinition.ConstraintSeverity.NULL); 590 break; 591 } 592} 593 return tgt; 594 } 595 596 static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ElementDefinition.ConstraintSeverity> convertConstraintSeverity(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ElementDefinition.ConstraintSeverity> src) throws FHIRException { 597 if (src == null || src.isEmpty()) return null; 598 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ElementDefinition.ConstraintSeverity> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.ElementDefinition.ConstraintSeverityEnumFactory()); 599 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 600 if (src.getValue() == null) { 601 tgt.setValue(null); 602} else { 603 switch(src.getValue()) { 604 case ERROR: 605 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.ConstraintSeverity.ERROR); 606 break; 607 case WARNING: 608 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.ConstraintSeverity.WARNING); 609 break; 610 default: 611 tgt.setValue(org.hl7.fhir.r4.model.ElementDefinition.ConstraintSeverity.NULL); 612 break; 613 } 614} 615 return tgt; 616 } 617 618 public static org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionBindingComponent convertElementDefinitionBindingComponent(org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionBindingComponent src) throws FHIRException { 619 if (src == null) return null; 620 org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionBindingComponent tgt = new org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionBindingComponent(); 621 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt, 622 "http://hl7.org/fhir/5.0/StructureDefinition/extension-ElementDefinition.binding.additional", ToolingExtensions.EXT_BINDING_ADDITIONAL); 623 if (src.hasStrength()) tgt.setStrengthElement(Enumerations40_50.convertBindingStrength(src.getStrengthElement())); 624 if (src.hasDescription()) tgt.setDescriptionElement(String40_50.convertStringToMarkdown(src.getDescriptionElement())); 625 if (src.hasValueSet()) tgt.setValueSetElement(Canonical40_50.convertCanonical(src.getValueSetElement())); 626 627 for (org.hl7.fhir.r4.model.Extension ext : src.getExtensionsByUrl("http://hl7.org/fhir/5.0/StructureDefinition/extension-ElementDefinition.binding.additional")) { 628 tgt.addAdditional(convertAdditional(ext)); 629 } 630 for (org.hl7.fhir.r4.model.Extension ext : src.getExtensionsByUrl(ToolingExtensions.EXT_BINDING_ADDITIONAL)) { 631 tgt.addAdditional(convertAdditional(ext)); 632 } 633 return tgt; 634 } 635 636 private static ElementDefinitionBindingAdditionalComponent convertAdditional(Extension src) { 637 if (src == null) return null; 638 ElementDefinitionBindingAdditionalComponent tgt = new ElementDefinitionBindingAdditionalComponent(); 639 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt, "valueSet", "purpose", "documentation", "shortDoco", "usage", "any"); 640 if (src.hasExtension("purpose")) { 641 tgt.getPurposeElement().setValueAsString(src.getExtensionByUrl("purpose").getValue().primitiveValue()); 642 } 643 if (src.hasExtension("valueSet")) { 644 tgt.setValueSetElement(Canonical40_50.convertCanonical((CanonicalType) src.getExtensionByUrl("valueSet").getValue())); 645 } 646 if (src.hasExtension("documentation")) { 647 tgt.setDocumentationElement(MarkDown40_50.convertMarkdown((MarkdownType) src.getExtensionByUrl("documentation").getValue())); 648 } 649 if (src.hasExtension("shortDoco")) { 650 tgt.setShortDocoElement(String40_50.convertString((StringType) src.getExtensionByUrl("shortDoco").getValue())); 651 } 652 for (Extension t : src.getExtensionsByUrl("usage")) { 653 tgt.addUsage(UsageContext40_50.convertUsageContext((org.hl7.fhir.r4.model.UsageContext) t.getValue())); 654 } 655 if (src.hasExtension("any")) { 656 tgt.setAnyElement(Boolean40_50.convertBoolean((BooleanType) src.getExtensionByUrl("any").getValue())); 657 } 658 return tgt; 659 } 660 661 private static org.hl7.fhir.r4.model.Extension convertAdditional(ElementDefinitionBindingAdditionalComponent src) { 662 if (src == null) return null; 663 org.hl7.fhir.r4.model.Extension tgt = new Extension(ToolingExtensions.EXT_BINDING_ADDITIONAL); 664 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 665 if (src.hasPurpose()) { 666 tgt.addExtension(new Extension("purpose", new org.hl7.fhir.r4.model.CodeType(src.getPurposeElement().primitiveValue()))); 667 } 668 if (src.hasValueSet()) { 669 tgt.addExtension(new Extension("valueSet", Canonical40_50.convertCanonical(src.getValueSetElement()))); 670 } 671 if (src.hasDocumentation()) { 672 tgt.addExtension(new Extension("documentation", MarkDown40_50.convertMarkdown(src.getDocumentationElement()))); 673 } 674 if (src.hasShortDoco()) { 675 tgt.addExtension(new Extension("shortDoco", String40_50.convertString(src.getShortDocoElement()))); 676 } 677 for (UsageContext t : src.getUsage()) { 678 tgt.addExtension(new Extension("usage", UsageContext40_50.convertUsageContext(t))); 679 } 680 if (src.hasAny()) { 681 tgt.addExtension(new Extension("any", Boolean40_50.convertBoolean(src.getAnyElement()))); 682 } 683 684 return tgt; 685 } 686 687 public static org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionBindingComponent convertElementDefinitionBindingComponent(org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionBindingComponent src) throws FHIRException { 688 if (src == null) return null; 689 org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionBindingComponent tgt = new org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionBindingComponent(); 690 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 691 if (src.hasStrength()) tgt.setStrengthElement(Enumerations40_50.convertBindingStrength(src.getStrengthElement())); 692 if (src.hasDescription()) tgt.setDescriptionElement(String40_50.convertString(src.getDescriptionElement())); 693 if (src.hasValueSet()) tgt.setValueSetElement(Canonical40_50.convertCanonical(src.getValueSetElement())); 694 for (ElementDefinitionBindingAdditionalComponent ab : src.getAdditional()) { 695 tgt.addExtension(convertAdditional(ab)); 696 } 697 return tgt; 698 } 699 700 public static org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionMappingComponent convertElementDefinitionMappingComponent(org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionMappingComponent src) throws FHIRException { 701 if (src == null) return null; 702 org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionMappingComponent tgt = new org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionMappingComponent(); 703 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 704 if (src.hasIdentity()) tgt.setIdentityElement(Id40_50.convertId(src.getIdentityElement())); 705 if (src.hasLanguage()) tgt.setLanguageElement(Code40_50.convertCode(src.getLanguageElement())); 706 if (src.hasMap()) tgt.setMapElement(String40_50.convertString(src.getMapElement())); 707 if (src.hasComment()) tgt.setCommentElement(String40_50.convertStringToMarkdown(src.getCommentElement())); 708 return tgt; 709 } 710 711 public static org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionMappingComponent convertElementDefinitionMappingComponent(org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionMappingComponent src) throws FHIRException { 712 if (src == null) return null; 713 org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionMappingComponent tgt = new org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionMappingComponent(); 714 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 715 if (src.hasIdentity()) tgt.setIdentityElement(Id40_50.convertId(src.getIdentityElement())); 716 if (src.hasLanguage()) tgt.setLanguageElement(Code40_50.convertCode(src.getLanguageElement())); 717 if (src.hasMap()) tgt.setMapElement(String40_50.convertString(src.getMapElement())); 718 if (src.hasComment()) tgt.setCommentElement(String40_50.convertString(src.getCommentElement())); 719 return tgt; 720 } 721}