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.3.0 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
Contents:
This page provides a list of the FHIR artifacts defined as part of this implementation guide.
These define data models that represent the domain covered by this implementation guide in more business-friendly terms than the underlying FHIR resources.
CDS Hook Specific Context (Logical Definition) |
This structure is defined to allow the FHIR Validator to validate a CDSHooks Request Context. TODO: This content will be moved to the CDS Hooks specification in the future |
CDS Hook Specific Context for order-select (Logical Definition) |
This structure is defined to allow the FHIR Validator to validate a CDSHooks order-select context. TODO: This content will be moved to the CDS Hooks specification in the future |
CDS Hook Specific Context for order-sign (Logical Definition) |
This structure is defined to allow the FHIR Validator to validate a CDSHooks Order-Sign context. TODO: This content will be moved to the CDS Hooks specification in the future |
CDS Hook Specific Context for patient-view (Logical Definition) |
This structure is defined to allow the FHIR Validator to validate a CDSHooks Patient-View context. TODO: This content will be moved to the CDS Hooks specification in the future |
CDSHooks Request (Logical Definition) |
This structure is defined to allow the FHIR Validator to validate a CDSHooks Request Body. TODO: This content will be moved to the CDS Hooks specification in the future |
CDSHooks Response (Logical Definition) |
This structure is defined to allow the FHIR Validator to validate a CDSHooks Response body. TODO: This content will be moved to the CDS Hooks specification in the future |
CDSHooks Services Base Extensible Element |
This structure is defined to allow the FHIR Validator to validate a CDSHooks Services Element with Extensions. TODO: This content will be moved to the CDS Hooks specification in the future |
CDSHooks Services Request (Logical Definition) |
This structure is defined to allow the FHIR Validator to validate a CDSHooks Services response body. TODO: This content will be moved to the CDS Hooks specification in the future |
These define constraints on FHIR data types for systems conforming to this implementation guide.
Actor Example URL |
An example URL used to refer to examples associated with this actor. This is used when an IG describes a federated system with multiple servers playing the roles of different actors. Note that this is for example references, and has no impact on the canonical URLs defined by the IG |
Actor For Example |
Used to associate an example in an IG with a particular actor that provides/serves this example (e.g. on a RESTful API) |
Additional Binding Extension |
Extension definition for Additional Binding. Additional Bindings are in the R5 Element Definition; this extension is used in prior versions (instead of the R5 cross-version extension) |
Binary Resource Format |
This extension specifies the format (= mime type) of a binary resource, when the binary resource is provided to the IG publisher as raw content (rather than as a FHIR binary resource with base64 content). |
Binary Resource Logical |
This extension specifies a logical model to use to validate the binary contents. |
Binding Definition |
This provides a definition for a binding. There's really no functional difference between a definition and a description, and this extension will be removed in R6. No tools do anything with the binding definitions (they use binding.description instead). |
Date Format String |
The date format, as a Java date/time format (todo: extract a common subset from FHIRPath? Java? DotNet? Windows API?) |
Date Validation Rules control |
A set of colon delimited codes that control the execution of specific valdation rules for date(/time) elements. The code |
Defined Uri |
A URI defined in the IG that is (or may be) the target of an element with type URI. A typical use is for consent policies. |
Extension Style Extension |
How the type can be extended. Note that all FHIR types that inherit from |
IG Dependency Comment |
This extension provides a comment explaining the why an IG depends on another IG. |
IG Internal Dependency |
A package (id#ver) that this IG has an internal dependency on. A internal dependency is a package that is required to validate the resources in the IG itself but that is not required by the implementers of the IG |
IG Link Dependency |
A package (id#ver) that has pages that this IG references, without depending on. The sole purpose of defining these IGs is to inform the publisher link checker that links to this IG are valid |
IG Page Name |
IG Page Name (for R4 or earlier - part of R5) |
IG Parameter |
An implementation guide parameter defined by the HL7 IG Publisher. This is used in R4 IGs where the binding to paramater name prevented the use of additional parameters |
IG Publisher Bundle |
Instructs the IG publisher to load a bundle when loading the source, but to treat all the resources found in the bundle as independent resources in the IG (e.g. not a bundle). Use this for bundles of examples |
Id Expectation Extension |
Specifies whether a particular element or resource is expected to have an id or not. Note that this can be done in a profile on the element, but it is sometimes useful to say this e.g. on an abstract element in a logical model |
Implied String Prefix |
A prefix value that is automatically prefixed to the value before it's validated (for use in logical models) |
Inherit Obligations |
Inherit all the obligations from an Obligation Profile |
Json Empty Behavior Extension |
empty-behaviour: what should be in JSON when a repeating elements has no items? Can be absent, present, or either |
Json Nullable Extension |
If an element is labelled nullable, it can be present as a null value in the json. If this extension does not appear, a null value is treated as an error |
Json Primitive Choice Extension |
Marks an element as a choice of types where the type is implied by the JSON type. The only valid types at string, integer, decimal, and boolean |
Json Property Key Extension |
If true, indicates that in a JSON representation, the indicated child element is the json property key for the value. Implies that this is a property with max = * that has two children, one of which is the key and the other is the value |
Json Property Name Extension |
Provides the JSON property name for when the JSON name is not a valid element name, or on the root of a type to give the type itself an element name |
Json Suppress resourceType Property |
If this extension is present and true, then the JSON format produced from this logical doesn't include a 'resourceType' property (and it isn't recognized automatically when reading the JSON format) |
Logical Container |
This extension is used in logical models to indicate that the type that can be the container of this definition. This can be a reference to an abstract definition, or a particular concrete definition. This is the (base) class encountered when %resource and %rootResource is found in FHIRPath constraint expressions. |
Logical Target |
This extension is used logical models to indicate that this type can be the target of a reference. This indicates that there is a persistence identity and maintenance lifecycle for the type, though there are no requirements for how those are defined. |
Namespace |
Use this extension to indicate tha the element has an XML namespace different to http://hl7.org/fhir. The special value |
No Binding Extension |
This extension is used on elements of type code to indicate that it's deliberate and appropriate that they not have a binding. Typically, this is because they are contained by another type that does have a binding, but there are other reasons. This is provided to assist with QA processes that can use this to be informed where bindings are not necessary or appropriate. |
Obligation Profile Flag |
Profiles marked to be 'Obligation Profiles' cannot introduce new structural elements or slicing, but they can add additional bindings, and additional obligations on the elements that are already defined |
Package Scope |
Specifies the Npm Package scope for scoped packages. See how FHIR Packages are scoped for further information |
Profile Mapping Extension |
Extension definition for Mapping between
What is missing from this picture is defining which resources conform to which profile. Sometimes, of course, it's impossible to define this, but quite often, there's an algorithmic relationship that a server or client could use to know that resources with a particular set of values will or should conform to a given profile. This extension defines a relationship between a search string and a profile. Any resource that meets a given search string will be expected to conform to the particular profile. If more than one profile is nominated for a search string, resources SHALL conform to all the listed profiles. The last extension can be without a search matches and remaining resources This extension repeats, and order is important - once a match is found, this profile is the one that applies. Todo: If this extension is useful, it will be moved to the core extensions pack |
Resource Fragment |
Defines fragments, possibly with ellipsed content, to generate from a specified resource for a embedding as part of resource pages. |
Resource Sort Extension |
Allows assertion of a sort order for a resource in the list of artifacts within the IG |
Search Parameter Base Type |
Indicates the base type for a search parameter when the actual base type is not a valid resource (e.g. custom resource etc) |
Select By Map |
This extension indicates that in addition to the concepts directly selected (either included or excluded) in the include/exclude statement, any source codes that are mapped to target codes that are selected by the nominated ConceptMapare also selected. The filter property can be used to restrict which types of relationships are included. Todo: If this is useful, it will be moved to the core extensions pack |
Terminology Binding Style Extension |
How the data type is bound to vocabulary |
Type Parameter Extension |
Specifies a type parameter for the type it is on (for use with logical models). This can also be used to narrow the binding - that usually means, bind to a concrete class in a descendent of this type |
Type Specifier Extension |
In some logical models, the type of content at one location depends on the value of some other element, and the type is otherwise not explicit in the instance. In such cases, the type of the element is assigned an abstract ancestor type, and this extension specifies how to determine what type is actually used |
ValueSet Expansion Parameter |
A default parameter to use when expanding this value set. A client may also pass a parameter with the same parameter name; servers should either overwrite this default parameter, or add to the list of identically named parameters, depending on which parameter is named |
Web Source |
This extension is for canonical resources to indicate where a human readable web page describing the resource can be found, if it's at a different location to the canonical URL itself. Todo: This might be considered for moving to the core extensions pack |
XML Choice Group |
If true, marks that this element is a choice group that doesn't literally appear in the XML; it only exists to group a set of repeating of elements |
Xml Element Name Extension |
Provides the XML element name for when the XML name is not a valid element name, or on the root of a type to give the type itself an element name |
These define sets of codes used by systems conforming to this implementation guide.
Additional Binding Purpose ValueSet |
Additional Binding Purpose |
CDSActionType Codes ValueSet |
CDSActionType Codes |
CDSIndicator Codes ValueSet |
CDSIndicator Codes |
CDSLinkType Codes ValueSet |
CDSLinkType Codes |
CDSSelectionBehavior Codes ValueSet |
CDSSelectionBehavior Codes |
Extension Style ValueSet |
How the type can be extended. Note that all FHIR types that inherit from |
Id Expectation Set |
Specifies whether a particular element or resource is expected to have an id or not |
Json Empty Behavior Codes Value Set |
empty-behaviour: what should be in JSON when a repeating elements has no items? Can be absent, present, or either |
SelectByMap Filter Codes (VS) |
select-by-map filter Codes - from either R4 (or previous) or R5 |
Vocab Binding Style ValueSet |
How the data type is bound to vocabulary |
ig-parameters Codes ValueSet |
ig-parameters Codes |
These define new code systems used by systems conforming to this implementation guide.
Additional Binding Purpose Codes |
Additional Binding Purpose |
CDSActionType Codes |
Codes that describe application CDSActionTypes |
CDSIndicator Codes |
Codes that describe application CDSIndicators |
CDSLinkType Codes |
Codes that describe application CDSLinkTypes |
CDSSelectionBehavior Codes |
Codes that describe application CDSSelectionBehaviors |
ConceptMapEquivalence |
The degree of equivalence between concepts (R4). |
Extension Style Codes |
How the type can be extended. Note that all FHIR types that inherit from |
IG Parameter Codes |
Ig Parameter Codes Defined by the FHIR Tooling. These parameter codes go in ImplementationGuide.definition.parameter.code |
Id Expectation Codes |
Specifies whether a particular element or resource is expected to have an id or not |
Json Empty Behavior Codes |
empty-behaviour: what should be in JSON when a repeating elements has no items. Can be absent, present, or either |
Terminology Issue Type |
Codes that the type of an issue in the response to a $validate-code operation. The validator will handle some types of issues differently. In the absence of an issue type, issues are passed to the user without processing, and this may be confusing to users |
Vocab Binding Style Codes |
How the data type is bound to vocabulary |
These are resources that are used within this implementation guide that do not fit into one of the other categories.
CDSHookServices Example |
An example a CDS Hooks Service Request |