Support versionless FHIR StructureDefinition URLs when FHIR version is specified via file extension
Problem
Currently, MaLaC-HD requires versioned uses URLs in FML files, such as:
uses "http://hl7.org/fhir/4.3/StructureDefinition/QuestionnaireResponse" alias QR as source
However, the FHIR IG Publisher cannot resolve these versioned URLs and produces errors:
Canonical URL 'http://hl7.org/fhir/4.3/StructureDefinition/QuestionnaireResponse' could not be resolved
This leads to a cascade of follow-up errors (unknown types → unknown target contexts) that turn the entire QA report of the StructureMap red.
The IG Publisher expects versionless canonical URLs:
uses "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse" alias QR as source
Proposal
MaLaC-HD already derives the FHIR version from the file name (e.g., .4.fml → R4). When the version is known via the file name, MaLaC-HD should also accept versionless uses URLs and internally map them to the correct FHIR version.
Desired Behavior
Given a file my-mapping.4.fml with:
uses "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse" alias QR as source
uses "http://hl7.org/fhir/StructureDefinition/Observation" alias Obs as target
MaLaC-HD should:
- Detect the FHIR version
4from the file extension.4.fml(as it already does) - Internally interpret the versionless URLs as
http://hl7.org/fhir/4.0/StructureDefinition/... - Perform the conversion as usual
Backward Compatibility
Versioned URLs (4.0/..., 4.3/...) should continue to be supported. The versionless variant would be an additional, compatible option.
Motivation
- IG Publisher Compatibility: Versionless URLs do not produce validation errors in the IG Publisher QA report
- FHIR Convention: Versionless URLs are the standard in FHIR Implementation Guides
- Single Source of Truth: The FHIR version does not need to be redundantly specified in both the file name and the URL
- Maintainability: The same FML file works with both MaLaC-HD and the IG Publisher without modifications