Legal claims defining the scope of protection, as filed with the USPTO.
1. A method comprising: executing, using at least one data processor, an electronic medical record (EMR) system; executing, using the at least one data processor, a computer program that is separate from the EMR system to extract data from the EMR system, the execution of the computer program resulting in operations comprising receiving by the computer program, using the at least one data processor, a screen of a graphical user interface (GUI) of the EMR system comprising a plurality of windows rendering data generated by the EMR system; determining by the computer program, for each of the windows, whether the window is configured to receive data input from a user, the determination being made using the at least one data processor; generating by the computer program, for each window configured to receive data input, a list of multiple candidate configuration files that correspond to the window of the EMR system, the generating of the list being based on a size and position of the window; selecting by the computer program, for each window configured to receive data input, a configuration file from the list that corresponds to the window of the EMR system, wherein the selecting comprises (i) determining properties of GUI elements of the window, (ii) selecting a configuration file from the list having a set of configuration elements with properties that correspond to those of the GUI elements of the EMR system, and (iii) binding GUI elements of the window with corresponding configuration elements of the set of configuration elements, the binding of a GUI element to a corresponding configuration element comprising creating an object in memory that is configured to monitor in real time the GUI element of the EMR system for changes in data, the GUI elements associated with medical data of the patient; using the objects in memory to monitor in real time the GUI elements of the EMR system that are bound with the corresponding configuration elements for changes in data; and when one of the objects in memory detects a change in data in a GUI element of a window configured to receive data input in the EMR system, the computer program storing the detected change in real time using the at least one data processor, the stored change being associated with a configuration element of the configuration file that corresponds to the window configured to receive data input.
2. The method according to claim 1 , wherein the change is stored temporarily at a local computer terminal where the screen is displayed to the user.
3. The method according to claim 2 , further comprising detecting, using at least one data processor, a trigger event, and when the trigger event is detected, storing, using at least one data processor, the change in long-term data storage.
4. The method according to claim 3 , wherein the change is stored in long-term data storage only when the trigger event is detected.
5. The method according to claim 1 , further comprising listening, using at least one data processor, for a new screen, and determining, using at least one data processor, whether the new screen concerns a same patient as the screen.
6. The method according to claim 1 , wherein the screen is implemented in HTML and changes in the screen are monitored by creating objects in memory that correspond to elements in a document object module tree.
7. The method of claim 1 , wherein the screen is received by taking a screenshot that is parsed and analyzed using optical character recognition (OCR).
8. The method of claim 1 , wherein the plurality of windows is based upon a user configuration that is different from a standard configuration.
9. The method of claim 1 , wherein additional data comprising an element position is used in conjunction with the set of configuration elements to perform the selecting.
10. A non-transitory computer readable medium storing instructions, which when executed by at least one data processor of at least one computing system, result in operations comprising: executing an electronic medical record (EMR) system; executing a computer program that is separate from the EMR system to extract data from the EMR system, the execution of the computer program resulting in steps comprising receiving by the computer program, using the at least one data processor, a screen of a graphical user interface of the EMR system comprising a plurality of windows rendering data generated by the EMR system; determining by the computer program, for each of the windows, whether the window is configured to receive data input from a user, the determination being made using the at least one data processor; generating by the computer program, for each window configured to receive data input, a list of multiple candidate configuration files that correspond to the window of the EMR system, the generating of the list being based on a size and position of the window; selecting by the computer program, for each window configured to receive data input, a configuration file from the list that corresponds to the window of the EMR system, wherein the selecting comprises (i) determining properties of GUI elements of the window, (ii) selecting a configuration file from the list having a set of configuration elements with properties that correspond to those of the GUI elements of the EMR system, and (iii) binding GUI elements of the window with corresponding configuration elements of the set of configuration elements, the binding of a GUI element to a corresponding configuration element comprising creating an object in memory that is configured to monitor in real time the GUI element of the EMR system for changes in data, the GUI elements associated with medical data of the patient; using the objects in memory to monitor in real time the GUI elements of the EMR system that are bound with the corresponding configuration elements for changes in data; and when one of the objects in memory detects a change in data in a GUI element of a window configured to receive data input in the EMR system, the computer program storing the detected change in real time using the at least one data processor, the stored change being associated with a configuration element of the configuration file that corresponds to the window configured to receive data input.
11. The non-transitory computer readable medium according to claim 10 , wherein the change is stored temporarily at a local computer terminal where the screen is displayed to the user.
12. The non-transitory computer readable medium according to claim 11 , further comprising detecting, using at least one data processor, a trigger event, and when the trigger event is detected, storing, using at least one data processor, the change in long-term data storage.
13. The non-transitory computer readable medium according to claim 12 , wherein the change is stored in long-term data storage only when the trigger event is detected.
14. The non-transitory computer readable medium according to claim 10 , further comprising listening, using at least one data processor, for a new screen, and determining, using at least one data processor, whether the new screen concerns a same patient as the screen.
15. The non-transitory computer readable medium according to claim 10 , wherein the screen is implemented in HTML and changes in the screen are monitored by creating objects in memory that correspond to elements in a document object module tree.
16. A system comprising: at least one data processor; and memory storing instructions which, when executed by the at least one data processor, result in operations comprising: executing an electronic medical record (EMR) system; executing a computer program that is separate from the EMR system to extract data from the EMR system, the execution of the computer program resulting in steps including receiving by the computer program, using the at least one data processor, a screen of a graphical user interface of the EMR system comprising a plurality of windows rendering data generated by the EMR system; determining by the computer program, for each of the windows, whether the window is configured to receive data input from a user, the determination being made using the at least one data processor; generating by the computer program, for each window configured to receive data input, a list of multiple candidate configuration files that correspond to the window of the EMR system, the generating of the list being based on a size and position of the window; selecting by the computer program, for each window configured to receive data input, a configuration file from the list that corresponds to the window of the EMR system, wherein the selecting comprises (i) determining properties of GUI elements of the window, (ii) selecting a configuration file from the list having a set of configuration elements with properties that correspond to those of the GUI elements of the EMR system, and (iii) binding GUI elements of the window with corresponding configuration elements of the set of configuration elements, the binding of a GUI element to a corresponding configuration element comprising creating an object in memory that is configured to monitor in real time the GUI element of the EMR system for changes in data, the GUI elements associated with medical data of the patient; using the objects in memory to monitor in real time the GUI elements of the EMR system that are bound with the corresponding configuration elements for changes in data; and when one of the objects in memory detects a change in data in a GUI element of a window configured to receive data input in the EMR system, the computer program storing the detected change in real time using the at least one data processor, the stored change being associated with a configuration element of the configuration file that corresponds to the window configured to receive data input.
17. The system according to claim 16 , wherein the change is stored temporarily at a local computer terminal where the screen is displayed to the user.
18. The system according to claim 17 , wherein the operations further comprises detecting, using at least one data processor, a trigger event, and when the trigger event is detected, storing, using at least one data processor, the change in long term data storage.
19. The system according to claim 18 , wherein the change is stored in long-term data storage only when the trigger event is detected.
20. The system according to claim 16 , wherein the operations further comprises listening, using at least one data processor, for a new screen, and determining, using at least one data processor, whether the new screen concerns a same patient as the screen.
Unknown
June 12, 2018
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.