R6 Ballot (1st Draft)

This page is part of the FHIR Specification v6.0.0-ballot1: Release 6 Ballot (1st Draft) (see Ballot Notes). The current version is 5.0.0. For a full list of available versions, see the Directory of published versions

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 TUDomainResourceRepresents 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 ΣC0..1uriCanonical 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..*IdentifierAdditional identifier for the library

... version Σ0..1stringBusiness version of the library
... versionAlgorithm[x] Σ0..1How to compare versions
Binding: Version Algorithm (Extensible)
.... versionAlgorithmStringstring
.... versionAlgorithmCodingCoding
... name ΣC0..1stringName for this library (computer friendly)
... title ΣT0..1stringName for this library (human friendly)
... subtitle T0..1stringSubordinate title of the library
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (Required)
... experimental Σ0..1booleanFor testing purposes, not real usage
... type Σ1..1CodeableConceptlogic-library | model-definition | asset-collection | module-definition
Binding: Library Type (Extensible)
... subject[x] 0..1Type of individual the library content is focused on
Binding: Participant Resource Types (Extensible)
.... subjectCodeableConceptCodeableConcept
.... subjectReferenceReference(Group)
... date Σ0..1dateTimeDate last changed
... publisher ΣT0..1stringName of the publisher/steward (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher

... description ΣT0..1markdownNatural language description of the library
... useContext Σ0..*UsageContextThe context that the content is intended to support

... jurisdiction ΣXD0..*CodeableConceptIntended jurisdiction for library (if applicable)
Binding: Jurisdiction ValueSet (Extensible)

... purpose T0..1markdownWhy this library is defined
... usage T0..1markdownDescribes the clinical usage of the library
... copyright T0..1markdownUse and/or publishing restrictions
... copyrightLabel T0..1stringCopyright holder and year(s)
... approvalDate 0..1dateWhen the library was approved by publisher
... lastReviewDate 0..1dateWhen the library was last reviewed by the publisher
... effectivePeriod Σ0..1PeriodWhen the library is expected to be used
... topic XD0..*CodeableConceptE.g. Education, Treatment, Assessment, etc
Binding: Definition Topic (Example)

... author 0..*ContactDetailWho authored the content

... editor 0..*ContactDetailWho edited the content

... reviewer 0..*ContactDetailWho reviewed the content

... endorser 0..*ContactDetailWho endorsed the content

... relatedArtifact 0..*RelatedArtifactAdditional documentation, citations, etc

... parameter 0..*ParameterDefinitionParameters defined by the library

... dataRequirement 0..*DataRequirementWhat data is referenced by this library

... content Σ0..*AttachmentContents 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.

See R4 <--> R5 Conversion Maps (status = See Conversions Summary.)

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Library TUDomainResourceRepresents 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 ΣC0..1uriCanonical 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..*IdentifierAdditional identifier for the library

... version Σ0..1stringBusiness version of the library
... versionAlgorithm[x] Σ0..1How to compare versions
Binding: Version Algorithm (Extensible)
.... versionAlgorithmStringstring
.... versionAlgorithmCodingCoding
... name ΣC0..1stringName for this library (computer friendly)
... title ΣT0..1stringName for this library (human friendly)
... subtitle T0..1stringSubordinate title of the library
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (Required)
... experimental Σ0..1booleanFor testing purposes, not real usage
... type Σ1..1CodeableConceptlogic-library | model-definition | asset-collection | module-definition
Binding: Library Type (Extensible)
... subject[x] 0..1Type of individual the library content is focused on
Binding: Participant Resource Types (Extensible)
.... subjectCodeableConceptCodeableConcept
.... subjectReferenceReference(Group)
... date Σ0..1dateTimeDate last changed
... publisher ΣT0..1stringName of the publisher/steward (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher

... description ΣT0..1markdownNatural language description of the library
... useContext Σ0..*UsageContextThe context that the content is intended to support

... jurisdiction ΣXD0..*CodeableConceptIntended jurisdiction for library (if applicable)
Binding: Jurisdiction ValueSet (Extensible)

... purpose T0..1markdownWhy this library is defined
... usage T0..1markdownDescribes the clinical usage of the library
... copyright T0..1markdownUse and/or publishing restrictions
... copyrightLabel T0..1stringCopyright holder and year(s)
... approvalDate 0..1dateWhen the library was approved by publisher
... lastReviewDate 0..1dateWhen the library was last reviewed by the publisher
... effectivePeriod Σ0..1PeriodWhen the library is expected to be used
... topic XD0..*CodeableConceptE.g. Education, Treatment, Assessment, etc
Binding: Definition Topic (Example)

... author 0..*ContactDetailWho authored the content

... editor 0..*ContactDetailWho edited the content

... reviewer 0..*ContactDetailWho reviewed the content

... endorser 0..*ContactDetailWho endorsed the content

... relatedArtifact 0..*RelatedArtifactAdditional documentation, citations, etc

... parameter 0..*ParameterDefinitionParameters defined by the library

... dataRequirement 0..*DataRequirementWhat data is referenced by this library

... content Σ0..*AttachmentContents 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.

See R4 <--> R5 Conversion Maps (status = See Conversions Summary.)

 

Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) , the spreadsheet version & the dependency analysis

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

NameTypeDescriptionExpressionIn Common
composed-ofreferenceWhat resource is being referencedLibrary.relatedArtifact.where(type='composed-of').resource
(Any)
6 Resources
content-typetokenThe type of content in the library (e.g. text/cql)Library.content.contentType
contexttokenA use context assigned to the library(Library.useContext.value.ofType(CodeableConcept))30 Resources
context-quantityquantityA quantity- or range-valued use context assigned to the library(Library.useContext.value.ofType(Quantity)) | (Library.useContext.value.ofType(Range))30 Resources
context-typetokenA type of use context assigned to the libraryLibrary.useContext.code30 Resources
context-type-quantitycompositeA use context type and quantity- or range-based value assigned to the libraryOn Library.useContext:
  context-type: code
  context-quantity: value.ofType(Quantity) | value.ofType(Range)
30 Resources
context-type-valuecompositeA use context type and value assigned to the libraryOn Library.useContext:
  context-type: code
  context: value.ofType(CodeableConcept)
30 Resources
datedateThe library publication dateLibrary.date30 Resources
depends-onreferenceWhat resource is being referencedLibrary.relatedArtifact.where(type='depends-on').resource
(Any)
6 Resources
derived-fromreferenceWhat resource is being referencedLibrary.relatedArtifact.where(type='derived-from').resource
(Any)
10 Resources
descriptionstringThe description of the libraryLibrary.description28 Resources
effectivedateThe time during which the library is intended to be in useLibrary.effectivePeriod12 Resources
identifiertokenExternal identifier for the libraryLibrary.identifier35 Resources
jurisdictiontokenIntended jurisdiction for the libraryLibrary.jurisdiction26 Resources
namestringComputationally friendly name of the libraryLibrary.name27 Resources
predecessorreferenceWhat resource is being referencedLibrary.relatedArtifact.where(type='predecessor').resource
(Any)
10 Resources
publisherstringName of the publisher of the libraryLibrary.publisher30 Resources
statustokenThe current status of the libraryLibrary.status36 Resources
successorreferenceWhat resource is being referencedLibrary.relatedArtifact.where(type='successor').resource
(Any)
6 Resources
titlestringThe human-friendly name of the libraryLibrary.title27 Resources
topictokenTopics associated with the moduleLibrary.topic10 Resources
typetokenThe type of the library (e.g. logic-library, model-definition, asset-collection, module-definition)Library.type
urluriThe uri that identifies the libraryLibrary.url35 Resources
versiontokenThe business version of the libraryLibrary.version30 Resources