Release 5 Ballot

This page is part of the FHIR Specification (v5.0.0-ballot: FHIR R5 Ballot Preview). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

14.15 Resource Library - Content

Clinical Decision Support Work GroupMaturity Level: 3 Trial UseSecurity Category: Anonymous Compartments: Not linked to any 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. 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
... name ΣC0..1stringName for this library (computer friendly)
... title Σ0..1stringName for this library (human friendly)
... subtitle 0..1stringSubordinate title of the library
... status ?!Σ1..1codedraft | active | retired | unknown
PublicationStatus (Required)
... experimental Σ0..1booleanFor testing purposes, not real usage
... type Σ1..1CodeableConceptlogic-library | model-definition | asset-collection | module-definition
LibraryType (Extensible)
... subject[x] 0..1Type of individual the library content is focused on
Participant Resource Types (Extensible)
.... subjectCodeableConceptCodeableConcept
.... subjectReferenceReference(Group)
... date Σ0..1dateTimeDate last changed
... publisher Σ0..1stringName of the publisher/steward (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher

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

... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for library (if applicable)
Jurisdiction (Extensible)

... purpose 0..1markdownWhy this library is defined
... usage 0..1stringDescribes the clinical usage of the library
... copyright 0..1markdownUse and/or publishing restrictions
... approvalDate 0..1dateWhen the library was approved by publisher
... lastReviewDate 0..1dateWhen the library was last reviewed
... effectivePeriod Σ0..1PeriodWhen the library is expected to be used
... topic 0..*CodeableConceptE.g. Education, Treatment, Assessment, etc.
DefinitionTopic (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

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]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 published. 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)Jurisdiction ValueSet+ »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 : string [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]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 primarily responsible for review of some aspect of the contentreviewer : ContactDetail [0..*]An individual or organization 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 -->
 <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="[string]"/><!-- 0..1 Describes the clinical usage of the library -->
 <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions -->
 <approvalDate value="[date]"/><!-- 0..1 When the library was approved by publisher -->
 <lastReviewDate value="[date]"/><!-- 0..1 When the library was last reviewed -->
 <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
  "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" : "<string>", // Describes the clinical usage of the library
  "copyright" : "<markdown>", // Use and/or publishing restrictions
  "approvalDate" : "<date>", // When the library was approved by publisher
  "lastReviewDate" : "<date>", // When the library was last reviewed
  "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:Library.url [ uri ]; # 0..1 Canonical identifier for this library, represented as a URI (globally unique)
  fhir:Library.identifier [ Identifier ], ... ; # 0..* Additional identifier for the library
  fhir:Library.version [ string ]; # 0..1 Business version of the library
  fhir:Library.name [ string ]; # 0..1 I Name for this library (computer friendly)
  fhir:Library.title [ string ]; # 0..1 Name for this library (human friendly)
  fhir:Library.subtitle [ string ]; # 0..1 Subordinate title of the library
  fhir:Library.status [ code ]; # 1..1 draft | active | retired | unknown
  fhir:Library.experimental [ boolean ]; # 0..1 For testing purposes, not real usage
  fhir:Library.type [ CodeableConcept ]; # 1..1 logic-library | model-definition | asset-collection | module-definition
  # Library.subject[x] : 0..1 Type of individual the library content is focused on. One of these 2
    fhir:Library.subjectCodeableConcept [ CodeableConcept ]
    fhir:Library.subjectReference [ Reference(Group) ]
  fhir:Library.date [ dateTime ]; # 0..1 Date last changed
  fhir:Library.publisher [ string ]; # 0..1 Name of the publisher/steward (organization or individual)
  fhir:Library.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher
  fhir:Library.description [ markdown ]; # 0..1 Natural language description of the library
  fhir:Library.useContext [ UsageContext ], ... ; # 0..* The context that the content is intended to support
  fhir:Library.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for library (if applicable)
  fhir:Library.purpose [ markdown ]; # 0..1 Why this library is defined
  fhir:Library.usage [ string ]; # 0..1 Describes the clinical usage of the library
  fhir:Library.copyright [ markdown ]; # 0..1 Use and/or publishing restrictions
  fhir:Library.approvalDate [ date ]; # 0..1 When the library was approved by publisher
  fhir:Library.lastReviewDate [ date ]; # 0..1 When the library was last reviewed
  fhir:Library.effectivePeriod [ Period ]; # 0..1 When the library is expected to be used
  fhir:Library.topic [ CodeableConcept ], ... ; # 0..* E.g. Education, Treatment, Assessment, etc.
  fhir:Library.author [ ContactDetail ], ... ; # 0..* Who authored the content
  fhir:Library.editor [ ContactDetail ], ... ; # 0..* Who edited the content
  fhir:Library.reviewer [ ContactDetail ], ... ; # 0..* Who reviewed the content
  fhir:Library.endorser [ ContactDetail ], ... ; # 0..* Who endorsed the content
  fhir:Library.relatedArtifact [ RelatedArtifact ], ... ; # 0..* Additional documentation, citations, etc.
  fhir:Library.parameter [ ParameterDefinition ], ... ; # 0..* Parameters defined by the library
  fhir:Library.dataRequirement [ DataRequirement ], ... ; # 0..* What data is referenced by this library
  fhir:Library.content [ Attachment ], ... ; # 0..* Contents of the library, either embedded or referenced
]

Changes since R4

Library
Library.subject[x]
  • Change value set from http://hl7.org/fhir/ValueSet/subject-type to http://hl7.org/fhir/ValueSet/participant-resource-types
  • Change code system for extensibly bound codes from "http://hl7.org/fhir/resource-types" to "http://hl7.org/fhir/fhir-types"
  • Change value set from http://hl7.org/fhir/ValueSet/subject-type to http://hl7.org/fhir/ValueSet/participant-resource-types
  • Change code system for extensibly bound codes from "http://hl7.org/fhir/resource-types" to "http://hl7.org/fhir/fhir-types"

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 11 tests that all execute ok. All tests pass round-trip testing and 11 r3 resources are invalid (0 errors).)

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
... name ΣC0..1stringName for this library (computer friendly)
... title Σ0..1stringName for this library (human friendly)
... subtitle 0..1stringSubordinate title of the library
... status ?!Σ1..1codedraft | active | retired | unknown
PublicationStatus (Required)
... experimental Σ0..1booleanFor testing purposes, not real usage
... type Σ1..1CodeableConceptlogic-library | model-definition | asset-collection | module-definition
LibraryType (Extensible)
... subject[x] 0..1Type of individual the library content is focused on
Participant Resource Types (Extensible)
.... subjectCodeableConceptCodeableConcept
.... subjectReferenceReference(Group)
... date Σ0..1dateTimeDate last changed
... publisher Σ0..1stringName of the publisher/steward (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher

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

... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for library (if applicable)
Jurisdiction (Extensible)

... purpose 0..1markdownWhy this library is defined
... usage 0..1stringDescribes the clinical usage of the library
... copyright 0..1markdownUse and/or publishing restrictions
... approvalDate 0..1dateWhen the library was approved by publisher
... lastReviewDate 0..1dateWhen the library was last reviewed
... effectivePeriod Σ0..1PeriodWhen the library is expected to be used
... topic 0..*CodeableConceptE.g. Education, Treatment, Assessment, etc.
DefinitionTopic (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

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]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 published. 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)Jurisdiction ValueSet+ »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 : string [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]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 primarily responsible for review of some aspect of the contentreviewer : ContactDetail [0..*]An individual or organization 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 -->
 <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="[string]"/><!-- 0..1 Describes the clinical usage of the library -->
 <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions -->
 <approvalDate value="[date]"/><!-- 0..1 When the library was approved by publisher -->
 <lastReviewDate value="[date]"/><!-- 0..1 When the library was last reviewed -->
 <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
  "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" : "<string>", // Describes the clinical usage of the library
  "copyright" : "<markdown>", // Use and/or publishing restrictions
  "approvalDate" : "<date>", // When the library was approved by publisher
  "lastReviewDate" : "<date>", // When the library was last reviewed
  "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:Library.url [ uri ]; # 0..1 Canonical identifier for this library, represented as a URI (globally unique)
  fhir:Library.identifier [ Identifier ], ... ; # 0..* Additional identifier for the library
  fhir:Library.version [ string ]; # 0..1 Business version of the library
  fhir:Library.name [ string ]; # 0..1 I Name for this library (computer friendly)
  fhir:Library.title [ string ]; # 0..1 Name for this library (human friendly)
  fhir:Library.subtitle [ string ]; # 0..1 Subordinate title of the library
  fhir:Library.status [ code ]; # 1..1 draft | active | retired | unknown
  fhir:Library.experimental [ boolean ]; # 0..1 For testing purposes, not real usage
  fhir:Library.type [ CodeableConcept ]; # 1..1 logic-library | model-definition | asset-collection | module-definition
  # Library.subject[x] : 0..1 Type of individual the library content is focused on. One of these 2
    fhir:Library.subjectCodeableConcept [ CodeableConcept ]
    fhir:Library.subjectReference [ Reference(Group) ]
  fhir:Library.date [ dateTime ]; # 0..1 Date last changed
  fhir:Library.publisher [ string ]; # 0..1 Name of the publisher/steward (organization or individual)
  fhir:Library.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher
  fhir:Library.description [ markdown ]; # 0..1 Natural language description of the library
  fhir:Library.useContext [ UsageContext ], ... ; # 0..* The context that the content is intended to support
  fhir:Library.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for library (if applicable)
  fhir:Library.purpose [ markdown ]; # 0..1 Why this library is defined
  fhir:Library.usage [ string ]; # 0..1 Describes the clinical usage of the library
  fhir:Library.copyright [ markdown ]; # 0..1 Use and/or publishing restrictions
  fhir:Library.approvalDate [ date ]; # 0..1 When the library was approved by publisher
  fhir:Library.lastReviewDate [ date ]; # 0..1 When the library was last reviewed
  fhir:Library.effectivePeriod [ Period ]; # 0..1 When the library is expected to be used
  fhir:Library.topic [ CodeableConcept ], ... ; # 0..* E.g. Education, Treatment, Assessment, etc.
  fhir:Library.author [ ContactDetail ], ... ; # 0..* Who authored the content
  fhir:Library.editor [ ContactDetail ], ... ; # 0..* Who edited the content
  fhir:Library.reviewer [ ContactDetail ], ... ; # 0..* Who reviewed the content
  fhir:Library.endorser [ ContactDetail ], ... ; # 0..* Who endorsed the content
  fhir:Library.relatedArtifact [ RelatedArtifact ], ... ; # 0..* Additional documentation, citations, etc.
  fhir:Library.parameter [ ParameterDefinition ], ... ; # 0..* Parameters defined by the library
  fhir:Library.dataRequirement [ DataRequirement ], ... ; # 0..* What data is referenced by this library
  fhir:Library.content [ Attachment ], ... ; # 0..* Contents of the library, either embedded or referenced
]

Changes since Release 4

Library
Library.subject[x]
  • Change value set from http://hl7.org/fhir/ValueSet/subject-type to http://hl7.org/fhir/ValueSet/participant-resource-types
  • Change code system for extensibly bound codes from "http://hl7.org/fhir/resource-types" to "http://hl7.org/fhir/fhir-types"
  • Change value set from http://hl7.org/fhir/ValueSet/subject-type to http://hl7.org/fhir/ValueSet/participant-resource-types
  • Change code system for extensibly bound codes from "http://hl7.org/fhir/resource-types" to "http://hl7.org/fhir/fhir-types"

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 11 tests that all execute ok. All tests pass round-trip testing and 11 r3 resources are invalid (0 errors).)

 

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

PathDefinitionTypeReference
Library.status

The lifecycle status of an artifact.

RequiredPublicationStatus
Library.type

The type of knowledge asset this library contains.

ExtensibleLibraryType
Library.subject[x]

All Resource Types that represent participant resources

ExtensibleParticipantResourceTypes
Library.jurisdiction

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

ExtensibleJurisdiction ValueSet
Library.topic

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

ExampleDefinitionTopic

UniqueKeyLevelLocationDescriptionExpression
 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}')
 cnl-1Warning Library.urlURL should not contain | or # - these characters make processing canonical references problematicurl.matches('([^|#])*')

Search parameters for 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)
content-type NtokenThe type of content in the library (e.g. text/cql)Library.content.contentType
contexttokenA use context assigned to the library(Library.useContext.value as CodeableConcept)
context-quantityquantityA quantity- or range-valued use context assigned to the library(Library.useContext.value as Quantity) | (Library.useContext.value as Range)
context-typetokenA type of use context assigned to the libraryLibrary.useContext.code
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)
context-type-valuecompositeA use context type and value assigned to the libraryOn Library.useContext:
  context-type: code
  context: value.ofType(CodeableConcept)
date NdateThe library publication dateLibrary.date
depends-onreferenceWhat resource is being referencedLibrary.relatedArtifact.where(type='depends-on').resource
(Any)
derived-fromreferenceWhat resource is being referencedLibrary.relatedArtifact.where(type='derived-from').resource
(Any)
description NstringThe description of the libraryLibrary.description
effectivedateThe time during which the library is intended to be in useLibrary.effectivePeriod
identifiertokenExternal identifier for the libraryLibrary.identifier
jurisdictiontokenIntended jurisdiction for the libraryLibrary.jurisdiction
name NstringComputationally friendly name of the libraryLibrary.name
predecessorreferenceWhat resource is being referencedLibrary.relatedArtifact.where(type='predecessor').resource
(Any)
publisher NstringName of the publisher of the libraryLibrary.publisher
status NtokenThe current status of the libraryLibrary.status
successorreferenceWhat resource is being referencedLibrary.relatedArtifact.where(type='successor').resource
(Any)
title NstringThe human-friendly name of the libraryLibrary.title
topictokenTopics associated with the moduleLibrary.topic
typetokenThe type of the library (e.g. logic-library, model-definition, asset-collection, module-definition)Library.type
url NuriThe uri that identifies the libraryLibrary.url
version NtokenThe business version of the libraryLibrary.version