FHIR Tooling Extensions IG
0.2.0-snapshot - Release International flag

FHIR Tooling Extensions IG, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 0.2.0-snapshot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/FHIR/fhir-tools-ig/ and changes regularly. See the Directory of published versions

CodeSystem: IG Parameter Codes

Official URL: http://hl7.org/fhir/tools/CodeSystem/ig-parameters Version: 0.2.0-snapshot
Active as of 2024-04-10 Computable Name: IGParameters
Other Identifiers: OID:2.16.840.1.113883.4.642.40.1.16.9

Ig Parameter Codes Defined by the FHIR Tooling. These parameter codes go in ImplementationGuide.definition.parameter.code

This Code system is referenced in the content logical definition of the following value sets:

Properties

This code system defines the following properties for its concepts

CodeTypeDescription
repeats boolean Whether the parameter can repeat more than once
string-format string Description of the value domain for the values of the parameter. Note: all values are strings, this provides additional information about what can go in the string
missing string What it means if the parameter is not provided

Concepts

This case-sensitive code system http://hl7.org/fhir/tools/CodeSystem/ig-parameters defines the following codes:

CodeDisplayDefinitionrepeatsstring-formatmissing
logging logging

Which kinds of log output messages to produce - the value is a code, from this list:

  • init: Messages describing the start up process (for debugging)
  • progress: Overall progress messages
  • tx: Messages describing the use of the terminology server (for debugging)
  • generate: Log when producing an individual resource (troubleshooting only - leave off)
  • html: Log when validating an html page (troubleshooting only - leave off)
true code(list) no logging
generate generate

Fine grained control over generation of resources:

  • example-narratives: generate narrative in examples if they don't have any (as opposed to conformance resources, which are always generated)
  • genExamples: produce extra examples (todo: document this)

Except: you can't turn example-narratives off. Todo: decide why this exists. But you can suppress - see next item

true code(list) no extra narrative
no-narrative no-narrative

A resource to suppress narrative generation for (and Resource.text will be removed if found). Format is (type)/(id) e.g. Patient/example, or type or id may be * e.g. Task/* - do not generate narrative for any Task resource.

Narrative Generation should never be suppressed for any canonical resource

Note for HL7 users: the FMG will review which resources have narrative suppressed and why when publication approval is sought

true mask(resource) n/a
no-validate no-validate

A resource not to validate. Format is (type)/(id) e.g. Patient/example, or type or id may be * e.g. Task/* - do not validate any Task resource.

Suppressing validation is generally a bad idea. There's two contexts where it might be useful: validation of really big resources that takes a long time, and examples that are purposefully wrong to demonstrate what not to do. But while it sounds good - don't bother me with problems I mean to introduce, it's too easy for other unintended problems to accumulate. So it's better to keep validation on.

ote for HL7 users: the FMG will review which resources have validation suppressed and why when publication approval is sought. FMG would generally prefer to see explicit errors for resources that are wrong intentionally, and will OK publication in this case. It's going to reviewed either way.

true mask(resource) na
no-check-usage no-check-usage

Do not check usage for extensions and data types - for IGs where they are being defined for use elsewhere

false true|false do check usage
path-resource path-resource

Relative path to a location in the IG repository from which to load resources. If the path ends in /*, then that means all sub-folders

true relative-path \resources
path-binary path-binary

Relative path to a location in the IG repository in which to look for binary adjunct files (see below)

true relative-path n/a
autoload-resources autoload-resources

If true, scan the locations in which resources might be found (above) looking for resources, and auto-loading them. Else, only load what is in the IG.

false true|false false
codesystem-property codesystem-property

A code system property to show when rendering code systems (code system property definitions with a 'rendered-value' extension are always shown, as is any property in the uri space http://hl7.org/fhir/concept-properties

true uri n/a
path-pages path-pages

A relative path in which pages can be found.

true relative-path \pages
path-data path-data

A relative path in which data files can be found (will go in _data for Jekyll).

true relative-path no data files copied
path-qa path-qa

The relative path to the qa folder (generated fragments to check rendering in browser).

false relative-path no qa is produced
path-tx-cache path-tx-cache

The relative path to the terminology cache.

false relative-path no value - txCache not in version control (slower builds)
path-liquid path-liquid

A relative path that contains liquid templates for generating narrative

true relative-path n/a
path-temp path-temp

The relative path to use for jekyll processing.

false relative-path temp
path-output path-output

The relative path where the output is generated.

false relative-path output (which must be the case for the ci-build scripts)
path-history path-history

The url where the history file is found (usually (canonical)/history.html). Used when checking links

false url n/a
path-expansion-params path-expansion-params

The relative path to a parameters resource that contains expansion parameters used when the IG publisher expands a value set

false relative-path No expansion parameters
path-suppressed-warnings path-suppressed-warnings

A file to load suppressed error messages from (one msg per line). Suppressed errors don't chose up in the qa.ini (but will be checked anyway if publishing through HL7 processes)

false relative-path No suppressed warnings
path-test path-test

Indicates a folder that contains useful testing collateral to include a /test folder in the package. If more than one value is provided, the contents are all added to the one folder (in order)

true relative-path No /test folder in the package
html-exempt html-exempt

A mask that identifies specific HTML files exempt from having header / footer etc.

Discuss with FHIR Product Manager before using in any HL7 IG

true mask(file) No exempt files
extension-domain extension-domain

An external domain from which extensions are allowed to come (else they'll be flagged as invalid when validating). http://example.org is always allowed

true url n/a
active-tables active-tables

Whether to generate active tables in the generated fragments (tables that will expand and contract). Note that turning this on requires that this entry be found somewhere in the header of the generated html pages: \<script src='fhir-table-scripts.js'>\</script>

false true|false false
special-url special-url

If a canonical resource in the IG should actually have a URL that isn't the one implied by the canonical URL for the IG itself, it must be listed here explicitly (as well as defined in the resource itself). It must be listed here to stop it accidentally being different. Each canonical url must be listed in full as present on the resource; it is not possible to specify a pattern.

true url n/a
special-url-base special-url-base

A common alternative base URL for multiple canonical resources in the IG

false url n/a
template-openapi template-openapi

A relative path to the template openapi file to use when generating openapi files (e.g. populate openAPI security details)

false relative-path no template
template-html template-html

A relative path to the template to use when rendering html pages

false relative-path ?
template-md template-md

A relative path to the template to use when rendering markdown pages

false relative-path ?
apply-contact apply-contact

if true, overwrite all canonical resource contact details with that found in the IG.

(Note: the ig-template-base template, on which almost all IG templates are based, sets this to parameter to true unless it has been explicitly set.)

false true|false false
default-contact default-contact

if true, populate all canonical resources that don't specify their own contact details with that found in the IG. Ignored if apply-contact is true.

false true|false false
apply-context apply-context

if true, overwrite all canonical resource context details with that found in the IG.

(Note: the ig-template-base template, on which almost all IG templates are based, sets this to parameter to true unless it has been explicitly set.)

false true|false false
default-context default-context

if true, populate all canonical resources that don't specify their own context details with that found in the IG. Ignored if apply-context is true.

false true|false false
apply-copyright apply-copyright

if true, overwrite all canonical resource copyright details with that found in the IG.

(Note: the ig-template-base template, on which almost all IG templates are based, sets this to parameter to true unless it has been explicitly set.)

false true|false false
default-copyright default-copyright

if true, populate all canonical resources that don't specify their own copyright details with that found in the IG. Ignored if apply-copyright is true.

false true|false false
apply-jurisdiction apply-jurisdiction

if true, overwrite all canonical resource jurisdiction details with that found in the IG.

(Note: the ig-template-base template, on which almost all IG templates are based, sets this to parameter to true unless it has been explicitly set.)

false true|false false
default-jurisdiction default-jurisdiction

if true, populate all canonical resources that don't specify their own jurisdiction details with that found in the IG. Ignored if apply-jurisdiction is true.

false true|false false
apply-license apply-license

if true, overwrite all canonical resource license details with that found in the IG.

(Note: the ig-template-base template, on which almost all IG templates are based, sets this to parameter to true unless it has been explicitly set.)

false true|false false
default-license default-license

if true, populate all canonical resources that don't specify their own license details with that found in the IG. Ignored if apply-license is true.

false true|false false
apply-publisher apply-publisher

if true, overwrite all canonical resource publisher details with that found in the IG.

(Note: the ig-template-base template, on which almost all IG templates are based, sets this to parameter to true unless it has been explicitly set.)

false true|false false
default-publisher default-publisher

if true, populate all canonical resources that don't specify their own publisher details with that found in the IG. Ignored if apply-publisher is true.

false true|false false
apply-version apply-version

if true, overwrite all canonical resource version details with that found in the IG.

(Note: the ig-template-base template, on which almost all IG templates are based, sets this to parameter to true unless it has been explicitly set.)

false true|false false
default-version default-version

if true, populate all canonical resources that don't specify their own version details with that found in the IG. Ignored if apply-version is true.

false true|false false
apply-wg apply-wg

if true, overwrite all canonical resource WG details with that found in the IG.

(Note: the ig-template-base template, on which almost all IG templates are based, sets this to parameter to true unless it has been explicitly set.)

false true|false false
default-wg default-wg

if true, populate all canonical resources that don't specify their own WG details with that found in the IG. Ignored if apply-contact is true.

false true|false false
propagate-status propagate-status

If true, indicates that the FMM and Standards Status declarations from top-level artifacts should be propagated to any dependencies that don't declare their own values. If different statuses or maturity level would propagate to a dependency from different artifacts, the 'highest' FMM or most mature standards status will apply (Normative or Informative, then STU, then Draft). Information does not propagate to artifacts marked as examples or as experimental. Propagation is based on references. E.g. the IG references everything (so its status will propagate everywhere by default). If there are higher statuses on certain CapabilityStatements, Operations or Profiles, those status will propagate to the artifacts they reference, such as other profiles, ValueSets or CodeSystems. Propagation only happens within the context of an IG. There is no propagation across artifacts present in other IG packages listed as dependencies.

false true|false false
validation validation

Fine grained control over validation flags when validating resources / IGs:

  • check-must-support: Does nothing! (for now?)
  • allow-any-extensions: Allow any extensions at all (and therefore miss accidental broken extension references)
  • check-aggregation: check that aggregation is correct (in IGs, bundles are often broken up for publishing / documentation purposes)
  • no-broken-links: forbid broken links in HTML pages - stop the build if any are found
  • show-reference-messages: when validating, instead of showing a summary of issues from validating the target of references, just show all the validation messages in detail
true code(list) none of the options
show-inherited-invariants show-inherited-invariants

faIf true, render inherited constraints in the full details and invariants viewlse

false true|false true
allow-extensible-warnings allow-extensible-warnings

if true, show the warning when codes are not in extensible bindings

false true|false false
usage-stats-opt-out usage-stats-opt-out

If true, usage stats (information about extensions, value sets, and invariants being used) is not sent to fhir.org (see e.g. http://clinfhir.com/igAnalysis.html).

false true|false false
generate-version generate-version

Request that the IG publisher generate packages for additional versions than the stated version e.g. the IG might be for authored against version 4.0, but also produce an R3 version.

For each occurence of this parameter, the IG publisher will produce an extra package, with the filename id.ver.tgz where id is the main id of the ig, and ver is the parameter value. (note that this is different to the main package which is always called package.tgz).

This parameter can have one one of following values:

  • r2
  • r2b
  • r3
  • r4
  • r5

This parameter should be used with great care, and only after consulting the FHIR Product director to consider all of it's ramifications. It's generally only appropriate for terminology resources. It's not an error to generate the same version as the IG itself - this is typically done for consistency of use across versions

true code(http://hl7.org/fhir/ValueSet/FHIR-version) n/a
releaselabel releaselabel

The release label at the top of the page - values:

  • ci-build - the continuous integration build release (not stable)
  • draft - draft version
  • qa-preview - frozen snapshot for non-ballot feedback
  • ballot - frozen snapshot for ballot
  • trial-use - official release with 'trial use' status
  • release - official release for use
  • update - official release with 'trial use' status - posted as an un-ballotedSTU update
  • normative+trial-use - official release with mixture of trial use and normative content
false string ?
excludexml excludexml

Cause the publisher to exclude the generation of the xml format and to exclude the xml tab from the implementation guide pages.

false true|false false
excludejson excludejson

Cause the publisher to exclude the generation of the json format and to exclude the json tab from the implementation guide pages.

false true|false false
excludettl excludettl

Cause the publisher to exclude the generation of the ttl format and to exclude the ttl tab from the implementation guide pages.

false true|false false
excludemap excludemap

If true, causes the mapping tab to be excluded from all StructureDefinition artifact pages

false true|false false
excludelogbinaryformat excludelogbinaryformat

If true, causes the xml, json and ttl tabs to be excluded for Binary resources when they're examples of logical models

false true|false true
shownav shownav

Determines whether the next/previous navigation tabs are shown in the header and footer

false true|false true
copyrightyear copyrightyear

The copyright year text to include in the implementation guide footer

false string ?
fmm-definition fmm-definition

Indicates the URL that provides a definition for the maturity levels declared in the current IG.

false url maturity levels will not be rendered
version-comparison version-comparison

Control how the IG publisher does a comparison with a previously published version (see qa.html). Possible values:

  • {last} - compare with the last published version (whatever it's status) - this is the default if the parameter doesn't appear
  • {current} - compare with the last full published version
  • n/a - don't do any comparison
  • [v] - a previous version where [v] is the version
true code(list) last version with same status
version-comparison-master version-comparison-master

Provide this parameter to instruct the IG publisher to mark up the generated pages with the differences found for the version specified. This version can be listed in version-comparison too but it doesn't need to be. Note that the impact of this parameter is a work in progress

false code(ig-versions) no annotations about versions in the produced content
ipa-comparison ipa-comparison

Control how the IG publisher does a comparison with a IPA (see qa.html). Possible values:

  • {last} - compare with the last published version (whatever it's status) - this is the default if the parameter doesn't appear
  • {current} - compare with the last full published version
  • n/a - don't do any comparison
  • [v] - a previous version where [v] is the version
true code(ips-versions) don't compare
ips-comparison ips-comparison

Control how the IG publisher does a comparison with a IPS (see qa.html). Possible values:

  • {last} - compare with the last published version (whatever it's status) - this is the default if the parameter doesn't appear
  • {current} - compare with the last full published version
  • n/a - don't do any comparison
  • [v] - a previous version where [v] is the version
true code(list) don't compare
bundle-references-resolve bundle-references-resolve

Whether to require that references in bundles resolve. true means references must resolve within implementation guides or an error is created.

false true|false true
format-date format-date

String format to use when rendering date values from resources in the implementation guide.

false string yyyy-MM-dd
format-datetime format-datetime

String format to use when rendering date/time values from resources in the implementation guide.

Note: see Patterns for Formatting and Parsing for Java String formats

false string yyyy-MM-dd hh:mm:ssZZZ
no-modifiers no-modifiers

If set to true, it means that all profiles created within the implementation guide will have their differential modified to set maxOccurs=0 on all isModifier elements that are not explicitly mentioned in the original source differential.

false true|false false
jekyll-timeout jekyll-timeout

How long to let Jekyll run before giving up on it (seconds)

false integer 300
suppressed-ids suppressed-ids

A comma separated list of resource ids to suppress ids when they are rendered in the Implementation Guide.

This is useful because the IG publication process requires all resources to have ids, so they can be handled. But in some Implementation Guides, some examples should not have ids .e.g showing an example of posting a new resource. If the resource is listed here, the id will be removed in the publication (but not the package, where the resources must have ids). The format is either type/id, or just id. Repeating parameters just add more to the list. If the parameter is present with the special value $examples, then all examples will have ids suppressed If the parameter is not present, then all resources will have ids.

true string don't suppress ids
tabbed-snapshots tabbed-snapshots

A boolean that indicates that the implementation guide leverages tabs to include alternate dictionary views and that tabs for differential, key and/or must-support tables should link to anchors specific to those tables rather than only to the default 'snapshot' keys.

true true|false Generate all table links to point to the 'snapshot' anchors
jira-code jira-code

If your IG is published via HL7 and should your package ID diverge from the file name in the JIRA-Spec-Artifacts repository, this parameter will help point to the right file.

false code(jira-codes) use package ID for locating spec file in JIRA-Spec-Artifacts
r4-exclusion r4-exclusion

For an R4B IG, ignore this profile when considering conversion to R4, or for an R4 IG, omit this when generating the R4 specific package. Value is either '{type}/{id}' or '{url}'

true special don't ignore any profiles
r4b-exclusion r4b-exclusion

For an R4 IG, ignore this profile when considering conversion to R4B, or for an R4B IG, omit this when generating the R4B specific package. Value is either '{type}/{id}' or '{url}'

true special don't ignore any profiles
produce-jekyll-data produce-jekyll-data

Produce the resources as .json in the jekyll _data folder. Note that Jekyll will fail if any of the resources contain non-ascii characters

false true|false don't produce data files for Jekyll
page-factory page-factory

Reference to a Page Factory

true relative-path don't produce any pages
globals-in-artifacts globals-in-artifacts

If true, causes the list of global profiles to appear at the top of the Artifacts Summary page

false true|false don't put the globals fragment in the artifact summary
noRootToc No root table-of-contents

If true, causes the ig to not inject a root 'toc' page if that's not already the root (only functions in templates that do this by default)

false true|false Insert a table-of-contents page as the root of the IG (if the template supports doing that)
artifactsOnRoot Artifacts on root

If true, causes artifact pages to be created as children of the IG's 'root' page rather than the 'artifacts' page (if the template supports doing that)

false true|false Place artifact pages as children of the IG's 'root' page rather than 'artifacts' page (if the template supports doing that)
conversion-version conversion-version

Defines an additional version of the FHIR definitions to load for version conversion maps. Value is either RX or V.V (e.g. R4 or 4.0). Additional versions are loaded with modified URLs (e.g. R4 is loaded to http://hl7.org.fhir/4.0)

true code(http://hl7.org/fhir/ValueSet/FHIR-version) No other versions are loaded to support version conversion maps
defaultVersion defaultVersion

Lloyd to provide definition

false string Lloyd to define
no-usage-check no-usage-check

No Warning in QA if there are extensions/profiles that are not used in this IG

false true|false Usage check appliese
i18n-default-lang i18n-default-lang

The default language (e.g. Resource.language) to assume in the IG when the resource and/or the element context doesn't specify a language

false code(http://hl7.org/fhir/ValueSet/all-languages) No default language - Multi-language services are not enabled
i18n-lang i18n-lang

A language to translate the IG into. note that i18n-default-lang is automatically a language, and doesn't need to be restated

true code(http://hl7.org/fhir/ValueSet/all-languages) No additional languages
translation-sources translation-sources

A folder in which to look for translation source files - .po or .xliff or .json

true relative-path No translation supplements
translation-supplements translation-supplements

A folder in which to look for translation supplements - .po or .xliff or .json. This is deprecated - use translation-sources instead

true relative-path No translation supplements
display-warnings display-warnings

Instruct the terminology layer that wrong displays result in a warning not an error

false true|false Wrong displays cause errors
logged-when-scanning logged-when-scanning

Whether to report issues when scanning files for resources. Valid values are: true, false, stack

false true|false errors are reported, but no stack dump
validation-duration-report-cutoff validation-duration-report-cutoff

An integer value that specifies the a number of seconds. If any resource takes longer than that time, it will be reported in the log

false integer default value is 0, in which case no reports will be generated
viewDefinition viewDefinition

A ViewDefinition to execute (path to file). Output is added in the package.db file as a generated table, and can be used in the page contents. See also documentation

true relativepath No view definitions
fixed-value-format Fixed Value Format Code

A code that indicates how to format fixed and pattern values. Valid values for this parameter are json | json-all | xml | all-xml. The -all options relate to primitives - whether they are shown just as a value or as a formatted fragment

false string Default presentation is json
auto-oid-root OID root for automatically assigned OIDs

Defines the OID root for the IG. Must be globally unique. Contact the FHIR product director or deputy for an assignment, though you can assign your own if you wish. If this is present, any canonical resources that do not have OIDs assigned manually will have OIDs automatically assigned by the publisher. The OID assignments are stored in oids.ini next to the IG resource for the IG, and must be committed with other changes to the source.

false oid OIDs are not automatically assigned