Clinical Practice Guidelines, published by HL7 International / Clinical Decision Support. This guide is not an authorized publication; it is the continuous build for version 2.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/cqf-recommendations/ and changes regularly. See the Directory of published versions
Official URL: http://hl7.org/fhir/uv/cpg/Library/recorddetectedissue-library | Version: 2.0.0 | |||
Active as of 2024-11-26 | Computable Name: RecordDetectedIssueLibrary | |||
Other Identifiers: OID:2.16.840.1.113883.4.642.40.48.28.16 |
Logic for an example recommendation to record a detected issue
Generated Narrative: Library recorddetectedissue-library
Depends On | Code System Activity Type | CPG Activity Type Code System |
Patient | out | 0 | 1 | Patient |
Inclusion Criteria | out | 0 | 1 | boolean |
Record Detected Issue Task | out | 0 | * | Task |
Detected Issue | out | 0 | * | DetectedIssue |
Active or Completed Activity | out | 0 | * | Task |
Activity Not Done | out | 0 | * | Task |
Activity Proposal | out | 0 | * | Task |
Activity Proposal Rejected | out | 0 | * | Task |
Is Recommendation Applicable | out | 0 | 1 | boolean |
Type: Task (Task) |
Type: DetectedIssue (DetectedIssue) |
text/cql
library RecordDetectedIssue
using FHIR version '4.0.1'
include FHIRHelpers version '4.0.1'
codesystem "Activity Type": 'http://hl7.org/fhir/uv/cpg/CodeSystem/cpg-activity-type-cs'
code "Record detected issue": 'record-detected-issue' from "Activity Type"
context Patient
/* Recommendation to record a detected issue */
/*
NOTE: This recommendation is dramatically simplified to illustrate the general
pattern for a positive recommendation to record a detected issue, with the ability
for users to reject the recommendation, and flexibility in how the recommendation
is achieved.
Specifically:
* There is no terminology, any task on any topic will do
* There is no timing, any task will do at any time
* There is no reference to participants other than the patient
* There is no relationship to a setting
* There is no relationship to an encounter or episode
* There is no relationship to a care plan
These simplifications allow the example to focus exclusively on the pattern for
recommending and for accepting/rejecting the proposal, as well as documenting
the completion, or explicit non-performance of the activity.
*/
/*
Positive recommendation:
If the patient meets the inclusion criteria
If the patient does not have the detected issue
If recording the detected issue has not been planned or proposed
Propose recording the detected issue
Given a proposal, the user can:
Accept the proposal
Ignore the proposal
Reject the proposal without reason
Reject the proposal with reason
Scenario 1: No event, no plan or proposal, decision support should propose
Scenario 2: No event, incomplete proposal, decision support should not propose
Scenario 3: No event, rejected proposal, decision support should not propose
Scenario 4: Event, no proposal, decision support should not propose
Scenario 5: Event, completed proposal, decision support should not propose
Scenario 6: Event not done, no proposal, decision support should not propose
Scenario 7: Event not done, proposal, decision support should not propose
*/
define "Inclusion Criteria":
Patient.active
define "Record Detected Issue Task":
[Task] C
where C.code ~ "Record detected issue"
and doNotPerform(C) is not true
define "Detected Issue":
[DetectedIssue] DI
where DI.status = 'final'
define "Active or Completed Activity":
"Record Detected Issue Task" C
where C.status in { 'in-progress', 'on-hold', 'completed' }
define "Activity Not Done":
"Record Detected Issue Task" C
where C.status in { 'cancelled', 'failed' }
define "Activity Proposal":
"Record Detected Issue Task" R
where R.status in { 'draft', 'requested', 'received', 'accepted', 'ready' }
define "Activity Proposal Rejected":
"Record Detected Issue Task" R
where R.status in { 'rejected' }
define "Is Recommendation Applicable":
"Inclusion Criteria"
and not exists ("Detected Issue")
and not exists (
"Active or Completed Activity"
union "Activity Not Done"
)
and not exists (
"Activity Proposal"
union "Activity Proposal Rejected"
)
define function doNotPerform(task Task):
singleton from (
task.extension E
where E.url = 'http://hl7.org/fhir/StructureDefinition/request-doNotPerform'
).value as boolean
Content not shown - (
application/elm+xml
, size = 33Kb )
Content not shown - (
application/elm+json
, size = 59Kb )