This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

Difference between revisions of "FHIR IG PackageList doco"

From HL7Wiki
Jump to navigation Jump to search
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
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.
 
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 =
+
=Format=
  
 
The package-list.json is a json file (!)
 
The package-list.json is a json file (!)
  
= Base Object =
+
=Base Object=
  
 
The file contains a single Base object:
 
The file contains a single Base object:
Line 21: Line 26:
 
Doco:  
 
Doco:  
  
* id: The NPM package id for the IG
+
*id: The NPM package id for the IG
* title: a human readable name for the IG
+
*title: a human readable name for the IG
* canonical: the URL at which this package-list.json will be published
+
*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
+
*intro: an optional commonmark markdown describing the purpose and contents of the IG
 +
 
  
== Publication Object ==
+
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
 
Note: the order of publication objects is important - must be ordered with most recent at the top
Line 39: Line 47:
 
     "sequence" : "[sequence]",  // mandatory, except for ci-build entry
 
     "sequence" : "[sequence]",  // mandatory, except for ci-build entry
 
     "fhirversion" : "x.x.x",  // mandatory, except for ci-build entry
 
     "fhirversion" : "x.x.x",  // mandatory, except for ci-build entry
 +
<nowiki>  "sub-packages" : [ "{id}" ], // optional, special use  </nowiki>
 
     "current" : [?current]  // optional, default false
 
     "current" : [?current]  // optional, default false
 
   }
 
   }
  
 
Doco:
 
Doco:
* version: the stated version of the IG for the publication
+
 
* date: the date at which the publication was made [yyyy-mm-dd]
+
*version: the stated version of the IG for the publication
* path: where the publication is found. Usually at [canonica]/version or similar (absolute URL)
+
*date: the date at which the publication was made [yyyy-mm-dd]
* desc: a text description of the publication (e.g. reason for publication)
+
*path: where the publication is found. Usually at [canonica]/version or similar (absolute URL)
* changes: a link within the published spec that details the changes in this version (relative URL to path)
+
*desc: a text description of the publication (e.g. reason for publication)
* status: the status of the publication - one of 'draft', 'ballot', 'trial-use', or 'normative'
+
*changes: a link within the published spec that details the changes in this version (relative URL to path)
* 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
+
*status: the status of the publication - one of 'draft', 'ballot', 'trial-use', or 'normative'
* fhirversion: the version of FHIR on which the IG is based
+
*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
* 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
+
*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
 
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 ==
+
==CI Build==
  
 
The first entry SHALL be a reference to the CI build. This has current = true, no date, 'current' for the version, etc:
 
The first entry SHALL be a reference to the CI build. This has current = true, no date, 'current' for the version, etc:
Line 69: Line 80:
 
where [xxxx] is the repository name.
 
where [xxxx] is the repository name.
  
= Template =
+
=Template=
  
 
  {
 
  {

Latest revision as of 05:00, 31 October 2019

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