FHIR CI-Build

This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions icon

14.14 Resource Library - Content

Clinical Decision Support icon Work GroupMaturity Level: 4 Trial UseSecurity 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 icon topic of the Canonical Resource Management Infrastructure icon 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.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Library TU DomainResource Represents a library of quality improvement components
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
Interfaces Implemented: MetadataResource
... url ΣC 0..1 uri Canonical identifier for this library, represented as a URI (globally unique)
+ Warning: URL should not contain | or # - these characters make processing canonical references problematic
... identifier Σ 0..* Identifier Additional identifier for the library

... version Σ 0..1 string Business version of the library
... versionAlgorithm[x] Σ 0..1 How to compare versions
Binding: Version Algorithm (Extensible)
.... versionAlgorithmString string
.... versionAlgorithmCoding Coding
... name ΣC 0..1 string Name for this library (computer friendly)
... title ΣT 0..1 string Name for this library (human friendly)
... subtitle T 0..1 string Subordinate title of the library
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (Required)
... experimental Σ 0..1 boolean For testing only - never for real usage
... type Σ 1..1 CodeableConcept logic-library | model-definition | asset-collection | module-definition
Binding: Library Type (Extensible)
... subject[x] 0..1 Type of individual the library content is focused on
Binding: Participant Resource Types (Extensible)
.... subjectCodeableConcept CodeableConcept
.... subjectReference Reference(Group)
... date Σ 0..1 dateTime Date last changed
... publisher ΣT 0..1 string Name of the publisher/steward (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher

... description ΣT 0..1 markdown Natural language description of the library
... useContext Σ 0..* UsageContext The context that the content is intended to support

... jurisdiction ΣXD 0..* CodeableConcept Intended jurisdiction for library (if applicable)
Binding: Jurisdiction ValueSet (Extensible)

... purpose T 0..1 markdown Why this library is defined
... usage T 0..1 markdown Describes the clinical usage of the library
... copyright T 0..1 markdown Use and/or publishing restrictions
... copyrightLabel T 0..1 string Copyright holder and year(s)
... approvalDate 0..1 date When the library was approved by publisher
... lastReviewDate 0..1 date When the library was last reviewed by the publisher
... effectivePeriod Σ 0..1 Period When the library is expected to be used
... topic XD 0..* CodeableConcept E.g. Education, Treatment, Assessment, etc
Binding: Definition Topic (Example)

... author 0..* ContactDetail Who authored the content

... editor 0..* ContactDetail Who edited the content

... reviewer 0..* ContactDetail Who reviewed the content

... endorser 0..* ContactDetail Who endorsed the content

... relatedArtifact 0..* RelatedArtifact Additional documentation, citations, etc

... parameter 0..* ParameterDefinition Parameters defined by the library

... dataRequirement 0..* DataRequirement What data is referenced by this library

... content Σ 0..* Attachment Contents of the library, either embedded or referenced


doco Documentation for this format icon

See the Extensions for this resource

 

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 icon while the codes for "supra-national" regions are from UN Standard country or area codes for statistical use (M49) icon.

Library.topic DefinitionTopic Example

High-level categorization of the definition, used for searching, sorting, and filtering.

UniqueKeyLevelLocationDescriptionExpression
img cnl-0Warning (base)Name should be usable as an identifier for the module by machine processing applications such as code generationname.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
img cnl-1Warning Library.urlURL should not contain | or # - these characters make processing canonical references problematicexists() 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