feat(ig): migrate Bildgebung to IG Publisher (EN primary, DE translation) — Pilot A - #102
Open
ThomasDeBe wants to merge 1 commit into
Open
Conversation
ThomasDeBe
force-pushed
the
feat/ig-publisher-migration-2026-07-23
branch
from
July 23, 2026 10:40
7595867 to
1eed722
Compare
…r (EN primary, DE translation) Pilot A: migrate the Imaging module from the Simplifier-based IG to the HL7 FHIR IG Publisher with multi-language support, following the kerndatensatz-basis reference pattern. - ig.ini using fhir2.base.template#current (multi-language template); un-ignored so it is tracked as an authored input. - sushi-config.yaml: pages, expanded menu (EN labels), i18n parameters (i18n-default-lang: en, i18n-lang: [de], translation-sources, path-pages, excludettl). - 13 narrative pages migrated to input/pagecontent (EN) and input/translations/de/pagecontent (DE), Simplifier tags stripped/mapped. - 27 profile/extension intro-notes (EN + DE) carrying the custom prose that Simplifier mixed with FQL/tabs; all auto-generated content dropped. - German menu/page-title translations via PO file. - ig-publisher.yml workflow + helper scripts + ignoreWarnings.txt copied from basis. - FSH artifacts unchanged: IDs and canonical URLs untouched. Local gate: `sushi .` adds 0 new errors / 0 warnings (3 pre-existing FSH errors on main are out of scope). Full IG Publisher build not run locally (Docker + tx certs unavailable). See .ai-log/migration-report.md. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ThomasDeBe
force-pushed
the
feat/ig-publisher-migration-2026-07-23
branch
from
July 23, 2026 10:40
1eed722 to
840a466
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
IG Publisher Migration Report — Modul Bildgebung (Pilot A, EN-primary)
Approach: A (this module repo, English primary language, German translations)
Module: bildgebung (
de.medizininformatikinitiative.kerndatensatz.bildgebung)Date: 2026-07-23
Work branch:
feat/ig-publisher-migration-2026-07-23Base branch:
feat/ig-publisher-migration(integration base; NOT main)Canonical (unchanged):
https://www.medizininformatik-initiative.de/fhir/ext/modul-bildgebungSummary
Migrated the Simplifier-rendered IG narrative of the Imaging module to the HL7 FHIR IG Publisher
with multi-language support (EN default, DE translation), following the
kerndatensatz-basisreference pattern and the
mii-ig-publisher-migrationskill.implementation-guides/mii-ig-bildgebung-de-v2027/(Simplifier
.page.mdexport). No live Simplifier scrape was needed.sushi .introduces 0 new errors / 0 warnings. The 3 errors present are pre-existing onmain(choice-element value assignments in three Procedure profiles) and are out of migration scope.
Source inventory
The narrative lived in the repo as an exported Simplifier IG tree (three versions: v2025, v2026, v2027).
The v2026 tree is the authoritative source — it matches the target
version: 2026.2.0insushi-config (v2027 is a
2027.0.0-draftpreview). The two trees are byte-identical except:(a) v2027 adds a
Messung/(Measurement) profile folder — its two extension pages(SeriesUID/SOPInstanceUID) are duplicates of the Observation ones and map to the same extension
IDs, so no content was lost by using v2026; and (b)
Index.page.md— the version table and oneauthor (Fabian Schinzler, v2027-only) differ.
index.md(EN+DE) was aligned to v2026(version 2026.2.0, Fabian Schinzler omitted). Structure:
Images taken from
implementation-guides/ImplementationGuide-Common/images/and copied(lowercased) into
input/images/.Infrastructure created
ig.initemplate = fhir2.base.template#current(multi-language template). Removed from.gitignoreso it is tracked.sushi-config.yaml(edited)pages:, expandedmenu:(EN labels), addedparameters:(i18n-default-lang: en, i18n-lang: [de], translation-sources, path-pages, excludettl).input/translations/de/ImplementationGuide-mii-ig-bildgebung.poinput/ignoreWarnings.txt.github/workflows/ig-publisher.ymlscripts/copy-localized-table-backgrounds.sh,scripts/fix-publication-history-links.mjsinput/pagecontent/,input/translations/de/pagecontent/,input/intro-notes/,input/translations/de/intro-notes/,input/images/The existing
.github/workflows/main.yml(Simplifier FHIR validation) was left in place.Narrative pages migrated
13 content pages (each in EN primary + DE translation):
{{index:root}}; kept impressum/authors/copyright as Markdown./de/); Medikation link kept.{{tree:MII_LM_Bildgebung}}→ link toStructureDefinition-mii-lm-bildgebung.html.{{render:...}}→.#missing-data(EN) /#fehlende-daten(DE) preserved.; indented tag blocks → fenced code.{{render:canonical}}+ Simplifier resolve link → link to CS page.## {{page-title}}.Profile / Extension intro-notes
Custom prose that in Simplifier was mixed with FQL/tabs on profile pages was moved to
input/intro-notes/StructureDefinition-<id>-intro.md(EN) and the DE mirror. Everythingauto-generated by IG Publisher (profile metadata tables, tree, MS tables, XML/JSON, search
params, example embeds) was dropped.
27 intro-note IDs (each EN + DE = 54 files), all verified against real StructureDefinition IDs:
Simplifier tag crosswalk applied
## {{page-title}}{{index:root}}<tabs>…</tabs>,{{tree, buttons}},{{xml}},{{json}}(profile view),{{link}}{{tree:MII_LM_Bildgebung}}{{render:…/images/X.png}}(image copied to input/images, lowercased).{{render:https://…/CapabilityStatement/metadata}}{{json:fsh-generated/…Example….json}}resolve?canonical=…linksVerification (pre-PR gate)
grep -rlE '\{\{|<tabs|@```' input/pagecontent input/intro-notes input/translations/de→ empty (clean).sushi .→ 3 errors, 0 warnings — all 3 errors pre-exist onmain(see below); migration adds none.TODO:REVIEW / open items
(
CDS_DEV_CLIENT_CERT,_KEY,_CERT_PASSWORD) andvars.PAGES_ACTIONS_ENABLEDare org-leveland cannot be set from here. The
ig-publisher.ymlworkflow will not fully deploy until enabled.environment (expected, per task). Only the SUSHI gate was run. A real build should be verified in CI.
(
MII_PR_Bildgebung_Bildgebungsprozedur,..._Radiologische_Befundungsprozedur,..._TNM_Radiologische_Befundungsprozedur) each report "multiple choice value assignments forchoice element StructureDefinition.extension.value[x]." Present on
mainbefore any change here.Should be fixed by the module team but is out of scope for this narrative migration.
ig.iniun-ignored: removed theig.iniline from.gitignore(it is now an authored input,not Simplifier-generated) so the IG Publisher config is tracked. Please confirm this is desired.
fsh-generated/diffs committed: this repo intentionally tracksfsh-generated/(no CI FSHpipeline yet, per .gitignore comment). The 6 changed StructureDefinition JSONs are the normal
SUSHI re-run output; committed for consistency with repo convention.
uml.mdconsolidation: three separate Simplifier UML pages were merged into one page with##sub-sections. If the team prefers the original 3-page hierarchy, split accordingly.Publisher output artifact names; verify after first build.
2026.0.0; when basis re-publishes these may need bumping.