This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

Difference between revisions of "FHIR Extensibility Page"

From HL7Wiki
Jump to navigation Jump to search
Line 6: Line 6:
 
The specification mentions a set of contexts of an extension. The spec is just a bit to terse to fully understand what they entail. So, below I have given my interpretation of them, as a candidate for extending the documentation:
 
The specification mentions a set of contexts of an extension. The spec is just a bit to terse to fully understand what they entail. So, below I have given my interpretation of them, as a candidate for extending the documentation:
  
* A particular element in a single resource - In instances, these extension elements can be found under the Resource.extensions element and refer to an element in the same resource (by use of id/idref, but we're going to change that?). Logically, this extension becomes a child element of that referenced element.
+
In instances, extension elements can be found under the Resource.extensions element and refer to an element in within the same resource. The referenced element can be explicitly identified by the id/idref construction (though that is going to change), but is otherwise determined by the 'path' attribute of an extension definition (see below for details). Logically, this extension becomes a child element of that referenced element.  
  
 
+
* A particular element in a single resource - When defining the extension, the "code" indicates the resource type to which this extension applies, the path is the path to an element within that resource that is extended. id/idref is only necessary when this element has a cardinality > 1, to indicate a specific occurrence of the element to extend.
 
+
* Anywhere a particular data type is used -  When defining the extension, the "code" indicates the composite type to which this extension applies (how?), the path is the path to an element within that composite type that is extended. Unless a specific element is referenced using id/idref, all elements within the resource that are of the type that this extension applies to will be extended.
 
 
*Anywhere a particular data type is used
 
 
*A set of elements across one or more resources
 
*A set of elements across one or more resources
 
*A particular context in one of the mapped reference models
 
*A particular context in one of the mapped reference models

Revision as of 15:09, 20 June 2012


Context of the extension

The specification mentions a set of contexts of an extension. The spec is just a bit to terse to fully understand what they entail. So, below I have given my interpretation of them, as a candidate for extending the documentation:

In instances, extension elements can be found under the Resource.extensions element and refer to an element in within the same resource. The referenced element can be explicitly identified by the id/idref construction (though that is going to change), but is otherwise determined by the 'path' attribute of an extension definition (see below for details). Logically, this extension becomes a child element of that referenced element.

  • A particular element in a single resource - When defining the extension, the "code" indicates the resource type to which this extension applies, the path is the path to an element within that resource that is extended. id/idref is only necessary when this element has a cardinality > 1, to indicate a specific occurrence of the element to extend.
  • Anywhere a particular data type is used - When defining the extension, the "code" indicates the composite type to which this extension applies (how?), the path is the path to an element within that composite type that is extended. Unless a specific element is referenced using id/idref, all elements within the resource that are of the type that this extension applies to will be extended.
  • A set of elements across one or more resources
  • A particular context in one of the mapped reference models
  • Another extension

(TODO: rest will follow, called into a meeting, sorry)