Skip to content
Vadim Peretokin edited this page Jul 12, 2023 · 24 revisions

Template

Please use the following template for proposing new hooks:


hook-name-expressed-as-noun-verb

!!! info This page defines a workflow hook for the purpose of providing clinical decision support using CDS Hooks. This is a build | snapshot | ballot | release at the level of Draft | Trial Use | Normative | Informative | Deprecated

Metadata Value
specificationVersion 1.0
hookVersion 1.0
hookMaturity 0 - Draft

Workflow

Describe when the hook occurs in a workflow. Hook creators SHOULD include as much detail and clarity as possible to minimize any ambiguity or confusion amongst implementers. The hook name should take the form noun-verb, such as encounter-start, or order-select according to the Hook Definition Format.

Context

Define context values that are available when this hook occurs, and indicate whether they must be provided, and whether they are available for parameterizing prefetch templates.

Field Optionality Prefetch Token Type Description
exampleId REQUIRED Yes string Describe the context value
encounterId OPTIONAL Yes string Describe the context value

Examples

```json "context":{ "patientId" : "1288992" } ```
"context":{
  "patientId" : "1288992",
  "encounterId" : "456"
}

Change Log

Version Description
1.0 Initial Release

Catalog of proposals


admit-discharge-transfer-create

Purpose: This hook informs an external CDS service that the user is preparing to ADT (admit, transfer or discharge).

Contextual data: Required Patient, ADT event is being initiated

{
  "name": "context",
  "resource": {Example of contextual data}
}

careplan-create

Purpose: Inform an external CDS service that the user is in the process of creating a new care plan for the patient and solicit feedback about this patient.

Contextual data: None required beyond default context.


lab-report-view

Purpose: This hook informs an external CDS service that a user has elected to view a lab report.

Contextual data: A Relative Resource Link to the Diagnostic Report the user would like to view

{
  "name": "context",
  "resource": DiagnosticReport/123
}

chief-complaint-create

Purpose: This hook informs an external CDS service that a user has created or updated a chief-complaint.

Contextual data: Required Patient, Chief complaint

{
  "name": "context",
  "resource": {Example of contextual data}
}

code-view

Purpose: This hook is for displaying information to the user about a code that is selected, whether they just selected it, or whether someone else already has. One kind of use is as a debugging tool in format viewers/middleware, but the output should be useful for end users in applications who would find it useful to see more information about a code. The output should be whatever information is deemed pertinent for this code

Contextual data:

{
  "name": "context",
  "resource": {
    "resourceType" : "Parameters",
    "parameter" [{
      "name" : "code",
      "value..." : {} // either a Coding or a CodeableConcept
    }]
  }
}

discharge-view

Purpose: This hook is for interacting with systems and applications at the time of discharge of a patient from a hospital or at time of generation of an after visit summary. This could be used to retrieve education materials (e.g., related to problems, procedures, medications) to aid in transitions of care and to enable the patient to better care for themselves.

Contextual data: Could be just about anything. Clinical might include MedicationOrders, Procedures, Conditions (problems). Could also be resources from other categories.

{
  "name": "context",
  "resource": {Example of contextual data}
}

identifier-view

Purpose: This hook is for displaying information to the user about an identifier that is selected, whether they just selected it, or whether someone else already has. One kind of use is as a debugging tool in format viewers/middleware, but the output should be useful for end users in applications who would find it useful to see more information about an identifier. The output should be whatever information is deemed pertinent for the identifier - typically, a human description of the system, and any information that is available at the type

Contextual data:

{
  "name": "context",
  "resource": {
    "resourceType" : "Parameters",
    "parameter" [{
      "name" : "identifier",
      "valueIdentifier" : { ... }
    }]
  }
}

patient-problem-list-update

Purpose: This hook informs an external CDS service that a user has created or updated a patient problem list.

Contextual data: Required Patient, Problems List (conditions)

{
  "name": "context",
  "resource": {Example of contextual data}
}

triage-update

Purpose: This hook informs an external CDS service that a user has created or updated triage status.

Contextual data: Required Patient

{
  "name": "context",
  "resource": {Example of contextual data}
}

observation-input

Purpose: This hook informs an external CDS service that an observation has been input. A use case is to provide the clinician, upon return of a card from the CDS, with a warning that the observation is concerning or warrants follow-up investigation.

Contextual data: Patient, Observation

{
  "name": "context",
  "resource": {Example of contextual data}
}

medication-select

Purpose: Provide CDS to suggest a dosageInstruction for a selected medication. This hook would be similar to medication-prescribe, but unlike medication-prescribe, medication-select wouldn't require a dosageInstruction.

Contextual data: The context would include a partial MedicationRequest, which would contain a medicationCodeableConcept, but not a dosageInstruction. The CDS service would suggest a dosageInstruction.

{
  "name": "context",
  "resource": {Example of contextual data}
}

encounter-complete

Purpose: This hook informs an external CDS service that an encounter has been completed and the patient chart is being committed/closed by a clinical user.

Contextual data: Patient, Encounter

{
  "name": "context",
  "resource": {Example of contextual data}
}

lab-report-create

Purpose: This hook informs an external CDS service that a new lab report has been received/entered in the EHR. The hook may be triggered by a system process without any associated user action. The card response of the CDS service may be entered in a queue of alerts or information messages to be reviewed by hospital personnel at later time depending on their criticality.

Contextual data: A Relative Resource Link to the Diagnostic Report

{
  "name": "context",
  "resource": DiagnosticReport/123
}

procedure-complete

Purpose: This hook informs an external CDS service that a new procedure has been recorded as completed in the EHR.

Contextual data: A Relative Resource Link to the Procedure

{
  "name": "context",
  "resource": Procedure/123
}