Extension.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <StructureDefinition xmlns="http://hl7.org/fhir"> 3 <id value="Extension" /> 4 <meta> 5 <lastUpdated value="2019-10-31T23:29:23.356+01:00" /> 6 </meta> 7 <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status"> 8 <valueCode value="normative" /> 9 </extension> 10 <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version"> 11 <valueCode value="4.0.0" /> 12 </extension> 13 <url value="http://hl7.org/fhir/StructureDefinition/Extension" /> 14 <version value="4.0.1" /> 15 <name value="Extension" /> 16 <status value="active" /> 17 <date value="2019-10-31T23:29:23.0000000+01:00" /> 18 <publisher value="HL7 FHIR Standard" /> 19 <contact> 20 <telecom> 21 <system value="url" /> 22 <value value="http://hl7.org/fhir" /> 23 </telecom> 24 </contact> 25 <description value="Base StructureDefinition for Extension Type: Optional Extension Element - found in all resources." /> 26 <purpose value="The ability to add extensions in a structured way is what keeps FHIR resources simple." /> 27 <fhirVersion value="4.0.1" /> 28 <mapping> 29 <identity value="rim" /> 30 <uri value="http://hl7.org/v3" /> 31 <name value="RIM Mapping" /> 32 </mapping> 33 <kind value="complex-type" /> 34 <abstract value="false" /> 35 <type value="Extension" /> 36 <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Element" /> 37 <derivation value="specialization" /> 38 <snapshot> 39 <element id="Extension"> 40 <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status"> 41 <valueCode value="normative" /> 42 </extension> 43 <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version"> 44 <valueCode value="4.0.0" /> 45 </extension> 46 <path value="Extension" /> 47 <short value="Optional Extensions Element" /> 48 <definition value="Optional Extension Element - found in all resources." /> 49 <min value="0" /> 50 <max value="*" /> 51 <base> 52 <path value="Extension" /> 53 <min value="0" /> 54 <max value="*" /> 55 </base> 56 <condition value="ele-1" /> 57 <constraint> 58 <key value="ele-1" /> 59 <severity value="error" /> 60 <human value="All FHIR elements must have a @value or children" /> 61 <expression value="hasValue() or (children().count() > id.count())" /> 62 <xpath value="@value|f:*|h:div" /> 63 <source value="http://hl7.org/fhir/StructureDefinition/Element" /> 64 </constraint> 65 <constraint> 66 <key value="ext-1" /> 67 <severity value="error" /> 68 <human value="Must have either extensions or value[x], not both" /> 69 <expression value="extension.exists() != value.exists()" /> 70 <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> 71 </constraint> 72 <isModifier value="false" /> 73 <mapping> 74 <identity value="rim" /> 75 <map value="n/a" /> 76 </mapping> 77 <mapping> 78 <identity value="rim" /> 79 <map value="N/A" /> 80 </mapping> 81 </element> 82 <element id="Extension.id"> 83 <path value="Extension.id" /> 84 <representation value="xmlAttr" /> 85 <short value="Unique id for inter-element referencing" /> 86 <definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." /> 87 <min value="0" /> 88 <max value="1" /> 89 <base> 90 <path value="Element.id" /> 91 <min value="0" /> 92 <max value="1" /> 93 </base> 94 <type> 95 <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type"> 96 <valueUrl value="string" /> 97 </extension> 98 <code value="http://hl7.org/fhirpath/System.String" /> 99 </type> 100 <isModifier value="false" /> 101 <isSummary value="false" /> 102 <mapping> 103 <identity value="rim" /> 104 <map value="n/a" /> 105 </mapping> 106 </element> 107 <element id="Extension.extension"> 108 <path value="Extension.extension" /> 109 <slicing> 110 <discriminator> 111 <type value="value" /> 112 <path value="url" /> 113 </discriminator> 114 <description value="Extensions are always sliced by (at least) url" /> 115 <rules value="open" /> 116 </slicing> 117 <short value="Additional content defined by implementations" /> 118 <definition value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." /> 119 <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> 120 <alias value="extensions" /> 121 <alias value="user content" /> 122 <min value="0" /> 123 <max value="*" /> 124 <base> 125 <path value="Element.extension" /> 126 <min value="0" /> 127 <max value="*" /> 128 </base> 129 <type> 130 <code value="Extension" /> 131 </type> 132 <constraint> 133 <key value="ele-1" /> 134 <severity value="error" /> 135 <human value="All FHIR elements must have a @value or children" /> 136 <expression value="hasValue() or (children().count() > id.count())" /> 137 <xpath value="@value|f:*|h:div" /> 138 <source value="http://hl7.org/fhir/StructureDefinition/Element" /> 139 </constraint> 140 <constraint> 141 <key value="ext-1" /> 142 <severity value="error" /> 143 <human value="Must have either extensions or value[x], not both" /> 144 <expression value="extension.exists() != value.exists()" /> 145 <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" /> 146 <source value="http://hl7.org/fhir/StructureDefinition/Extension" /> 147 </constraint> 148 <isModifier value="false" /> 149 <isSummary value="false" /> 150 <mapping> 151 <identity value="rim" /> 152 <map value="n/a" /> 153 </mapping> 154 </element> 155 <element id="Extension.url"> 156 <path value="Extension.url" /> 157 <representation value="xmlAttr" /> 158 <short value="identifies the meaning of the extension" /> 159 <definition value="Source of the definition for the extension code - a logical name or a URL." /> 160 <comment value="The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension." /> 161 <min value="1" /> 162 <max value="1" /> 163 <base> 164 <path value="Extension.url" /> 165 <min value="1" /> 166 <max value="1" /> 167 </base> 168 <type> 169 <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type"> 170 <valueUrl value="uri" /> 171 </extension> 172 <code value="http://hl7.org/fhirpath/System.String" /> 173 </type> 174 <isModifier value="false" /> 175 <isSummary value="false" /> 176 <mapping> 177 <identity value="rim" /> 178 <map value="N/A" /> 179 </mapping> 180 </element> 181 <element id="Extension.value[x]"> 182 <path value="Extension.value[x]" /> 183 <short value="Value of extension" /> 184 <definition value="Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list)." /> 185 <min value="0" /> 186 <max value="1" /> 187 <base> 188 <path value="Extension.value[x]" /> 189 <min value="0" /> 190 <max value="1" /> 191 </base> 192 <type> 193 <code value="base64Binary" /> 194 </type> 195 <type> 196 <code value="boolean" /> 197 </type> 198 <type> 199 <code value="canonical" /> 200 </type> 201 <type> 202 <code value="code" /> 203 </type> 204 <type> 205 <code value="date" /> 206 </type> 207 <type> 208 <code value="dateTime" /> 209 </type> 210 <type> 211 <code value="decimal" /> 212 </type> 213 <type> 214 <code value="id" /> 215 </type> 216 <type> 217 <code value="instant" /> 218 </type> 219 <type> 220 <code value="integer" /> 221 </type> 222 <type> 223 <code value="markdown" /> 224 </type> 225 <type> 226 <code value="oid" /> 227 </type> 228 <type> 229 <code value="positiveInt" /> 230 </type> 231 <type> 232 <code value="string" /> 233 </type> 234 <type> 235 <code value="time" /> 236 </type> 237 <type> 238 <code value="unsignedInt" /> 239 </type> 240 <type> 241 <code value="uri" /> 242 </type> 243 <type> 244 <code value="url" /> 245 </type> 246 <type> 247 <code value="uuid" /> 248 </type> 249 <type> 250 <code value="Address" /> 251 </type> 252 <type> 253 <code value="Age" /> 254 </type> 255 <type> 256 <code value="Annotation" /> 257 </type> 258 <type> 259 <code value="Attachment" /> 260 </type> 261 <type> 262 <code value="CodeableConcept" /> 263 </type> 264 <type> 265 <code value="Coding" /> 266 </type> 267 <type> 268 <code value="ContactPoint" /> 269 </type> 270 <type> 271 <code value="Count" /> 272 </type> 273 <type> 274 <code value="Distance" /> 275 </type> 276 <type> 277 <code value="Duration" /> 278 </type> 279 <type> 280 <code value="HumanName" /> 281 </type> 282 <type> 283 <code value="Identifier" /> 284 </type> 285 <type> 286 <code value="Money" /> 287 </type> 288 <type> 289 <code value="Period" /> 290 </type> 291 <type> 292 <code value="Quantity" /> 293 </type> 294 <type> 295 <code value="Range" /> 296 </type> 297 <type> 298 <code value="Ratio" /> 299 </type> 300 <type> 301 <code value="Reference" /> 302 </type> 303 <type> 304 <code value="SampledData" /> 305 </type> 306 <type> 307 <code value="Signature" /> 308 </type> 309 <type> 310 <code value="Timing" /> 311 </type> 312 <type> 313 <code value="ContactDetail" /> 314 </type> 315 <type> 316 <code value="Contributor" /> 317 </type> 318 <type> 319 <code value="DataRequirement" /> 320 </type> 321 <type> 322 <code value="Expression" /> 323 </type> 324 <type> 325 <code value="ParameterDefinition" /> 326 </type> 327 <type> 328 <code value="RelatedArtifact" /> 329 </type> 330 <type> 331 <code value="TriggerDefinition" /> 332 </type> 333 <type> 334 <code value="UsageContext" /> 335 </type> 336 <type> 337 <code value="Dosage" /> 338 </type> 339 <type> 340 <code value="Meta" /> 341 </type> 342 <constraint> 343 <key value="ele-1" /> 344 <severity value="error" /> 345 <human value="All FHIR elements must have a @value or children" /> 346 <expression value="hasValue() or (children().count() > id.count())" /> 347 <xpath value="@value|f:*|h:div" /> 348 <source value="http://hl7.org/fhir/StructureDefinition/Element" /> 349 </constraint> 350 <isModifier value="false" /> 351 <isSummary value="false" /> 352 <mapping> 353 <identity value="rim" /> 354 <map value="N/A" /> 355 </mapping> 356 </element> 357 </snapshot> 358 <differential> 359 <element id="Extension"> 360 <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status"> 361 <valueCode value="normative" /> 362 </extension> 363 <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version"> 364 <valueCode value="4.0.0" /> 365 </extension> 366 <path value="Extension" /> 367 <short value="Optional Extensions Element" /> 368 <definition value="Optional Extension Element - found in all resources." /> 369 <min value="0" /> 370 <max value="*" /> 371 <constraint> 372 <key value="ext-1" /> 373 <severity value="error" /> 374 <human value="Must have either extensions or value[x], not both" /> 375 <expression value="extension.exists() != value.exists()" /> 376 <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> 377 </constraint> 378 <mapping> 379 <identity value="rim" /> 380 <map value="N/A" /> 381 </mapping> 382 </element> 383 <element id="Extension.url"> 384 <path value="Extension.url" /> 385 <representation value="xmlAttr" /> 386 <short value="identifies the meaning of the extension" /> 387 <definition value="Source of the definition for the extension code - a logical name or a URL." /> 388 <comment value="The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension." /> 389 <min value="1" /> 390 <max value="1" /> 391 <type> 392 <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type"> 393 <valueUrl value="uri" /> 394 </extension> 395 <code value="http://hl7.org/fhirpath/System.String" /> 396 </type> 397 <mapping> 398 <identity value="rim" /> 399 <map value="N/A" /> 400 </mapping> 401 </element> 402 <element id="Extension.value[x]"> 403 <path value="Extension.value[x]" /> 404 <short value="Value of extension" /> 405 <definition value="Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list)." /> 406 <min value="0" /> 407 <max value="1" /> 408 <type> 409 <code value="base64Binary" /> 410 </type> 411 <type> 412 <code value="boolean" /> 413 </type> 414 <type> 415 <code value="canonical" /> 416 </type> 417 <type> 418 <code value="code" /> 419 </type> 420 <type> 421 <code value="date" /> 422 </type> 423 <type> 424 <code value="dateTime" /> 425 </type> 426 <type> 427 <code value="decimal" /> 428 </type> 429 <type> 430 <code value="id" /> 431 </type> 432 <type> 433 <code value="instant" /> 434 </type> 435 <type> 436 <code value="integer" /> 437 </type> 438 <type> 439 <code value="markdown" /> 440 </type> 441 <type> 442 <code value="oid" /> 443 </type> 444 <type> 445 <code value="positiveInt" /> 446 </type> 447 <type> 448 <code value="string" /> 449 </type> 450 <type> 451 <code value="time" /> 452 </type> 453 <type> 454 <code value="unsignedInt" /> 455 </type> 456 <type> 457 <code value="uri" /> 458 </type> 459 <type> 460 <code value="url" /> 461 </type> 462 <type> 463 <code value="uuid" /> 464 </type> 465 <type> 466 <code value="Address" /> 467 </type> 468 <type> 469 <code value="Age" /> 470 </type> 471 <type> 472 <code value="Annotation" /> 473 </type> 474 <type> 475 <code value="Attachment" /> 476 </type> 477 <type> 478 <code value="CodeableConcept" /> 479 </type> 480 <type> 481 <code value="Coding" /> 482 </type> 483 <type> 484 <code value="ContactPoint" /> 485 </type> 486 <type> 487 <code value="Count" /> 488 </type> 489 <type> 490 <code value="Distance" /> 491 </type> 492 <type> 493 <code value="Duration" /> 494 </type> 495 <type> 496 <code value="HumanName" /> 497 </type> 498 <type> 499 <code value="Identifier" /> 500 </type> 501 <type> 502 <code value="Money" /> 503 </type> 504 <type> 505 <code value="Period" /> 506 </type> 507 <type> 508 <code value="Quantity" /> 509 </type> 510 <type> 511 <code value="Range" /> 512 </type> 513 <type> 514 <code value="Ratio" /> 515 </type> 516 <type> 517 <code value="Reference" /> 518 </type> 519 <type> 520 <code value="SampledData" /> 521 </type> 522 <type> 523 <code value="Signature" /> 524 </type> 525 <type> 526 <code value="Timing" /> 527 </type> 528 <type> 529 <code value="ContactDetail" /> 530 </type> 531 <type> 532 <code value="Contributor" /> 533 </type> 534 <type> 535 <code value="DataRequirement" /> 536 </type> 537 <type> 538 <code value="Expression" /> 539 </type> 540 <type> 541 <code value="ParameterDefinition" /> 542 </type> 543 <type> 544 <code value="RelatedArtifact" /> 545 </type> 546 <type> 547 <code value="TriggerDefinition" /> 548 </type> 549 <type> 550 <code value="UsageContext" /> 551 </type> 552 <type> 553 <code value="Dosage" /> 554 </type> 555 <type> 556 <code value="Meta" /> 557 </type> 558 <mapping> 559 <identity value="rim" /> 560 <map value="N/A" /> 561 </mapping> 562 </element> 563 </differential> 564 </StructureDefinition>