Facilitating computerized interactions with EMRS
11636928 · 2023-04-25
Assignee
Inventors
- Robert Wartenfeld (Gealya, IL)
- Ziv Ofek (Meitar, IL)
- Eyal Greenberg (Meitar, IL)
- Ziv Gome (Beit Kama, IL)
- Shiri Ben-Tal (Omer, IL)
Cpc classification
G16H10/00
PHYSICS
G16H70/00
PHYSICS
G16H15/00
PHYSICS
G16H10/60
PHYSICS
G16H40/40
PHYSICS
G06Q50/22
PHYSICS
International classification
G06Q50/22
PHYSICS
Abstract
A method for using a health information exchange system which stores patient record data regarding a multiplicity of patients, to serve a first plurality of EMRs each interacting with an EMR community including a set of at least one EMR, the method comprising: for each individual EMR within the first plurality of EMRs, performing a computerized context interception process using a processor to intercept context from the individual EMR and to identify there within an event whereby a health provider using the individual EMR calls up an individual patient's record from said individual EMR; and responsive to identification of the event, using a computerized output device for providing patient record data, pertaining to the individual patient, to the health provider.
Claims
1. A computing device, comprising: a processor; a display; and memory storing an agent application that, when executed by the processor, causes the processor to perform acts comprising: capturing a patient identifier for a patient from an electronic health records application (EHR); responsive to capturing the patient identifier, retrieving first health information for the patient from a health information exchange (HIE) system based upon the patient identifier, wherein the HIE system comprises health information for a plurality of patients from a plurality of sources; and displaying, on the display, a first graphical user interface (GUI) for the agent application that is bound within a second GUI for the EHR that is displayed on the display, wherein the first GUI includes the first health information for the patient retrieved from the HIE system, wherein the second GUI includes second health information for the patient that is maintained by the EHR, wherein the first GUI and the second GUI act as a single unified GUI when the computing device receives input with respect to the second GUI, and further wherein the first health information for the patient is divided into categories, wherein the first GUI includes a plurality of fields, wherein each field displays an identifier for a category in the categories.
2. The computing device of claim 1, the acts further comprising: responsive to detecting a position change of the second GUI on the display, concurrently repositioning the first GUI on the display such that the first GUI remains bound within the second GUI.
3. The computing device of claim 1, the acts further comprising: responsive to detecting a minimization of the second GUI on the display, concurrently minimizing the first GUI.
4. The computing device of claim 1, wherein retrieving the first health information for the patient from the HIE system comprises: transmitting the patient identifier to a web service that is executing on a server computing device that is in network communication with the computing device, wherein the web service retrieves the first health information for the patient based upon the patient identifier, wherein the web service transmits the first health information for the patient to the agent application; and receiving the first patient information from the web service.
5. The computing device of claim 1, wherein the categories include at least one of: allergies of the patient; medications of the patient; encounters of the patient with healthcare organizations; or conditions of the patient.
6. The computing device of claim 1, the acts further comprising: subsequent to retrieving the first health information, identifying a subset of the first health information that is duplicative with the second health information; and removing the subset of the first health information from display within the first GUI for the agent application.
7. A method executed by a processor of a computing device while the processor executes an agent application, the method comprising: capturing a patient identifier for a patient from an electronic health records application (EHR); responsive to capturing the patient identifier, retrieving first health information for the patient from a health information exchange (HIE) system based upon the patient identifier, wherein the HIE system comprises health information for a plurality of patients from a plurality of sources; and displaying, on a display of the computing device, a first graphical user interface (GUI) for the agent application that is bound within a second GUI for the EHR that is displayed on the display, wherein the first GUI includes the first health information for the patient retrieved from the HIE system, wherein the second GUI includes second health information for the patient that is maintained by the EHR, wherein the first GUI and the second GUI act as a single unified GUI when the computing device receives input with respect to the second GUI, and further wherein a subset of the first health information is visually highlighted within the first GUI to indicate that the subset of the first health information is being presented for a first time within the first GUI.
8. The method of claim 7, further comprising: prior to retrieving the first health information for the patient, capturing a health provider identifier for a health provider and an EHR identifier for the EHR from the EHR, wherein retrieving the first health information for the patient from the HIE system is further based upon the health provider identifier and the EHR identifier.
9. The method of claim 7, wherein the patient identifier is displayed within the second GUI, wherein the agent application captures the patient identifier via screen scraping of the second GUI.
10. The method of claim 7, wherein the EHR transmits the patient identifier to the agent application, thereby causing the agent application to capture the patient identifier.
11. The method of claim 7, further comprising: responsive to detecting a position change of the second GUI on the display, concurrently repositioning the first GUI on the display such that the first GUI remains bound within the second GUI.
12. The method of claim 7, wherein each element of the first health information has an assigned date, wherein each element of the first health information is arranged chronologically within the first GUI.
13. A computer-usable medium that stores an agent application that, when executed by a processor of a computing device, causes the processor to perform acts comprising: capturing a patient identifier for a patient from an electronic health records application (EHR); responsive to capturing the patient identifier, retrieving first health information for the patient from a health information exchange (HIE) system based upon the patient identifier, wherein the HIE system comprises health information for a plurality of patients from a plurality of sources; identifying a population to which the patient belongs based upon the patient identifier and the first health information for the patient; retrieving health information for the population from the HIE system based upon an identifier for the population; and displaying, on a display of the computing device, a first graphical user interface (GUI) for the agent application that is bound within a second GUI for the EHR that is displayed on the display, wherein the first GUI includes the first health information for the patient retrieved from the HIE system and the health information for the population, wherein the second GUI includes second health information for the patient that is maintained by the EHR, wherein the first GUI and the second GUI act as a single unified GUI when the computing device receives input with respect to the second GUI.
14. The computer-usable medium of claim 13, the acts further comprising: responsive to detecting a position change of the second GUI on the display, concurrently repositioning the first GUI on the display such that the first GUI remains bound within the second GUI.
15. The computer-usable medium of claim 13, the acts further comprising: determining a healthcare workflow that is being performed by a healthcare provider that is operating the computing device; identifying a subset of the first health information that is relevant to the healthcare workflow; and filtering a remaining portion of the first health information from display within the first GUI, wherein the remaining portion fails to include the first subset of the first health information.
16. The computer-usable medium of claim 13, the acts further comprising: prior to capturing the patient identifier, receiving access credentials for a healthcare provider that is operating the computing device; and authenticating the healthcare provider based upon the access credentials.
17. The computer-usable medium of claim 13, wherein the first health information is displayed in a font at a font size, wherein the second health information is displayed in the font at the font size.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Certain embodiments of the present invention are illustrated in the following drawings:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
(36)
(37)
(38)
(39)
(40)
(41)
(42)
(43)
(44)
(45)
(46)
(47)
(48)
(49)
(50)
DETAILED DESCRIPTION OF CERTAIN EMBODIMENTS
(51)
(52) The term “PPOL” refers to a Patient-Provider-Organization Link such as but not limited to that provided in DBMotion's commercially available HIE. Generally, a medical domain typically comprises interconnected network of entities (e.g. as shown in
(53) The smart agent system of
(54) The term “smart agent” is used herein to include an HIES-EMR bridging system according to any of the embodiments shown and described herein, which facilitates cooperation between HIES and a population of one or more EMRs with which the HIES interacts. For example, the smart agent may perform any or all of the following operations: a. identify an application which has opened on a work station on which the HIES client is installed, as a medical service provider application e.g. EMR. This may occur because the EMR is compatible with a context sharing standard that the smart agent also supports or may be screen captured. Alternatively, APIs in the operating system may be available which define (assign an operating system name to) the relevant screen and/or fields within the screen, enabling the smart agent to identify the application. b. identify health care providing user e.g. because user logins in with password, or by capturing user's name from the screen, or e.g. authenticating the user using single-sign on functionality. c. assuming that the EMR is currently working on the medical record of a particular patient, the smart agent may find the patient identifier, e.g. by screen capture or by context sharing. Typically, when an EMR enters a medical record, the smart agent retrieves the patient identifier by first recognizing the EMR page through which the patient user accesses the medical records and then, e.g. using prior knowledge re the location of the patient identifier on that page, capturing the user identifier. d. optionally, filter available HIES information, e.g. using suitable “attention rules”, to select suitable information to provide to the user identified in (b), pertaining to the patient identified in (c). Typically, attention rules filter out either irrelevant information or superfluous (repetitive) information, or both. e. display all, or some (as filtered in (d)) information pertaining to the patient identified in (c.). Typically, all information available from all EMRs with which the HIES interacts, is available to be displayed, unless filtered. Typically, this information is displayed to the health care providing user via an HIE data importer such as a tab or button that takes the user to an HIE portal. Examples of the operation of steps (d) and (e):
(55) (i) if the user presses on the lab page in her or his EMR, the lab page may be identified by the hovering smart agent. The smart agent may then display to the user only lab results which are not present in her EMR, optionally blinking to indicate that such exist and are available for viewing.
(56) (ii) if the user presses on a medicine page in her or his EMR, the hovering smart agent may intercept that the user is prescribing penicillin to a patient called Susan Smith and may then display only relevant information such as all allergies known for Susan
(57) Smith, or the subset of Susan Smith allergies pertinent to penicillin.
(58) (iii) The user presses on a lab result page and sends Susan Smith to do a lab test. The smart agent may intercept this and blink or otherwise indicate that Susan has already done this lab test.
(59) The SmartAgent user interface and behavior is designed to be floated on top of an instance of an EMR and not to interrupt the regular user workflow.
(60) A Floating application within User, Patient and System Context, e.g. as shown in
(61) The VPO (Virtual Patient Object) Analyzer of
(62) Analyzer's methods is “Exclude System Data”. This method excludes data from the VPO that already exists in the User's EMR. This results in “clean” data (excluding what user can already see in the EMR) that is presented within the Results or Viewer Panes.
(63) A Semantic Search method is now described: 1. The user looks for data on Diabetes (say) in the HIES. To do so, the User enables the Search option in the floating toolbar and types the phrase “Dia”. 2. Search suggestions are presented and user selects the “Diabetes” Suggestion. 3. As a result, the Results and Navigation pane opens and presents the results for Diabetes from the Patient's VPO, organized according to Clinical Aspects (Medications, Problems, Population Membership, etc). 4. The User clicks the “Diabetes” population. 5. The Diabetes View is opened in the View panel.
(64) A process operative to Launch an HIES Viewer and CareBoard is now described. Any information found is presented in the Data and Navigation panel. The information is organized according to the different clinical aspects (Laboratory, Medications, etc.) and evaluation aspects (Population membership, Metrics, Notifications, Alerts etc.). The clinical aspects and actual presented data are links to the relevant page in the HIES's Clinical Viewer or Collaborate. Example: Under the Lab Results menu, the user sees a result for hbA1c from last week. Beside the result there are two buttons: one opens the Labs Clinical View and the other opens the Lab Results Page with the hbA1c history.
(65)
(66)
(67)
(68) FIG. e is a table summarizing an example set of functional requirements of a floating application included in the apparatus shown and described herein.
(69)
(70)
(71)
(72)
(73) In an OnPageLoad mode of operation,
(74) Floating Application Small Panel: An example user interface for a FloatingClosed functionality is illustrated in
(75) An example user interface for a FloatingSearchOpen functionality is illustrated in
(76)
(77)
(78) An example object table useful in understanding the functionality of the user interface of
(79)
(80)
(81) Example Attention Rule Definitions for a Clinical Content Specification are now described. The smart agent typically uses attention rules to determine whether or not to provide a user with an indication that aims to direct her or his attention to the fact that information relevant to her or him is available in the HIES. The indication may include a highlight color in the background of the Name e.g. as shown in
(82) Example rules are as follows: Rule 1: Exclude my EHR data: User is alerted if there is information in the HIES which does not exist in the user's EMR. Typically, the HIES stores an indication, for each information item, of the EMR which provided that information item, allowing information items provided by a user's EMR to be filtered out and not displayed to the user. Rule 2: Exclude data irrelevant to workflow.
(83) A health care providing user opens his EMR at a page pertaining to laboratory, medicine, Procedures, Allergies, Vital signs, Pathologies, Imaging results, Clinical documents, immunizations, Problems, Diagnosis, or any other EMR functionality. The Agent hovers over the EMR application, intercepts the type of page opened, and selects from among the HIE information items available, only the ones which are relevant, using predetermined criteria, to the current EMR functionality. Rule 3: new since last seen.
(84) Smart agent generates an alert if information which is new, relative to the point in time at which a particular health care providing user last looked at the HIES.
(85)
(86)
(87)
(88)
(89) The high level architecture of a smart agent system constructed and operative in accordance with certain embodiments of the present invention is illustrated in the simplified functional block diagram of
(90) Certain user context interception sequences, some or all of which may be included in the model, are illustrated in the diagram of
(91) An example use case model is now described with reference to
(92) A Use Case Model Overview (Use Case diagram) is illustrated in
(93) Regarding the configuration and deployment functionality of
(94) Configure & Personalize presentation options may include, inter alia: Presentations Skins Vs EHR., Presentation rules and Base query, each of which is now described in detail according to respective embodiments of the present invention:
(95) Presentation skins refers to an ability to customize the SmartAgent application appearance to have a plurality of different “look and feel”s. Typically, end users want the EMR agent to appear on top of a given EMR with a look and feel which is similar to that of the EMR.
(96) Presentation Rules—refers to how the SmartAgent behaves to a given attention rule result—such as blinking frequency of alerts, or whether to blink and/or to expand the SmartAgent to view Clinical Data.
(97) Base Query refers to filtering to obtain a VPO. Filtering can be by Time, or which clinical Aspects to obtain (e.g. filter to obtain only labs, or All Clinical Aspects).
(98) For the “deploy updates to agent” use case, the system may update to the smart agent applications scattered all over the network (and out of network for community clinics). The smart agent may be installed on any suitable platform, such as a Citrix box. For the “install agent on Citrix box” use case, setting up the agent may be controlled by configuring Citrix sessions, or by network login script.
(99) A Context Interception (Use Case diagram) is illustrated in
(100) Re “Identify Application” use case shown in
(101) Re “Identify Patient” use case shown in
(102) Re additional “Identify Patient” use case shown in
(103)
(104) Re the “Identify User” use case shown in
(105)
(106)
(107) Re the “Identify Workflow Context” use case shown in
(108) Turning now to the Data Preparation functionality in
(109) Re the “Prepare Patient Data for presentation” use case: typically, the system prepares data to be presented to the user. This includes fetching the data as well as filtering out irrelevant records, based on rules. This typically works in conjunction with the VPO analyzer of
(110) Re the Extension Developments functionality in
(111) The “Develop & Configure EMR support” UC typically describes a possible need of the system to grow and support new EMRs, new versions of known EMRs as well as customized versions of known EMRs. The support is focused on the interception of elements from the EMR screen.
(112) Re the Presentation functionality in
(113) The “Control floating application state” may for example include Minimize, expand, size, position, dock, close etc. In the launch health information exchange system (HIES) Viewer UC the system acts merely as an entry point to the existing viewer (Clinical Viewer, Collaborate). The launch may or may not include context (user, patient, app). For example—navigation menu for medications (even though no medication record is currently shown). In the “Perform Search” UC the user searches for records within the patient record. The search can either be on the codified data, or free search over text (notes within acts and the content of clinical documents). In the “Present Clinician Data” UC the system presents data from the HIES that is not related to the patient viewed in the EMR. For example—“my recent events” from a Collaborate functionality in the HIES, “my admitted patients” and so on. In the Present Patient Data UC the system presents patient data to the user. In the “Send To My EMR” UC the user selects act to be sent to his EMR and the system delivers them to the EMR to be presented there.
(114) The GetVPO service of
(115) An example Design Model is shown in
(116)
(117) The screen capturing functionality of
(118) The ScreenCapturingEHRContextInterceptor of
(119) The ScreenCapturingEHRContextInterceptor of
(120) The SmartAgentHost functionality of
(121) A logical diagram of controllers is shown in
(122) Regarding the EHRContextManager of
(123) The multiplicity of this class may be expected to be one per EMR window instance. (e.g. two Cerner windows would be assigned with two different context managers.
(124) Operations, some or all of which may be performed by the InterceptorsFactory functionality of
(125) The RuntimeManager of
(126) A logical diagram of ContextInterception is illustrated in
(127) EMR Agent shell window position may be defined relatively to EMR application window. The View can be anchored to one of the sides of EMR window. Suitable parameters may specify relative position such as some or all of the following parameters as defined in
(128) View position parameters may be specified in a InterceptionConfig.xml file under a ShellConfig tag. Here is an example of suitable ShellConfig values: <ShellConfig EhrAngle=“RightTop” ShellAngle=“RightTop” HorizontalOffset=“10” VerticalOffset=“10”/>
(129) These parameters may be specified per EMR. c. SmartAgent Floating Application Attention rules may be as follows:
(130) The EMR Agent view title area may be used to notify the user when context dependent data is delivered to the Agent from a suitable database e.g. dbMotion database. The notification may have some or all of the following 3 parameters: Blinking number—how many time title area blinks after some data is delivered Blinking rise time—duration of each blink Blinking pause time—delay between blinks These parameters can be changed in a suitable file e.g. “dbMotion.SmartAgent.Client.Viewer.dll.config”. There follows an example fragment of the configuration file with default values: <setting name=“BlinkingNumber” serializeAs=“String”> <value>5×</value> </setting> <setting name=“BlinkingRiseTime” serializeAs=“String”> <value>00:00:00.2000000</value> </setting> <setting name=“BlinkingPauseTime” serializeAs=“String”> <value>00:00:00</value> </setting>
(131) These parameters may be specified globally.
(132) The IEHRContextInterceptor of
(133) The IEHREventInterceptor of
(134) The IMpl package of
(135) Regarding the IEHRLaunchIncerceptor functionality of
(136) The runtime manager may be subscribed to the OnApplicationOpened event.
(137) The IEHRWindowStateInterceptor of
(138) Referring again to
(139) Example Framework and Contracts pertaining to the VPOAnalyzer may be appreciated with reference to
(140)
(141) Service & business layers may include the apparatus shown in the logical diagram of
(142)
(143) An example Use Case (UC) Realization process is illustrated in the Identify Patient UC realization sequence diagram of
(144) A particular advantage of certain embodiments of the present invention is that the EMR's code need not be changed because the apparatus of the present invention is able to intercept whatever context it employs from the EMR. Any suitable method may be employed for intercepting EMR context, such as but not limited to: a. use of a context management protocol such as CCOW. b. screen capturing (also termed herein “screen scrapping”) c. providing a specialized context interception adaptor, also termed herein “interceptor” for a particular EMR taking advantage of a specific context sharing capability which that particular EMR has. Typically, the architecture of the system shown and described herein includes one or more adaptors for context interception also termed herein “interceptors”, e.g. as shown in
(145)
(146) The smart agent of
(147)
(148)
(149)
(150) It is appreciated that software components of the present invention including programs and data may, if desired, be implemented in ROM (read only memory) form including CD-ROMs, EPROMs and EEPROMs, or may be stored in any other suitable typically non-transitory computer-readable medium such as but not limited to disks of various kinds, cards of various kinds and RAMs. Components described herein as software may, alternatively, be implemented wholly or partly in hardware, if desired, using conventional techniques. Conversely, components described herein as hardware may, alternatively, be implemented wholly or partly in software, if desired, using conventional techniques.
(151) Included in the scope of the present invention, inter alia, are electromagnetic signals carrying computer-readable instructions for performing any or all of the steps of any of the methods shown and described herein, in any suitable order; machine-readable instructions for performing any or all of the steps of any of the methods shown and described herein, in any suitable order; program storage devices readable by machine, tangibly embodying a program of instructions executable by the machine to perform any or all of the steps of any of the methods shown and described herein, in any suitable order; a computer program product comprising a computer useable medium having computer readable program code, such as executable code, having embodied therein, and/or including computer readable program code for performing, any or all of the steps of any of the methods shown and described herein, in any suitable order; any technical effects brought about by any or all of the steps of any of the methods shown and described herein, when performed in any suitable order; any suitable apparatus or device or combination of such, programmed to perform, alone or in combination, any or all of the steps of any of the methods shown and described herein, in any suitable order; electronic devices each including a processor and a cooperating input device and/or output device and operative to perform in software any steps shown and described herein; information storage devices or physical records, such as disks or hard drives, causing a computer or other device to be configured so as to carry out any or all of the steps of any of the methods shown and described herein, in any suitable order; a program pre-stored e.g. in memory or on an information network such as the Internet, before or after being downloaded, which embodies any or all of the steps of any of the methods shown and described herein, in any suitable order, and the method of uploading or downloading such, and a system including server/s and/or client/s for using such; and hardware which performs any or all of the steps of any of the methods shown and described herein, in any suitable order, either alone or in conjunction with software. Any computer-readable or machine-readable media described herein is intended to include non-transitory computer- or machine-readable media.
(152) Any computations or other forms of analysis described herein may be performed by a suitable computerized method. Any step described herein may be computer-implemented. The invention shown and described herein may include (a) using a computerized method to identify a solution to any of the problems or for any of the objectives described herein, the solution optionally include at least one of a decision, an action, a product, a service or any other information described herein that impacts, in a positive manner, a problem or objectives described herein; and (b) outputting the solution.
(153) Features of the present invention which are described in the context of separate embodiments may also be provided in combination in a single embodiment. Conversely, features of the invention, including method steps, which are described for brevity in the context of a single embodiment or in a certain order may be provided separately or in any suitable subcombination or in a different order. “e.g.” is used herein in the sense of a specific example which is not intended to be limiting. Devices, apparatus or systems shown coupled in any of the drawings may in fact be integrated into a single platform in certain embodiments or may be coupled via any appropriate wired or wireless coupling such as but not limited to optical fiber, Ethernet, Wireless LAN, HomePNA, power line communication, cell phone, PDA, Blackberry GPRS, Satellite including GPS, or other mobile delivery. It is appreciated that in the description and drawings shown and described herein, functionalities described or illustrated as systems and sub-units thereof can also be provided as methods and steps therewithin, and functionalities described or illustrated as methods and steps therewithin can also be provided as systems and sub-units thereof. The scale used to illustrate various elements in the drawings is merely exemplary and/or appropriate for clarity of presentation and is not intended to be limiting.