FHIR IG PackageList doco

From HL7Wiki
Jump to navigation Jump to search

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
   "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
  • 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"
 }]
}