eHealth Infrastructure (v2019.5)

StructureDefinition: ehealth-library

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.

Scope and Usage

In scope of the eHealth Infrastructure, the Library resource is used for:

  • identifying clinical decision rules
  • specifying input and output parameters for clinical decision rules
  • specifying bindings for these input parameters
Use of Library for defining decision support rules

A Library resource defining a decision support rule is really capturing metadata about the rule rather than the rule logic itself. The rule is identified by identifier, version, and revision while the input and output parameters are specified in the structure named parameter.

In order to support organizations in defining of Library for use in their organizational context, the extension intendedAudience has been added.

Use of Library for binding value sources to decision support rules parameters

A separate Library is used for defining what values to pass in as input parameters when invoking a decision support rule (as defined by another Library resource).

The Library defining the binding identifies the decision support rule Library resource through the extension basedOn. The binding between the decision support rule parameters and the source from which to get a value is defined in the extension parameterBinding.

It is important that the binding defines value sources for each of the input parameters defined in the decision support rule Library resource and that the parameter names and types are correct.

In the parameterBinding elements, a Questionnaire can be referenced through the element resource and identified with identifier, version and revision. The particular questionnaire question to use as binding for a decision support rule parameter is specified in linkId.

Use of Library resources at time of decision support rules invocation

The binding and decision support rule Library resources can be associated with a CarePlan / ProcedureRequest through their references to PlanDefinition / ActivityDefinition resources. When a measurement is submitted in scope of a CarePlan, the answer values in a submitted QuestionnaireResponse can be found and passed in as parameters to the decision support rule as specified by the Library resources.

Formal Views of Profile Content

The official URL for this profile is:

http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-library

This profile builds on Library.

This profile was published on Wed May 08 06:17:13 UTC 2019 as a draft by ehealth.sundhed.dk.

Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.

This structure is derived from Library

NameFlagsCard.TypeDescription & Constraintsdoco
.. Library 0..*A general-purpose container for knowledge asset definitions.
... extension 0..*ExtensionSlice: Unordered, Open by value:url
... ehealth-library-basedOn 0..1Reference(eHealth Library) {r}Optional Extensions Element
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-library-basedOn
... ehealth-intendedAudience 0..*Reference(eHealth Organization) {r}The audience of the PlanDefinition
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-intendedAudience
... ehealth-library-parameterBinding 0..*(Complex)Optional Extensions Element
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-library-parameterBinding
... ehealth-revision 1..1stringOptional Extensions Element
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-revision
... version 1..1string
... parameter 1..*ParameterDefinition
.... extension 0..*ExtensionSlice: Unordered, Open by value:url
.... ehealth-library-parameterName 0..1stringOptional Extensions Element
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-library-parameterName

doco Documentation for this format

This structure is derived from Library

NameFlagsCard.TypeDescription & Constraintsdoco
.. Library I0..*A general-purpose container for knowledge asset definitions.
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ehealth-library-basedOn 0..1Reference(eHealth Library) {r}Extension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-library-basedOn
... ehealth-intendedAudience 0..*Reference(eHealth Organization) {r}Extension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-intendedAudience
... ehealth-library-parameterBinding 0..*(Complex)Extension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-library-parameterBinding
... ehealth-revision 1..1stringExtension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-revision
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url Σ0..1uriLogical URI to reference this library (globally unique)
... identifier Σ0..*IdentifierAdditional identifier for the library
... version Σ1..1stringBusiness version of the library
... name Σ0..1stringName for this library (computer friendly)
... title Σ0..1stringName for this library (human friendly)
... 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: LibraryType (extensible)
... date Σ0..1dateTimeDate this was last changed
... publisher Σ0..1stringName of the publisher (organization or individual)
... description Σ0..1markdownNatural language description of the library
... purpose 0..1markdownWhy this library is defined
... usage 0..1stringDescribes the clinical usage of the library
... 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
... useContext Σ0..*UsageContextContext the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for library (if applicable)
Binding: Jurisdiction ValueSet (extensible)
... topic 0..*CodeableConceptE.g. Education, Treatment, Assessment, etc
Binding: DefinitionTopic (example)
... contributor 0..*ContributorA content contributor
... contact Σ0..*ContactDetailContact details for the publisher
... copyright 0..1markdownUse and/or publishing restrictions
... relatedArtifact 0..*RelatedArtifactAdditional documentation, citations, etc.
... parameter 1..*ParameterDefinitionParameters defined by the library
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... ehealth-library-parameterName 0..1stringExtension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-library-parameterName
.... name Σ0..1codeName used to access the parameter value
.... use Σ1..1codein | out
Binding: OperationParameterUse (required)
.... min Σ0..1integerMinimum cardinality
.... max Σ0..1stringMaximum cardinality (a number of *)
.... documentation Σ0..1stringA brief description of the parameter
.... type Σ1..1codeWhat type of value
Binding: FHIRAllTypes (required)
.... profile Σ0..1Reference(StructureDefinition)What profile the value is expected to be
... dataRequirement 0..*DataRequirementWhat data is referenced by this library
... content 0..*AttachmentContents of the library, either embedded or referenced

doco Documentation for this format

Differential View

This structure is derived from Library

NameFlagsCard.TypeDescription & Constraintsdoco
.. Library 0..*A general-purpose container for knowledge asset definitions.
... extension 0..*ExtensionSlice: Unordered, Open by value:url
... ehealth-library-basedOn 0..1Reference(eHealth Library) {r}Optional Extensions Element
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-library-basedOn
... ehealth-intendedAudience 0..*Reference(eHealth Organization) {r}The audience of the PlanDefinition
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-intendedAudience
... ehealth-library-parameterBinding 0..*(Complex)Optional Extensions Element
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-library-parameterBinding
... ehealth-revision 1..1stringOptional Extensions Element
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-revision
... version 1..1string
... parameter 1..*ParameterDefinition
.... extension 0..*ExtensionSlice: Unordered, Open by value:url
.... ehealth-library-parameterName 0..1stringOptional Extensions Element
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-library-parameterName

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Library I0..*A general-purpose container for knowledge asset definitions.
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ehealth-library-basedOn 0..1Reference(eHealth Library) {r}Extension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-library-basedOn
... ehealth-intendedAudience 0..*Reference(eHealth Organization) {r}Extension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-intendedAudience
... ehealth-library-parameterBinding 0..*(Complex)Extension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-library-parameterBinding
... ehealth-revision 1..1stringExtension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-revision
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url Σ0..1uriLogical URI to reference this library (globally unique)
... identifier Σ0..*IdentifierAdditional identifier for the library
... version Σ1..1stringBusiness version of the library
... name Σ0..1stringName for this library (computer friendly)
... title Σ0..1stringName for this library (human friendly)
... 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: LibraryType (extensible)
... date Σ0..1dateTimeDate this was last changed
... publisher Σ0..1stringName of the publisher (organization or individual)
... description Σ0..1markdownNatural language description of the library
... purpose 0..1markdownWhy this library is defined
... usage 0..1stringDescribes the clinical usage of the library
... 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
... useContext Σ0..*UsageContextContext the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for library (if applicable)
Binding: Jurisdiction ValueSet (extensible)
... topic 0..*CodeableConceptE.g. Education, Treatment, Assessment, etc
Binding: DefinitionTopic (example)
... contributor 0..*ContributorA content contributor
... contact Σ0..*ContactDetailContact details for the publisher
... copyright 0..1markdownUse and/or publishing restrictions
... relatedArtifact 0..*RelatedArtifactAdditional documentation, citations, etc.
... parameter 1..*ParameterDefinitionParameters defined by the library
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... ehealth-library-parameterName 0..1stringExtension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-library-parameterName
.... name Σ0..1codeName used to access the parameter value
.... use Σ1..1codein | out
Binding: OperationParameterUse (required)
.... min Σ0..1integerMinimum cardinality
.... max Σ0..1stringMaximum cardinality (a number of *)
.... documentation Σ0..1stringA brief description of the parameter
.... type Σ1..1codeWhat type of value
Binding: FHIRAllTypes (required)
.... profile Σ0..1Reference(StructureDefinition)What profile the value is expected to be
... dataRequirement 0..*DataRequirementWhat data is referenced by this library
... content 0..*AttachmentContents of the library, either embedded or referenced

doco Documentation for this format

 

Terminology Bindings

PathNameConformanceValueSet
Library.languageCommon LanguagesextensibleCommon Languages
Library.statusPublicationStatusrequiredPublicationStatus
Library.typeLibraryTypeextensibleLibraryType
Library.jurisdictionJurisdiction ValueSetextensibleJurisdiction ValueSet
Library.topicDefinitionTopicexampleDefinitionTopic
Library.parameter.useOperationParameterUserequiredOperationParameterUse
Library.parameter.typeFHIRAllTypesrequiredFHIRAllTypes

Constraints

IdPathDetailsRequirements
dom-2LibraryIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-1LibraryIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
dom-4LibraryIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-3LibraryIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
: contained.where(('#'+id in %resource.descendants().reference).not()).empty()
.