Skip to content

Operations

c-schuler edited this page Aug 9, 2022 · 9 revisions

Case Reporting Operations

$process-message-bundle

This operation is an extension of the base $process-message operation defined in the FHIR Clinical Reasoning Module

[base]/$process-message-bundle

Examples

The effect of invoking this operation is to process a message bundle according to the definition of the event in the message header and return one or more response messages.

$extract-line-list-data

[base]/MeasureReport/$extract-line-list-data

Examples

The effect of invoking this operation is to retrieve line list data related to patients with a particular chronic disease given the data elements contained in the MeasureReport.

Clinical Practice Guideline Operations

The following operations are defined in the Clinical Practice Guideline Implementation Guide.

$apply

This operation is an extension of the base $apply operation defined in the FHIR Clinical Reasoning Module

PlanDefinition Operation Definition

[base]/PlanDefinition/$apply

[base]/PlanDefinition/[id]/$apply

Examples

$cql

Operation Definition

[base]/$cql

Examples

The effect of invoking this operation is to evaluate a CQL expression. The result of evaluating the given expression, returned as a FHIR type, either a resource, or a FHIR-defined type corresponding to the CQL return type. If the result is a List of resources, the result will be a Bundle. If the result is a CQL system-defined or FHIR-defined type, the result is returned as a Parameters resource.

$evaluate

Operation Definition

[base]/Library/$evaluate

[base]/Library/[id]/$evaluate

Examples

The result of invoking this operation is to evaluate each named expression defined in the library. The value of each expression is returned as a FHIR type, either a resource, or a FHIR-defined type corresponding to the CQL return type. If the result of an expression is a list of resources, that parameter will be repeated for each element in the result.

Clinical Reasoning Operations

The following operations are defined in the FHIR Clinical Reasoning Module.

$apply

ActivityDefinition Operation Definition

[base]/ActivityDefinition/$apply

[base]/ActivityDefinition/[id]/$apply

Examples

The result of invoking this operation is a resource of the type specified by the activity definition, with all the definitions resolved as appropriate for the type of resource. Any dynamicValue elements will be evaluated (in the order in which they appear in the resource) and the results applied to the returned resource. If the ActivityDefinition includes library references, those libraries will be available to the evaluated expressions. If those libraries have parameters, those parameters will be bound by name to the parameters given to the operation. In addition, parameters to the $apply operation are available within dynamicValue expressions as context variables, accessible by the name of the parameter, prefixed with a percent (%) symbol. Note that result of this operation is transient (i.e. none of the resources created by the operation are persisted in the server, they are all returned as contained resources in the result). The result effectively represents a proposed set of activities, and it is up to the caller to determine whether and how those activities are actually carried out.

PlanDefinition Operation Definition

[base]/PlanDefinition/$apply

[base]/PlanDefinition/[id]/$apply

Examples

The result of this operation is a CarePlan or RequestGroup resource. The RequestGroup will have actions for each of the applicable actions in the plan based on evaluating the applicability condition in context. For each applicable action, the definition is applied as described in the $apply operation of the ActivityDefinition resource, and the resulting resource is added as an activity to the CarePlan. The result effectively represents a proposed set of activities, and it is up to the caller to determine whether and how those activities are actually carried out.

$care-gaps

Operation Definition

[base]/Measure/$care-gaps

Examples

The effect of invoking this operation is to calculate a set of measures for a particular topic (e.g. Preventive Care and Screening) and return a document describing the results of each measure for the given subject.

$collect-data

Operation Definition

[base]/Measure/$collect-data

[base]/Measure/[id]/$collect-data

Examples

The effect of invoking this operation is to gather the data required to perform an evaluation of the measure. If the lastReceivedOn parameter is supplied, only data that is new or has been changed since the lastReceivedOn date is included in the response.

$data-requirements

Library Operation Definition

[base]/$data-requirements

[base]/Library/[id]/$data-requirements

Examples

The effect of invoking this operation is to determine the aggregate set of data requirements and dependencies for a given target resource. The result is a Library resource with a type of module-definition that contains all the parameter definitions and data requirements of the target resource and any libraries referenced by it.

Measure Operation Definition

[base]/Measure/[id]/$data-requirements

Examples

The effect of invoking this operation is to determine the aggregate set of data requirements and dependencies for the measure. The result is a Library resource with a type of module-definition that contains all the parameter definitions and data requirements of the libraries referenced by the measures.

$evaluate-measure

Operation Definition

[base]/Measure/$evaluate-measure

[base]/Measure/[id]/$evaluate-measure

Examples

The effect of invoking this operation is to calculate the measure for the given subject, or all subjects if no subject is supplied, and return the results as a MeasureReport resource of the appropriate type.

$submit-data

Operation Definition

[base]/Measure/$submit-data

[base]/Measure/[id]/$submit-data

Examples

The effect of invoking this operation is that the submitted data is posted to the receiving system and can be used for subsequent calculation of the relevant quality measure.

Risk Adjustment Operations

The following operations are defined in the Risk Adjustment Implementation Guide.

$report

Operation Definition

[base]/MeasureReport/$report

Examples

The effect of invoking this operation returns a Risk Adjustment Coding Gap Report Bundle if matching risk adjustment coding gap reports were found for a patient. This bundle will contain a patient entry and zero or more entries of risk adjustment coding gap reports.

$evaluate-risk-condition-category

Note that this operation is a proof of concept and the specification is subject to change

Operation Definition

[base]/Measure/$evaluate-risk-condition-category

Examples

The effect of invoking this operation returns a Risk Adjustment Coding Gap Report Bundle with a Risk Adjustment Coding Gap Report for each patient as the included resource.

Structured Data Capture Operations

The following operations are defined in the Structured Data Capture Implementation Guide.

$extract

Operation Definition

[base]/QuestionnaireResponse/$extract

[base]/QuestionnaireResponse/[id]/$extract

Examples

The effect of invoking this operation takes a completed QuestionnaireResponse and converts it to a FHIR resource or Bundle of resources by using metadata embedded in the Questionnaire the QuestionnaireResponse is based on. The extracted resources might include Observations, MedicationStatements and other standard FHIR resources which can then be shared and manipulated. When invoking the $extract operation, care should be taken that the submitted QuestionnaireResponse is itself valid. If not, the extract operation could fail (with appropriate OperationOutcomes) or, more problematic, might succeed but provide incorrect output.

$transform

TODO

Operation Definition

Examples

Transforms an input set of Observations given a concept map by adding mapping codes to the Observations.