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
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 |
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:
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Library | I | 1..1 | Represents a library of quality improvement components | |
id | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
url | SΣ | 1..1 | uri | Canonical identifier for this library, represented as a URI (globally unique) |
identifier | SΣ | 0..* | Identifier | Additional identifier for the library |
version | SΣ | 1..1 | string | Business version of the library |
name | SΣI | 1..1 | string | Name for this library (computer friendly) |
title | Σ | 1..1 | string | Name for this library (human friendly) |
subtitle | 0..1 | string | Subordinate title of the library | |
status | ?!SΣ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required) |
experimental | SΣ | 1..1 | boolean | For testing purposes, not real usage |
type | SΣ | 1..1 | CodeableConcept | logic-library | model-definition | asset-collection | module-definition Binding: LibraryType (extensible) |
subject[x] | 0..1 | Type of individual the library content is focused on Binding: SubjectType (extensible) | ||
subjectCodeableConcept | CodeableConcept | |||
subjectReference | Reference(http://hl7.org/fhir/R4/group.html) | |||
date | Σ | 1..1 | dateTime | Date last changed |
publisher | SΣ | 1..1 | string | Name of the publisher (organization or individual) |
contact | SΣ | 0..* | ContactDetail | Contact details for the publisher |
description | SΣ | 1..1 | markdown | Natural language description of the library |
useContext | SΣ | 0..* | UsageContext | The context that the content is intended to support |
jurisdiction | SΣ | 0..* | CodeableConcept | Intended jurisdiction for library (if applicable) Binding: Jurisdiction ValueSet (extensible) |
purpose | S | 0..1 | markdown | Why this library is defined |
usage | S | 0..1 | string | Describes the clinical usage of the library |
copyright | S | 0..1 | markdown | Use and/or publishing restrictions |
approvalDate | S | 0..1 | date | When the library was approved by publisher |
lastReviewDate | S | 0..1 | date | When the library was last reviewed |
effectivePeriod | SΣ | 0..1 | Period | When the library is expected to be used |
topic | S | 0..* | CodeableConcept | E.g. Education, Treatment, Assessment, etc. Binding: DefinitionTopic (example) |
author | S | 0..* | ContactDetail | Who authored the content |
editor | S | 0..* | ContactDetail | Who edited the content |
reviewer | S | 0..* | ContactDetail | Who reviewed the content |
endorser | S | 0..* | ContactDetail | Who endorsed the content |
relatedArtifact | S | 0..* | RelatedArtifact | Additional documentation, citations, etc. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
type | Σ | 1..1 | code | documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of Binding: RelatedArtifactType (required) |
label | Σ | 0..1 | string | Short label |
display | SΣ | 1..1 | string | Brief description of the related artifact |
citation | Σ | 0..1 | markdown | Bibliographic citation for the artifact |
url | SΣ | 1..1 | url | Where the artifact can be accessed |
document | Σ | 0..1 | Attachment | What document is being referenced |
resource | Σ | 0..1 | canonical(Resource) | What resource is being referenced |
parameter | S | 0..* | ParameterDefinition | Parameters defined by the library |
dataRequirement | S | 0..* | DataRequirement | What 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..1 | Attachment | CQL Content |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
contentType | SΣ | 1..1 | code | Mime type of the content, with charset etc. Binding: Mime Types (required) Fixed Value: text/cql |
language | Σ | 0..1 | code | Human language of the content (BCP-47) Binding: CommonLanguages (preferred) Max Binding: AllLanguages Example General': en-AU |
data | 1..1 | base64Binary | Data inline, base64ed | |
url | Σ | 0..1 | url | Uri where the data can be found Example General': http://www.acme.com/logo-small.png |
size | Σ | 0..1 | unsignedInt | Number of bytes of content (if url provided) |
hash | Σ | 0..1 | base64Binary | Hash of the data (sha-1, base64ed) |
title | Σ | 0..1 | string | Label to display in place of the data Example General': Official Corporate Logo |
creation | Σ | 0..1 | dateTime | Date attachment was first created |
elmXmlContent | Σ | 0..* | Attachment | ELM XML Content |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
contentType | SΣ | 0..1 | code | Mime type of the content, with charset etc. Binding: Mime Types (required) Fixed Value: application/elm+xml |
language | Σ | 0..1 | code | Human language of the content (BCP-47) Binding: CommonLanguages (preferred) Max Binding: AllLanguages Example General': en-AU |
data | 1..1 | base64Binary | Data inline, base64ed | |
url | Σ | 0..1 | url | Uri where the data can be found Example General': http://www.acme.com/logo-small.png |
size | Σ | 0..1 | unsignedInt | Number of bytes of content (if url provided) |
hash | Σ | 0..1 | base64Binary | Hash of the data (sha-1, base64ed) |
title | Σ | 0..1 | string | Label to display in place of the data Example General': Official Corporate Logo |
creation | Σ | 0..1 | dateTime | Date attachment was first created |
elmJsonContent | Σ | 0..* | Attachment | ELM JSON Content |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
contentType | SΣ | 0..1 | code | Mime type of the content, with charset etc. Binding: Mime Types (required) Fixed Value: application/elm+json |
language | Σ | 0..1 | code | Human language of the content (BCP-47) Binding: CommonLanguages (preferred) Max Binding: AllLanguages Example General': en-AU |
data | 1..1 | base64Binary | Data inline, base64ed | |
url | Σ | 0..1 | url | Uri where the data can be found Example General': http://www.acme.com/logo-small.png |
size | Σ | 0..1 | unsignedInt | Number of bytes of content (if url provided) |
hash | Σ | 0..1 | base64Binary | Hash of the data (sha-1, base64ed) |
title | Σ | 0..1 | string | Label to display in place of the data Example General': Official Corporate Logo |
creation | Σ | 0..1 | dateTime | Date attachment was first created |
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:
Differential View
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Library | I | 1..1 | Represents a library of quality improvement components | |
id | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
url | SΣ | 1..1 | uri | Canonical identifier for this library, represented as a URI (globally unique) |
identifier | SΣ | 0..* | Identifier | Additional identifier for the library |
version | SΣ | 1..1 | string | Business version of the library |
name | SΣI | 1..1 | string | Name for this library (computer friendly) |
title | Σ | 1..1 | string | Name for this library (human friendly) |
subtitle | 0..1 | string | Subordinate title of the library | |
status | ?!SΣ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required) |
experimental | SΣ | 1..1 | boolean | For testing purposes, not real usage |
type | SΣ | 1..1 | CodeableConcept | logic-library | model-definition | asset-collection | module-definition Binding: LibraryType (extensible) |
subject[x] | 0..1 | Type of individual the library content is focused on Binding: SubjectType (extensible) | ||
subjectCodeableConcept | CodeableConcept | |||
subjectReference | Reference(http://hl7.org/fhir/R4/group.html) | |||
date | Σ | 1..1 | dateTime | Date last changed |
publisher | SΣ | 1..1 | string | Name of the publisher (organization or individual) |
contact | SΣ | 0..* | ContactDetail | Contact details for the publisher |
description | SΣ | 1..1 | markdown | Natural language description of the library |
useContext | SΣ | 0..* | UsageContext | The context that the content is intended to support |
jurisdiction | SΣ | 0..* | CodeableConcept | Intended jurisdiction for library (if applicable) Binding: Jurisdiction ValueSet (extensible) |
purpose | S | 0..1 | markdown | Why this library is defined |
usage | S | 0..1 | string | Describes the clinical usage of the library |
copyright | S | 0..1 | markdown | Use and/or publishing restrictions |
approvalDate | S | 0..1 | date | When the library was approved by publisher |
lastReviewDate | S | 0..1 | date | When the library was last reviewed |
effectivePeriod | SΣ | 0..1 | Period | When the library is expected to be used |
topic | S | 0..* | CodeableConcept | E.g. Education, Treatment, Assessment, etc. Binding: DefinitionTopic (example) |
author | S | 0..* | ContactDetail | Who authored the content |
editor | S | 0..* | ContactDetail | Who edited the content |
reviewer | S | 0..* | ContactDetail | Who reviewed the content |
endorser | S | 0..* | ContactDetail | Who endorsed the content |
relatedArtifact | S | 0..* | RelatedArtifact | Additional documentation, citations, etc. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
type | Σ | 1..1 | code | documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of Binding: RelatedArtifactType (required) |
label | Σ | 0..1 | string | Short label |
display | SΣ | 1..1 | string | Brief description of the related artifact |
citation | Σ | 0..1 | markdown | Bibliographic citation for the artifact |
url | SΣ | 1..1 | url | Where the artifact can be accessed |
document | Σ | 0..1 | Attachment | What document is being referenced |
resource | Σ | 0..1 | canonical(Resource) | What resource is being referenced |
parameter | S | 0..* | ParameterDefinition | Parameters defined by the library |
dataRequirement | S | 0..* | DataRequirement | What 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..1 | Attachment | CQL Content |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
contentType | SΣ | 1..1 | code | Mime type of the content, with charset etc. Binding: Mime Types (required) Fixed Value: text/cql |
language | Σ | 0..1 | code | Human language of the content (BCP-47) Binding: CommonLanguages (preferred) Max Binding: AllLanguages Example General': en-AU |
data | 1..1 | base64Binary | Data inline, base64ed | |
url | Σ | 0..1 | url | Uri where the data can be found Example General': http://www.acme.com/logo-small.png |
size | Σ | 0..1 | unsignedInt | Number of bytes of content (if url provided) |
hash | Σ | 0..1 | base64Binary | Hash of the data (sha-1, base64ed) |
title | Σ | 0..1 | string | Label to display in place of the data Example General': Official Corporate Logo |
creation | Σ | 0..1 | dateTime | Date attachment was first created |
elmXmlContent | Σ | 0..* | Attachment | ELM XML Content |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
contentType | SΣ | 0..1 | code | Mime type of the content, with charset etc. Binding: Mime Types (required) Fixed Value: application/elm+xml |
language | Σ | 0..1 | code | Human language of the content (BCP-47) Binding: CommonLanguages (preferred) Max Binding: AllLanguages Example General': en-AU |
data | 1..1 | base64Binary | Data inline, base64ed | |
url | Σ | 0..1 | url | Uri where the data can be found Example General': http://www.acme.com/logo-small.png |
size | Σ | 0..1 | unsignedInt | Number of bytes of content (if url provided) |
hash | Σ | 0..1 | base64Binary | Hash of the data (sha-1, base64ed) |
title | Σ | 0..1 | string | Label to display in place of the data Example General': Official Corporate Logo |
creation | Σ | 0..1 | dateTime | Date attachment was first created |
elmJsonContent | Σ | 0..* | Attachment | ELM JSON Content |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
contentType | SΣ | 0..1 | code | Mime type of the content, with charset etc. Binding: Mime Types (required) Fixed Value: application/elm+json |
language | Σ | 0..1 | code | Human language of the content (BCP-47) Binding: CommonLanguages (preferred) Max Binding: AllLanguages Example General': en-AU |
data | 1..1 | base64Binary | Data inline, base64ed | |
url | Σ | 0..1 | url | Uri where the data can be found Example General': http://www.acme.com/logo-small.png |
size | Σ | 0..1 | unsignedInt | Number of bytes of content (if url provided) |
hash | Σ | 0..1 | base64Binary | Hash of the data (sha-1, base64ed) |
title | Σ | 0..1 | string | Label to display in place of the data Example General': Official Corporate Logo |
creation | Σ | 0..1 | dateTime | Date attachment was first created |
Documentation for this format |
Path | Conformance | ValueSet / Code |
Library.language | preferred | CommonLanguages Max Binding: AllLanguages |
Library.status | required | PublicationStatus |
Library.type | extensible | LibraryType |
Library.subject[x] | extensible | SubjectType |
Library.jurisdiction | extensible | Jurisdiction ValueSet |
Library.topic | example | DefinitionTopic |
Library.relatedArtifact.type | required | RelatedArtifactType |
Library.content:cqlContent.contentType | required | Fixed Value: text/cql |
Library.content:cqlContent.language | preferred | CommonLanguages Max Binding: AllLanguages |
Library.content:elmXmlContent.contentType | required | Fixed Value: application/elm+xml |
Library.content:elmXmlContent.language | preferred | CommonLanguages Max Binding: AllLanguages |
Library.content:elmJsonContent.contentType | required | Fixed Value: application/elm+json |
Library.content:elmJsonContent.language | preferred | CommonLanguages Max Binding: AllLanguages |
Id | Path | Details | Requirements |
dom-2 | Library | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-4 | Library | If 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-3 | Library | If 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-6 | Library | A resource should have narrative for robust management : text.div.exists() | |
dom-5 | Library | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
lib-0 | Library | Name 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}') |