Canonical Resource Management Infrastructure Implementation Guide
1.0.0-ballot - Ballot International flag

This page is part of the Canonical Resource Management Infrastructure Implementation Guide (v1.0.0-ballot: STU1 Ballot 1) based on FHIR R4. . For a full list of available versions, see the Directory of published versions

Profiles

Capability Profiles

For definitional artifacts, this implementation guide defines profile classes to represent knowledge capabilities for shareable, computable, publishable, and executable knowledge artifacts. All knowledge artifacts must be at least shareable, and where appropriate for the target environment, artifacts should declare the capabilities they support using the cqf-knowledgeCapability extension, as well as the knowledge representation level of the artifact using the cqf-knowledgeRepresentationLevel extension, as defined in the shareable profiles.

  • Shareable: Shareable profiles set the minimum expectations for exchanging an artifact, including the URL, version, name, and publisher.
  • Computable: Computable profiles deal with authoring and design-time considerations, describing the minimum expectations for exchanging a machine-readable representation of an artifact. At a minimum, a computable artifact is one that does not have only human-readable content.
  • Publishable: Publishable profiles describe the expectations for publication and distribution of an artifact, typically as part of an artifact repository.
  • Executable: Executable profiles deal with run-time behavior and implementation considerations. For example, an executable library may contain compiled content that can be directly executed by an engine. At a minimum, an executable artifact is guaranteed to have all the elements required to support at least one operation appropriate to the type of artifact.

These capabilities are introduced to support separation of concerns along the spectrum from authoring to distribution to consumption, as illustrated by the following diagram:

knowledge-capabilities.png

A given artifact may provide all knowledge capabilities (Shareable plus Computable, Publishable, and Executable), or it may be focused on a particular capability. For example, a ValueSet may be only Shareable and Executable because it is intended for use in environments without access to a terminology service capable of expanding the Computable value set.

Note that explicit profiles for capabilities are only defined when there are specific elements of the artifact involved in supporting that capability. For example, there is no executable ActivityDefinition profile, but that doesn’t mean that ActivityDefinition artifacts cannot be executable, only that there are no additional conformance expectations for executable ActivityDefinitions specified by this implementation guide.

ArtifactShareableComputablePublishableExecutable
ActivityDefinitionCRMIShareableActivityDefinitionN/A (no requirements)CRMIPublishableActivityDefinitionN/A (no requirements>)
CapabilityStatementCRMIShareableCapabilityStatementN/A (no requirements)CRMIPublishableCapabilityStatementN/A (no requirements)
CareTeamCRMIShareableCareTeam (Roadmap Item)N/A (no requirements)CRMIPublishableCareTeam (Roadmap Item)N/A (no requirements>)
ClinicalUseDefinitionCRMIShareableClinicalUseDefinition (Roadmap Item)N/A (no requirements)CRMIPublishableClinicalUseDefinition (Roadmap Item)N/A (no requirements>)
CodeSystemCRMIShareableCodeSystemN/A (no requirements)CRMIPublishableCodeSystemN/A (no requirements)
CompartmentDefinitionCRMIShareableCompartmentDefinition (Roadmap Item)N/A (no requirements)CRMIPublishableCompartmentDefinition (Roadmap Item)N/A (no requirements)
ConditionDefinitionCRMIShareableConditionDefinition (Roadmap Item)N/A (no requirements)CRMIPublishableConditionDefinition (Roadmap Item)N/A (no requirements>)
ConceptMapCRMIShareableConceptMapN/A (no requirements)CRMIPublishableConceptMapN/A (no requirements)
DeviceDefinitionCRMIShareableDeviceDefinition (Roadmap Item)N/A (no requirements)CRMIPublishableDeviceDefinition (Roadmap Item)N/A (no requirements>)
ExampleScenarioCRMIShareableExampleScenario (Roadmap Item)N/A (no requirements)CRMIPublishableExampleScenario (Roadmap Item)N/A (no requirements>)
GraphDefinitionCRMIShareableGraphDefinitionN/A (no requirements)CRMIPublishableGraphDefinitionN/A (no requirements)
GroupCRMIShareableGroup (Roadmap Item)N/A (no requirements)CRMIPublishableGroup (Roadmap Item)N/A (no requirements>)
ImplementationGuideCRMIShareableImplementationGuideN/A (no requirements)CRMIPublishableImplementationGuideN/A (no requirements)
LibraryCRMIShareableLibraryCRMIComputableLibraryCRMIPublishableLibraryCRMIExecutableLibrary
LocationCRMIShareableLocation (Roadmap Item)N/A (no requirements)CRMIPublishableLocation (Roadmap Item)N/A (no requirements>)
MeasureCRMIShareableMeasureN/A (no requirements)CRMIPublishableMeasureN/A (no requirements)
MedicationCRMIShareableMedication (Roadmap Item)N/A (no requirements)CRMIPublishableMedication (Roadmap Item)N/A (no requirements>)
MedicationKnowledgeCRMIShareableMedicationKnowledge (Roadmap Item)N/A (no requirements)CRMIPublishableMedicationKnowledge (Roadmap Item)N/A (no requirements>)
MessageDefinitionCRMIShareableMessageDefinition (Roadmap Item)N/A (no requirements)CRMIPublishableMessageDefinition (Roadmap Item)N/A (no requirements>)
NamingSystemCRMIShareableNamingSystemN/A (no requirements)CRMIPublishableNamingSystemN/A (no requirements)
ObservationDefinitionCRMIShareableObservationDefinition (Roadmap Item)N/A (no requirements)CRMIPublishableObservationDefinition (Roadmap Item)N/A (no requirements>)
OperationDefinitionCRMIShareableOperationDefinitionN/A (no requirements)CRMIPublishableOperationDefinitionN/A (no requirements>)
OrganizationCRMIShareableOrganization (Roadmap Item)N/A (no requirements)CRMIPublishableOrganization (Roadmap Item)N/A (no requirements>)
PlanDefinitionCRMIShareablePlanDefinitionN/A (no requirements)CRMIPublishablePlanDefinitionN/A (no requirements>)
PractitionerCRMIShareablePractitioner (Roadmap Item)N/A (no requirements)CRMIPublishablePractitioner (Roadmap Item)N/A (no requirements>)
PractitionerRoleCRMIShareablePractitionerRole (Roadmap Item)N/A (no requirements)CRMIPublishablePractitionerRole (Roadmap Item)N/A (no requirements>)
QuestionnaireCRMIShareableQuestionnaireN/A (no requirements)CRMIPublishableQuestionnaireN/A (no requirements>)
SearchParameterCRMIShareableSearchParameterN/A (no requirements)CRMIPublishableSearchParameterN/A (no requirements>)
SpecimenDefinitionCRMIShareableSpecimenDefinition (Roadmap Item)N/A (no requirements)CRMIPublishableSpecimenDefinition (Roadmap Item)N/A (no requirements>)
SubstanceCRMIShareableSubstance (Roadmap Item)N/A (no requirements)CRMIPublishableSubstance (Roadmap Item)N/A (no requirements>)
SubscriptionTopicCRMIShareableSubscriptionTopic (Roadmap Item)N/A (no requirements)CRMIPublishableSubscriptionTopic (Roadmap Item)N/A (no requirements>)
StructureDefinitionCRMIShareableStructureDefinitionN/A (no requirements)CRMIPublishableStructureDefinitionN/A (no requirements>)
StructureMapCRMIShareableStructureMap (Roadmap Item)N/A (no requirements)CRMIPublishableStructureMap (Roadmap Item)N/A (no requirements>)
TerminologyCapabilitiesCRMIShareableTerminologyCapabilitiesN/A (no requirements)CRMIPublishableTerminologyCapabilitiesN/A (no requirements>)
ValueSetCRMIShareableValueSetCRMIComputableValueSetCRMIPublishableValueSetCRMIExecutableValueSet

To support packaging, testing, and distribution of knowledge artifacts, this implementation guide defines the following additional profiles:

ProfileDescription
CRMICapabilityStatementA system capability statement that can express which version of CQL is supported.
CRMICareTeamDefinitionA profile of CareTeam that supports context-independent representation of care teams for use in definitional contexts.
CRMIGroupDefinitionA profile of Group that supports context-independent representation of groups for use in definitional contexts.
CRMILocationDefinitionA profile of Location that supports context-independent representation of locations for use in definitional contexts.
CRMIManifestLibraryA library profile used to define artifact collections that provide complete dependency and version resolution information for the artifacts in the collection.
CRMIMedicationDefinitionA profile of Medication that supports context-independent representation of medications for use in definitional contexts.
CRMIMedicationKnowledgeDefinitionA profile of MedicationKnowledge that supports context-independent representation of medication knowledge for use in definitional contexts.
CRMIModelInfoLibraryA library profile used to distribute model information libraries used by CQL.
CRMIModuleDefinitionLibraryA library profile used to define and exchange effective data requirements and usage information for an artifact (or collection of artifacts).
CRMIPractitionerRoleDefinitionA profile of PractitionerRole that supports context-independent representation of practitioner roles for use in definitional contexts.
CRMISoftwareSystemDeviceA software device used in the creation, validation, evaluation, packaging, and/or testing of a library or measure artifact.
CRMISubstanceDefinitionA profile of Substance that supports context-independent representation of substances for use in definitional contexts