This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions
Clinical Decision Support ![]() | Maturity Level: 4 | Trial Use | Security Category: Anonymous | Compartments: No defined compartments |
The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets.
The Library resource is a general purpose container for clinical knowledge assets. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets. These assets may be defined using a non-FHIR representation, such as a shareable library of clinical logic, written in Clinical Quality Language (CQL), or the XML Schema for an information model, or they may be defined using FHIR resources such as the description of a protocol represented by a PlanDefinition resource. In addition to representing the metadata of the library, the resource has elements for tracking dependencies, as well as for representing the parameters and data requirements for any expression functionality provided by the library.
For non-FHIR assets, the actual content of the library is represented using the Attachment data type, and may either be referenced with a URL, or the content may be embedded as a base-64 encoded string. Either way, the contentType
element of the attachment is used to indicate the representation of the library content.
Note that because the library content may be embedded as well as be retrievable from an external repository via the attachment URL, the possibility exists for the embedded content to be different from the content on the repository. With proper versioning and governance, this should never occur, but to minimize the potential impact of this possibility, implementers SHALL give precedence to the embedded content of a library when it is present.
A common use case for the Library resource is to establish the release dependencies of a collection of artifacts. A library with a type of asset-collection
can be used to define the collection of artifacts, as well as the required dependencies, especially when the artifacts in the collection have version-independent canonical references, as is often the case with CodeSystem and ValueSet references. This usage is known as an artifact manifest, and is described more fully in the Artifact Manifest topic of the Canonical Resource Management Infrastructure
implementation guide.
The Library resource is definitional in nature, meaning it is intended to represent shareable knowledge independent of any particular patient. This is in contrast to the DocumentReference resource, which captures non-FHIR content related to a specific patient, multimedia content, or other raw binary content.
Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) , the spreadsheet version & the dependency analysis
Path | ValueSet | Type | Documentation |
---|---|---|---|
Library.versionAlgorithm[x] | VersionAlgorithm | Extensible | Indicates the mechanism used to compare versions to determine which is more current. |
Library.status | PublicationStatus | Required | The lifecycle status of an artifact. |
Library.type | LibraryType | Extensible | The type of knowledge asset this library contains. |
Library.subject[x] | ParticipantResourceTypes | Extensible | All Resource Types that represent participant resources |
Library.jurisdiction | JurisdictionValueSet | Extensible | This value set defines a base set of codes for country, country subdivision and region for indicating where a resource is intended to be used. Note: The codes for countries and country subdivisions are taken from ISO 3166 |
Library.topic | DefinitionTopic | Example | High-level categorization of the definition, used for searching, sorting, and filtering. |
UniqueKey | Level | Location | Description | Expression |
![]() | Warning | (base) | Name should be usable as an identifier for the module by machine processing applications such as code generation | name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$') |
![]() | Warning | Library.url | URL should not contain | or # - these characters make processing canonical references problematic | exists() implies matches('^[^|# ]+$') |
Search parameters for this resource. See also the full list of search parameters for this resource, and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Expression | In Common |
composed-of | reference | What resource is being referenced | Library.relatedArtifact.where(type='composed-of').resource (Any) |
5 Resources |
content-type | token | The type of content in the library (e.g. text/cql) | Library.content.contentType | |
context | token | A use context assigned to the library | (Library.useContext.value.ofType(CodeableConcept)) | 30 Resources |
context-quantity | quantity | A quantity- or range-valued use context assigned to the library | (Library.useContext.value.ofType(Quantity)) | (Library.useContext.value.ofType(Range)) | 30 Resources |
context-type | token | A type of use context assigned to the library | Library.useContext.code | 30 Resources |
context-type-quantity | composite | A use context type and quantity- or range-based value assigned to the library | On Library.useContext: context-type: code context-quantity: value.ofType(Quantity) | value.ofType(Range) |
30 Resources |
context-type-value | composite | A use context type and value assigned to the library | On Library.useContext: context-type: code context: value.ofType(CodeableConcept) |
30 Resources |
date | date | The library publication date | Library.date | 31 Resources |
depends-on | reference | What resource is being referenced | Library.relatedArtifact.where(type='depends-on').resource (Any) |
5 Resources |
derived-from | reference | What resource is being referenced | Library.relatedArtifact.where(type='derived-from').resource (Any) |
9 Resources |
description | string | The description of the library | Library.description | 29 Resources |
effective | date | The time during which the library is intended to be in use | Library.effectivePeriod | 12 Resources |
identifier | token | External identifier for the library | Library.identifier | 35 Resources |
jurisdiction | token | Intended jurisdiction for the library | Library.jurisdiction | 27 Resources |
name | string | Computationally friendly name of the library | Library.name | 28 Resources |
predecessor | reference | What resource is being referenced | Library.relatedArtifact.where(type='predecessor').resource (Any) |
9 Resources |
publisher | string | Name of the publisher of the library | Library.publisher | 31 Resources |
status | token | The current status of the library | Library.status | 35 Resources |
successor | reference | What resource is being referenced | Library.relatedArtifact.where(type='successor').resource (Any) |
5 Resources |
title | string | The human-friendly name of the library | Library.title | 28 Resources |
topic | token | Topics associated with the module | Library.topic | 10 Resources |
type | token | The type of the library (e.g. logic-library, model-definition, asset-collection, module-definition) | Library.type | |
url | uri | The uri that identifies the library | Library.url | 34 Resources |
version | token | The business version of the library | Library.version | 32 Resources |