This wiki has undergone a migration to Confluence found Here

Difference between revisions of "FHIR Extensibility Page"

From HL7Wiki
Jump to navigation Jump to search
(added comment about mustUnderstand)
Line 6: Line 6:
 
==Extension applied at invalid location==
 
==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?
 
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?
 +
 +
 +
==Must Understand==
 +
The ''mustUnderstand'' attribute appears in both the profile and an actual extension conforming to that profile. Thus there is room for confusion. As the profile defines the extension, if the profile has mustUnderstand set to yes, then the actual extension must also have it set to yes also. (this means that a recipient doesn't need to check the profile when processing a message).
 +
 +
However, it is also possible for the profile to have mustUnderstand=no, and the resource have mustUnderstand=yes (not quite sure of the use case for this would be, but it is permissible).

Revision as of 23:44, 24 October 2012

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?


Must Understand

The mustUnderstand attribute appears in both the profile and an actual extension conforming to that profile. Thus there is room for confusion. As the profile defines the extension, if the profile has mustUnderstand set to yes, then the actual extension must also have it set to yes also. (this means that a recipient doesn't need to check the profile when processing a message).

However, it is also possible for the profile to have mustUnderstand=no, and the resource have mustUnderstand=yes (not quite sure of the use case for this would be, but it is permissible).