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
 
(7 intermediate revisions by 4 users not shown)
Line 2: Line 2:
 
[[Category:Active FHIR Discussion]]
 
[[Category:Active FHIR Discussion]]
  
 +
Also see discussion on page [[Extensibility Page|here]].
  
= Context of the extension =
+
==Extension applied at invalid location==
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:
+
When extensions are defined, we identify what resource path (or possibly pattern) they apply to. What happens if an extension is received that references an id on a location that isn't actually a legal extension for that element?  Presume that's an errorAre applications expected to check this(At least for extensions they support?) For that matter, do we need to make any statements about what systems can or should do if they receive an instance that contains an error?  Are they allowed to process it?
 
 
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)
 

Latest revision as of 03:38, 5 June 2013

Also see discussion on page here.

Extension applied at invalid location

When extensions are defined, we identify what resource path (or possibly pattern) they apply to. What happens if an extension is received that references an id on a location that isn't actually a legal extension for that element? Presume that's an error. Are applications expected to check this? (At least for extensions they support?) For that matter, do we need to make any statements about what systems can or should do if they receive an instance that contains an error? Are they allowed to process it?