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>