Background
With #3730, all Blaze-minted FHIR canonicals move to the https://blaze-server.org/fhir base (the domain currently serving the GitHub Pages site). A canonical URL is primarily an identity — the FHIR spec recommends, but does not require, that it be dereferenceable. #3730 only mints the identities; this issue tracks actually publishing the IG so those canonicals resolve.
This is a hosting/ops follow-up with no impact on the Clojure code: nothing in #3730 blocks it, and it can land independently.
Goal
Make the Blaze FHIR artifacts resolvable under https://blaze-server.org/fhir, in both senses:
- For tooling — publish the IG as an npm-style FHIR package (
…/fhir/package.tgz) and ideally register it with packages.fhir.org. Validators and dependent IGs resolve canonicals from the package, not by dereferencing each URL. GitHub Pages serves the package file fine.
- For humans/clients — dereferencing e.g.
https://blaze-server.org/fhir/StructureDefinition/Job returns the artifact.
Notes / constraints
- The repo currently only runs SUSHI (FSH →
fsh-generated) + the FHIR validator. Publishing a browsable IG requires adding the HL7 IG Publisher step, which emits index.html, the artifact registry, and per-artifact pages StructureDefinition-Job.html / StructureDefinition-Job.json (note the hyphen).
- The canonical path uses a slash (
/fhir/StructureDefinition/Job), which does not match the hyphenated output file and 404s on plain GitHub Pages. Making canonicals dereference needs either:
- static redirects — a file at
/fhir/StructureDefinition/Job/index.html redirecting to the hyphenated artifact (works on GitHub Pages; can be generated), or
- edge content negotiation — front the domain with Cloudflare (Worker/Page Rule) to serve
.json for Accept: application/fhir+json and .html otherwise. Plain GitHub Pages cannot do Accept-based negotiation.
Decision to make
blaze-server.org/fhir can be the IG publication or a live FHIR base, but not both at the same URL on static hosting. Decide upfront:
- IG publication only at
blaze-server.org/fhir (GitHub Pages + redirects), or
- also a live demo Blaze server, which would need its own host — e.g. a subdomain (
fhir.blaze-server.org for the live server, keeping blaze-server.org/fhir for the IG, or vice-versa).
Scope
Relates to
Background
With #3730, all Blaze-minted FHIR canonicals move to the
https://blaze-server.org/fhirbase (the domain currently serving the GitHub Pages site). A canonical URL is primarily an identity — the FHIR spec recommends, but does not require, that it be dereferenceable. #3730 only mints the identities; this issue tracks actually publishing the IG so those canonicals resolve.This is a hosting/ops follow-up with no impact on the Clojure code: nothing in #3730 blocks it, and it can land independently.
Goal
Make the Blaze FHIR artifacts resolvable under
https://blaze-server.org/fhir, in both senses:…/fhir/package.tgz) and ideally register it withpackages.fhir.org. Validators and dependent IGs resolve canonicals from the package, not by dereferencing each URL. GitHub Pages serves the package file fine.https://blaze-server.org/fhir/StructureDefinition/Jobreturns the artifact.Notes / constraints
fsh-generated) + the FHIR validator. Publishing a browsable IG requires adding the HL7 IG Publisher step, which emitsindex.html, the artifact registry, and per-artifact pagesStructureDefinition-Job.html/StructureDefinition-Job.json(note the hyphen)./fhir/StructureDefinition/Job), which does not match the hyphenated output file and 404s on plain GitHub Pages. Making canonicals dereference needs either:/fhir/StructureDefinition/Job/index.htmlredirecting to the hyphenated artifact (works on GitHub Pages; can be generated), or.jsonforAccept: application/fhir+jsonand.htmlotherwise. Plain GitHub Pages cannot doAccept-based negotiation.Decision to make
blaze-server.org/fhircan be the IG publication or a live FHIR base, but not both at the same URL on static hosting. Decide upfront:blaze-server.org/fhir(GitHub Pages + redirects), orfhir.blaze-server.orgfor the live server, keepingblaze-server.org/fhirfor the IG, or vice-versa).Scope
modules/igand a GitHub Pages publish workflow targeting/fhir.package.tgz); optionally register withpackages.fhir.org.Accept-based content negotiation.blaze-server.org/fhiris IG-only or whether a live demo server warrants a subdomain.Relates to