Page tree
Skip to end of metadata
Go to start of metadata

An IG Publication request is a file named publication-request.json which contains the information required to release a new implementation guide to a web site. One of those must be created for each new publication - whether draft, ballot, milestone etc - published by the IG publisher to an automatically maintained website. 

The publication request json file is found at the root of the IG GitHub repository, and looks like this:

  "package-id" : "{pid}",
  "version" : "{version to release}",
  "path" : "{path}",
"mode" : "working" | "milestone" | "technical-correction",
"status" : "release", "sequence" : "Releases", "desc" : "{desc of release} (optional)", "descmd" : "{markdown desc of release} (optional)", "changes" : "{relative link to description of changes} (optional)", "title" : "{title} (only for first release)",
"ci-build" : "{link to ci-build location} (only for first release)",  "category" : "{category} (only for first release)", "introduction" : "{intro} (only for first release)" }

Once the publication is performed, the file should be removed from the repository, and the version reset to the next proposed version+ -cibuild 


  • "package-id" : package id - for cross checking
  • "version" : version to release - must match the version in the IG itself (cross-check)
  • "path" : full url of where this release will live. Must be {canonical}/{code} - code can be the version, or something else
  • "mode" : one of the values:
    • "working": just public at the designated path, and don't update the current published version (if there is one). This is the default
    • milestone: If this is true, this version of the IG will also be published to {canonical} as the 'current' approved version, (typically, this is considered the end of the sequence, though technical corrections are possible)
    • technical-correction: update the current without making a new sub-path. The existing content at the sub-path will be preserved in a zip, but can no longer be found in google etc (HL7 policy is that this is only used for limited technical corrections with approval from TSC)
  • "status" : the status of this release, one of release|trial-use|update|qa-preview|ballot|draft|normative+trial-use|normative|informative
  • "sequence" : The name for the series of releases this is part of e.g. STU1, Release 1. This is how releases are grouped on the history page. If you don't have a sequence of grouped releases, just use Releases or Publications
  • "desc" : Text description of the release
  • "descmd" : Markdown description of the release (common mark). To make it easier to edit the markdown, you can put the value "@[]", and provide the markdown in raw format in [], a file in the same directory as the publication-request.json file
  • "changes" : a link to a list of changes published as part of the IG
  • "title" : The human readable name for the IG (for HL7 IGs: from the IG proposal)
  • "category" : The category for the IG, for - ask FHIR product director if unsure
  • "introduction" : A human readable description of the intent of the IG (shown on the history page). For HL7 IGs: this is the long description from the IG proposal
  • "ci-build": the location of the built IG on the site or similar (typically using the FHIR Auto-publisher, a URL like{org}/{repo}, found at

There are 3 ways to describe what has changed in this version of the IG (or, for the first version, what is initially found in the IG):

  • desc
  • descmd
  • changes

descmd is a markdown version of desc (commonmark) that is used in preference in most places. It's best to provide both, but at least one is required. If you provide both, the markdown one will be used as a preferential version of the changes desc in the general case, but the desc is preferred where a shorter description is required. E.g. it's best to provide both, and the non-markdown is a shorter summary. 

The full list of changes can be quite long, so you can also - or alternatively - provide a relative reference into the IG itself (e.g. changes-list.html#{version}) where more information can be found

Note: publication-request.json supercedes package-list.json, which is no longer supported as input, of version 1.2.13 of the ig publisher.

  • No labels