-
Notifications
You must be signed in to change notification settings - Fork 14
Canonical URL Compliance Checklist for FHIR Implementation Guides
Jörn Guy Süß edited this page Oct 3, 2025
·
1 revision
- Canonical URL is globally unique.
- URL remains stable across all IG versions.
- URL is not reused for unrelated content.
- URL is an absolute URI (e.g.,
https://example.org/fhir/ig-name). - Uses HTTPS.
- No version info in the base URL (use
ImplementationGuide.versioninstead).
- Domain is under your control or an authorized domain (e.g.,
hl7.org). - Avoid temporary or personal domains.
- Canonical URL resolves to a useful resource, such as:
- IG homepage (HTML)
- CapabilityStatement or package manifest
- Supports machine-readable access (e.g.,
package.tgz).
- URL is persistent and long-term.
- Aligns with FAIR principles: globally unique, persistent, ideally resolvable.
- Canonical URL declared in
ImplementationGuide.url. - Governance and stability policy documented in IG publishing notes.
https://example.org/fhir/ig-namehttps://hl7.org/fhir/uv/myguidehttps://health.gov.au/fhir/ig/medications
-
http://example.org/fhir/ig-name(use HTTPS) -
https://example.org/fhir/ig-name/v1(don’t include version in URL) -
https://github.com/user/repo/blob/main/ig(avoid temporary or personal domains) -
urn:uuid:1234-5678-90ab(allowed but not recommended for IGs)
Here are the key references from the official FHIR specification and best practice guides regarding canonical URLs for Implementation Guides (IGs):
- The
urlelement in a CanonicalResource (which includes ImplementationGuide) is:- An absolute URI that uniquely identifies the resource.
- SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this resource is (or will be) published.
- Real HTTP(S) addresses are preferred, though
urn:uuid:orurn:oid:are allowed. - Even if the resource is moved, the canonical URL must remain stable.[1](https://www.hl7.org/fhir/R5/canonicalresource-definitions.html)
- HL7 assigns a canonical URL for IGs published on
hl7.orgorfhir.org. - The canonical URL is the ongoing home of the IG across multiple versions.
- IGs SHALL declare this canonical URL in the
ImplementationGuide.urlelement.[2](https://confluence.hl7.org/spaces/FHIR/pages/66930646/FHIR+Implementation+Guide+Publishing+Requirements)
- Use a domain you control (e.g.,
example.org/fhir/your-ig). - Prefer HTTPS for security and consistency.
- Keep the URL stable and avoid reusing it for unrelated content.
- While not mandatory, making the canonical URL resolvable is strongly recommended for usability and FAIR principles.[3](https://fire.ly/blog/how-to-choose-the-right-canonical-url-for-your-fhir-specification/)
- FAIR principles require identifiers to be globally unique, persistent, and machine-resolvable.
- FHIR canonical URLs fulfill uniqueness and persistence, but resolvability depends on the publisher.
- Best practice: ensure the canonical URL resolves to the IG homepage or a machine-readable artifact.[4](https://confluence.hl7.org/spaces/SOA/pages/118981003/FHIR+identifiers+and+FAIR+principles+on+IDs)
✅ Summary:
- Not strictly required to be resolvable, but strongly recommended.
- Canonical URL must remain stable and globally unique.
- Preferred pattern:
https://your-domain/fhir/ig-name.