What is a Global Profile? - UP-Manila-SILab/ph-core GitHub Wiki
In the context of the FHIR IG Publisher, a global profile refers to a default profile that is applied to all instances of a specific resource type within an Implementation Guide (IG), unless a more specific profile is explicitly assigned.
What is a Global Profile?
In the ImplementationGuide
resource, the global
element allows you to define default profiles for specific FHIR resource types. This means:
- If a resource of that type appears in your IG and does not have an explicitly assigned profile, the global profile will be assumed.
- This helps ensure consistency and simplifies validation across the IG.
Structure of a Global Profile Entry
Each entry in the global
list includes:
type
: The FHIR resource type (e.g.,Patient
,Observation
).profile
: A canonical URL pointing to the StructureDefinition that defines the profile to be used for that resource type.
Example
"global": [
{
"type": "Patient",
"profile": "http://example.org/fhir/StructureDefinition/my-patient-profile"
},
{
"type": "Observation",
"profile": "http://example.org/fhir/StructureDefinition/my-observation-profile"
}
]
This means:
- All
Patient
resources in the IG must conform tomy-patient-profile
. - All
Observation
resources must conform tomy-observation-profile
, unless otherwise specified.
Why Use Global Profiles?
- Simplifies validation: Tools like the IG Publisher and FHIR validators can automatically apply these profiles during validation.
- Reduces redundancy: You don't need to specify the profile for every instance of a resource.
- Improves clarity: Makes the IG's expectations more transparent to implementers.
This feature is supported across multiple FHIR versions, including R4 and R5 1(https://build.fhir.org/implementationguide.html)(https://build.fhir.org/implementationguide.html) 2(https://www.hl7.org/fhir/R4/implementationguide.html)(https://www.hl7.org/fhir/R4/implementationguide.html).
Would you like help setting up a global profile in your IG configuration or ImplementationGuide
resource?