This description relates to tracking of treatment sequences in health care.
In health care, there are accepted standard procedures for administering medical treatment that relate directly to the quality of care received by patients. Providing standard medical treatment correctly leads to fewer bad outcomes. To aid hospitals to measure how well they are adhering to the standards, flowcharts have been created that define, in algorithmic terms, accepted procedures for certain treatment scenarios.
These algorithms generally are created either by an individual health care organization or by a regulatory body. In 1999, The Joint Commission began to create standards by which hospitals could be rated. In conjunction with Centers for Medicare & Medicaid Services, medical treatment standards were developed and published in the Specifications Manual for National Hospital Quality Measures. Different categories of these algorithms (flowcharts) cover different fields of health care. Each category has several flowcharts. The size and complexity of these flowcharts is illustrated by the first page of the algorithm Pneumonia-6 (PN-6) in the Specifications Manual for National Hospital Quality Measures (
The steps of the algorithms include decision points or steps in medical treatment. At each decision point, which is represented as a node, a question must be answered to proceed, for example, whether instructions were issued to a heart failure patient upon discharge from the hospital. The path traversed through the nodes of the flow chart as each question is answered determines the overall outcome (or conclusion of the algorithm) expressed as a letter, such as E, D, and B, to indicate whether proper care was given, proper care was not given, or the patient case does not apply to the given algorithm. A flowchart can be many pages long.
The questions at the nodes of the flowchart range in types from calculations to use of standard tables. If an answer at a step is outside acceptable parameters, then the algorithm continues on a path that could result in a hospital being scored a failure for that case of patient care. A hospital that proceeds through the algorithm, remaining within acceptable parameters, is scored a pass for that case of patient care.
These algorithms are categorized into sets, known as measures, based upon the type of medical treatment, for example, heart failure. Both The Joint Commission and Centers for Medicare & Medicaid Services issue a grade for each measure group. This grade relates to an overall percentage of all applicable patient cases for that measure for which the patient cases were passing.
If causes of medical errors are clearer to hospitals, then the causes can be addressed. Better analysis of treatment failures helps hospitals to reevaluate policies and procedures to reduce errors.
In general, in an aspect, a data model is used to express possible sequences of steps related to treatment of patients and corresponding results of respective sequences in accordance with a healthcare algorithm.
Implementations may include one or more of the following features. The data model comprises a meta-model of a real-world model that is represented by the algorithm. The algorithm is expressed as a flow chart. The data model is used to express such sequences and results in accordance with more than one predefined algorithm. The model includes object-oriented program objects. Patient cases are processed using the data model with respect to the treatment algorithm to determine the sequences to which the patient cases belong, and the corresponding results are used to analyze causes of outcomes of the cases. The using of the data model includes expressing each of the steps as an encapsulated step object that represents a branching point of the possible sequences. Using the data model comprises including expected answers to a question that corresponds to each of the steps. Using the data model comprises including identifications of next treatment steps corresponding to respective expected answers. Using the data model comprises including a type of expected answers for questions associated with the steps. The algorithm comprises a treatment algorithm and the steps comprise treatment steps. The algorithm comprises steps to determine when a patient is in a given population. The algorithm comprises steps to check quality of data. The algorithm comprises an embedded sub-algorithm. The data model expresses possible sequences of steps, consistently for interaction by a user, in accordance with at least two of a treatment algorithm, a data quality check algorithm, a within-population checking algorithm, and an algorithmic-choice algorithm.
In general, in an aspect, for patients, whose treatment outcomes result from sequences of treatment steps traversed through a treatment algorithm, forming a data record for each of the patients that includes (a) the sequence of treatment steps for the patient and (b) a result of the sequence that corresponds to the outcome for the patient.
Implementations may include enabling an interface user to use the data records for groups of patients whose treatments traversed respective sequences through the treatment algorithm to obtain information indicative of causes of outcomes that correspond to respective treatment sequences.
In general, in an aspect, a medium bears a data structure that can be used by a computer to define possible sequences of steps related to treatment of patients and corresponding results of the respective sequences.
In general, in an aspect, patient-treatment-related cases are categorized among a set of different possible sequences of steps and related outcomes, based on data structures that were derived from standard pre-defined sequences and outcomes. A user can manipulate the categories of patient-treatment-related cases to infer causes of the outcomes.
These and other aspects and features, and combinations of them, can be expressed as methods, apparatus, systems, components, program products, means for performing functions, business methods, and in other ways.
Other aspects and features will become apparent from the following description and from the claims.
MioSoft Corporation of Madison, Wis., the assignee of this patent application, has developed a generic object-oriented meta-model that enables algorithms (e.g., of standard patient treatment sequences and outcomes) to be acquired and stored in a software system. Paths taken through each of the algorithms for individual patient cases can then be tracked and stored as patient case records. Users can then analyze and see information that helps them to understand the reasons for failures in treatment.
Thus, such systems are able to compute failure paths followed in medical treatment processes that can be described by an algorithmic flowchart of steps. The system uses an object oriented meta-model that can represent such algorithms. Data is collected regarding the sequence of steps taken (path) through the algorithm of a given type of medical treatment. The sequence of steps taken shows the cause of failure in a standard medical treatment. Taking a frequency of the causes results in a better understanding of the problems that lead to substandard health care and allows health care providers to focus on the most prevalent issues first.
The model can be implemented in a software system. MioSoft has produced one such implementation, referred to as HERMES, but a very wide range of other implementations of the techniques described here is possible. In the particular example implementation discussed here, HERMES uses a software design method known as a strategy pattern. A strategy pattern is a programming structure that enables multiple algorithms to be stored in objects. At run time, for each patient case, an appropriate algorithm can be selected through which the patient case can be run and stored. Patient cases can then be analyzed to learn the causes of treatment failure for a particular class of treatment, for example, at a particular hospital.
As shown in
HERMES includes four fundamental object classes—Data Element class 20, the Metric Question class 22, the Step class 24, and the Metric Definition class 26—that can be used to represent all of the main elements of a flowchart of a treatment algorithm.
1. Metric Definition name—The raw algorithm name (in this case AMI-2) is used as the Metric Definition object name 30 of the Metric Definition object 31 of the Metric Definition class.
2. Step—Each node (also sometimes called a decision point, or a step, or a question) in the algorithm corresponds to and is the basis for forming a Step object 33 of the Step class in HERMES.
3. Step ID—A Step ID 34 is added to (that is, is not part of) the Step object that is derived from the published algorithm (we sometimes refer to a raw algorithm that has been published as a published algorithm). The Step ID is a core component in analyzing paths through Metric Definition objects because each Step object identifies Steps that follow that Step depending on the result of the decision point represented by the Step.
4. Data Element identifier—The content (e.g., the literal text) of each step in the raw algorithm is incorporated as the Data Element name (or identifier) 38 in a corresponding Data Element object 36 of the Data Element class in HERMES.
5. Metric Question type—The type of the expected answers 44 at each step of the algorithm determines a Metric Question answer type 42 of the Metric Question object 36. In this example, the predefined list of answers indicates that the Metric Question answer type 42 for this Data Element object is of type Enumerated.
6. As another example, the yes-no expected answers for another of the Data Element objects indicate a Metric Question expects a Boolean answer and is of type Boolean.
7. Metric Result—There are multiple end points for an algorithm. Each endpoint is characterized by a letter that translates into a pass/fail condition. HERMES uses the letters from the raw algorithm to represent the results as Metric Results 29 that are contained in the Metric Definition object.
The class of objects that is used to represent treatment algorithms in HERMES is the Metric Definition class. Different algorithms are represented by different instances of Metric Definition objects. Each Metric Definition object 31 contains Step objects and Data Element objects that include Data Element identifiers (that refer to specific Data Elements of the raw algorithm). Each of these objects fulfills a specific role.
A Metric Definition object is a collection of Steps for a given algorithm. Steps provide a vehicle by which the Metric Definition can be navigated with respect to actual patient cases. A Metric Definition for a given algorithm is defined by creating several Step objects and assigning to them Step IDs (so that, during the navigation, the Metric Definition knows where each step is along the algorithm, as well as where it leads) and Data Element identifiers (so that each Step knows which Data Element is to populate the Step).
A Data Element object identifies a specific question. The answer to the specific question is described by the Metric Question subclasses that define these types (e.g. time, and integer). In the meta-model, a Metric Question is a model of the Data Element object. Just as the Metric Definitions are only loaded once and then cloned to be used for specific patient care cases, there are singular creations of each Data Element (e.g., there is only one object that represents the Arrival Date), which are only loaded once and are then cloned at run time when patient care cases are processed.
HERMES creates 49 and stores 50 a single instance of a Metric Definition object for a given algorithm. At run time, each time a patient case 52 is processed in HERMES for that algorithm, a clone of the instance of the Metric Definition object is created and “run” by a hardware/software platform 54 to determine a Reason Path and Outcome 56 of the Metric Definition object that corresponds to the patient case. Each clone instance of the Metric Definition object is identified by the Metric Definition name 30, which is taken from the algorithm flowchart, as explained for
In the HERMES meta-model, the generic Step class 24 represents the components that make up a Metric Definition. Step objects of the Step class are the device by which a Metric Definition object is navigated by HERMES at run time for a given patient case. Metric Questions are a class of unspecific objects that expect answers of specific types. Subclasses of the Metric Question class define the specific types of answers expected (e.g., a time answer, a Boolean answer, an enumerated answer). The answer that a Data Element object expects is classified by the Metric Question subclasses. For example, an Arrival Date (defined by a specific Data Element object) is a specific question that expects an answer of type “date” that captures the date the patient arrived. In the implementation discussed here, a Step object also includes data that knows what the next Steps 37 can be and knows its own Step identification 34.
Items 2 and 3 of
Not all Step objects in a Metric Definition object function in the same way. Step objects may be grouped in subclasses.
For most Step objects in a Metric Definition object, there is a question being asked. Each of the Step objects points to a Metric Question object 40 of the Metric Question class that stores the literal wording of the corresponding question 55. Each Metric Question object contains information about the specific type of answer 42 that is expected for the question contained in the object.
The class structure in
Each Metric Question object 40 contains a place-holder for objects, referred to as Data Elements identifier objects 49.
A Data Element object 40 is an instance of a Metric Question object, in the form of a specific, unique Metric Question 34 and its expected answers 44. A Metric Question object defines a class of questions that expect specific types of answers, for example a Boolean type answer expects a Yes/No, true/false, or 1/0 answer. Unlike other elements of the meta-model, which all can be derived directly from the raw algorithm flowchart, the information for the Data Element object is derived outside the flowchart representation of
1. Data Element objects—This is a class of Data Element objects that can be reused for multiple Metric Definition objects.
2. Data Element names 38—The name of the Data Element object is taken directly from the Specifications Manual and loaded as data directly into Data Element object in HERMES.
3. Literal Medical Question 55—This is the question that is associated with the expected answers 44 contained in the Data Element object. This question is displayed in the HERMES user interface.
4. Allowable (Expected) Answers 44 (Enumerated Type)—These are the possible answers that this Data Element object will contain. These answers dictate the type 42 of Metric Question Answer that is expected. An Enumerated type expects a specific answer from a finite predefined set of answers.
5. Allowable (Expected) Answers 44 (Boolean Type)—These are the possible answers that this Data Element object will contain. These answers dictate the type 42 of Metric Question Answer that is expected. A Boolean type expects a yes-no/true-false answer.
A Data Element object is not restricted to use for a single corresponding Metric Definition object. To the contrary, a single Data Element object can be reused for multiple Metric Definition objects. A Data Element is initially created independently of any patient case. Then when the patient case is processed, both the Metric Definition and the Data Elements are cloned for use with that patient case.
The hardware/software platform for HERMES accepts existing source data files 70 that define the algorithms for the health care domain to be used by the meta-model. The source data files contain the information that is needed by Hermes to form the Data Element objects and the Metric Definition objects for all of the algorithms in the domain. HERMES parses the data files and loads the data into Data Element objects, Metric Question objects, Step objects, and Metric Definition objects which are stored 50 for use at run time.
The rows of the table show the Metric Definition Name 30 (1), the Step IDs 34 (2), the Step Types (the Metric Answer Types, that is) 42 (3), and Data Element identifier names 38 (4). Here the types of Steps and the Data Element identifiers 38 are associated with Step IDs that indicate the order of appearance in the algorithm from which the table was derived. The Data Element identifier name 38 indicates which Data Element will be called for that Step in the Metric Definition. For example, Step 5 is a Boolean step called Aspirin Prescribed at Discharge.
Because the steps of an algorithm are not unique to that algorithm, the set of Data Element objects can be smaller than the number of Steps in all of the algorithms combined. The values for these reused steps only need to be defined once in corresponding Data Element objects. Therefore, when a source data file is parsed by HERMES, only singular instances of the Data Element objects are loaded by HERMES into storage. Then, at run time, when a patient case is processed using a Metric Definition object, clones of the Data Element objects are used.
As shown in
For example, the Data Element (corresponding to step 3 in the meta-model of our example), Point of Origin for Admission or Visit, in the algorithm AMI-1, has the following list of potential answers to choose from: 4≈D|1≈2≈3≈5≈6≈7≈8≈9≈E≈F|none. This list appears in the row identified as step 3 of
The pipes indicate that there are three potential answer sub-lists from which an individual answer can be chosen for this Data Element. The lists are 4≈D; 1≈2≈3≈5≈6≈7≈8≈9≈E≈F; and a missing answer.
These three answer sub-lists correspond respectively to the three potential next Steps to be taken in the Metric Definition. Using the pipe delimiter, the next Steps are represented as B|4|X as shown in the column to the right of the answer sublists in record 3 of
When paired with the potential answer lists 4≈D|1≈2≈3≈5≈6≈7≈8≈9≈E≈F|none, the pipes separating the next Steps indicate:
B—the next Step is Step B (not in measure population) if the answer to the current Step is either 4 or D (this is the first answer sub-list)
4—the next Step is Step 4 if the answer to the current Step is one of 1≈2≈3≈5≈6≈7≈8≈9≈E≈F (second answer sub-list)
X—the next Step is Step X if the answer is missing (third answer sub-list)
Each Step of
At run time, when patient cases are to be processed, correseponding instances of Step objects are formed.
This particular ManySelectorStep object for this case of patient care has a Metric Question that expects an answer of an Enumerated type. The cloned Data Element instance for this Step has a name Point of Origin for Admission or Visit. The possible enumerated answers for this Step indicate how a patient came to be admitted to the hospital (for example, code 4 indicates the patient was transferred from a Hospice facility). The actual answer for this particular patient case at this Step is 5 (transfer from skilled nursing facility). As answer 5 is located in the second answer list, the next Step should be the second step listed in the Possible Next Step list (in this case, 4). Thus the result of this step for this patient case is to move to Step 4 of this Data Element instance of this Metric Definition object.
As mentioned earlier, not all Step subclasses function in the same manner. The example in
Another example of a Step subclass, shown in
In
As each Step in a Metric Definition object is fully encapsulated, the patient case portrayed in
HERMES traverses the Metric Definition object for each possible patient case, collecting the Step IDs that it passes through and stores them in a string representing that case. HERMES inserts pipes between each recorded Step and the next step in the string. The patient case example in
Processing raw health care algorithms to produce a corresponding set of encapsulated interchangeable Step objects, that can be combined to represent every possible path through a Metric Definition object, and thus every possible Reason Path and result, enables a flexible system for quickly analyzing any patient case and its outcome. The system provides a standardized data structure that can be used to uniformly capture algorithms across any health care domain. By assigning Step IDs to each Step object in the Metric Definition object, it is possible to record the outcome of the health care algorithm and the path taken to that result. That recorded path can be used to better understand the reason for algorithm failures.
In HERMES, the path traversed through an algorithm is summarized by a series of integer values, each representing a specific Step object in the Metric Definition object. The result of the Metric Definition (represented by a letter) is appended to the string of Step ID's to give the complete path traversed and the result. These output strings from HERMES, illustrated in
Of course, for each Metric Definition object there are a finite number of Reason Path permutations. Each permutation represents a different type of patient case path leading to an outcome for the Metric Definition object. The outcome of every patient care case for a particular Metric Definition can be expressed, in advance, by one or another of these permutations.
For example, from the AMI-2 example, the string “1|2|3|4|5|D” represents not only an instance of a patient case, but also a class of patient cases for AMI-2. The use of classes of Reason Paths enables grouping multiple similar patient cases based upon the Steps traversed for those cases in the Metric Definition object. These groupings allow analysis of the causes for a hospital's overall patient treatment score. Using software implementing methods described in U.S. Pat. No. 7,512,610, which is incorporated here by reference in its entirety, a frequency count of reason paths can be performed on a set of actual patient care cases. This frequency provides the data required for what we call a causal analysis for a hospital for that Metric Definition.
The steps for completing a hospital causal analysis and revealing the classes of failed cases that led to for a causal analysis score are as follows:
1. Obtain a report listing all Reason Paths over a population of patient cases, as illustrated in
2. Aggregate the Reason Paths into measure groups as seen in
3. Perform a frequency analysis on the Reason Paths for a specific measure as shown in
An object oriented meta-model to represent health care algorithms allows for more flexibility in data analysis. It provides the ability to categorize patient cases into different classes of Reason Paths that encompass all possible patient care outcomes. The power behind this approach is that it allows for the deep understanding of what led to a hospital's score.
A wide variety of other algorithms can benefit from the techniques described above, for example, other algorithms in the health care field, and particularly other algorithms in the Specifications Manual for National Hospital Quality Measures.
For instance, the Specifications Manual contains flowcharts that determine if a patient is in a given population to which the measures apply. For instance,
The steps are then codified in a file just as for measures, as shown in
This allows for an automatically generated explanation (reason path) of why a patient case is in a particular population in the same manner as for measures.
In the same manner as for measures and populations, the techniques can be applied to data quality checks. Prior to processing the data, the published Specifications require certain quality checks. The Specifications do not, in these examples, include flowcharts for the data quality checks as they do for measures and populations, but such flowcharts can be easily created.
By unifying the approach for data quality, population and measures, the system provides a simple consistent interface for users to load initial data from a file, then correct and enter further data regardless of what data is being corrected or entered. Data quality, population, and measure algorithms are treated consistently and can be considered a connected set of flowcharts, thereby allowing end-users to interactively change any data regardless of what processing follows.
Another example of the application of these technique is the selection of the correct version of the algorithms to run (as illustrated, for example, in the NHIQM Specification Selection flowchart in
This flowchart introduces a new step called AlgorithmStep (in effect, an embedded sub-algorithm) whose purpose is to invoke another set of algorithms as listed in the parameters section. Again an explanation can be automatically generated for an end user that describes why a particular version was chosen and why a particular set of algorithms were called.
The same technique can be applied to other algorithms, including new and different kinds of algorithms that may be encountered in health care contexts.
Other implementations are also within the scope of the following claims.