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