Title: Unlocking Reminder Logic: Finding the Right Combination Session
1Unlocking Reminder LogicFinding the Right
CombinationSession 237
- Philip VanCamp, M.Ed., CIC
- VA Maryland Health Care System
- Bryan Volpp, MD
- Sierra Pacific Network VISN 21
- Patrick Redington, Ph.D.
- OIT Salt Lake Field Office
2HOUSEKEEPING
This is an 80 minute lecture class Restrooms are
located Cell Phones Please turn off or change
to vibrate If you must answer a call, please
leave the room.
3HOUSEKEEPING
- Please,
- No questions during the presentation.
- Questions written on the 3X5 card will be
answered at the conclusion of the presentation. - For questions not answered,
- the question and the answer will be available on
the web.
4- Prerequisite This is a 200 level course,
students should have a good understanding of how
to create reminder definitions. - Do not put on your evaluation that this course
was too advanced.
5CLASS SYLLABUS
- History/Objectives
- Presentation of the technical aspects of the
content - Presentation of the clinical application of the
content - Final exam (so pay attention ?)
6HISTORY/OBJECTIVES
- History Course Concept
- Objectives
- At the end of this class, you will be able to
- 1. Distinguish various reminder findings and
arguments and their application. - 2. Interpret various reminder logic strings and
their effects on reminders. - 3. Be able to decipher customized logic strings
to problem-solve or achieve desired outcomes.
7- Findings and Operators
- Overview
8MUMPS LOGIC EVALUATION
- Strictly left to right, no operator precedence
- Expressions inside parentheses are evaluated
first - Default logic string order builds based on the
finding i.e. FI(1)FI(2)!FI(4)
9BASIC LOGIC OPERATIONS
- (TRUE)!(TRUE)TRUE
- (TRUE)!(FALSE)TRUE
- (FALSE)!(FALSE)FALSE
- (TRUE)(TRUE)TRUE
- (TRUE)(FALSE)FALSE
- (FALSE)(FALSE)FALSE
10CUSTOMIZED LOGIC
- Customized logic is used when USE IN PATIENT
COHORT LOGIC or the USE IN RESOLUTION LOGIC
fields associated with each finding do not
provide the ability to create the required logic
string. (e.g., grouping various findings within
parentheses)
11LOGIC EXAMPLES
- What is the difference?
- (SEXAGE)!(FI(5)!FI(6))FI(11)
- (SEXAGE)(FI(5)!FI(6))FI(11)
12LOGIC EXAMPLES (Cont.)
- SEX TRUE
- AGE FALSE
- FI(5) FALSE
- FI(6) TRUE
- FI(11) FALSE
- Remember
- TRUE 1
- FALSE 0
13LOGIC EXAMPLES (Cont.)
- (SEXAGE)!(FI(5)!FI(6))FI(11)
- (10)!(0!1)0
- (0)!(1)(1)
- (1)(1)
- 1
- True even though age is false
- (SEXAGE)(FI(5)!FI(6))FI(11)
- (10)(0!1)0
- (0)(1)(1)
- (0)(1)
- 0
- False
14FREQUENCY/AGE RANGE ON A FINDING
- Frequency/age range on a finding is NOT used when
the finding is evaluated. - If frequency/age range is defined on a finding
and the finding is true, the baseline is
overridden by the frequency/age range on the
finding. - If you have a finding with the same frequency/age
range as the baseline. Consider NOT duplicating
the settings. This may help with processing
speed of the evaluation.
15 CONDITION FIELD COMPUTED FINDING PARAMETERS
16Condition Field Computed Finding Parameters
Each type of finding has specific values (CSUB)
that are available to use in the CONDITION
logic. If the finding value is text, enclose
the condition value in quotes (e.g., "positive").
If the finding value is numeric, do not use
quotes (e.g., 3). E.g. CSUB values for a health
factor FIEVAL(3,1,"CSUB","COMMENTS")2.52 PT
28.6 FIEVAL(3,1,"CSUB","LEVEL/SEVERITY")H FIEVAL(
3,1,"CSUB","VALUE")H FIEVAL(3,1,"CSUB","VISIT")1
7503359
17Condition Field Computed Finding Parameters
- An IF statement is used to evaluate the value.
The default value is always identified as V in
the statement regardless of the type of finding.
If the condition logic statement evaluates to
true, the finding is true otherwise the finding
is false.
18Condition Field Examples
Simple I V3 for Education Topic's Level of
Understanding 3 I V"H" for Health Factor's
Level/Severity"H Moderate I (Vgt24.99)(Vlt30)
for a BMI value between 25 and 29.9 Complex I
(P(V,"/",1)gt140)(P(V,"/",2)gt90) for elevated
blood pressure systolic and diastolic values
19Condition Field Computed Finding Parameters
- COMPUTED FINDING PARAMETER
- Pass parameters into computed finding routine
- Usage depends on the computed finding
- Should be documented in the computed finding help
-
20Condition Field Computed Finding Parameters
Using CF.VA-PPROGRESS NOTE , This computed
finding routine will return multiple instances of
a progress note based on the exact title of the
note and, optionally, the status. The note title
is specified in the COMPUTED FINDING PARAMETER
field. If you want to search for notes with a
certain status, then append "status" to the
title. Status can be any of the following 1
UNDICTATED 2 UNTRANSCRIBED 3 UNRELEASED 4
UNVERIFIED 5 UNSIGNED . For example if the
COMPUTED FINDING PARAMETER field contains
"ADMITTING HISTORY PHYSICAL5" the search
would be for notes with the exact title of
"ADMITTING HISTORY PHYSICAL" and a status of
UNSIGNED.
21 FUNCTION FINDINGS
22Function Findings (FF)
- Perform a computation on the result of regular
findings - Are named with a number 1, 2, etc.
- Can be used like regular findings for
- Logic strings (cannot be used alone in resolution
logic) - Age range and frequency
- Allow shorter custom logic statements
23Available Functions
- MAX_DATE
- MIN_DATE
- MRD
- NUMERIC
- VALUE
24Function Findings Fields
- FUNCTION FINDING NUMBER 1//
- FUNCTION STRING Enter function string here
- FOUND TEXT
- Enter Found text here
- Edit? NO//
- NOT FOUND TEXT
- No existing text
- Edit? NO//
- USE IN RESOLUTION LOGIC
- USE IN PATIENT COHORT LOGIC
- MINIMUM AGE
- MAXIMUM AGE
- REMINDER FREQUENCY
- RANK FREQUENCY
25FI Function
- This function finding returns the true or false
value of a finding. It provides a way to combine
a logical string of regular findings - into a single function finding. This function
only takes a single finding number in its
argument list. Example -
- FI(1)FI(2)(FI(3)!FI(4))
26FI Function
- Baseline Frequency for Reminder 1YFunction
Finding StringFF(1) FI(1)FI(2) REMINDER
FREQUENCY 2YClinical Maintenance
-STATUS-- -DUE
DATE-- -LAST DONE-STRING OF FINDINGS
RESOLVED 10/07/2007 10/07/2005Frequency
Due every 2 years for all ages.Resolution Last
done 10/07/2005 Health Factor DRIVING UNDER THE
INFLUENCE 12/07/2004 Health Factor NO ALCOHOL
USE IN LAST YEAR 10/07/2005Reminder
TestFIEVAL(1)1FIEVAL(2)1FIEVAL("FF1")1
27COUNT Function
- Counts the instances of a finding
- Works in conjunction with the OCCURRENCE COUNT
field. - Example FI(1) is Blood Pressure
- Occurrence count for FI(1) is set to 5
- FF(3) COUNT(1)gt2
- (SEX)(AGE)FF(3) patients with 3 blood
pressure readings available display the last 5
in the reminder maintenance
28Occurrence Count
- Specifies how many instances of the finding to
search for - Default is 1
- Clinical maintenance will display the occurrences
up to this - Reminder test displays all found occurrences
29Clinical Maintenance Example
- --STATUS-- --DUE DATE-- --LAST DONE--
- DUE SOON 7/8/2006 4/9/2006
- Frequency Due every 3 months for all ages.
- Resolution Last done 04/09/2006
- Education Topic Smoking/Tobacco Use Cessation
- 04/09/2006
- 12/17/2005
- 11/17/2005
- 09/04/2005
- Age/Frequency Health Factor CURRENT SMOKER
- 04/09/2006 The patient is identified as a
current smoker. -
- Information
- Smoking cessation education has been done 3 or
more times in the past year.
30COUNT with Condition
- Count the instances of a finding
- Works in conjunction with Occurrence and
Condition - Example FI(1) is Blood Pressure
- Occurrence count for FI(1) is set to 5
- Condition for FI(1) is set to BP gt135/85
- FF(3) COUNT(1)gt2
- (SEX)(AGE)FF(3) patients with 3 or more of
their last 5 blood pressures are gt135/85
31Use Status/Cond in Search and Occurrence Count
- USE STATUS/COND IN SEARCH
- If this field is true and
- A Condition exists, search occurrences
- Apply Condition to each occurrence of the finding
- Add occurrence to occurrence list if it is true
- Search quits once Occurrence Count value is
reached - A Status List exists, search occurrences
- Check status of occurrence
- Add occurrence to occurrence list if its status
is on the status list - Search quits once Occurrence Count value is
reached
32COUNT with Condition and Use Condition set to
Yes
- Count the instances of a finding
- Works in conjunction with Occurrence and
Condition and Use Status/Cond in Search - Example FI(1) is Blood Pressure
- Occurrence count for FI(1) is set to 5
- Condition for FI(1) is set to BP gt135/85
- Use Status/Cond in Search is set to yes
- FF(3) COUNT(1)gt2
- (SEX)(AGE)FF(3) patients with 3 or more blood
pressures that are gt135/85 display the most
recent 5 that are gt135/85
33Relationship Between COUNT and Occurrence Count
- Occurrence Count must be set high enough
- COUNT(3)gt4
- What is the minimum value for Occurrence Count
for this function finding?
34DIFF_DATE Function
- This function finding returns the absolute value
of the difference in days between the date of the
first finding and the date of the second finding. - Examples
- DIFF_DATE(2,4)0
- DIFF_DATE(1,3)gt30
35DUR Function
- For findings that have a start and stop date
(orders, medications), DUR will be the number of
days between the start and stop date. - For findings that have only a single date, DUR
works in conjunction with the Occurrence Count
parameter and is the number of days between the
first and last occurrence. If there is only one
occurrence, then DUR will be 0.
36Duration Examples
- DUR(1)gt60
- Duration of finding 1 is gt60 days time between
start and stop date of an order (or current date
if the order is active or pending) - Orderable Item example
- FI(1)OI.HEMATOLOGY CONSULT
- FF(1)DUR(1)gt60
- Cohort logic
- FI(1)FF(1)
37Reminder CohortDefault PATIENT COHORT LOGIC to
see if the Reminder applies to a patient
(SEX)(AGE)FI(1)FF(1)Clinical Maintenance
--STATUS-- --DUE DATE-- --LAST DONE--AJM
DURATION DUE NOW DUE NOW
unknownCohort Orderable Item HEMATOLOGY
CONSULT 06/20/2006 Status pending, Start date
04/02/2004, Stop date missingReminder
TestFIEVAL(1)1FIEVAL(1,1)1FIEVAL(1,1,"CSUB",
"ORDER")3509HEMATOLOGY CONSULT2799CONFIEVAL(1
,1,"CSUB","RELEASE DATE")3040402.0134FIEVAL(1,1,
"CSUB","START DATE")3040402.0134FIEVAL(1,1,"CSUB
","STATUS")PENDINGFIEVAL("FF1")1FIEVAL("FF1","
FINDING")6PXRMD(802.4,FIEVAL("FF1","NAME")FIE
VAL("FF1","VALUE")809
Duration Examples Hematology consult over 60
days old
38MAX_DATE Function
- Given a list of findings, returns the maximum
finding date, which will be the most recent date.
Note MAX_DATE and MRD are equivalent functions.
An example of a FUNCTION FINDING using MAX_DATE
is -
- MAX_DATE(1,3)gtMAX_DATE(2,4)
-
- This would be true if the maximum date of
findings 1 and 3 is greater than the maximum date
of findings 2 and 4.
39MIN_DATE Function
- Given a list of findings, returns the minimum
finding date. This will be the oldest date. An
example of a FUNCTION FINDING using the - minimum date is
-
- MIN_DATE(1,3)gtMIN_DATE(2,4)
-
- This will be true if the minimum date of findings
1 and 3 is greater than the minimum date of
findings 2 and 4.
40MRD Function
- MRD stands for Most Recent Date
- Equivalent to MAX_DATE
- Maintained so older reminders using MRD do not
break
41NUMERIC Function
- The NUMERIC function returns the first numeric
portion of any of the "CSUB" values for a
finding. For example, if the COMMENT field of a
health factor contains a numerical value, this
function can be used to test it. If you want to
check to see if the first numeric portion in the
COMMENT field of finding 1 occurrence 1 is
greater than 2, then the function finding would
be - NUMERIC(1,1,"COMMENTS")gt2
- Note OCCURRENCE COUNT for the finding must be
equal to or greater than the occurrence's) you
want to use.
42VALUE Function
- The VALUE function returns any of the "CSUB"
values for a finding. The argument list is the
finding number, the occurrence, and the "CSUB"
subscript of interest. For example, if finding
number 4 was for a lab test and you wanted to
check to see if occurrence 1 was less than
occurrence 2, the function finding would be -
- VALUE(4,1,"VALUE")ltVALUE(4,2,"VALUE")
-
- Note OCCURRENCE COUNT for the finding must be
equal to or greater than the occurrence's) you
want to use. -
43Global Reminder Variables in Function Findings
- Any of the global reminder variables can be used
in a function finding - PXRMAGE patients age in years
- PXRMDOB patients date of birth
- PXRMDOD patients date of death
- PXRMLAD patients last admission date
- PXRMSEX patients sex (M or F)
44Examples of How to Use Global Reminder Variables
in Function Findings
- PXRMLADgtMRD(1)
- (PXRMSEXF)(VALUE(1,VALUE)gt1.4)
- (PXRMDOBgt2500101)(COUNT(1)gt3)
- (PXRMAGElt30)(DUR(1)gt30)
45Clinical Examples / Applications
46Global Reminder Variables
- FINDING ITEM VA-AGE//
- USE IN PATIENT COHORT LOGIC AND
- CONDITION I Vgt74(PXRMLADgt3070801)
- FINDING ITEM AUDC//
- MH SCALE 276//
- CONDITION I Vgt4!((V4)(PXRMSEX"F"))
47Grouping of Findings
- VA- PTSD Screening 4 questions
- FF(2) FI(5)FI(6)FI(7)FI(8)
- FI(1)!FI(2)!FI(3)!FI(4)!(FF(2)FI(8))!FI(14)
- 1 PTSD screen MH
- 2/3 PTSD screen neg/pos (HF)
- 4 refusal
- 14 acute illness
48Grouping of Findings
- Atypical Antipsychotics BP, Wt. , HDL, Glucose,
TG - Vitals/Labs more frequent for new Rx
- FI(1) on AAP
- FI(2) new AAP
- FI (5) glucose in the past 1 year
- FI (6) glucose in the past 3 months
- FF(4) FI(1)FI(2)FI(5) - on AAP, not new,
no glucose in the past 1 year - FF(5) FI(2)FI(6) - on AAP, new, no glucose in
the past 3 months
49Combining Findings into a FF
50DIFF_DATE
- Difference in dates between 2 findings or between
2 occurrences of a finding
51DIFF_DATE Function
- Screen for AAA prior smokers ages 65-75
- FI(8) - DOB FI(7) Imaging study
- (21915d60y 23741d65y)
- Function findings
- 2 FI(7)(DIFF_DATE(8,7)lt21915)
- 3 FI(7)(DIFF_DATE(8,7)gt21914)(DIFF_DATE(8,7)lt2
3742) - 4 FI(7)(DIFF_DATE(8,7)gt23741)
- FF(3) study done age 60-65
- FF(4) study done age gt65
- FI(3) ordered FI(4) refused
- Resolution FI(7)(FF(3)!FF(4))!FI(3)!FI(4)
- FF(2) - Imaging done prior to age 60, repeat
after age 65.
52Complex DIFF_DATE Example
- Suicide Screening Questions needed for any
PHQ-2, PHQ9 or PC PTSD - - Must be done after or at the same time as a
screen - - MH tests go in at the date and time of entry
- - HFs go in with the visit date and time.
- FI(7,8) Suicide question responses
- FI(1,3,9) Positive PHQ2, PHQ9, PC-PTSD
- MRD(7,8)'ltMRD(1,3,9)!(DIFF_DATE(7,1)0)!(DIFF_DATE
(8,1)0)!(DIFF_DATE(7,3)0)!(DIFF_DATE(8,3)0)!(DI
FF_DATE(7,9)0)!(DIFF_DATE(8,9)0) - Suicide Qs done with or after the screen
MRD(7,8)'ltMRD(1,3,9) Done on the same day
DIFF_DATE(_,_)0
53Duration
- For orders and meds duration of time between
start and stop date
54Duration
- Urine drug screen for long-term opioids
- FI(3) Opioid DC, T-60 to T-10 (prior Rx)
- FI(4) Opioid DC,T-10, active Rx (current)
- FF(1) DUR(4)gt24 (Rx longer than 2 weeks)
- Cohort logic FI(3)FI(4)'FI(5)'FI(6)FF(1)
- FI(5) limited life exp FI(6) terminal cancer
55CSUB
- Use any of the CSUB data available for a finding
- E.g. CSUB entries for a health factor
- FIEVAL(3)1
- FIEVAL(3,1)1
- FIEVAL(3,1,"COMMENTS")2.52 PT 28.6
- FIEVAL(3,1,"CSUB","COMMENTS")2.52 PT 28.6
- FIEVAL(3,1,"CSUB","LEVEL/SEVERITY")MO
- FIEVAL(3,1,"CSUB","VALUE")MO
- FIEVAL(3,1,"CSUB","VISIT")17503359
- FIEVAL(3,1,"DAS")4134794
- FIEVAL(3,1,"DATE")3080418.101939
- FIEVAL(3,1,"VALUE")MO
56CSUB for Mental Health
- FIEVAL(1)1
- FIEVAL(1,1)1
- FIEVAL(1,1,"CSUB","MH TEST")AUDC
- FIEVAL(1,1,"CSUB","R",1)Four or more times a
week - FIEVAL(1,1,"CSUB","R",2)1 or 2
- FIEVAL(1,1,"CSUB","R",3)Never
- FIEVAL(1,1,"CSUB","S",276)4
- FIEVAL(1,1,"CSUB","SCALE NAME")Total
- FIEVAL(1,1,"CSUB","VALUE")4
57MH Question responses
- FINDING ITEM PHQ9//
- MH SCALE 419//
- CONDITION
- I V("R",9)"Several days"!
- (V("R",9)"More than half the days")!
- (V("R",9)"Nearly every day)
58CSUB for functions
- CSUB values are used for NUMERIC and VALUE
functions
59NUMERIC
- The numeric function uses the first numeric value
in a CSUB string to convert from text to a
computable, numeric value
60NUMERIC
- INR Therapeutic
- FI(1) DG WARFARIN
- FI(2) LT INR with condition I Vgt1.4
- FI(3) HF OUTSIDE PT/INR
- FF(1) NUMERIC(3,1,"COMMENTS")gt1.4
- Resolution FI(2)!(FI(3)FF(1))
61VALUE
- VALUE function returns any of the "CSUB" values
for a finding - Compare most recent lab test to prior
- VALUE(4,1,VALUE")ltVALUE(4,2,"VALUE")
62VALUE
- OEF/OIF Monitor Reporting only include pts. who
have had 2 visits to a NEXUS clinic since service
separation - FI(19) EPRP visit (location list with
occurrence count of 2) - FI(2) Last Service Separation date
- FF(11) VALUE(19,2,"DATE")gtMRD(2)
- Cohort FI(2)FF(11)
63 FINAL EXAMINATION(and you thought we were
kidding)
64FINAL EXAM 1
- Patient with Apples FI(1) and Oranges FI(2)
- What do you get with the following?,
-
- FI(1)FI(2)
-
- a. Apples c. Fruit salad
- b. Oranges d. None (False)
-
65FINAL EXAM 1
- Patient with Apples FI(1) and Oranges FI(2)
- What do you get with the following?,
- FI(1)FI(2)
-
- d. None (False)
-
66FINAL EXAM 2
- True or False, the following two strings will
give you the same result? - (SEX)(AGE)FI(1)FI(2)
- (SEX)(AGE)(FI(1)FI(2))
- a. True b. False
67FINAL EXAM 2
- True or False, the following two strings will
give you the same result? - (SEX)(AGE)FI(1)FI(2)
- (SEX)(AGE)(FI(1)FI(2))
- a. True
68FINAL EXAM 3
- What is wrong with this resolution logic?
- AGE!FF(1)
- A) It can be resolved solely by a function
finding. - B) It can be resolved solely by the AGE finding
- C) Nothing
- D) Both A and B
69FINAL EXAM 3
- Answer - D
- There is no date for AGE or a function finding so
a resolution date cannot be determined. - AGE is not normally something that can resolve a
reminder.
70FINAL EXAM 4
- If your reminder inquiry looks like this what
does it mean? - Findings
-
- ---- Begin ? (FI(1)ED(673075))
---------------------------------------- - Finding Type EDUCATION TOPIC
- ---- End ? ------------------------------------
-------------------------- - Customized PATIENT COHORT LOGIC to see if the
Reminder applies to a patient - AGEFI(1)
- Expanded Patient Cohort Logic
- AGEFI()
71FINAL EXAM 4
- Findings
-
- ---- Begin ? (FI(1)ED(673075))
---------------------------------------- - Finding Type EDUCATION TOPIC
- ---- End ? ------------------------------------
-------------------------- - Customized PATIENT COHORT LOGIC to see if the
Reminder applies to a patient - AGEFI(1)
- Expanded Patient Cohort Logic
- AGEFI()
- A) Nothing, this is what reminder inquiry
normally looks like. - B) Finding ED(673075) has been deleted.
- C) Finding 1 is an education topic named ?.
72FINAL EXAM 4
- Answer - B
- Normal reminder inquiry output displays the
name of the finding -
- ---- Begin VA-EXERCISE (FI(3)ED(363))
------------------- - Finding Type EDUCATION
TOPIC - Occurrence Count 2
- ---- End VA-EXERCISE --------------------------
------------------
73FINAL EXAM 5
- When you see a reminder evaluation status of
CNBD what does that indicate? - A) The reminder does not apply to the patient.
- B) The reminder is broken.
- C) The patients age does not fall in any of the
defined age ranges.
74FINAL EXAM 5
- Answer C
- If the patients age does not fall in any of the
defined age ranges then a resolution date cannot
be calculated so the status cannot be determined
(CNBD).
75FINAL EXAM 6
- If the reminder inquiry display of your
Customized Resolution logic looks like this what
is the problem? - Customized RESOLUTION LOGIC defines findings that
resolve the Reminder - FI(1)(FI(2)!FI(3)!FI(7))
- Expanded Resolution Logic
- FI(WEIGHT)(FI(BLOOD PRESSURE)!FI(???)!FI(PAIN))
76FINAL EXAM 6
- A) Finding number 3 has been deleted from the
reminder definition. - B) There is a bug in the software.
- C) The name of finding number 3 is ???.
77FINAL EXAM 6
- Answer A
- Normal logic display
- Customized RESOLUTION LOGIC defines findings that
resolve the Reminder - FI(1)(FI(2)!FI(3)!FI(7))
- Expanded Resolution Logic
- FI(WEIGHT)(FI(BLOOD PRESSURE)!FI(MEASTERM)!FI(PA
IN))
78FINAL EXAM 7
- Using MUMPS evaluation the result of (8(34)7)
is - A) 51
- B) 27
- C) 121
79FINAL EXAM 7
- (8(34)7) is evaluated as follows
- (8(34)7)
- 8 (12) 7
- 27
80FINAL EXAM 8
- Blood Pressure finding FI(1)
- Occurrence count is set to 5
- Condition is set to I (P(V,"/",1)gt135)(P(V,"/
",2)gt85) Use Status/Cond in Search is set to
yes - FF(3) COUNT(1)gt2
- Patients last 5 BPs
- 120/80, 137/90, 129/86, 136/86, 130/76
- Will the above FF(3) evaluate as
- A. TRUE B. FALSE
81FINAL EXAM 8
- B. FALSE
- Blood Pressure finding FI(1)
- Occurrence count is set to 5
- Condition is set to I (P(V,"/",1)gt135)(P(V,"/
",2)gt85) - Use Status/Cond in Search is set to yes
- FF(3) COUNT(1)gt2
- Patients last 5 BPs
- 120/80, 137/90, 129/86, 136/86, 130/76
-
- Only 2 of the 5 BPs meet the condition, the
count requires 3
82 Questions (on the 3x5 cards)Evaluations