eHealth Infrastructure (v2019.6.1)

StructureDefinition: ehealth-library

Introduction

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:

  • specifying clinical decision rules
    • used for calculating situational context
    • used for calculating operational context
    • used for evaluating measurements and triaging based on this evaluation
  • specifying input and output parameters for clinical decision rules

Defining clinical decision rules

The clinical decision rules are defined as JBoss Drools rules and are stored in the content structure as a base64 encoded string. When defining the rule it is important that the rule package is set to “rules”.

Input and output parameters used by the rule should be defined in the parameters structure with the use element set to the appropriate type of parameter. Only one output type should be defined. In the rule logic the output parameter should be defined as a global variable with the name “result”.

It is important that the input and output parameters defined in the Library resource corresponds to the input and output parameters defined in the clinical decision rule logic. The eHealth infrastructure wont be able to execute a rule if any inconsistency exists.

When defining a rule to be used for evaluation of Observation resources, it is possible to specify that historical Observation resources with the same ProcedureRequest reference should be used as input to the rule. This is done using the dataRequirement structure where the dateFilter.valueDuration is set. Observation resources where the effective element is overlapping this duration is given as input to the rule.

Invoke clinical decision rules

The clinical decision rules used for calculating situational and operational context can be invoked using the evaluate operation on the specific Library resource. Evaluation of submitted measurements will be invoked automatic and asynchronous. The eHealth Infrastructure will create the relevant ClinicalImpression, Task and Communication resources based on the automatic evaluation of submitted measurements.

Use of Library resources at time of decision support rules invocation

The decision support rule Library 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 Dec 04 13:16:07 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-intendedAudience 0..*Reference()The intended audience of the library
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-intendedAudience
... ehealth-revision 1..1stringOptional Extensions Element
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-revision
... ehealth-modifier-role 1..1(Complex)Maintainers of the library. Identifies practitioners, care teams and organizations and their responsibility as maintainers.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-modifier-role
... version 1..1string
... type 1..1CodeableConceptlogic-library | model-definition | asset-collection | module-definition | automated-processing
Binding: LibraryType (required)
... parameter 1..*ParameterDefinition

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)
Max Binding: All Languages
... 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-intendedAudience I0..*Reference()The intended audience of the library
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-intendedAudience
... ehealth-revision I1..1stringOptional Extensions Element
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-revision
... ehealth-modifier-role I1..1(Complex)Maintainers of the library. Identifies practitioners, care teams and organizations and their responsibility as maintainers.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-modifier-role
... 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 | automated-processing
Binding: LibraryType (required)
... 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
... 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-intendedAudience 0..*Reference()The intended audience of the library
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-intendedAudience
... ehealth-revision 1..1stringOptional Extensions Element
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-revision
... ehealth-modifier-role 1..1(Complex)Maintainers of the library. Identifies practitioners, care teams and organizations and their responsibility as maintainers.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-modifier-role
... version 1..1string
... type 1..1CodeableConceptlogic-library | model-definition | asset-collection | module-definition | automated-processing
Binding: LibraryType (required)
... parameter 1..*ParameterDefinition

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)
Max Binding: All Languages
... 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-intendedAudience I0..*Reference()The intended audience of the library
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-intendedAudience
... ehealth-revision I1..1stringOptional Extensions Element
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-revision
... ehealth-modifier-role I1..1(Complex)Maintainers of the library. Identifies practitioners, care teams and organizations and their responsibility as maintainers.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-modifier-role
... 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 | automated-processing
Binding: LibraryType (required)
... 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
... 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

PathConformanceValueSet
Library.languageextensibleCommon Languages
Max Binding: All Languages
Library.statusrequiredPublicationStatus
Library.typerequiredLibraryType
Library.jurisdictionextensibleJurisdiction ValueSet
Library.topicexampleDefinitionTopic

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()
ele-1Library.extensionAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1Library.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Library.extensionAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1Library.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Library.extensionAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1Library.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Library.extensionAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1Library.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
.