FHIR Tooling Extensions IG
0.1.0 - Release International flag

This page is part of the HL7 Tools Extension IG (v0.1.0: Releases - Informative) based on FHIR (HL7® FHIR® Standard) v5.0.0. . For a full list of available versions, see the Directory of published versions

CodeSystem: IG Parameter Codes

Official URL: http://hl7.org/fhir/tools/CodeSystem/ig-parameters Version: 0.1.0
Active as of 2023-12-19 Computable Name: IGParameters

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
repeatsbooleanWhether the parameter can repeat more than once
typestringDescription of the value domain for the values of the parameter
missingstringWhat 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:

CodeDisplayDefinitionrepeatstypemissing
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)
truecodeno 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

truecodeno 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

truepatternn/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.

truepatternna
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

falsebooleando 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

truepath\resources
path-binary path-binary

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

truepathn/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.

falsetrue|falsefalse
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

trueurin/a
path-pages path-pages

A relative path in which pages can be found.

truepath\pages
path-data path-data

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

truepathno data files copied
path-qa path-qa

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

falsepathno qa is produced
path-tx-cache path-tx-cache

The relative path to the terminology cache.

falsepathno value - txCache not in version control (slower builds)
path-liquid path-liquid

A relative path that contains liquid templates for generating narrative

truepathn/a
path-temp path-temp

The relative path to use for jekyll processing.

falsepathtemp
path-output path-output

The relative path where the output is generated.

falsepathoutput (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

falseurln/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

falsepathNo 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)

falsepathNo 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)

truepathNo /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

truestringNo exempt files
extension-domain extension-domain

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

trueurln/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>

falsetrue|falsefalse
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.

trueurln/a
special-url-base special-url-base

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

falseurln/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)

falsepathno template
template-html template-html

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

falsepath?
template-md template-md

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

falsepath?
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.)

falsetrue|falsefalse
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.

falsetrue|falsefalse
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.)

falsetrue|falsefalse
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.

falsetrue|falsefalse
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.)

falsetrue|falsefalse
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.

falsetrue|falsefalse
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.)

falsetrue|falsefalse
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.

falsetrue|falsefalse
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.)

falsetrue|falsefalse
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.

falsetrue|falsefalse
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.)

falsetrue|falsefalse
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.

falsetrue|falsefalse
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.)

falsetrue|falsefalse
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.

falsetrue|falsefalse
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.)

falsetrue|falsefalse
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.

falsetrue|falsefalse
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.

falsetrue|falsefalse
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
truecodenone of the options
show-inherited-invariants show-inherited-invariants

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

falsetrue|falsetrue
allow-extensible-warnings allow-extensible-warnings

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

falsetrue|falsefalse
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).

falsetrue|falsefalse
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

truecoden/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
falsecode?
excludexml excludexml

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

falsetrue|falsefalse
excludejson excludejson

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

falsetrue|falsefalse
excludettl excludettl

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

falsetrue|falsefalse
excludemap excludemap

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

falsetrue|falsefalse
excludelogbinaryformat excludelogbinaryformat

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

falsetrue|falsetrue
shownav shownav

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

falsetrue|falsetrue
copyrightyear copyrightyear

The copyright year text to include in the implementation guide footer

falsestring?
fmm-definition fmm-definition

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

falseurlmaturity 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
truecodelast 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

falsecodeno 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
truecodedon'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
truecodedon'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.

falsetrue|falsetrue
format-date format-date

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

falsestringyyyy-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

falsestringyyyy-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.

falsetrue|falsefalse
jekyll-timeout jekyll-timeout

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

falseseconds300
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.

truestringdon'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.

truebooleanGenerate 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.

falsestringuse 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}'

trueurldon'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}'

trueurldon'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

falsebooleandon't produce data files for Jekyll
page-factory page-factory

Reference to a Page Factory

truestringdon'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

falsebooleandon'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)

falsebooleanInsert 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)

falsebooleanPlace 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)

truestringNo other versions are loaded to support version conversion maps
defaultVersion defaultVersion

Lloyd to provide definition

falsestringLloyd to define
no-usage-check no-usage-check

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

falsebooleanUsage 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

falsestringNo 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

truestringNo additional languages
translation-supplements translation-supplements

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

truestringNo translation supplements
display-warnings display-warnings

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

falsebooleanWrong displays cause errors
logged-when-scanning logged-when-scanning

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

falsecodeerrors 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

falseintegerdefault 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

truestringNo view definitions