R6 Ballot (2nd Draft)

Publish-box (todo)

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

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 purposes, not 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

UML Diagram (Legend)

Library (DomainResource) +MetadataResourceAn absolute URI that is used to identify this library when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this library is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the library is stored on different serversurl : uri [0..1]A formal identifier that is used to identify this library when it is represented in other formats, or referenced in a specification, model, design or an instance. e.g. CMS or NQF identifiers for a measure artifact. Note that at least one identifier is required for non-experimental active artifactsidentifier : Identifier [0..*]The identifier that is used to identify this version of the library when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the library author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifactsversion : string [0..1]Indicates the mechanism used to compare versions to determine which is more currentversionAlgorithm[x] : DataType [0..1] « string|Coding; null (Strength=Extensible) VersionAlgorithm+ »A natural language name identifying the library. This name should be usable as an identifier for the module by machine processing applications such as code generationname : string [0..1] « This element has or is affected by some invariantsC »A short, descriptive, user-friendly title for the librarytitle : string [0..1]An explanatory or alternate title for the library giving additional information about its contentsubtitle : string [0..1]The status of this library. Enables tracking the life-cycle of the content (this element modifies the meaning of other elements)status : code [1..1] « null (Strength=Required)PublicationStatus! »A Boolean value to indicate that this library is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usageexperimental : boolean [0..1]Identifies the type of library such as a Logic Library, Model Definition, Asset Collection, or Module Definitiontype : CodeableConcept [1..1] « null (Strength=Extensible)LibraryType+ »A code or group definition that describes the intended subject of the contents of the librarysubject[x] : DataType [0..1] « CodeableConcept|Reference(Group); null (Strength=Extensible) ParticipantResourceTypes+ »The date (and optionally time) when the library was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the library changesdate : dateTime [0..1]The name of the organization or individual responsible for the release and ongoing maintenance of the librarypublisher : string [0..1]Contact details to assist a user in finding and communicating with the publishercontact : ContactDetail [0..*]A free text natural language description of the library from a consumer's perspectivedescription : markdown [0..1]The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate library instancesuseContext : UsageContext [0..*]A legal or geographic region in which the library is intended to be usedjurisdiction : CodeableConcept [0..*] « null (Strength=Extensible)JurisdictionValueSet+ »Explanation of why this library is needed and why it has been designed as it haspurpose : markdown [0..1]A detailed description of how the library is used from a clinical perspectiveusage : markdown [0..1]A copyright statement relating to the library and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the librarycopyright : markdown [0..1]A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')copyrightLabel : string [0..1]The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usageapprovalDate : date [0..1]The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval datelastReviewDate : date [0..1]The period during which the library content was or is planned to be in active useeffectivePeriod : Period [0..1]Descriptive topics related to the content of the library. Topics provide a high-level categorization of the library that can be useful for filtering and searchingtopic : CodeableConcept [0..*] « null (Strength=Example)DefinitionTopic?? »An individiual or organization primarily involved in the creation and maintenance of the contentauthor : ContactDetail [0..*]An individual or organization primarily responsible for internal coherence of the contenteditor : ContactDetail [0..*]An individual or organization asserted by the publisher to be primarily responsible for review of some aspect of the contentreviewer : ContactDetail [0..*]An individual or organization asserted by the publisher to be responsible for officially endorsing the content for use in some settingendorser : ContactDetail [0..*]Related artifacts such as additional documentation, justification, or bibliographic referencesrelatedArtifact : RelatedArtifact [0..*]The parameter element defines parameters used by the libraryparameter : ParameterDefinition [0..*]Describes a set of data that must be provided in order to be able to successfully perform the computations defined by the librarydataRequirement : DataRequirement [0..*]The content of the library as an Attachment. The content may be a reference to a url, or may be directly embedded as a base-64 string. Either way, the contentType of the attachment determines how to interpret the contentcontent : Attachment [0..*]

XML Template

<Library xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <url value="[uri]"/><!-- 0..1 Canonical identifier for this library, represented as a URI (globally unique) -->
 <identifier><!-- 0..* Identifier Additional identifier for the library --></identifier>
 <version value="[string]"/><!-- 0..1 Business version of the library -->
 <versionAlgorithm[x]><!-- 0..1 string|Coding How to compare versions --></versionAlgorithm[x]>
 <name value="[string]"/><!-- I 0..1 Name for this library (computer friendly) -->
 <title value="[string]"/><!-- 0..1 Name for this library (human friendly) -->
 <subtitle value="[string]"/><!-- 0..1 Subordinate title of the library -->
 <status value="[code]"/><!-- 1..1 draft | active | retired | unknown -->
 <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage -->
 <type><!-- 1..1 CodeableConcept logic-library | model-definition | asset-collection | module-definition --></type>
 <subject[x]><!-- 0..1 CodeableConcept|Reference(Group) Type of individual the library content is focused on --></subject[x]>
 <date value="[dateTime]"/><!-- 0..1 Date last changed -->
 <publisher value="[string]"/><!-- 0..1 Name of the publisher/steward (organization or individual) -->
 <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact>
 <description value="[markdown]"/><!-- 0..1 Natural language description of the library -->
 <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext>
 <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for library (if applicable) --></jurisdiction>
 <purpose value="[markdown]"/><!-- 0..1 Why this library is defined -->
 <usage value="[markdown]"/><!-- 0..1 Describes the clinical usage of the library -->
 <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions -->
 <copyrightLabel value="[string]"/><!-- 0..1 Copyright holder and year(s) -->
 <approvalDate value="[date]"/><!-- 0..1 When the library was approved by publisher -->
 <lastReviewDate value="[date]"/><!-- 0..1 When the library was last reviewed by the publisher -->
 <effectivePeriod><!-- 0..1 Period When the library is expected to be used --></effectivePeriod>
 <topic><!-- 0..* CodeableConcept E.g. Education, Treatment, Assessment, etc --></topic>
 <author><!-- 0..* ContactDetail Who authored the content --></author>
 <editor><!-- 0..* ContactDetail Who edited the content --></editor>
 <reviewer><!-- 0..* ContactDetail Who reviewed the content --></reviewer>
 <endorser><!-- 0..* ContactDetail Who endorsed the content --></endorser>
 <relatedArtifact><!-- 0..* RelatedArtifact Additional documentation, citations, etc --></relatedArtifact>
 <parameter><!-- 0..* ParameterDefinition Parameters defined by the library --></parameter>
 <dataRequirement><!-- 0..* DataRequirement What data is referenced by this library --></dataRequirement>
 <content><!-- 0..* Attachment Contents of the library, either embedded or referenced --></content>
</Library>

JSON Template

{doco
  "resourceType" : "Library",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "url" : "<uri>", // Canonical identifier for this library, represented as a URI (globally unique)
  "identifier" : [{ Identifier }], // Additional identifier for the library
  "version" : "<string>", // Business version of the library
  // versionAlgorithm[x]: How to compare versions. One of these 2:
  "versionAlgorithmString" : "<string>",
  "versionAlgorithmCoding" : { Coding },
  "name" : "<string>", // I Name for this library (computer friendly)
  "title" : "<string>", // Name for this library (human friendly)
  "subtitle" : "<string>", // Subordinate title of the library
  "status" : "<code>", // R!  draft | active | retired | unknown
  "experimental" : <boolean>, // For testing purposes, not real usage
  "type" : { CodeableConcept }, // R!  logic-library | model-definition | asset-collection | module-definition
  // subject[x]: Type of individual the library content is focused on. One of these 2:
  "subjectCodeableConcept" : { CodeableConcept },
  "subjectReference" : { Reference(Group) },
  "date" : "<dateTime>", // Date last changed
  "publisher" : "<string>", // Name of the publisher/steward (organization or individual)
  "contact" : [{ ContactDetail }], // Contact details for the publisher
  "description" : "<markdown>", // Natural language description of the library
  "useContext" : [{ UsageContext }], // The context that the content is intended to support
  "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for library (if applicable)
  "purpose" : "<markdown>", // Why this library is defined
  "usage" : "<markdown>", // Describes the clinical usage of the library
  "copyright" : "<markdown>", // Use and/or publishing restrictions
  "copyrightLabel" : "<string>", // Copyright holder and year(s)
  "approvalDate" : "<date>", // When the library was approved by publisher
  "lastReviewDate" : "<date>", // When the library was last reviewed by the publisher
  "effectivePeriod" : { Period }, // When the library is expected to be used
  "topic" : [{ CodeableConcept }], // E.g. Education, Treatment, Assessment, etc
  "author" : [{ ContactDetail }], // Who authored the content
  "editor" : [{ ContactDetail }], // Who edited the content
  "reviewer" : [{ ContactDetail }], // Who reviewed the content
  "endorser" : [{ ContactDetail }], // Who endorsed the content
  "relatedArtifact" : [{ RelatedArtifact }], // Additional documentation, citations, etc
  "parameter" : [{ ParameterDefinition }], // Parameters defined by the library
  "dataRequirement" : [{ DataRequirement }], // What data is referenced by this library
  "content" : [{ Attachment }] // Contents of the library, either embedded or referenced
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:Library;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:url [ uri ] ; # 0..1 Canonical identifier for this library, represented as a URI (globally unique)
  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* Additional identifier for the library
  fhir:version [ string ] ; # 0..1 Business version of the library
  # versionAlgorithm[x] : 0..1 How to compare versions. One of these 2
    fhir:versionAlgorithm [  a fhir:string ; string ]
    fhir:versionAlgorithm [  a fhir:Coding ; Coding ]
  fhir:name [ string ] ; # 0..1 I Name for this library (computer friendly)
  fhir:title [ string ] ; # 0..1 Name for this library (human friendly)
  fhir:subtitle [ string ] ; # 0..1 Subordinate title of the library
  fhir:status [ code ] ; # 1..1 draft | active | retired | unknown
  fhir:experimental [ boolean ] ; # 0..1 For testing purposes, not real usage
  fhir:type [ CodeableConcept ] ; # 1..1 logic-library | model-definition | asset-collection | module-definition
  # subject[x] : 0..1 Type of individual the library content is focused on. One of these 2
    fhir:subject [  a fhir:CodeableConcept ; CodeableConcept ]
    fhir:subject [  a fhir:Reference ; Reference(Group) ]
  fhir:date [ dateTime ] ; # 0..1 Date last changed
  fhir:publisher [ string ] ; # 0..1 Name of the publisher/steward (organization or individual)
  fhir:contact  ( [ ContactDetail ] ... ) ; # 0..* Contact details for the publisher
  fhir:description [ markdown ] ; # 0..1 Natural language description of the library
  fhir:useContext  ( [ UsageContext ] ... ) ; # 0..* The context that the content is intended to support
  fhir:jurisdiction  ( [ CodeableConcept ] ... ) ; # 0..* Intended jurisdiction for library (if applicable)
  fhir:purpose [ markdown ] ; # 0..1 Why this library is defined
  fhir:usage [ markdown ] ; # 0..1 Describes the clinical usage of the library
  fhir:copyright [ markdown ] ; # 0..1 Use and/or publishing restrictions
  fhir:copyrightLabel [ string ] ; # 0..1 Copyright holder and year(s)
  fhir:approvalDate [ date ] ; # 0..1 When the library was approved by publisher
  fhir:lastReviewDate [ date ] ; # 0..1 When the library was last reviewed by the publisher
  fhir:effectivePeriod [ Period ] ; # 0..1 When the library is expected to be used
  fhir:topic  ( [ CodeableConcept ] ... ) ; # 0..* E.g. Education, Treatment, Assessment, etc
  fhir:author  ( [ ContactDetail ] ... ) ; # 0..* Who authored the content
  fhir:editor  ( [ ContactDetail ] ... ) ; # 0..* Who edited the content
  fhir:reviewer  ( [ ContactDetail ] ... ) ; # 0..* Who reviewed the content
  fhir:endorser  ( [ ContactDetail ] ... ) ; # 0..* Who endorsed the content
  fhir:relatedArtifact  ( [ RelatedArtifact ] ... ) ; # 0..* Additional documentation, citations, etc
  fhir:parameter  ( [ ParameterDefinition ] ... ) ; # 0..* Parameters defined by the library
  fhir:dataRequirement  ( [ DataRequirement ] ... ) ; # 0..* What data is referenced by this library
  fhir:content  ( [ Attachment ] ... ) ; # 0..* Contents of the library, either embedded or referenced
]

Changes from both R4 and R4B

Library
Library.versionAlgorithm[x]
  • Added Element
Library.subject[x]
  • Change value set from http://hl7.org/fhir/ValueSet/subject-type to Participant Resource Types
  • Change code system for extensibly bound codes from "http://hl7.org/fhir/resource-types" to "http://hl7.org/fhir/fhir-types"
Library.usage
  • Type changed from string to markdown
Library.copyrightLabel
  • Added Element

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

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 purposes, not 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

UML Diagram (Legend)

Library (DomainResource) +MetadataResourceAn absolute URI that is used to identify this library when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this library is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the library is stored on different serversurl : uri [0..1]A formal identifier that is used to identify this library when it is represented in other formats, or referenced in a specification, model, design or an instance. e.g. CMS or NQF identifiers for a measure artifact. Note that at least one identifier is required for non-experimental active artifactsidentifier : Identifier [0..*]The identifier that is used to identify this version of the library when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the library author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifactsversion : string [0..1]Indicates the mechanism used to compare versions to determine which is more currentversionAlgorithm[x] : DataType [0..1] « string|Coding; null (Strength=Extensible) VersionAlgorithm+ »A natural language name identifying the library. This name should be usable as an identifier for the module by machine processing applications such as code generationname : string [0..1] « This element has or is affected by some invariantsC »A short, descriptive, user-friendly title for the librarytitle : string [0..1]An explanatory or alternate title for the library giving additional information about its contentsubtitle : string [0..1]The status of this library. Enables tracking the life-cycle of the content (this element modifies the meaning of other elements)status : code [1..1] « null (Strength=Required)PublicationStatus! »A Boolean value to indicate that this library is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usageexperimental : boolean [0..1]Identifies the type of library such as a Logic Library, Model Definition, Asset Collection, or Module Definitiontype : CodeableConcept [1..1] « null (Strength=Extensible)LibraryType+ »A code or group definition that describes the intended subject of the contents of the librarysubject[x] : DataType [0..1] « CodeableConcept|Reference(Group); null (Strength=Extensible) ParticipantResourceTypes+ »The date (and optionally time) when the library was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the library changesdate : dateTime [0..1]The name of the organization or individual responsible for the release and ongoing maintenance of the librarypublisher : string [0..1]Contact details to assist a user in finding and communicating with the publishercontact : ContactDetail [0..*]A free text natural language description of the library from a consumer's perspectivedescription : markdown [0..1]The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate library instancesuseContext : UsageContext [0..*]A legal or geographic region in which the library is intended to be usedjurisdiction : CodeableConcept [0..*] « null (Strength=Extensible)JurisdictionValueSet+ »Explanation of why this library is needed and why it has been designed as it haspurpose : markdown [0..1]A detailed description of how the library is used from a clinical perspectiveusage : markdown [0..1]A copyright statement relating to the library and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the librarycopyright : markdown [0..1]A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')copyrightLabel : string [0..1]The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usageapprovalDate : date [0..1]The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval datelastReviewDate : date [0..1]The period during which the library content was or is planned to be in active useeffectivePeriod : Period [0..1]Descriptive topics related to the content of the library. Topics provide a high-level categorization of the library that can be useful for filtering and searchingtopic : CodeableConcept [0..*] « null (Strength=Example)DefinitionTopic?? »An individiual or organization primarily involved in the creation and maintenance of the contentauthor : ContactDetail [0..*]An individual or organization primarily responsible for internal coherence of the contenteditor : ContactDetail [0..*]An individual or organization asserted by the publisher to be primarily responsible for review of some aspect of the contentreviewer : ContactDetail [0..*]An individual or organization asserted by the publisher to be responsible for officially endorsing the content for use in some settingendorser : ContactDetail [0..*]Related artifacts such as additional documentation, justification, or bibliographic referencesrelatedArtifact : RelatedArtifact [0..*]The parameter element defines parameters used by the libraryparameter : ParameterDefinition [0..*]Describes a set of data that must be provided in order to be able to successfully perform the computations defined by the librarydataRequirement : DataRequirement [0..*]The content of the library as an Attachment. The content may be a reference to a url, or may be directly embedded as a base-64 string. Either way, the contentType of the attachment determines how to interpret the contentcontent : Attachment [0..*]

XML Template

<Library xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <url value="[uri]"/><!-- 0..1 Canonical identifier for this library, represented as a URI (globally unique) -->
 <identifier><!-- 0..* Identifier Additional identifier for the library --></identifier>
 <version value="[string]"/><!-- 0..1 Business version of the library -->
 <versionAlgorithm[x]><!-- 0..1 string|Coding How to compare versions --></versionAlgorithm[x]>
 <name value="[string]"/><!-- I 0..1 Name for this library (computer friendly) -->
 <title value="[string]"/><!-- 0..1 Name for this library (human friendly) -->
 <subtitle value="[string]"/><!-- 0..1 Subordinate title of the library -->
 <status value="[code]"/><!-- 1..1 draft | active | retired | unknown -->
 <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage -->
 <type><!-- 1..1 CodeableConcept logic-library | model-definition | asset-collection | module-definition --></type>
 <subject[x]><!-- 0..1 CodeableConcept|Reference(Group) Type of individual the library content is focused on --></subject[x]>
 <date value="[dateTime]"/><!-- 0..1 Date last changed -->
 <publisher value="[string]"/><!-- 0..1 Name of the publisher/steward (organization or individual) -->
 <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact>
 <description value="[markdown]"/><!-- 0..1 Natural language description of the library -->
 <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext>
 <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for library (if applicable) --></jurisdiction>
 <purpose value="[markdown]"/><!-- 0..1 Why this library is defined -->
 <usage value="[markdown]"/><!-- 0..1 Describes the clinical usage of the library -->
 <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions -->
 <copyrightLabel value="[string]"/><!-- 0..1 Copyright holder and year(s) -->
 <approvalDate value="[date]"/><!-- 0..1 When the library was approved by publisher -->
 <lastReviewDate value="[date]"/><!-- 0..1 When the library was last reviewed by the publisher -->
 <effectivePeriod><!-- 0..1 Period When the library is expected to be used --></effectivePeriod>
 <topic><!-- 0..* CodeableConcept E.g. Education, Treatment, Assessment, etc --></topic>
 <author><!-- 0..* ContactDetail Who authored the content --></author>
 <editor><!-- 0..* ContactDetail Who edited the content --></editor>
 <reviewer><!-- 0..* ContactDetail Who reviewed the content --></reviewer>
 <endorser><!-- 0..* ContactDetail Who endorsed the content --></endorser>
 <relatedArtifact><!-- 0..* RelatedArtifact Additional documentation, citations, etc --></relatedArtifact>
 <parameter><!-- 0..* ParameterDefinition Parameters defined by the library --></parameter>
 <dataRequirement><!-- 0..* DataRequirement What data is referenced by this library --></dataRequirement>
 <content><!-- 0..* Attachment Contents of the library, either embedded or referenced --></content>
</Library>

JSON Template

{doco
  "resourceType" : "Library",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "url" : "<uri>", // Canonical identifier for this library, represented as a URI (globally unique)
  "identifier" : [{ Identifier }], // Additional identifier for the library
  "version" : "<string>", // Business version of the library
  // versionAlgorithm[x]: How to compare versions. One of these 2:
  "versionAlgorithmString" : "<string>",
  "versionAlgorithmCoding" : { Coding },
  "name" : "<string>", // I Name for this library (computer friendly)
  "title" : "<string>", // Name for this library (human friendly)
  "subtitle" : "<string>", // Subordinate title of the library
  "status" : "<code>", // R!  draft | active | retired | unknown
  "experimental" : <boolean>, // For testing purposes, not real usage
  "type" : { CodeableConcept }, // R!  logic-library | model-definition | asset-collection | module-definition
  // subject[x]: Type of individual the library content is focused on. One of these 2:
  "subjectCodeableConcept" : { CodeableConcept },
  "subjectReference" : { Reference(Group) },
  "date" : "<dateTime>", // Date last changed
  "publisher" : "<string>", // Name of the publisher/steward (organization or individual)
  "contact" : [{ ContactDetail }], // Contact details for the publisher
  "description" : "<markdown>", // Natural language description of the library
  "useContext" : [{ UsageContext }], // The context that the content is intended to support
  "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for library (if applicable)
  "purpose" : "<markdown>", // Why this library is defined
  "usage" : "<markdown>", // Describes the clinical usage of the library
  "copyright" : "<markdown>", // Use and/or publishing restrictions
  "copyrightLabel" : "<string>", // Copyright holder and year(s)
  "approvalDate" : "<date>", // When the library was approved by publisher
  "lastReviewDate" : "<date>", // When the library was last reviewed by the publisher
  "effectivePeriod" : { Period }, // When the library is expected to be used
  "topic" : [{ CodeableConcept }], // E.g. Education, Treatment, Assessment, etc
  "author" : [{ ContactDetail }], // Who authored the content
  "editor" : [{ ContactDetail }], // Who edited the content
  "reviewer" : [{ ContactDetail }], // Who reviewed the content
  "endorser" : [{ ContactDetail }], // Who endorsed the content
  "relatedArtifact" : [{ RelatedArtifact }], // Additional documentation, citations, etc
  "parameter" : [{ ParameterDefinition }], // Parameters defined by the library
  "dataRequirement" : [{ DataRequirement }], // What data is referenced by this library
  "content" : [{ Attachment }] // Contents of the library, either embedded or referenced
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:Library;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:url [ uri ] ; # 0..1 Canonical identifier for this library, represented as a URI (globally unique)
  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* Additional identifier for the library
  fhir:version [ string ] ; # 0..1 Business version of the library
  # versionAlgorithm[x] : 0..1 How to compare versions. One of these 2
    fhir:versionAlgorithm [  a fhir:string ; string ]
    fhir:versionAlgorithm [  a fhir:Coding ; Coding ]
  fhir:name [ string ] ; # 0..1 I Name for this library (computer friendly)
  fhir:title [ string ] ; # 0..1 Name for this library (human friendly)
  fhir:subtitle [ string ] ; # 0..1 Subordinate title of the library
  fhir:status [ code ] ; # 1..1 draft | active | retired | unknown
  fhir:experimental [ boolean ] ; # 0..1 For testing purposes, not real usage
  fhir:type [ CodeableConcept ] ; # 1..1 logic-library | model-definition | asset-collection | module-definition
  # subject[x] : 0..1 Type of individual the library content is focused on. One of these 2
    fhir:subject [  a fhir:CodeableConcept ; CodeableConcept ]
    fhir:subject [  a fhir:Reference ; Reference(Group) ]
  fhir:date [ dateTime ] ; # 0..1 Date last changed
  fhir:publisher [ string ] ; # 0..1 Name of the publisher/steward (organization or individual)
  fhir:contact  ( [ ContactDetail ] ... ) ; # 0..* Contact details for the publisher
  fhir:description [ markdown ] ; # 0..1 Natural language description of the library
  fhir:useContext  ( [ UsageContext ] ... ) ; # 0..* The context that the content is intended to support
  fhir:jurisdiction  ( [ CodeableConcept ] ... ) ; # 0..* Intended jurisdiction for library (if applicable)
  fhir:purpose [ markdown ] ; # 0..1 Why this library is defined
  fhir:usage [ markdown ] ; # 0..1 Describes the clinical usage of the library
  fhir:copyright [ markdown ] ; # 0..1 Use and/or publishing restrictions
  fhir:copyrightLabel [ string ] ; # 0..1 Copyright holder and year(s)
  fhir:approvalDate [ date ] ; # 0..1 When the library was approved by publisher
  fhir:lastReviewDate [ date ] ; # 0..1 When the library was last reviewed by the publisher
  fhir:effectivePeriod [ Period ] ; # 0..1 When the library is expected to be used
  fhir:topic  ( [ CodeableConcept ] ... ) ; # 0..* E.g. Education, Treatment, Assessment, etc
  fhir:author  ( [ ContactDetail ] ... ) ; # 0..* Who authored the content
  fhir:editor  ( [ ContactDetail ] ... ) ; # 0..* Who edited the content
  fhir:reviewer  ( [ ContactDetail ] ... ) ; # 0..* Who reviewed the content
  fhir:endorser  ( [ ContactDetail ] ... ) ; # 0..* Who endorsed the content
  fhir:relatedArtifact  ( [ RelatedArtifact ] ... ) ; # 0..* Additional documentation, citations, etc
  fhir:parameter  ( [ ParameterDefinition ] ... ) ; # 0..* Parameters defined by the library
  fhir:dataRequirement  ( [ DataRequirement ] ... ) ; # 0..* What data is referenced by this library
  fhir:content  ( [ Attachment ] ... ) ; # 0..* Contents of the library, either embedded or referenced
]

Changes from both R4 and R4B

Library
Library.versionAlgorithm[x]
  • Added Element
Library.subject[x]
  • Change value set from http://hl7.org/fhir/ValueSet/subject-type to Participant Resource Types
  • Change code system for extensibly bound codes from "http://hl7.org/fhir/resource-types" to "http://hl7.org/fhir/fhir-types"
Library.usage
  • Type changed from string to markdown
Library.copyrightLabel
  • Added Element

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

 

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)
6 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 30 Resources
depends-on reference What resource is being referenced Library.relatedArtifact.where(type='depends-on').resource
(Any)
6 Resources
derived-from reference What resource is being referenced Library.relatedArtifact.where(type='derived-from').resource
(Any)
10 Resources
description string The description of the library Library.description 28 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 36 Resources
jurisdiction token Intended jurisdiction for the library Library.jurisdiction 26 Resources
name string Computationally friendly name of the library Library.name 27 Resources
predecessor reference What resource is being referenced Library.relatedArtifact.where(type='predecessor').resource
(Any)
10 Resources
publisher string Name of the publisher of the library Library.publisher 30 Resources
status token The current status of the library Library.status 36 Resources
successor reference What resource is being referenced Library.relatedArtifact.where(type='successor').resource
(Any)
6 Resources
title string The human-friendly name of the library Library.title 27 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 35 Resources
version token The business version of the library Library.version 31 Resources