FHIR Extensions: Mechanism and Implementation
FHIR Extensions - FirestarterPro
Summary
In FHIR, data elements not present in the base specification can be added as 'Extensions' while maintaining interoperability. This allows new concepts, such as a patient's preferred pronouns, to be incorporated into systems.
Details
A FHIR Extension is an additional data element attached to a resource or element. It is not merely a random JSON field; it must carry a required URL that identifies its meaning and have its structure (StructureDefinition) strictly defined regarding type and context. This mechanism allows new concepts (e.g., preferred pronouns) to be incorporated as part of the interoperable contract without breaking the base specification. Practically, using an Extension is recommended for adding missing data elements (new concepts). For constraining values or setting required/optional status, Profiles should be used instead. Reusing existing extensions and checking relevant Implementation Guides is crucial. Creating a new extension is justified only when the concept is domain-specific and the organization can maintain and publish its StructureDefinition. Technically, Extensions appear both in data instances (Resource.extension) and conformance artifacts (StructureDefinition resources). The URL serves as the stable identifier for the meaning and structure of the extension, requiring custom implementations to use a controlled domain name for stability.
Original content copyright by respective publishers