Canonical Resource Management Infrastructure Implementation Guide
1.1.0-cibuild - cibuild International flag

Canonical Resource Management Infrastructure Implementation Guide, published by HL7 International / Clinical Decision Support. This guide is not an authorized publication; it is the continuous build for version 1.1.0-cibuild built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/crmi-ig/ and changes regularly. See the Directory of published versions

Resource Profile: CRMI Module Definition Library

Official URL: http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-moduledefinitionlibrary Version: 1.1.0-cibuild
Standards status: Trial-use Maturity Level: 3 Computable Name: CRMIModuleDefinitionLibrary
Other Identifiers: OID:2.16.840.1.113883.4.642.40.38.42.29

The CRMI Module Definition Library profile defines the must support elements for a library that communicates the effective data requirements and dependencies of an artifact (or set of artifacts). This is most commonly used as the result of a $data-requirements operation, but could also be persisted statically as a way to persist the calculation of effective data requirements for a specific artifact and input parameters

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Library C 0..* Library Represents a library of quality improvement components
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: 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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
lib-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... Slices for extension Content/Rules for all slices
.... directReferenceCode S 0..* Coding A code directly referenced by the artifact
URL: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... logicDefinition S 0..* (Complex) A logic definition used in the artifact
URL: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... inputParameters S 0..1 Reference(Parameters) What parameters
URL: http://hl7.org/fhir/StructureDefinition/cqf-inputParameters
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... type SΣ 1..1 CodeableConcept logic-library | model-definition | asset-collection | module-definition
Binding: LibraryType (extensible): The type of knowledge asset this library contains.


ele-1: All FHIR elements must have a @value or children
Required Pattern: At least the following
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/library-type
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: module-definition
... subject[x] S 0..1 Type of individual the library content is focused on
Binding: SubjectType (extensible): The possible types of subjects for a library (E.g. Patient, Practitioner, Organization, Location, etc.).


ele-1: All FHIR elements must have a @value or children
.... subjectCodeableConcept CodeableConcept
.... subjectReference Reference(Group)
... relatedArtifact S 0..* RelatedArtifact Dependencies used by the artifact
ele-1: All FHIR elements must have a @value or children
... parameter S 0..* ParameterDefinition Parameters defined by the library
ele-1: All FHIR elements must have a @value or children
.... Slices for extension Content/Rules for all slices
..... defaultValue S 0..1 string, boolean, integer, decimal, date, dateTime, Coding, CodeableConcept, Period, Range, Quantity, Ratio Extension
URL: http://hl7.org/fhir/StructureDefinition/cqf-defaultValue
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... use Σ 1..1 code in | out
Binding: OperationParameterUse (required): Whether the parameter is input or output.


ele-1: All FHIR elements must have a @value or children
.... type Σ 1..1 code What type of value
Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.


ele-1: All FHIR elements must have a @value or children
... dataRequirement S 0..* DataRequirement What data is referenced by this library
ele-1: All FHIR elements must have a @value or children
.... Slices for extension Content/Rules for all slices
..... isSelective S 0..1 boolean specifies whether a given DataRequirement is "selective"
URL: http://hl7.org/fhir/StructureDefinition/cqf-isSelective
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... valueFilter S 0..* (Complex) Extension
URL: http://hl7.org/fhir/StructureDefinition/cqf-valueFilter
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... fhirQueryPattern 0..* string What FHIR query?
URL: http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... type Σ 1..1 code The type of the required data
Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.


ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Library.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
from the FHIR Standard
Library.typeextensiblePattern: module-definition
http://hl7.org/fhir/ValueSet/library-type
from the FHIR Standard
Library.subject[x]extensibleSubjectType
http://hl7.org/fhir/ValueSet/subject-type
from the FHIR Standard
Library.parameter.userequiredOperationParameterUse
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
Library.parameter.typerequiredFHIRAllTypes
http://hl7.org/fhir/ValueSet/all-types|4.0.1
from the FHIR Standard
Library.dataRequirement.typerequiredFHIRAllTypes
http://hl7.org/fhir/ValueSet/all-types|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorLibraryIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorLibraryIf 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-4errorLibraryIf 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-5errorLibraryIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceLibraryA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
lib-0warningLibraryName 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}')

 

Other representations of profile: CSV, Excel, Schematron