FHIR Clincal Guidelines (v0.1.0) (STU1 Ballot)

This page is part of the Clinical Guidelines (v0.1.0: STU 1 Ballot 1) based on FHIR R4. The current version which supercedes this version is 1.0.0. For a full list of available versions, see the Directory of published versions

D.4.1 StructureDefinition: cpg-library

Examples:

Example id Format
ANC Common Logic Library anc-common XML JSON
ANC Recommendation #2 Logic Library anc-recommendation-a2 XML JSON
Hepatitis B Adult Immunization Forecasting Logic Library library-hep-b-adult-forecasting XML JSON
Opioid Management Terminology Knowledge Logic Library omtklogic-0-0-1 XML JSON
Opioid R4 Common Logic Library opioidcds-r4-common XML JSON
Opioid R4 Recommendation #5 Logic Library opioidcds-r4-recommendation-05 XML JSON

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-library

Profile of Library for use with CPG Implementation Guide

This profile builds on Shareable Library.

This profile was published on Thu Jun 06 00:00:00 EDT 2019 as a draft by Health Level Seven, Inc. - CDS WG.

Description of Profiles, Differentials, and Snapshots.

Summary

Mandatory: 8 elements (4 nested mandatory elements)
Must-Support: 28 elements
Fixed Value: 3 elements

Slices

This structure defines the following Slices:

  • The element Library.content is sliced based on the value of value:contentType
NameFlagsCard.TypeDescription & Constraintsdoco
.. Library I1..1Represents a library of quality improvement components
... 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: CommonLanguages (preferred)
Max Binding: AllLanguages
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url SΣ1..1uriCanonical identifier for this library, represented as a URI (globally unique)
... identifier SΣ0..*IdentifierAdditional identifier for the library
... version SΣ1..1stringBusiness version of the library
... name SΣI1..1stringName for this library (computer friendly)
... title Σ1..1stringName for this library (human friendly)
... subtitle 0..1stringSubordinate title of the library
... status ?!SΣ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required)
... experimental SΣ1..1booleanFor testing purposes, not real usage
... type SΣ1..1CodeableConceptlogic-library | model-definition | asset-collection | module-definition
Binding: LibraryType (extensible)
... subject[x] 0..1Type of individual the library content is focused on
Binding: SubjectType (extensible)
.... subjectCodeableConceptCodeableConcept
.... subjectReferenceReference(http://hl7.org/fhir/R4/group.html)
... date Σ1..1dateTimeDate last changed
... publisher SΣ1..1stringName of the publisher (organization or individual)
... contact SΣ0..*ContactDetailContact details for the publisher
... description SΣ1..1markdownNatural language description of the library
... useContext SΣ0..*UsageContextThe context that the content is intended to support
... jurisdiction SΣ0..*CodeableConceptIntended jurisdiction for library (if applicable)
Binding: Jurisdiction ValueSet (extensible)
... purpose S0..1markdownWhy this library is defined
... usage S0..1stringDescribes the clinical usage of the library
... copyright S0..1markdownUse and/or publishing restrictions
... approvalDate S0..1dateWhen the library was approved by publisher
... lastReviewDate S0..1dateWhen the library was last reviewed
... effectivePeriod SΣ0..1PeriodWhen the library is expected to be used
... topic S0..*CodeableConceptE.g. Education, Treatment, Assessment, etc.
Binding: DefinitionTopic (example)
... author S0..*ContactDetailWho authored the content
... editor S0..*ContactDetailWho edited the content
... reviewer S0..*ContactDetailWho reviewed the content
... endorser S0..*ContactDetailWho endorsed the content
... relatedArtifact S0..*RelatedArtifactAdditional documentation, citations, etc.
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... type Σ1..1codedocumentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of
Binding: RelatedArtifactType (required)
.... label Σ0..1stringShort label
.... display SΣ1..1stringBrief description of the related artifact
.... citation Σ0..1markdownBibliographic citation for the artifact
.... url SΣ1..1urlWhere the artifact can be accessed
.... document Σ0..1AttachmentWhat document is being referenced
.... resource Σ0..1canonical(Resource)What resource is being referenced
... parameter S0..*ParameterDefinitionParameters defined by the library
... dataRequirement S0..*DataRequirementWhat data is referenced by this library
... content SΣ(Slice Definition)Contents of the library, either embedded or referenced
Slice: Unordered, Open by value:contentType
.... cqlContent Σ1..1AttachmentCQL Content
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... contentType SΣ1..1codeMime type of the content, with charset etc.
Binding: Mime Types (required)
Fixed Value: text/cql
..... language Σ0..1codeHuman language of the content (BCP-47)
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
Example General': en-AU
..... data 1..1base64BinaryData inline, base64ed
..... url Σ0..1urlUri where the data can be found
Example General': http://www.acme.com/logo-small.png
..... size Σ0..1unsignedIntNumber of bytes of content (if url provided)
..... hash Σ0..1base64BinaryHash of the data (sha-1, base64ed)
..... title Σ0..1stringLabel to display in place of the data
Example General': Official Corporate Logo
..... creation Σ0..1dateTimeDate attachment was first created
.... elmXmlContent Σ0..*AttachmentELM XML Content
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... contentType SΣ0..1codeMime type of the content, with charset etc.
Binding: Mime Types (required)
Fixed Value: application/elm+xml
..... language Σ0..1codeHuman language of the content (BCP-47)
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
Example General': en-AU
..... data 1..1base64BinaryData inline, base64ed
..... url Σ0..1urlUri where the data can be found
Example General': http://www.acme.com/logo-small.png
..... size Σ0..1unsignedIntNumber of bytes of content (if url provided)
..... hash Σ0..1base64BinaryHash of the data (sha-1, base64ed)
..... title Σ0..1stringLabel to display in place of the data
Example General': Official Corporate Logo
..... creation Σ0..1dateTimeDate attachment was first created
.... elmJsonContent Σ0..*AttachmentELM JSON Content
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... contentType SΣ0..1codeMime type of the content, with charset etc.
Binding: Mime Types (required)
Fixed Value: application/elm+json
..... language Σ0..1codeHuman language of the content (BCP-47)
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
Example General': en-AU
..... data 1..1base64BinaryData inline, base64ed
..... url Σ0..1urlUri where the data can be found
Example General': http://www.acme.com/logo-small.png
..... size Σ0..1unsignedIntNumber of bytes of content (if url provided)
..... hash Σ0..1base64BinaryHash of the data (sha-1, base64ed)
..... title Σ0..1stringLabel to display in place of the data
Example General': Official Corporate Logo
..... creation Σ0..1dateTimeDate attachment was first created

doco Documentation for this format

Summary

Mandatory: 8 elements (4 nested mandatory elements)
Must-Support: 28 elements
Fixed Value: 3 elements

Slices

This structure defines the following Slices:

  • The element Library.content is sliced based on the value of value:contentType

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Library I1..1Represents a library of quality improvement components
... 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: CommonLanguages (preferred)
Max Binding: AllLanguages
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url SΣ1..1uriCanonical identifier for this library, represented as a URI (globally unique)
... identifier SΣ0..*IdentifierAdditional identifier for the library
... version SΣ1..1stringBusiness version of the library
... name SΣI1..1stringName for this library (computer friendly)
... title Σ1..1stringName for this library (human friendly)
... subtitle 0..1stringSubordinate title of the library
... status ?!SΣ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required)
... experimental SΣ1..1booleanFor testing purposes, not real usage
... type SΣ1..1CodeableConceptlogic-library | model-definition | asset-collection | module-definition
Binding: LibraryType (extensible)
... subject[x] 0..1Type of individual the library content is focused on
Binding: SubjectType (extensible)
.... subjectCodeableConceptCodeableConcept
.... subjectReferenceReference(http://hl7.org/fhir/R4/group.html)
... date Σ1..1dateTimeDate last changed
... publisher SΣ1..1stringName of the publisher (organization or individual)
... contact SΣ0..*ContactDetailContact details for the publisher
... description SΣ1..1markdownNatural language description of the library
... useContext SΣ0..*UsageContextThe context that the content is intended to support
... jurisdiction SΣ0..*CodeableConceptIntended jurisdiction for library (if applicable)
Binding: Jurisdiction ValueSet (extensible)
... purpose S0..1markdownWhy this library is defined
... usage S0..1stringDescribes the clinical usage of the library
... copyright S0..1markdownUse and/or publishing restrictions
... approvalDate S0..1dateWhen the library was approved by publisher
... lastReviewDate S0..1dateWhen the library was last reviewed
... effectivePeriod SΣ0..1PeriodWhen the library is expected to be used
... topic S0..*CodeableConceptE.g. Education, Treatment, Assessment, etc.
Binding: DefinitionTopic (example)
... author S0..*ContactDetailWho authored the content
... editor S0..*ContactDetailWho edited the content
... reviewer S0..*ContactDetailWho reviewed the content
... endorser S0..*ContactDetailWho endorsed the content
... relatedArtifact S0..*RelatedArtifactAdditional documentation, citations, etc.
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... type Σ1..1codedocumentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of
Binding: RelatedArtifactType (required)
.... label Σ0..1stringShort label
.... display SΣ1..1stringBrief description of the related artifact
.... citation Σ0..1markdownBibliographic citation for the artifact
.... url SΣ1..1urlWhere the artifact can be accessed
.... document Σ0..1AttachmentWhat document is being referenced
.... resource Σ0..1canonical(Resource)What resource is being referenced
... parameter S0..*ParameterDefinitionParameters defined by the library
... dataRequirement S0..*DataRequirementWhat data is referenced by this library
... content SΣ(Slice Definition)Contents of the library, either embedded or referenced
Slice: Unordered, Open by value:contentType
.... cqlContent Σ1..1AttachmentCQL Content
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... contentType SΣ1..1codeMime type of the content, with charset etc.
Binding: Mime Types (required)
Fixed Value: text/cql
..... language Σ0..1codeHuman language of the content (BCP-47)
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
Example General': en-AU
..... data 1..1base64BinaryData inline, base64ed
..... url Σ0..1urlUri where the data can be found
Example General': http://www.acme.com/logo-small.png
..... size Σ0..1unsignedIntNumber of bytes of content (if url provided)
..... hash Σ0..1base64BinaryHash of the data (sha-1, base64ed)
..... title Σ0..1stringLabel to display in place of the data
Example General': Official Corporate Logo
..... creation Σ0..1dateTimeDate attachment was first created
.... elmXmlContent Σ0..*AttachmentELM XML Content
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... contentType SΣ0..1codeMime type of the content, with charset etc.
Binding: Mime Types (required)
Fixed Value: application/elm+xml
..... language Σ0..1codeHuman language of the content (BCP-47)
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
Example General': en-AU
..... data 1..1base64BinaryData inline, base64ed
..... url Σ0..1urlUri where the data can be found
Example General': http://www.acme.com/logo-small.png
..... size Σ0..1unsignedIntNumber of bytes of content (if url provided)
..... hash Σ0..1base64BinaryHash of the data (sha-1, base64ed)
..... title Σ0..1stringLabel to display in place of the data
Example General': Official Corporate Logo
..... creation Σ0..1dateTimeDate attachment was first created
.... elmJsonContent Σ0..*AttachmentELM JSON Content
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... contentType SΣ0..1codeMime type of the content, with charset etc.
Binding: Mime Types (required)
Fixed Value: application/elm+json
..... language Σ0..1codeHuman language of the content (BCP-47)
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
Example General': en-AU
..... data 1..1base64BinaryData inline, base64ed
..... url Σ0..1urlUri where the data can be found
Example General': http://www.acme.com/logo-small.png
..... size Σ0..1unsignedIntNumber of bytes of content (if url provided)
..... hash Σ0..1base64BinaryHash of the data (sha-1, base64ed)
..... title Σ0..1stringLabel to display in place of the data
Example General': Official Corporate Logo
..... creation Σ0..1dateTimeDate attachment was first created

doco Documentation for this format

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathConformanceValueSet / Code
Library.languagepreferredCommonLanguages
Max Binding: AllLanguages
Library.statusrequiredPublicationStatus
Library.typeextensibleLibraryType
Library.subject[x]extensibleSubjectType
Library.jurisdictionextensibleJurisdiction ValueSet
Library.topicexampleDefinitionTopic
Library.relatedArtifact.typerequiredRelatedArtifactType
Library.content:cqlContent.contentTyperequiredFixed Value: text/cql
Library.content:cqlContent.languagepreferredCommonLanguages
Max Binding: AllLanguages
Library.content:elmXmlContent.contentTyperequiredFixed Value: application/elm+xml
Library.content:elmXmlContent.languagepreferredCommonLanguages
Max Binding: AllLanguages
Library.content:elmJsonContent.contentTyperequiredFixed Value: application/elm+json
Library.content:elmJsonContent.languagepreferredCommonLanguages
Max Binding: AllLanguages

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2LibraryIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.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 or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-6LibraryA resource should have narrative for robust management
: text.div.exists()
dom-5LibraryIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
lib-0LibraryName should be usable as an identifier for the module by machine processing applications such as code generation
: name.matches('[A-Z]([A-Za-z0-9_]){0,254}')