Clinical Care Algorithms: The Good, The Bad, and The Ugly R. Matthew Sailors, PhD UTH Medical School Department of Surgery Overview • Modern World / Why Use Algorithms • Types of / Uses for Algorithms • Clinical Care Algorithms – Types, Use, Automation • • • • Good, Bad, and Ugly Algorithms Algorithm Classification & Examples Evaluating Algorithms Writing Good Algorithms Modern World • Society is making ever greater demands on our healthcare delivery system and, in turn, on the healthcare providers. • It is imperative that the workflow of healthcare delivery be altered if quality of care and access to healthcare are to be maintained or improved. • One of the many ways of accomplishing this alteration is the automation of clinical algorithms Why Do We Use Algorithms? • Share or extend expertise – Training – Disseminate processes / procedures • Reduce variability • Standardize care – Improve overall quality of service – Serve as baseline for new strategies • Medico-Legal reasons Types of Algorithms • Clinical • Administrative • Financial • Time-based • Data-based • State-based • • • • Evidence-based Heuristics Model-based WAG Clinical Care Algorithm • Specifically clinical (patient care) • NOT – Financial – Administrative – Resource allocation • Neutral, high-level term – No biases or preconceptions Clinical Care Algorithm • Description of a process intended to guide sequential clinical (therapeutic or palliative) interventions. • Usually single patient-centric • Time or data-driven • Evidence-based, models, heuristic, WAG Clinical Care Algorithm Protocol (I) Protocol (II) Care Path(way) Knowledge Base Practice Guideline Care Plan Procedure This is not a hierarchy diagram, just a terminology Use of Clinical Algorithms • Serve only as guides • Only good inside the design envelope • Professional clinical judgment override • Handle “routine” situations • Allows experts to concentrate on difficult cases Automation of Clinical Algorithms • guide (but not directly provide) therapies • manage information flow • assist in diagnosis and treatment planning • provide a safety net for the patient for the times when the inevitable human / technical / system errors occur. Automation of Clinical Algorithms • Computers have no native intelligence • Algorithms must be as detailed as possible – streamline the implementation process – computerized algorithm must represent • what we want to do • not just want we told the computer to do. Good Algorithms -- Required 1. Concise description • • Content and intent of the algorithm Patient groups to which it can and cannot be safely applied 2. Structured, repeatable algorithm • textual or graphical form 3. Fully specified concepts • (e.g., “high nasogastric tube output is defined as nasogastric tube output > 1200 cc/12 hr”) Good Algorithms -- Required 4. Fully specified decision points • E.g., PaO2 >= 60 and PaO2 <= 80 5. Fully specified action steps, • • • Therapeutic interventions suggested by the algorithm Calculations to be performed Patient-specific recommendations Good Algorithms -- Desired 1. Formal expression language • • • Describe the decision and action steps Delineated scope and purpose Define entry and exclusion criteria 2. Formalism to describe the flow of the algorithm from one state to the next 3. Encoded links • • • Didactics Reference materials On-line resources Bad Algorithms • Full of vagaries (“weasel words”) – “optimize patient’s respiratory status” • Fail to adequately describe the decisions and actions that are required to care for the patient • Important entry or exclusion criteria and conditional values missing • Concepts poorly defined – “high NG output” Ugly Algorithms • Unstructured / poorly structured algorithm • Algorithm follows no sequential order • Important entry or exclusion criteria appear at the end of the algorithm or in footnotes • No standard formalism used to describe algorithm Algorithm Classifications • Proposal to HL7 Clinical Decision Support Technical Committee • 5 levels –0–4 – Increasing detail with higher classification # Class 0 • Often encoded only in textual form. • Full of vagaries • Fail to adequately describe the decisions and actions that are required to care for the patient • Actual algorithm – often unstructured or poorly structured – may follow no sequential order • Important entry or exclusion criteria and conditional values often appear at the end of the algorithm or in footnotes, if at all. Class 1 • Improve upon Class 0 algorithms • All of the entry and exclusion criteria specified at the beginning of the description. • Algorithms steps are coarsely structured and are arranged in a temporal or logical progression. • Algorithms are usually still represented in textual form, but may also be represented in other forms. Class 2 • Improve upon Class 1 algorithms • Explicitly defining all thresholds and decisions within the algorithms. • Some action steps are also defined. Class 3 • Distinguished from Class 2 algorithms by – Representation format – Presence of definitions for all steps • Represented using structured formalism – flow diagrams – formal, structured text (pseudo-code) Class 4 • Include all of the details necessary for a nonexpert or computer to negotiate the algorithm in a reliable and repeatable manner. • All logical and clinical concepts are explicitly spelled out and are described in terms of patient-specific values. • Most often disseminated as either flow diagrams or encoded using a knowledge base formalism. Intermediate Classifications • A given clinical algorithm may fulfill all of the requirements for a given classification and part of the requirements for a higher classification • May be necessary to classify the algorithm as a intermediate value. • Separate the two levels with a forward slash (/), such as, “Class 3 / 4”. • This notation, while less precise than a decimal or true fractional notation, has the advantage of being simple and efficient. Classification Overview Algorithm Class 0 1 2 3 4 concise description of content and intent of algorithm +/- + + + + description of inclusion and exclusion patient groups +/- + + + + structured repeatable algorithm +/- +/- + + + fully specified concepts - +/- + + + fully specified decision points - - + + + fully specified action steps - - +/- + + formal expression language - - - +/- + formalism to describe the flow of the algorithm - - - - + encoded links to didactics, references, on-line resources - - - - +/Elements of a “Good” Algorithm + := always present - := always absent +/- := may be present Class 0 AED Algorithm 1. 2. 3. 4. 5. 6. 7. 8. 9. ABC’s, start CPR, apply AED Push “analyze”, if indicated defibrillate at 200 J If no conversion, defibrillate at 300 J If no conversion, defibrillate at 360 J Check pulse, if present, support airway If no pulse, CPR for one minute Check pulse, if absent press “analyze” If advised, defibrillate up to three times at 360 J Repeat steps 2 thru 8 until arrival at medical facility Class 0 AED Algorithm (cont.) Notes: A. Single rescuer with AED should verify unresponsiveness, open airway give two breaths, and check pulse. If full arrest, AED should be attached and proceed with algorithm. B. Pulse checks are not required after shocks 1, 2, 4, and 5 unless “no shock indicated” is displayed C. Only to be used on pulse-less, non-pediatric patients D. If advanced personnel are present, they can use the manual mode E. Advanced personnel can enter the above algorithm at any point and continue with appropriate advanced protocol Class 1 AED Algorithm Notes: A. If advanced personnel can use the manual mode B. Advanced personnel can enter the algorithm at any point and continue with appropriate advanced protocol Class 1 AED Algorithm (cont.) 1. If patient has pulse or is a pediatric patient then do not continue with algorithm. Instead use alternate algorithms for VF 2. Single rescuer with AED should verify unresponsiveness, open airway give two breaths, and check pulse. If full arrest, AED should be attached and proceed with algorithm. If multiple rescuers then ABC’s, start CPR, apply AED 3. Push “analyze”, if indicated defibrillate at 200 J 4. If “no shock indicated” then check pulse 5. If no conversion, defibrillate at 300 J 6. If “no shock indicated” then check pulse 7. If no conversion, defibrillate at 360 J 8. Check pulse, if present, support airway 9. If no pulse, CPR for one minute 10. Check pulse, if absent press analyze 11. If advised, defibrillate up to three times at 360 J 12. Repeat steps 3 thru 11 until arrival at medical facility Class 2 AED Algorithm Notes: A. If advanced personnel can use the manual mode B. Advanced personnel can enter the algorithm at any point and continue with appropriate advanced protocol Class 2 AED Algorithm (cont.) 1. If patient has pulse or patient age <= 8 years then do not continue with algorithm. Instead use alternate algorithms for VF 2. Single rescuer with AED should verify unresponsiveness, open airway give two breaths, and check pulse. If full arrest, AED should be attached and proceed with algorithm. If multiple rescuers then ABC’s, start CPR, apply AED 3. Push “analyze”, if AED displays “shock indicated”, defibrillate at 200 J 4. If “no shock indicated” then check pulse 5. If AED displays “shock indicated” (no conversion), defibrillate at 300 J 6. If “no shock indicated” then check pulse 7. If AED displays “shock indicated” (no conversion), defibrillate at 360 J 8. Check pulse, if present, support airway 9. If no pulse, CPR for one minute 10. Check pulse, if absent press analyze 11. If AED displays “shock indicated”, defibrillate up to three times at 360 J 12. Repeat steps 3 thru 11 until arrival at medical facility Class 3 AED Algorithm start yes no yes pt. age > 8 yrs pulse present? yes responsive no no performs ABCs open airway no wait 1-3 minutes no yes # rescuers = 1 yes initiate CPR "shock advised" ? breathing apply AED and turn unit on press "analyze" no give 2 breaths yes perform CPR for 1 min. defib. at 200 J no pulse ? check pulse yes yes conversion ? no pulse ? defib. at 300 J yes no defib. at 360 J yes conversion ? no yes conversion ? defib. at 360 J no defib. at 360 J support airway yes pulse ? conversion ? no no yes no defib. at 360 J at hospital? yes use alternate algorithm end check pulse Class 4 AED Algorithm (Part 1) start yes yes pt. age > 8 yrs check pulse yes pulse present? yes # rescuers = 1 responsive no no performs ABCs open airway initiate CPR breathing no no wait 1-3 minutes no yes "shock advised" ? press "analyze" apply AED and turn unit on yes conversion ? no pulse ? defib. at 300 J yes no defib. at 360 J yes conversion ? no yes conversion ? defib. at 360 J no defib. at 360 J support airway yes pulse ? conversion ? no no yes no defib. at 360 J at hospital? yes use alternate algorithm give 2 breaths check pulse check pulse yes pulse ? yes perform CPR for 1 min. defib. at 200 J no no end Class 4 AED Algorithm (Part 2) remove patient clothing that may interfere with AED use AED brand = X ? turn AED on by lifting monitor screen to "up" postition turn AED on by pressing power switch clear area for AED and rescurer on patient's left side? open first defibrillator pad place AED close to supine patient's left ear place AED close to supine patient's right ear rescuer position on patient's left side rescuer position on patient's right side attach first pad in the anterior position -right (patient's right) of the upper sternum (breast bone) and below the clavicle (collar bone) open second defibrillator pad attach second pad in the apex position -left (patient's left) of the nipple with the center of the electrode in the midaxillary line (where the chest and armpit meet) Critically Evaluating Algorithms • Identify target audience – Experts – Novices – Related fields • Identify intended use – Author’s – Yours • Look for well-defined decision and action targets (no “weasel words”) • Look for individual-based outputs Critically Evaluating Algorithms • Look for well-defined decision and action targets (no “weasel words”) • Look for individual-based outputs • Use the table to help classify algorithms Algorithm Class 0 1 2 3 4 concise description of content and intent of algorithm +/- + + + + description of inclusion and exclusion patient groups +/- + + + + structured repeatable algorithm +/- +/- + + + fully specified concepts - +/- + + + fully specified decision points - - + + + fully specified action steps - - +/- + + formal expression language - - - +/- + formalism to describe the flow of the algorithm - - - - + encoded links to didactics, references, on-line resources - - - - +/Elements of a “Good” Algorithm + := always present - := always absent +/- := may be present Writing Good Algorithms • Start with general and work to specific – Iterative process • Avoid Gotchas -- later slide • Think like a child (or engineer) – Simple, discrete, decisions • Keep it simple at first • Add complexity as needed Tips • Simple binary (yes / no) decisions involving 1 or 2 data points – X < 25 – X > 36 or Y <= 18 • String together lots of small steps rather than having one or two big ones • Nest complexities away Gotchas • • • • • • Over generalizations “Weasel Words” Being Too Ambitious Not Understanding Problem Domain Trying to Solve Wrong Problem Trying to Use Wrong Techniques Summary • • • • • • Algorithms – many uses: for good, for bad Good, bad, and ugly algorithms Good algorithms share expertise Algorithm classifications: 0 (low) – 4 (high) Critically evaluate algorithms Writing good algorithms is about attention to details