Difference between revisions of "FHIR IG PackageList doco"
(→Format) |
|||
(12 intermediate revisions by 3 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 | ||
{ | { | ||
Line 33: | Line 43: | ||
"desc" : "[desc]", // mandatory | "desc" : "[desc]", // mandatory | ||
"path" : "[path]", // mandatory | "path" : "[path]", // mandatory | ||
+ | "changes" : "[changes]", // optional | ||
"status" : "[status]", // mandatory | "status" : "[status]", // mandatory | ||
"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 | ||
+ | <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 |
− | * desc: a text description of the publication (e.g. reason for 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) |
− | * status: the status of the publication - one of 'draft', 'ballot', 'trial-use', or 'normative' | + | *desc: a text description of the publication (e.g. reason for publication) |
− | * 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 | + | *changes: a link within the published spec that details the changes in this version (relative URL to path) |
− | * 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 | + | *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 | 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 62: | Line 79: | ||
where [xxxx] is the repository name. | 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" | ||
+ | }] | ||
+ | } |
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" }] }