# Patent

## Title
Medical information event manager

## Abstract

An event management system and method detects the occurrence of events as a function, at least in part, of information and data gathered from monitoring one or more patients with a medical information system. Event detection processes can be defined and then triggered to cover any of a variety of circumstances. For instance, event detection processes can be defined that, when triggered, indicate that a certain patient (or patients) would make a suitable candidate for that clinical trial, a patient is a candidate for a certain type of treatment, or hospital resources are being utilized in a certain manner. That is, such events may relate to the efficiency or inefficiency in use of certain resources, or such events may concern usage under certain circumstances.

## Background
FIELD OF THE INVENTION
The inventive concepts relate to network computer systems and methods. More specifically, the present invention relates to systems and methods for creating, customizing and managing events relating to medical data by healthcare professionals.
BACKGROUND
When an individual is admitted as a patient into a hospital, certain information about the patient must be acquired and made available to various members of the hospital staff. Such information includes, for example, the patient's identity, address, age and occupation, next of kin, medical history, conditions for which treatment is sought, preexisting conditions, and any medical insurance information.
During a patient's stay in a hospital, written information relating to his medical history, doctors' and nurses' observations and remarks, laboratory reports, diagnoses, doctors' orders, prescriptions and other notes by the medical team, including doctors, nurses, technicians, orderlies and the like, become part of the patient's file. Patients with chronic conditions or who are frequently hospitalized may have numerous files of substantial size which contain important historic, as well as current, information. The information that is necessary to provide a complete picture of the patient includes, for example, the patient's vital signs, fluid balance, respiratory function, blood parameters, electrocardiograms, x-rays, CT scans, MRI data, laboratory test results, diagnoses, prognoses, evaluations, admission and discharge notes, and patient registration information. This information originates from a variety of sources, including the patient, doctors, nurses, monitors connected to the patient, testing laboratories, the patient's medical records, and hospital administration records.
A massive amount of information about the patient is therefore generated in a relatively short time. Increasingly, this information is automatically recorded or manually entered into a computer-based medical information system. Critical care environments, such as hospital intensive care units, trauma units, emergency rooms and the like, are filled with state-of-the-art electronic equipment for monitoring of patients. Such systems include a plurality of patient monitoring devices that record information related to the patient's status. These systems may also capture information about the medical resources being consumed.
Furthermore, many hospitals have changed the way in which patients are billed for services. In the past, patients were typically billed on the basis of days hospitalized. With recent changes in health care management and practice, patients are now more likely to be billed on the basis of treatments received. Greater efficiency in the treatment of patients is therefore emphasized. As a consequence, hospitals now scrutinize the effect of a treatment on a patient more closely, with increased monitoring, observation and recordation of the patient's responses to treatment. The burden of entry of the increased amount of information that must be recorded about a patient has been reduced by increased automation.
Commonly owned U.S. Pat. No. 6,322,502 B1 entitled Medical Information System provides an example of a system for obtaining data and information from and about a patient in a hospital, and making it immediately and selectively accessible to various members of the medical team in a hospital in accordance with the functions performed by those members. This information may be displayed, at least in part, on screen in a flowchart. To date, systems and methods for automated use of such data and information in identifying clinic opportunities are not provided, but could be extremely useful in efficiently identifying sets of individuals as candidates for certain clinic treatments, study groups or trials. Identification of opportunities to improve patient care and efficiency of resources using automated data would also prove to be extremely beneficial.
SUMMARY OF THE INVENTION
In accordance with the present invention, a system and method are provided that assist clinicians in their research, analysis, treatment, resource utilization, and quality assurance activities. For instance, a system in accordance with the present invention may inform clinicians of patients that are suitable for clinical trials, or may inform clinicians or administrators of inefficient use of (or need for) hospital resources. Such a system utilizes information generated or provided by a medical information system to identify the occurrence of certain “events.” A predefined set of condition statements that identify the occurrence of events are definable by a user (e.g., clinician) in the form of event detection processes. The occurrence of an event may, for example, cause an action to be initiated, such as messages to be generated and transmitted to bedside or remote displays of the medical information system, or to some other system. Detection of some events by one activated event detection process, may cause other event detection processes to be triggered or monitored for triggering. In one context, identification of clinical trial candidates may be performed by monitoring patients using the medical information system to gather data (e.g., “patient data”). Patient data is useful in determining whether an event has occurred. As one example, it enables an event detection process to flag a patient as a clinical trial candidate. At least some of the patient data is dynamically generated data from patient monitoring processes. The evaluation of the patient data may be performed in real-time, later off-line, or some combination thereof.
A typical medical information system in a clinic, hospital, or other medical facility may be a networked computer system that collects, stores, analyzes and manages a variety of types of patient data. Relatively static patient data, such as prior or current medical conditions, diagnosis, prognosis, statistics, and so on for one or more stays may also be maintained in the medical information system for a given patient. An account management system may be included as part of the medical information system, or it may be interfaced with the medical information system. The account management system typically stores patient account information, including patient name, address, telephone number, insurance information, billing and payment information, and the like.
Beyond relatively static patient data, dynamically changing patient data may also be collected and stored. Accordingly, monitoring processes and devices collect real-time or near real-time patient data during a patient's stay. Examples of dynamically changing patient data that may be monitored include a patient's heart rate, temperature, blood pressure, respiration rate, electrical brain activity, chemical balance or composition. These types of patient data are referred to as parameters. Many other types of patient data (or parameters) known in the art may also be collected or monitored. Monitoring is typically accomplished, to some degree, using bedside units (BSU's), which are devices included in or configured to interface with the medical information system and posted proximate to the patient. BSU's may include output devices such as display screens, printers, audible alarms, communication ports or some combination thereof, and input devices such as keypads, keyboards, input ports, probes, sensors, cameras, recorders or interfaces to other data sources.
In accordance with the present invention, an event management system is integral with or interfaced to the medical information system, which typically includes various patient monitoring systems and devices. The monitoring systems and devices provide inputs to the event management systems for determining whether or not events have occurred and event detection processes are to be triggered. The event management system may include, or may be configured for access by, any of a variety of devices, such as a desktop computer, workstation, laptop, personal digital assistant (PDA), telephone, server, or other network enabled device or programs, modules or components of such devices.
Using the event management system, event detection processes are defined by constructing a user (e.g., clinician) defined algorithm that utilizes patient data. The algorithm is comprised of a set of statements which define parameter-based tests or conditions to be met. As an example, a statement may be defined as “if temperature>100 degrees, then . . . ”. Depending on the algorithm embodied in an activated event detection process, processing of patient data according to one or more event statements may cause any of several responses. That is, responses to the detection of an event may include such actions as message generation and transmission, or some other action being initiated, maintained or terminated. Messages may be sent selectively to a subset of workstations, or other devices, or may be broadcast to all workstations or devices. That is, messages may be selectively targeted to certain sets or subsets of users, classes of users, or devices. After an event is detected, the event detection process may or may not continue to be active and another event detection process (i.e., a secondary event detection process) may be triggered, in response to detection by the first event detection process.
The event management system may include an event manager module, having logic and instructions necessary for establishing a graphical user interface for user devices (e.g., a desktop computer, workstation, PDA, and so on), generating event detection process algorithms and statements, defining events and event parameters, processing inputs and outputs, and interfacing with other relevant devices and programs (e.g., operating systems, desktop applications, and so on). The event manager module may be distributed across various devices, e.g., arranged in a client-server architecture, or implemented in other manners known in the art. Preferably, the event management system generates a user interface in a Web browser context and implements commonly available and known Web browser features, such as radio buttons, toolbars, drop down lists, menus, text entry fields, graphical linking and so on.



BRIEF DESCRIPTION OF THE DRAWINGS
The drawing figures depict preferred embodiments by way of example, not by way of limitations. In the figures, like reference numerals refer to the same or similar elements. Algorithms are defined according to one or more desired events.
FIG. 1 is a diagram of a system architecture including an event management system in accordance with the present invention.
FIG. 2A-2B are event flow diagrams implemented by the event management system of FIG. 1.
FIG. 3 is a top level event management system screen rendered on a workstation by the event management system of FIG. 1.
FIGS. 4A and 4B are a exemplary statement customization shots of screens, windows and forms rendered on a workstation by the event management system of FIG. 1.
FIG. 5A-5D are exemplary event customization shots of screens, windows and forms rendered on a workstation by the event management system of FIG. 1.
FIG. 6A-6C are exemplary event testing shots of screens, windows and forms rendered on a workstation by the event management system of FIG. 1.
FIG. 7 is a shot of an event log rendered on a workstation by the event management system of FIG. 1.
FIG. 8A-8F are exemplary event manager shots of screens, windows and forms rendered on a workstation by the event management system of FIG. 1.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
A system and method in accordance with the present invention provides a means for the detection of one or more events as a function, at least in part, of information and data gathered from monitoring one or more patients. In response to the detection of an event certain actions may be taken. Event detection processes can be defined and then triggered to detect the occurrence of any of a variety of conditions. For instance, for a given clinical trial, events can be defined that indicate that a certain patient (or patients) would make a suitable candidate for that clinical trial, i.e., the patient meets necessary or desired criteria. In other cases, events can be defined that indicate that the patient is a candidate for or in need of a certain type of treatment. In yet other cases, events can be defined that indicate that hospital resources are being utilized in a certain manner. That is, such events may relate to the efficiency or inefficiency in use of certain resources, or such events may concern usage under certain circumstances. Such resources may include availability or usage of equipment, inventories, and so on. An activated event detection process determines the occurrence of such events.
In the preferred form, an event management system is used in conjunction with a medical information system, such as described in U.S. Pat. No. 6,322,502 B1. The medical information system may include or be used in conjunction with a clinical system that is used for administering clinical trials. In the preferred form, the medical information system includes bedside devices and systems (collectively “bedside units” (BSUs)) for patient monitoring and care. The medical information system provides a means for monitoring patients and collecting, storing, and maintaining patient data. Patient data may include a combination of relatively static and dynamically changing information related to a patient. Relatively static patient data may include the patient's name, address, and insurance information, as well information regarding the patient's medical history and prior care, diagnosis, prognosis, treatment and related information. Dynamically changing patient data may include a patient's heart rate, temperature, blood pressure, respiration rate, electrical brain activity, and chemical balance or composition, or other typically measured parameters.
The present invention may be implemented within the architecture depicted in FIG. 1, as one possible embodiment. In this embodiment, a medical information system 110 comprises several workstations connected to a set of servers (not shown) via a network 115. The workstations and servers may be local, remote, or some combination thereof to each other. The medical information system 110 serves as the collector and maintainer of patient data, in a database system 112. The medical information system 110 is coupled to or includes a plurality of BSUs 140 that monitor patient status and collect patient data. In the preferred form, the BSUs also couple to network 115. Network 115 is depicted as a local area network (LAN) for simplicity. However, the present invention is not limited in this manner. Network 115 may by a LAN, wide area network (WAN), virtual private network (VPN), the Internet, World Wide Web or some combination thereof.
FIG. 1 shows an event management system 120 in accordance with the present invention, linked to medical information system 110 via network 115. There may additionally, or alternatively, be provided a wireless network link 135 between event management system 120 and medical information system 110. The event management system 120 may include its own database system 122 for storing information and data related to the events (e.g., event and statement definitions, algorithms, clinical trial treatment or resource information and data) as well as patient data. In other embodiments, the event management system 120 may be hosted on the same servers, workstations and computers as the medical information system 110 and may share at least a portion of database 112. Event management system 120 and medical information system 110 may access, or may be accessed by, one or more remote systems 130, with their own database systems 132, for data access, exchange, or maintenance. For example, such remote systems 130 may include wired or wireless computers, servers, cellular telephones, pagers, personal digital assistants, e-mail devices, or other network, Web or Internet enabled systems or devices.
In the preferred embodiment, the event management system 120 includes an event manager 125 that facilitates the creation of event detection processes and statements using a scripting language, e.g., VB Script, although other programming languages may be used. In the preferred embodiment, a statement is a VB Script function that is similar to a formula for determining the value of a given parameter or set of parameters (weighted or otherwise). A statement can call for patient data and calculate and output a parameter's value. The event manager 125 receives the outputs from statements included in the event detection process. Each executed statement returns a value, e.g., a true or false value, or initiates, terminates or maintains an action.
The example of FIG. 2A illustrates a typical event 200, e.g., for inclusion in a shock study. When the variables defined in block 202 are all fulfilled simultaneously, the event management system 120 generates a message, indicated in block 204. In this case, the event 200 has occurred if a particular patient is determined to be suitable for inclusion in a study about shock. The heart rate, blood pressure, and respiration rate information may be provided by the medical information system 110 and BSUs 140.
The diagram 250 of FIG. 2B offers a conceptual representation of the processing for determination of an event. In the preferred form, every event determination is based on the results of execution of one or more statements. In this example, the event includes three statements, statement A 252, statement B 254, and statement C 256. Each statement returns a numeric value into the event and the event sums all statement values. This sum is compared, in decision block 260, to predefined activation values for this event. Whenever the event value is higher than its activation value, the event has occurred or is “turned on”, in step 270. When an event is detected, one or more of three actions may be taken: (1) a message may be sent, in step 272; (2) the event process may or may not continue to be active, in step 274; and (3) another, secondary event detection process may begin, in step 276. If the event is not detected, it continues to check the patient data, in step 274. In step 278, a request for validation may also be performed, wherein the user responds to or confirms the detection. For example, referring to FIG. 2A, the statement HR>120 bpm may return the value 1 when the heart rate is greater than 120 and return the value 0 when the heart rate is lower than 120.
The event manager 125 can assist clinicians in their research and quality assurance activities. An event manager graphical user interface provides users with a mechanism to define and create their own event algorithms and messages. In the preferred form, the event manager 125 runs on data from the medical information system database 112 and may be configured to operate with a time delay to enable larger amounts of data to be stored before event statement processing. When sending messages, the event manager 125 can be customized to send a message to all workstations of the event management system 120 or medical information system 110. The event manager 125 can send messages to devices (e.g., displays) within the medical information system or beyond, such that a device displaying a flowsheet for one patient could have a pop-up window rendered with a message that is not related to that flowsheet or patient.
I. Customizing with the Event Manager
Before event detection processes can be triggered in a medical information system 110, events must be created and customized to the needs and requirements of the clinical environment. Using the event manager 125, the event creation and customization process involves two main elements: creating (or customizing) statements and creating (or customizing) events. The same statement may be used in numerous events.
Event Manager Customization Screen
In the preferred form, events are created and customized using an event manager customization screen 300, shown in FIG. 3. The event manager customization screen 300 comprises an icon toolbar 302, which includes icons for creating, saving, deleting, testing, and filtering statements and events. The screen includes two panes, a statements and events pane 310 and a customization pane 320. Statements and events pane 310 includes a statements and event tree 312. The statements portion of tree 312 includes all customized statements, divided into categories. The events portion of tree 312 includes all customized event detection process divided into categories. The customization pane 320 is context sensitive and contains different functionality depending upon the element that is then being customized, namely, the statement or event detection process.
The icons in the icon toolbar 302 are context sensitive; that is, they perform different actions depending on the element being customized. The New icon facilitates creation of a new statement or event detection process, depending on whether Statement or Event is highlighted in the statements and event tree 312. The Save icon saves the newly customized statement or event detection process. The Delete icon deletes the event detection process or statement highlighted in the statements and event tree 312. The Test icon facilitates testing of event detection processes using prior data. Finally, the Filter icon facilitates the display of specific user selected statements and event detection processes.
Customizing Statements
At a top level, to customize a statement, a user may (1) open a new statement form; (2) enter a category, name, and abbreviation; (3) enter a logical script in the composition pane; (4) select a type of return; (5) add result values; (6) check syntax; and (7) save the statement. In the preferred form, a statement is a parameter so the statement and its results may be represented in a flowsheet rendered on a medical information system 110 display. In this case, the flowsheet cell displays the resultant value of the statement, whether the event detection process including the statement was activated or not.
At a more detailed level, statements may be built step-by-step. FIG. 4A shows a statement form (or screen) enabled from the event manager customization screen 300 shown in FIG. 3. A new statement may be created according to the following steps:
Step 1: In this step, the user opens a new (or customize) statement form 420 as follows:
1. Highlight Statements in statements and events tree 312 of screen 300.
2. Select New from the icon toolbar 302 and the statement form 420 appears in place of the customization pane 320.
3. The statement form 420 includes two tabs, which cover all stages of statement customization. A Script tab 422 is used for building a statement. A Used by tab 424 includes a list of all the event detection processes that use a selected statement. The Used by tab 424 includes data only after the statement has been used in an event detection process.
Step 2: In the second step, the user enters a category, name and abbreviation. Every statement belongs to a category, and the category is defined by a name and abbreviation. In the preferred embodiment, the statement form 420 includes a category dropdown list 426 to accept selection of a predetermined category for association with a statement. This category dropdown list 426 includes all relevant parameter categories. From the category dropdown list 426, a category may be selected. To identify the new statement, a statement name and abbreviation are entered into the relevant fields.
Step 3: In the third step, the user enters a script in composition window 430. In the preferred form, the composition window 430 is a VB Script editing window. The composition window 430 supports a high degree of functionality, such as “if/then” statements and variable definitions. For sophisticated calculations, a user may use formula parameters from its own database. In the preferred form, different script term functions appear in different colors. Delimiters appear in green, functions appear in pink, keywords appear in blue, and operators appear in dark red. Although based on VB Script, the composition window 430 may easily be used without any knowledge of VB Script. The script in the composition window always returns a value, by default; it therefore always includes a function called “Return_Value=”, as is shown.
A simple script may contain only the abbreviation of the parameter to be used in the statement, for example “Return_Value=(“HR”)”. This script will return the current heart rate value of a patient: The parameter abbreviations may be inserted into the composition window 430 using an Insert parameter function, shown in FIG. 4B. To accomplish this, a right-click action within the composition window 430 causes an Insert parameter option button 470 to be rendered. Selection of this option button 470 opens an Insert parameter form 480. The desired parameter for use in the statement can be selected from the Insert parameter form 480. Upon selection, the parameter abbreviation is automatically inserted into the composition window 430. Select Close and the Insert parameter form 480 closes. Also note, formula syntaxes may be entered into the composition window 430.
Step 4: In this step, the user selects the type of return, from the return options 440 of FIG. 4A. Each statement returns a result. The result for a given statement is used in any event detection process to which the statement is assigned. In the preferred form, this result may be one of three types:
Boolean—Returns either true or false. For example, if the heart rate is greater than 120, returns true, else returns false.
Value—Returns a predefined value for each result returned from the script. For example, if the systolic blood pressure is lower than 90, return 10, if it is between 90 and 120, return 5, and if it is greater than 120, return 7.
Actual value—Returns the actual result returned from the script. For example, if the systolic blood pressure is 90, the return result is 90.
To choose a type of return, select the appropriate radio button beside the set of return options 440. When box 442 of Show only if complete is checked, the statement will return a result value only if all the components of the statement exist. Otherwise, no result value will be returned.
Step 5: In this step, the user adds or defines result values. New statement form 420 includes mechanisms 450 to define a new result value. Selecting the Add button causes a window to open that allows selection and input of an operand. Options for editing and deleting a return value are also provided. In the preferred form, an operand dropdown list is presented from which the user can select the required operand. The dropdown list includes the following operands: >, ≧, <, ≦, =, < >. Once the operand is selected, the user can enter a value to which the operand refers in a provided value field, for example, >100. The user can then select the return value, as discussed above.
If working with a Boolean type of return, the returns field will contain a dropdown list with the options True or False. If choosing to return a value from a predetermined set of values, a required return value will need to be entered into a return field. If choosing to return an actual value, there is no need to define operands and return values.
Step 6: Before completion, the user can check the validity of the syntax of the new script. To do so, the user selects the Check statement syntax button 460. If the script contains any syntax errors, a message will be returned indicating the location of the error (e.g., row+column), facilitating correction of the error.
Step 7: The statement can be saved by selecting the Save icon from toolbar 302.
The above steps may be further appreciated by continuing the previous Example 1 of FIG. 2A. In creating an event to assess suitability for inclusion in a shock study, create statements for HR>120 bpm, systolic BP≦90 mmHg, and respiration rate>20/m. Using screen 400, select Event manager category. Name the statement “ShockStudy_HR” and give it the abbreviation “ShockStudy_HR”. In the composition window 430 enter “Return_Value=(“HR”)”. Select the Boolean type of return and select the Show only if complete option 442. Select the operand≧and enter the value 120. Select the True option in the returns dropdown list (not shown) and save the statement for HR≧120 bpm. This procedure can be repeated to create statements for systolic blood pressure and respiration rate.
Customizing Events
At a top level, to customize an event: (1) open a new event form; (2) define an event detection process; (3) define action options; (4) set an event detection process schedule; and (5) save the new event detection process. Note that an event detection process may be represented as a parameter in a flowsheet. In this case, the flowsheet cell will display the result value of the event detection process, whether activated or not.
At a more detailed level, event detection processes may be built step-by-step. FIG. 5A shows a new event form (or screen) enabled from the event manager customization screen 200, shown in FIG. 3. A new event detection process may be created according to the following steps:
Step 1: In this step, the user opens new event form 520 as follows:
1. In the statements and events tree 312 highlight Events.
2. In icon toolbar 302, click the New icon and the new (or customize) event form 520 appears in place of the customization pane 320. The event form 520 contains three tabs, which cover all aspects of event customization. An Event manager tab 522 is used for building the event detection process from component statements. An Action tab 524 is used to customize functions related to activation of the event detection process. A Schedule tab 526 is used to define when, how often, and for how long the event detection process will run.
Step 2: In this step, the event detection process is defined. The statements used to define an event are selected through the Event manager tab 522. To define an event detection process, the user enters the category, name and abbreviation in the customization pane 520 fields. Like other parameters, every event detection process belongs to a parameter category, and has a name and abbreviation. The category and be chosen from a Category dropdown list. This dropdown list includes all parameter categories. Select the Add button within event form 520 and an Add new statement window 550 opens (shown in FIG. 5B).
From the Add new statement window 550, a statement category can be selected from the Category dropdown list presented in this window. From a Statement name dropdown list statements can be selected. If the type of return is Boolean, the values the statement should return for true or false results can be entered, for example, 1 for true and 0 for false. If the type of return is not Boolean, these areas will not appear. Select an action to be performed when an error condition exists from an On error action dropdown list. For example, such errors may be division by zero, not all the required values exist, and so forth. The On error action dropdown list offers two options: return value and stop process. In the return value option, once an error is identified, the statement returns a predefined value. In the stop process option, the event detection process is terminated when an error is identified in the statement. If the return value option was selected in the previous field, the error value can be entered.
Returning to the event form 520 of FIG. 5A, an Event activation area 530 is provided for entry of event detection process activation values. The Event activation area 530 is used to define the conditions under which the event detection process will be activated. Every statement returns a value to the event detection process. The values of all the statements assigned to the event detection process are added together to create the event detection value (or test condition). This value is compared to the reference values that were defined in the Event activation area 530. If the value of the event detection process is lower or higher, depending on the definition of the event detection process, then the limits that were set, the event has been detected. The event detection process results may be presented as a parameter within a flowsheet.
The above steps may be further appreciated by continuing the previous Example 1 of FIG. 2A. Wherein, after creating the statements required for the shock study event, create the event detection process, add the statements, and enter the event activation values that will enable the event detection process. From the Event area 528, select the Event Manager category and name the event “ShockStudy” and give it the abbreviation “ShockStudy” (see FIG. 5A). Add the ShockStudy_HR statement by selecting the category Event manager and selecting the name “ShockStudy_HR”. Enter true value=1 and false value=0. Then select an On error action dropdown list and select a return value. Enter error value 0. Repeat for the other statements required to fully define this event, i.e., systolic blood pressure and respiration rate. Enter event test condition (e.g., “higher than 2”). In this example, if all three statements have a value of 1 (i.e., true), then the event has been detected, since the sum will be three.
Step 3: In this step, the user defines action options. The Action tab 524 of event form 520 is used to customize actions in response to detection of an event. FIG. 5C provides an example of an Action window 580. Action window 580 is divided into three sections, representing three types of actions:
Message 582—This section allows creation and transmission control of event messages. A message field 583 defines a space for composition of a free text message that will appear when the event is detected. If a message is not to be sent, the Send message to patients message center checkbox should not be selected. If a message is to be sent to all patients, check the Send to all patients check box (shown grayed out).
Activation 584—By default, an event detection process will run according to the predefined schedule after being triggered. The Activation section 584 allows a user to define a period of time during which the event detection process will not run again after activation. In addition, a user may define that an event detection process will run only once after being triggered. To make these selections, activation of the Repeat only after button and Trigger only once button are activated (shown grayed out).
Secondary event 586—This section allows the definition of secondary event detection processes. A secondary event detection process is a process that starts when an event upon which it is dependent has been detected. For example, an event detection process that identifies low blood pressure may start another event detection process that identifies high heart rate. To select a secondary event detection process: (1) select the Events list button; an Events list window opens (not shown); (2) a category can be selected from a Category dropdown list; and (3) the required event detection process can be selected from a presented Events list. The secondary event detection process can be set to begin at a defined time after the first event is detected. This time period can be defined in minutes or hours. It is set in the Delay fields associated with the Secondary event field.
Continuing with Example 1, from Action window 580 a user can define action options for the Shock Study event, by creating a message to be sent to the patient message center once only. The text “This patient may be suitable for inclusion in shock study” may be entered into the Message field 582. The Send message to patients message center check box should be selected from Message section 582. As an example, select Trigger only once option.
Step 4: In this step, the user can set an event detection process schedule. From event form 520, the Schedule tab 526 is selected. Selection of the Schedule tab 526 causes a Schedule window 590 to be rendered, shown in FIG. 5D. The Schedule window 590 is used for defining when and for how long the event detection process will run. The Schedule window 590 includes the following sections:
Duration 592—This section of Schedule window 590 provides mechanisms to set specific dates on which the event detection process will run.
Start time 594—This section includes three options: (1) No start time, wherein the event detection process begins to run as soon as it is assigned; (2) Start at, wherein the event detection process begins to run at a predetermined time; and (3) Start [ ] hours after admission, wherein the event detection process begins to run at some user input number of hours after the patient was admitted.
End time 596—This section includes the same functionality as the Start time 594 segment.
Frequency—Interval 598—This section provides mechanisms to set the frequency at which the event detection process will run. For example, if the user sets the Frequency field to 1 hour, the event detection process will look for values every hour. An event detection process that runs at a frequency of one minute will cause a much greater load on the system than an event detection process that runs at a frequency of one hour. Many events with a frequency of one minute running simultaneously may unacceptably slow the system, in some implementations.
The Frequency—Interval portion 598 section also provides mechanisms to set the time interval that will be checked every time the event detection process runs. For example, if a user sets the Interval field to 1 hour, every time the event detection process runs it will run on the data from the previous hour. Note, in the preferred form, the event manager 125 will always start looking for data in the first minute of the defined interval and will then continue checking forward. This means that the data used is not necessarily the most recent data available in the database. The frequency and interval should be selected according to the parameters defined in the event detection process and considering the way it will affect system performance.
An event detection process that is based on parameters that are received every minute, such as heart rate, may be set with a frequency of 1 minute. An event detection process that is based on, for example, lab data and order parameters may be set with a lower frequency, and at an interval that covers the time gaps: e.g., a frequency of 30 minutes and interval of 30 minutes. The Interval value should be selected according to the intervals on which the data is usually entered into the system. For instance, if lab data enters the system at a maximum frequency of every hour, the user may set a frequency and an interval at 1 hour. Note that if the interval is lower than the frequency, some of the data will not be searched for events. For example, if the frequency is set to 1 hour with an interval of 30 minutes, only 30 minutes of each hour will be searched by the event manager 125.
Continuing Example 1, to set an event detection process schedule using Schedule window 590, the user may select start and end times, frequency, and interval for the event detection process, so that the event detection process starts running immediately. To do so, the user selects No start time and No end time. A frequency of 1 minute is set. And, an interval of 2 minutes is set. This overlap is necessary because a value may be missing in a specific minute, or there may be a difference between the time the event is checked and the time the signal enters the system.
Step 5: In this step the event detection process is saved. Referring to FIG. 5A, to save the customized event detection process, the Save icon in icon toolbar 302 is selected. Once the event detection process is customized, it is displayed in the Used by tab 424 (see FIG. 4A) in association with the corresponding statement. A statement or event detection process that is in use in another event detection process may not be deleted.
Testing Events
Preferably, the event management system 120 includes mechanisms to test event detection processes and statements, other than those syntax related mechanisms discussed earlier. In the preferred form, the customization form enables a user to test an event detection process with existing data. Such tests help the user to estimate how often and under what circumstances the created event detection processes will be activated. This option is also available via the event manager module 125, discussed in greater detail below.
To perform a test, referring to FIG. 4A, an event detection process to be tested is selected from the statements and events tree 312. The Test icon from icon toolbar 302 is then selected, causing an Event test window 600 to open, see FIG. 6A. Required dates and times for the test are entered into the Test period section 602 of Event test window 600. Required frequency and interval are also entered in the Checking section 604. These fields have the same functions as the Frequency and Interval fields in the previously discussed Schedule window 590. A patient to be used in performance of the test is highlighted from a Patients list 612 within an Assigned patients pane 610. Highlighted patients are entered into a Selected patients list 614 using a selection arrow. A user can test the event detection process on all patients, by using the double-arrow button to move all patients to the Selected patients list 614. To initiate the test, select the Test button 616 and a Test results window 630 opens, see FIG. 6B. The duration of the test depends on the complexity of the event detection process, the defined time frame for the test, the selected frequency and the number of patients.
Once the test is complete, test results can be copied into another application (e.g. Microsoft WordTM or ExcelTM) for further analysis. To copy test results, the Copy button 632 of Test results screen 630 is selected. In the preferred form, this causes a Copy Options window 650 (see FIG. 6C) to open offering copying options, including: Copy test results list 652 or Copy test results details 654. The user selects the radio button of the preferred option. Results can be copied ‘as is’, or with the details of the event for each result. Selection of the OK button 656 pastes the results into the required application.
II. Using the Event Manager
The event manager 125 is the module that enables the user to manage existing event detection processes and view the details of events that were detected. Unlike other modules, the event manager 125 is not only related to the current patient, but can present data for all patients at any time and at any BSU. Therefore, an event message relating to one patient may be presented (or pop-up) on a display, while that display is presenting the data or flowsheet of another patient. If this is the case, the event message will preferably observe a format similar to that shown in an event manager log window 700 of FIG. 7. Note, the event manager log window 700 of FIG. 7 includes the phrase “This is not the current patient” warning at the bottom of the message pop-up dialog box, indicating that the test message relates to a patient not represented in the flowsheet.
FIG. 8A shows an event manager screen 800, in accordance with the present invention. The event manager screen 800 included the following elements:
Icon toolbar 802—The icon toolbar 802 facilitates access to frequently used event manager functionality. These icons are context sensitive, so are selectively enabled given the user's interactions with the various mechanisms and areas of the screen. For example, the Save button saves assignments for patients and for event detection processes.
Patients and Events Tree 812—The patients and events tree 812 includes three parts: Patients, Assigned events, and Events. The Patients portion of the tree includes two lists, i.e., Active patients and Non-active patients. The Assigned events portion includes all event detection processes that are currently assigned to patients, divided into categories. The Events portion includes all customized event detection processes, divided into categories.
Monitoring 822—The Monitoring tab 822 causes a monitoring window to be rendered that includes a list of event detection processes that have been activated, corresponding to the highlighted option in the Patients and Events tree 812 and a defined timeframe.
Assignment 824—The Assignment tab 824 causes a window to be rendered that is used for assigning event detection processes to patients and beds. The content of this window changes according to the highlighted option in the patients and events tree 812.
As an example, selection of the Monitoring tab 822 causes a monitoring window 830 to be rendered (see FIG. 8B). The monitoring window 830 includes a list of activated event detection processes 832, corresponding to the highlighted option in the patients and events tree 812, and a defined timeframe. The list of event detection processes changes according to the highlighted option in the patients and events tree 812. For example, if a patient name is highlighted, the list will show the event detection process activated for that patient at the specific timeframe. If an event detection process is highlighted, the list will show the activation times for the event detection process in the specific timeframe, for all patients. The timeframe for the event detection process list 832 is provided for in the Activation time section 826 of the event manager window 800. In the preferred form, the default time frame is the last 24 hours.
The Event log details button 834 of the monitoring window 830 opens a window (not shown) with activation details of the event detection process highlighted in the event detection process list 832. These details refer to a specific activation for an event detection process or for a given patient. The Assigned event details button 836 of the monitoring window 830 causes a window to be opened with activation details of the event detection process highlighted in the event detection process list 832. These details refer to general details of the event detection process.
Selection of the Assignment tab 824 causes a context sensitive assignment window 850 (see FIG. 8C) to be rendered. That is, the available functions change according to the highlighted option in the patients and events tree 812. If a patient is highlighted, the assignment tab includes an Events list 852 and an Assigned events list 854. Using assignment window 850, an event detection process can be assigned to a patient as follows:
1. Highlight the required event in the Events list 852.
2. Select the arrow “>” and the event moves to the Assigned events list 854.
3. Select the Save icon in the event manager screen 800 icon toolbar 802 (see FIG. 8A).
If an event detection process highlighted, the assignment window 850 is transformed to the Assignment window 860 of FIG. 8D to include a Patients list 862 and a Beds list 864. Assigning a patient or a bed to an event detection process is done in the same manner as assigning an event detection process to a patient, previously discussed, i.e., by selecting from the list and actuating the corresponding arrow button. When an event detection process is assigned to a bed, it will run on all patients that are admitted to that bed.
Assignment window 860 also allows a user to assign an event detection process to all patients, by selecting the All patients button 866. The Assigned event details buttons 868, associated with the assigned patients and assigned beds, are used for setting the event for the assignment. Actuation of the Assigned event details button 868 opens an assigned event details form 870 (see FIG. 8E), similar to the new event form 520 of FIG. 5A. The assigned event details form 870 includes default values assigned to the event during the customization process. The user can change these default values for the specific assignment. For instance, the user may change the frequency for a specific assignment, if assigning the event detection process to a large number of patients, in order to avoid unwanted slowdown effects on system performance. The Event manager tab 872 of the assigned event details form 870 may include an Enabled check box (not shown), which indicates that an assignment may be marked as non-active, but kept for future use. When the set of defined conditions is met, an event manager message window 880 pops up on the user's screen, such as that of FIG. 8F.
Using the event manager message window 880, a user can enter a comment in the Comments area 882 before validating the message. To see additional information regarding the event detection process, the user selects the Details button 884. The Details button 884 opens a details section (not shown) of the message window 880. In order to close the event manager message window 880, the Validate button 886 is selected. Like other validation actions in the preferred embodiment of the event manager 125, this action is registered under the name of the user who performed it.
While the foregoing has described what are considered to be the best mode and/or other preferred embodiments, it is understood that various modifications may be made therein and that the invention or inventions may be implemented in various forms and embodiments, and that they may be applied in numerous applications, only some of which have been described herein. As used herein, the terms “includes” and “including” mean without limitation. It is intended by the following claims to claim any and all modifications and variations that fall within the true scope of the inventive concepts.

## Claims

1. An event management system, configured to access or obtain patient data from a medical information system comprising a set of electronic devices including means for monitoring patients, wherein said event management system comprises:
A. an event manager hosted, at least in part, on a set of electronic devices having output devices and input devices, said event manager comprising:
1) a statement customizer configured to define for defining one or more statements, each of said statements configured to test at least one criterion;
2) an event customizer, including means for defining an event detection process, selected from a plurality of event detection processes, and associating a set of said statements with said event detection process, and means for defining an event test condition, at least one event action, and a time schedule for executing said event detection process, wherein each statement of said set of statements provides information used in said event detection process;
3) an analyzer, configured to apply said set of statements to said patient data and to determine satisfaction of said test condition, as a function of satisfaction of one or more criterion of said set of statements; and
4) an activator, configured to initiate said at least one event action, selected from a plurality of predefined actions, in response to said satisfaction of said test condition.

2. The system of claim 1, wherein said at least one event action is the generation of a text message configured for presentation on a display of said event management system.

3. The system of claim 1, wherein said at least one event action is the generation of a test message configured for presentation on a display of said medical information system.

4. The system of claim 1, wherein at least some of said set of event electronic devices and said medical information system set of electronic devices are electronic devices shared by the event management system and the medical information system.

5. The system of claim 1, wherein said event management system is accessible by a wireless device.

6. The system of claim 1, wherein said event management system is configured to couple to said medical information system via a LAN, WAN, virtual network, private network, the world wide web, the Internet, a telephone network, or some combination thereof.

7. The system of claim 1, wherein said event customizer is configured to associate each statement from said one or more statements with more then one event detection process.

8. The system of claim 1, further comprising:
5) an event detection process tester, configured to execute said event detection process using prior patient data.

9. The system of claim 1, wherein said at least one criterion is associated with candidacy requirements for inclusion of a patient in a clinical trial and said event action includes an identification of one or more candidate patients for said clinical trial.

10. The system of claim 1, wherein said at least one criterion is associated with a medical condition of a patient and said event action includes an identification of a treatment for said medical condition.

11. The system of claim 1, wherein said at least one criterion is associated with use of one or more medical information system resources and said event action includes an identification of one or more inefficiently used resources.

12. The system of claim 1, wherein said at least one event action is transmission of a signal configured to terminate a monitoring process by said medical information system.

13. The system of claim 1, wherein said at least one event action is transmission of a signal configured to begin a monitoring process by said medical information system.

14. The system of claim 1, wherein said event customizer includes means to associate a secondary event detection process with said event detection process, wherein said secondary event detection process is chosen from a set of previously defined event detection processes.

15. The system of claim 1, wherein said event manager further includes means to set an event detection process frequency and interval for selectively enabling said analyzer.

16. The system of claim 1, wherein the time schedule comprises at least one of a frequency, an interval, a start time, an end time and a duration, for selectively enabling said analyzer.

17. An event management system, comprising:
A. a communication network;
B. a plurality of patient monitoring devices coupled to said network, including means for providing dynamically changing patient data;
C. a set of electronic devices coupled to said network and having output means and input means; and
D. an event manager, hosted on said set of electronic devices, said event manager comprising:
1) a statement customizer configured to define one or more statements, each of said statements configured to test at least one criterion;
2) an event customizer, including means for defining an event detection process, selected from a plurality of event detection processes, and associating a set of said statements with said event detection process, means for defining an event test condition, at least event action, and a time schedule for executing said event detection process, wherein each statement of said set of statements provides information that is used in said event detection process;
3) an analyzer, configured to apply said set of statements to said patient data and to determine satisfaction of said test condition, as a function of satisfaction of one or more criterion of said set of statements; and
4) an activator, configured to initiate said at least one event action, selected from a plurality of predefined actions, in response to said satisfaction of said test condition.

18. The system of claim 16, wherein said event management system is configured for access by a wireless device.

19. The system of claim 17, wherein said network includes a LAN, WAN, virtual network, private network, the world wide web, the Internet, a telephone network, or some combination thereof.

20. A method of establishing event management for use in conjunction with a medical information system, wherein said medical information system is configured for monitoring a plurality of patients and providing dynamically changing patient data, said method comprising:
A. interacting with said medical information system, including receiving said patient data;
B. defining one or more statements, each of said statements configured for testing at least one criterion;
C. defining an event detection process, selected from a plurality of event detection processes, including associating a set of said statements with said event detection process, defining an event test condition, at least one event action, and a time schedule for executing said event detection process, wherein each of the said statements provides information that is used in said event detection process;
D. establishing an analyzer configured for applying said set of statements to receive patient data and for determining satisfaction of said even test condition, as a function of satisfaction of one or more criterion of said set of statements; and
E. establishing an activator for initiating said at least one event action, selected from a plurality of predefined actions, in response to said satisfaction of said event test condition.

21. The method of claim 20, wherein said at least one event action includes generating a test message configured for presentation on a display of said event management system.

22. The method of claim 20, wherein said at least one event action includes generating a test message configured for presentation on a display of said medical information system.

23. The method of claim 20, wherein at least some of said set of event electronic devices and said medical information system set of electronic devices are electronic devices shared by the event management system and the medical information system.

24. The method of claim 20, wherein said interacting includes coupling to said medical information system via a LAN, WAN, virtual network, private network, the world wide web, the Internet, a telephone network, or some combination thereof.

25. The method of claim 20, wherein said each statement from said one or more statements can be associated with more then one event detection process of a plurality of defined event detection processes.

26. The method of claim 20, further comprising testing the event detection process by executing said event detection process using prior patient data.

27. The method of claim 20, wherein said at least one criterion is associated with candidacy requirements for inclusion of a patient in a clinical trial and said at least one event action includes an identifying one or more candidate patients for said clinical trial.

28. The method of claim 20, wherein said at least one criterion is associated with a medical condition of a patient and said at least one event action includes an identifying a treatment for said medical condition.

29. The method of claim 20, wherein said at least one criterion is associated with use of one or more medical information system resources and said at least one event action includes an identifying one or more inefficiently used resources.

30. The method of claim 20, wherein said at least one event action includes transmitting a signal configured to terminate or initiate a monitoring process by said medical information system.

31. The method of claim 20, wherein said defining an event detection process includes associating a secondary event detection process with said event, wherein said secondary event detection process is chosen from a set of previously defined event detection processes.

32. The method of claim 20, further comprising setting an event detection process frequency and interval for selectively enabling said analyzer.

33. A method of providing event management, on a computer-based system comprised of a plurality of networked electronic devices, said method comprising:
A. monitoring a plurality of patients and obtaining patient data, including dynamically changing patient data;
B. defining one or more statements, each of said statements configured for testing at least one criterion;
C. defining an event detection process, selected from a plurality of event detection processes, including associating a set of said statements with said event detection process, defining an event test condition, at least one event action, and a time schedule for executing said event detection process, wherein each statement of said set of statements provides information used in said event detection process;
D. establishing an analyzer configured for applying said set of statements to receive patient data and for determining satisfaction of said even test condition, as a function of satisfaction of one or more criterion of said set of statements;
E. establishing an activator for initiating said at least one event action, selected from a plurality of predefined actions, in response to said satisfaction of said event test condition; and
F. providing an indication of said event action at one or more of said electronic devices.

34. The method of claim 33, comprising displaying a message on a display of one or more electronic devices representative of said at least one event action.