Metadata Title Record Detected Issue Library Version 2.0.0 Identifier urn:oid:2.16.840.1.113883.4.642.40.48.28.16 Experimental true Jurisdiction World Steward (Publisher) HL7 International / Clinical Decision Support Steward Contact HL7 International / Clinical Decision Support Description Logic for an example recommendation to record a detected issue Type logic-library from http://terminology.hl7.org/CodeSystem/library-type Dependency Description: Code System Activity Type Resource: CPG Activity Type Code System Canonical URL: http://hl7.org/fhir/uv/cpg/CodeSystem/cpg-activity-type-cs Data Requirement Type: Task Profile(s): Task Data Requirement Type: DetectedIssue Profile(s): DetectedIssue Parameters Name Use Card. Type Documentation 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 Library Content CQL Content 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 ELM XML Content Encoded data ELM JSON Content Encoded data Generated using version 0.5.4 of the sample-content-ig Liquid templates
HL7 International / Clinical Decision Support
Logic for an example recommendation to record a detected issue