HL7 / fhir-ig-publisher

Source code for the IG publisher
Apache License 2.0
67 stars 55 forks source link

Formal definitions are needed for resources referred to by IG Publisher #495

Open wardweistra opened 2 years ago

wardweistra commented 2 years ago

Reported again here, since https://jira.hl7.org/browse/FHIR-35778 was seemingly closed without resolving the issue. If all referenced canonicals in both IG resources already have a official representations in dependencies that are listed with each IG please let me know.


The IG Publisher is creating two Implementation Guide resources with FHIR version 4.0.1 in its packages, which both have references to non-existing extensions or codes.

The one IG resource (e.g. package/ImplementationGuide-hl7.fhir.us.core.json) refers to non-existing extensions in the http://hl7.org/fhir/tools/* domain, including:

http://hl7.org/fhir/tools/StructureDefinition/ig-parameter http://hl7.org/fhir/tools/StructureDefinition/resource-information The other IG resource (e.g. package/ig-r4.json) uses a number of codes which are not in the corresponding ValueSet http://hl7.org/fhir/ValueSet/guide-parameter-code:

copyrightyear, releaselabel, path-expansion-params, active-tables, apply-contact, apply-jurisdiction, apply-publisher, apply-version, show-inherited-invariants, usage-stats-opt-out, excludexml, excludejsn, excludettl, excludemap, excludeexample, generate and more

Both issues make it impossible for other tools to process the Implementation Guide resources properly. Example output from the .NET Validator can be seen by hitting Validate on this snippet: https://simplifier.net/snippet/wardweistra/30 (free account needed for Validate).

Related Zulip conversation: https://chat.fhir.org/#narrow/stream/179177-conformance/topic/Resolving.20IG.20parameter.20and.20page.20canonicals.20resources/near/234799544

wardweistra commented 2 years ago

Resolution in https://jira.hl7.org/browse/FHIR-35778 had been captured as:

IGs are authored using R5 regardless of the version of the IG being published. However, we need to fix the conversion process to ensure that the IGs included in packages perform necessary conversions to ensure the IG instances are valid in the packages produced.

grahamegrieve commented 2 years ago

the ig-r4 resource is a hedge against earlier versions of FHIR - various tools need a r4 minimum set of information. But future packages will put the ig-r4 resource in /package/other not in /package.

Documenting the tools extension is work in progress (https://build.fhir.org/ig/FHIR/fhir-tools-ig)

lmckenzi commented 3 weeks ago

@wardweistra Is this now satisfactorily resolved?