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:

  1. Detect the FHIR version 4 from the file extension .4.fml (as it already does)
  2. Internally interpret the versionless URLs as http://hl7.org/fhir/4.0/StructureDefinition/...
  3. 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
Edited Mar 03, 2026 by Nik
Assignee Loading
Time tracking Loading