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