Implementing Clinical Decision Support: Strategies and Challenges

advertisement
Implementing Clinical Decision
Support: Strategies and Challenges
Prakash M. Nadkarni
Classification of Decision
Support
Tactical / Single Patient
Strategic / Sets of Patients
Single-Patient Support Logic
Simple Logic
Complex Logic
Simple Logic
Single-step interaction with a user in a
specific circumstance – e.g., ordering
specific medications
Alerting – e.g., drug-drug interactions
Reminders
Access to necessary information
Complex Decision Support
(Workflow)
Several steps, with branching logic, possible
parallel execution
The steps may be separated over time
Duration of several months or longer
Steps may involve multiple individuals.
The state of the patient must be preserved
between steps.
The current state of system must be
auditable.
Simple Alerts
Must be useful
High Signal to Noise Ratio
Must not insult the user’s intelligence
Must facilitate workflow where
possible
if the system knows what the problem is,
it must try to facilitate the solution.
Example: vaccination scheduling
Accuracy
Requires integration with the EMR
Requires specific information to be
available (old patient)
Preferably structured data – free text
is hard to process in real time
Alert level depends on what patient is
being treated for
Postural Hypotension – ICU vs.
ambulatory patient
Individual patient variation can
influence accuracy
Example: beta-blocker + calcium
antagonist combination predisposing
to CCF.
Dose dependency
Patient variation – first-pass effects
Pre-existing conditions – low Ejection
Fraction, symptoms suggesting failure
Threshold Considerations
Sensitivity vs. Specificity
Is always a Tradeoff
Example: Hyperkalemia – 5.5 Mmol/L
vs. 6 MMol/L
Alert Escalation based on values
A model of the user
Role-based alerts
Customization of alert volume to user
preferences (not currently available)
Learning from User Actions (ditto)
Done very well by game-playing
software
Lessons from Software History:
The Microsoft Office Assistant
Artificial Imbecility
Obtrusiveness
Failure to Develop a Model of the
User
Incomplete Software Integration
The law of unintended
consequences
Fear of tort liability = more alerts
Removing pointless alerts = more
customization effort
Rule Engines
If condition then (do something)
One rule can activate other rules, and
so on, until a goal is reached, or no
more rules can be activated
Arden Syntax: Motivation and
Design
A programming language for Doctors
Inspired by rules: “medical logic
modules”
Relies on an “event monitor” within
the EMR to activate an MLM
Supposedly system-independent
(system specific logic – e.g., data
access – isolated within curly braces)
Arden Syntax: Limitations
Programming is not an amateur activity –
COBOL, SQL
The logic in the curly braces is more
elaborate than that in the MLM proper.
Event monitors take a lot of work
The Event-driven paradigm is a forced-fit for
batch scenarios
The language lacks essential capabilities
Misfit for most drug-related alerts
Service-Oriented Architectures
Service is a subroutine called over a
network
Web service uses WWW infrastructure
Simple in theory, hard to pull off in
practice
Finding the right task granularity
Identifying reusable functionality
Recycling of existing software is not
easy: assumptions may change
Governance and Internal standards
Guideline Languages
Inspired by workflow languages
Business Process Execution Language / Markup
Notation
Based on XML syntax
Unfortunately, the technology(as of 2010) is
still bleeding-edge
the “standards” are too weak and lobotomized.
XML is not the world’s friendliest
programming language (best used internally)
Graphical Language preferable – but infuriating
for knowledgeable programmers
Guideline Languages - 2
Implementation is hard
Just because you have a syntax that
defines operations doesn’t mean
anything unless you have the language
hooked up to an EMR
Must interface to traditionally developed
program code
Table-driven approaches
Adverse drug-drug interactions,
allergy detection, lab/drug interactions
How they work
Generate all possible drug pairs / table
lookup
Rely on database content: scale well
Essentially each row of data is an
implicit rule.
Fit well with existing software.
The Proteus Guideline Engine
Developed by Hemant Shah and colleagues
at HFHS
A high-level flowcharting style approach
Individual modules can be highly
sophisticated, treated as black boxes
Code/algorithm reuse possible
The task granularity can be left to the
developer
Trivial tasks need not be programmed
graphically
Portability Challenges
HL7 Virtual Medical Record is intended to
address differences in EMR designs
The current standard is under-specified: certain
areas (e.g., administrative schemas) are not
considered.
The supporting controlled vocabularies do not
adequately model enumerations and ordinal
values (e.g., symptom severity/grades).
Programming API issues have not been
considered, only virtual schema.
Thank you
Questions?
Download