FHIR IG PackageList doco
Content on this page has been migrated to Confluence here: https://confluence.hl7.org/display/FHIR/FHIR+IG+PackageList+doco
NOTE: This page is under the management of FHIR Infrastructure. All substantive changes to this specification require formal review and approval by the FHIR-I Working Group.
This page documents the FHIR package-list.json format. Each FHIR IG has a package-list.json file published at [canonical]/package-list.json, whch can be used by tools to fetch packages, or process/present/etc the publication history for an implementation guide.
Format
The package-list.json is a json file (!)
Base Object
The file contains a single Base object:
{ "package-id" : "[id]", // mandatory "title" : "[title]", // mandatory "canonical" : "[canonical]", // mandatory "introduction" : "[intro]", // optional "list" : [ 1..* Publication objects (see below) ] }
Doco:
- id: The NPM package id for the IG
- title: a human readable name for the IG
- canonical: the URL at which this package-list.json will be published
- intro: an optional commonmark markdown describing the purpose and contents of the IG
Note: for HL7 IGs, the the contents of these elements are all derived from the IG proposal agreed to by FMG
Publication Object
Note: the order of publication objects is important - must be ordered with most recent at the top
{ version" : "[version]", // mandatory "date" : "[date]", // mandatory, except for ci-build entry "desc" : "[desc]", // mandatory "path" : "[path]", // mandatory "changes" : "[changes]", // optional "status" : "[status]", // mandatory "sequence" : "[sequence]", // mandatory, except for ci-build entry "fhirversion" : "x.x.x", // mandatory, except for ci-build entry "sub-packages" : [ "{id}" ], // optional, special use "current" : [?current] // optional, default false }
Doco:
- version: the stated version of the IG for the publication
- date: the date at which the publication was made [yyyy-mm-dd]
- path: where the publication is found. Usually at [canonica]/version or similar (absolute URL)
- desc: a text description of the publication (e.g. reason for publication)
- changes: a link within the published spec that details the changes in this version (relative URL to path)
- status: the status of the publication - one of 'draft', 'ballot', 'trial-use', or 'normative'
- sequence: which group to publish this as part of (typically, 'STU 1' etc). Groups all the ballot publications and the final publication for the ballot sequence
- fhirversion: the version of FHIR on which the IG is based
- sub-packages: to inform publication tooling that this version of the IG produced additional packages beyond the standard base package
- current: true if this version should be listed in the current versions summary at the top of the history page. True for the CI-Build, and the version currently posted to the canonical URL
Note: the order of publication entries matters. The list should be ordered, with the ci-build entry first, then grouped by sequence and then from most recent to oldest in each sequence
CI Build
The first entry SHALL be a reference to the CI build. This has current = true, no date, 'current' for the version, etc:
{ "version" : "current", "desc" : "Continuous Integration Build (latest in version control)", "path" : "http://build.fhir.org/ig/HL7/[xxxx]", "status" : "ci-build", "current" : true }
where [xxxx] is the repository name.
Template
{ "package-id" : "id", "title" : "title", "canonical" : "url", "introduction" : "md", "list" : [{ "version" : "current", "desc" : "Continuous Integration Build (latest in version control)", "path" : "http://build.fhir.org/ig/HL7/xxx", "status" : "ci-build", "current" : true },{ "version" : "version", "date" : "date", "desc" : "desc", "changes" : "link", "path" : "url", "status" : "status", "fhirversion" : "4.0.0", "sequence" : "sequence" }] }