input to the system is buffered by the forms manager to determine access to the tile/region and to check entered data. The tile/region will retain various information such as data entered, user, time, changes, etc. To display a form, the forms manager obtains a list of objects to be displayed. This list of objects is then edited to remove objects which are not utilized and to place the remaining objects in a prioritized order. The forms manager then generates the display.
|
0. 111. A computer system, comprising:
(a) an input device designed to enable entry of data and commands into said system by a system user, said data including a plurality of objects forming an object list;
(b) a display designed to display information to said user;
(c) a memory designed to store said data and said commands;
(d) a processor designed to perform processing operations in response to entry of said data and said commands by said user, said processing programmed to perform the steps in sequence of:
(1) receiving a command from said user to display a form;
(2) in response to said command, obtaining said object list, corresponding to said form, from said memory;
(3) in response to said command, automatically associating one of a plurality of tiles with each one of said objects in said object list, in at least the following manner: associating at least a first one of said tiles to a group of said objects; and associating at least a second one of said tiles to a single one of said objects; and
(4) displaying said first and second tiles on said operator display module, wherein said processor is programmed to perform, in response to said command, automatically refraining from displaying on said display module at least one of said tiles that is without any of said objects.
0. 67. In a computer system having (a) input means for enabling entry of data and commands into said system by a system user, said data including a plurality of objects to form an object list, (b) an operator display module for displaying information to said user, (c) a memory for storing said data and commands, and (d) processing means for performing processing operations in response to said entry of said data and said commands by said user, a method of generating a display on said operator display module, comprising the steps in sequence of:
(1) receiving a command in said system from said user to display a form;
(2) in response to said command, said processing means obtaining said object list, corresponding to said form, from said memory;
(3) in response to said command, the processing means, automatically associating each one of said objects in said object list with one of a plurality of tiles in the following manner:
(i) a group of objects comprising some but not all of said objects in said object list is associated with a first tile; and
(ii) an object in said object list that is not a part of said group of objects is associated with a second tile; and
(4) the processing means, displaying said tiles on said operator display module, wherein, in response to said command, the processing means automatically refrains from displaying on said operator display module at least one of said tiles that is without any of said objects.
0. 29. In a computer system having input means for enabling entry of data, a plurality of objects to form an object list, and commands into said system by a system user, an operator display module for displaying information to said user, a memory for storing said data and commands, and processing means for performing processing operations in response to the entry of said data and said commands by said user, a method of generating a display on said operator display module comprising the steps in sequence of:
(a) receiving a command in said system from said user to display a form, said form having a plurality of tiles, each of the tiles having at least one cell capable of facilitating entry of an object by the system user;
(b) in response to said command, said processing means obtaining said object list, corresponding to said form, from said memory;
(c) in response to said command, said processing means, automatically associating one of said plurality of tiles with each one of said objects in said object list, in the following manner: at least a first one of said tiles being associated with a group of said objects, and at least a second one of said tiles being associated with a single one of said objects;
(d) in response to said command, said processing means, displaying said tiles on said operator display module that contain objects and automatically refraining from displaying on said operator display module at least one of said tiles that is without any of said objects.
7. In a computer system having input means for entering enabling entry of data, a plurality of objects to form an object list, data and commands into said system by a system user, an operator display module for displaying information to said user, a memory for storing said data and instructions commands, and processing means for performing processing operations in response to the entry of said data and said commands by said user, a method for generating a display on said operator display module comprising the steps in sequence of:
(a) entering receiving a command into in said system by from said user to display a form;
(b) in response to said command, using said processing means to obtain obtaining said object list, corresponding to said form, from said memory;
(c) using in response to said command, said processing means, automatically eliminating an object from said object list if said object is not a monitored object;
(d) using in response to said command, said processing means, automatically obtaining a prioritization list, corresponding to said form, from said memory;
(e) using in response to said command, said processing means, prioritizing said object list according to said prioritization list;
(f) using in response to said command, said processing means, assigning automatically associating one of a plurality of tiles to with each one of said objects to be displayed in said object list, in the following manner: at least one of said tiles being assigned to associated with a group of said objects, and at least a second of said tiles being assigned to an individual associated with a single one of said objects; and
(g) using said processing means, displaying said tiles on said operator display module.
0. 87. A computer system, comprising:
(a) input means for enabling entry of data and commands into said system by a system user, said data including a plurality of objects forming an object list;
(b) display means for displaying information to said user;
(c) memory means for storing said data and said commands;
(d) processing means for performing processing operations in response to the entry of said data and said commands by said user, said processing means for generating a display on said operator display module;
(e) means, stored in said memory and to be executed by said processing means, for receiving a command from said user to display a form;
(f) means, stored in said memory and to be executed by said processing means, for, in response to said command, obtaining said object list, corresponding to said form, from said memory;
(g) means, stored in said memory and to be executed by said processing means, for, in response to said command, automatically associating one of a plurality of tiles with each one of said objects in said object list, in at least the following manner:
(1) for associating at least a first one of said tiles to a group of said objects; and
(2) for associating at least a second one of said tiles to a single one of said objects;
(h) means, stored in said memory and to be executed by said processing means, for displaying said first and second tiles on said operator display module;
(i) means, stored in said memory and to be executed by said processing means, for, in response to said command, automatically eliminating an object from said object list if said object is not currently monitored by said system;
(j) means, stored in said memory and to be executed by said processing means, for, in response to said command, automatically objecting a prioritization list from said memory; and
(k) means, stored in said memory and to be executed by said processing means, for, in response to said command, automatically arranging said objects according to said prioritization list.
0. 48. In a computer system having input means for enabling entry of data, a plurality of objects to form an object list, and commands into said system by a system user, an operator display module for displaying information to said user, a memory for storing said data and commands, and processing means for performing processing operations in response to the entry of said data and said commands by said user, a method of generating a display on said operator display module comprising the steps of:
(1) the steps in sequence of:
(a) receiving a command in said system from said user to display a first form, said first form having a plurality of first tiles, each of the first tiles having at least one cell capable of facilitating entry of an object by the system user;
(b) in response to said command, said processing means obtaining a first object list, corresponding to said first form, from said memory;
(c) in response to said command, said processing means, automatically associating one of said plurality of first tiles with each one of said objects in said first object list, in at least the following manner: at least one of said first tiles being associated with a group of said objects, and at least another one of said first tiles being associated with a single one of said objects;
(d) said processing means, displaying said first tiles on said operator display module that contain objects; and
(2) the further steps of:
(i) receiving a manually input object from said user in a cell of one of said displayed first tiles of the first form and a second command to display a second form, said manually input object being associated with said second form; and
(ii) in response to said second command, said processing means, displaying on said operator display module said second form with said manually input object and those tiles associated with said manually input object, while automatically refraining from displaying on said operator display module any tiles that are not associated with said manually input object.
1. In a computer system having input means for entering data, a plurality of objects to form an object list, data and commands into said system by a system user, an operator display module for displaying information to said user, a memory for storing said data and instructions commands, and processing means for performing processing operations in response to the entry of said data and said commands by said user, a method for generating a display on said operator display module comprising the steps in sequence of:
(a) entering a command into said system by said user to display a form;
(b) in response to said command, using said processing means to obtain obtaining said object list, corresponding to said form, from said memory;
(c) using in response to said command, said processing means, automatically assigning a plurality of tiles to each one of said objects, in said object list, in the following manner: at least one of said tiles being assigned to a group of said objects, and at least a second of said tiles being assigned to an individual a single one of said objects; and
(d) using said processing means, displaying said tiles on said operator display module;
(e) receiving a manually input object in a cell of a yet another one of said first tiles of the first form from said user;
(f) receiving a second command in said system from said user to display a second form having associated second tiles;
(g) in response to said second command, obtaining a second object list, corresponding to said second form, from said memory;
(h) in response to said second command, said processing means automatically associating said second tiles and said manually input object in said second object list; and
(i) in response to said second command, said processing means, displaying those of said second tiles on said operator display module that are associated with said manually input object received from said user, while automatically refraining from displaying those of said second tiles on said operator display module that are not associated with said manually input object.
2. The method of
i) moving a draw point to a home position of said operator display module;
ii) drawing a tile of at least one object if there is an object to be drawn;
iii) moving said draw point to a next position of said operator display module; and
iv) repeating steps ii) through iii) until said tiles for all of said objects in said object list have been drawn or until a display area of said operator display module has been filled.
3. The method of
(b1) in response to said command, automatically eliminating an object from said object list if said object is not currently monitored by said system;
(b2) in response to said command, automatically obtaining a prioritization list from said memory; and
(b3) in response to said command, automatically arranging said objects according to said prioritization list.
4. The method of
5. The method of
a physical size and shape of said at least one tile;
an information display rule;
an access table for identifying system users who are granted access to said at least one tile;
a tile name; and
a storage area for retaining the respective times of entries and identification of a system user making said entries of objects into one or more regions of said at least one tile.
6. The method of
(e) (j) entering a command into said system by said user to display the contents of said at least one region; and
(f) (k) using said processing means, displaying a pop-up menu corresponding to said at least one region of said one tile on said operator display module.
8. The method of
i) moving a draw point to a home position of said operator display module;
ii) drawing a tile of at least one object if there is an object to be drawn;
iii) moving said draw point to a next position of said operator display module; and
iv) repeating steps ii) through iii) until said tiles for all of said objects in said object list have been drawn or until a display area of said operator display module has been filled.
9. The method of
10. The method of
a physical size and shape of said at least one tile;
an information display rule;
an access table for identifying system users who are granted access to said at least one tile;
a tile name; and
a storage area for retaining the respective times of entries and identification of a system user making said entries of objects into one or more regions of said at least one tile.
11. The method of
(e) (1) entering a command into said system by said user to display the contents content of said at least one region; and
(f) (2) using said processing means, displaying a pop-up menu corresponding to said at least one region of said one tile on said operator display module.
0. 12. The method of
0. 13. The method of
0. 14. The method of
0. 15. The method of
0. 16. The method of
0. 17. The method of
0. 18. The method of
0. 19. The method of
0. 20. The method of
0. 21. The method of
enabling said user to enter data in a first cell of said form; and
preventing said user from entering data in a second cell of said form.
0. 22. The method of
receiving data in a first cell of said form; and
in response to receiving said data in said first cell, said processing means automatically recording an identity of said user that entered said data.
0. 23. The method of
receiving data in a first cell of said form; and
in response to receiving said data in said first cell, said processing means automatically recording a time when said user entered said data.
0. 24. The method of
receiving new data in a first cell of said form that changes original data in said first cell; and
retaining said original data along with said new data.
0. 25. The method of
displaying said new data and said original data; and
visually distinguishing said new data and said original data with at least one of the following: a marker, color difference, and flashing display.
0. 26. The method of
receiving data in a first cell of said form;
in response to receiving said data in said first cell, said processing means automatically performing a data integrity check upon said data to determine if said data is outside a range; and
alerting said user of an error based upon said data integrity check.
0. 27. The method of
receiving a command from said user to select a first cell; and
displaying a menu of possible actions that may be undertaken in said first cell.
0. 28. The method of
0. 30. The method of
0. 31. The method of
0. 32. The method of
0. 33. The method of
0. 34. The method of
0. 35. The method of
0. 36. The method of
0. 37. The method of
0. 38. The method of
0. 39. The method of
0. 40. The method of
enabling said user to enter data in a first cell of said form; and
preventing said user from entering data in a second cell of said form.
0. 41. The method of
receiving data in a first cell of said form; and
in response to receiving said data in said first cell, said processing means automatically recording an identity of said user that entered said data.
0. 42. The method of
receiving data in a first cell of said form; and
in response to receiving said data in said first cell, said processing means automatically recording a time when said user entered said data.
0. 43. The method of
receiving new data in a first cell of said form that changes original data in said first cell; and
retaining said original data along with said new data.
0. 44. The method of
displaying said new data and said original data; and
visually distinguishing said new data and said original data with at least one of the following: a marker, color difference, and flashing display.
0. 45. The method of
receiving data in a first cell of said form;
in response to receiving said data in said first cell, said processing means automatically performing a data integrity check upon said data to determine if said data is outside a range; and
alerting said user of an error based upon said data integrity check.
0. 46. The method of
receiving a command from said user to select a first cell; and
displaying a menu of possible actions that may be undertaken in connection with said first cell.
0. 47. The method of
0. 49. The method of
0. 50. The method of
0. 51. The method of
0. 52. The method of
0. 53. The method of
0. 54. The method of
0. 55. The method of
0. 56. The method of
0. 57. The method of
0. 58. The method of
0. 59. The method of
enabling said user to enter data in a first cell of said form; and
preventing said user from entering data in a second cell of said form.
0. 60. The method of
receiving data in a first cell of said form; and
in response to receiving said data in said first cell, said processing means automatically recording an identity of said user that entered said data.
0. 61. The method of
receiving data in a first cell of said form; and
in response to receiving said data in said first cell, said processing means automatically recording a time when said user entered said data.
0. 62. The method of
receiving new data in a first cell of said form that changes original data in said first cell; and
retaining said original data along with said new data.
0. 63. The method of
displaying said new data and said original data; and
visually distinguishing said new data and said original data with at least one of the following: a marker, color difference, and flashing display.
0. 64. The method of
receiving data in a first cell of said form;
in response to receiving said data in said first cell, said processing means automatically performing a data integrity check upon said data to determine if said data is outside a range; and
alerting said user of an error based upon said data integrity check.
0. 65. The method of
receiving a command from said user to select a first cell; and
displaying a menu of possible actions that may be undertaken in connection with said first cell.
0. 66. The method of
0. 68. The method of
0. 69. The method of
0. 70. The method of
0. 71. The method of
0. 72. The method of
0. 73. The method of
0. 74. The method of
0. 75. The method of
0. 76. The method of
0. 77. The method of
0. 78. The method of
0. 79. The method of
enabling said user to enter data in a first cell of said form; and
preventing said user from entering data in a second cell of said form.
0. 80. The method of
receiving data in a first cell of said form; and
in response to receiving said data in said first cell, said processing means automatically recording an identity of said user that entered said data.
0. 81. The method of
receiving data in a first cell of said form; and
in response to receiving said data in said first cell, said processing means automatically recording a time when said user entered said data.
0. 82. The method of
receiving new data in a first cell of said form that changes original data in said first cell; and
retaining said original data along with said new data.
0. 83. The method of
displaying said new data and said original data; and
visually distinguishing said new data and said original data with at least one of the following: a marker, color difference, and flashing display.
0. 84. The method of
receiving data in a first cell of said form;
in response to receiving said data in said first cell, said processing means automatically performing a data integrity check upon said data to determine if said data is outside a range; and
alerting said user of an error based upon said data integrity check.
0. 85. The method of
receiving a command from said user to select a first cell; and
displaying a menu of possible actions that may be undertaken in connection with said first cell.
0. 86. The method of
0. 88. The system of
(i) means for moving a draw point to a home position of said operator display module;
(ii) means for drawing a tile of at least one object if there is an object to be drawn;
(iii) means for moving said draw point to a next position of said operator display module; and
(iv) means for repeating steps (ii) through (iii) until said tiles for all of said objects in said object list have been drawn or until a display area of said operator display module has been filled.
0. 89. The system of
0. 90. The system of
means for defining a physical size and shape of said at least one tile;
means for defining an information display rule;
means for defining an access table for identifying system users who are granted access to said at least one tile;
means for defining a tile name; and
a storage means for retaining the respective times of entries and identification of a system user making said entries of objects into one or more regions of said at least one tile.
0. 91. The system of
(l) means, stored in said memory and to be executed by said processing means, for receiving a command to display the content of said at least one region; and
(m) means, stored in said memory and to be executed by said processing means, for displaying a pop-up menu corresponding to said at least one region of said one tile on said operator display module.
0. 92. The system of
0. 93. The system of
0. 94. The method of
0. 95. The method of
0. 96. The method of
0. 97. The system of
0. 98. The system of
0. 99. The system of
0. 100. The system of
0. 101. The system of
0. 102. The system of
0. 103. The system of
(l) means, stored in said memory and to be executed by said processing means, for enabling said user to enter data in a first cell of said form; and
(m) means, stored in said memory and to be executed by said processing means, for preventing said user from entering data in a second cell of said form.
0. 104. The system of
(l) means, stored in said memory and to be executed by said processing means, for receiving data in a first cell of said form; and
(m) means, stored in said memory and to be executed by said processing means, for, in response to receiving said data in said first cell, automatically recording an identity of said user that entered said data.
0. 105. The system of
(l) means, stored in said memory and to be executed by said processing means, for receiving data in a first cell of said form; and
(m) means, stored in said memory and to be executed by said processing means, for, in response to receiving said data in said first cell, automatically recording a time when said user entered said data.
0. 106. The system of
(l) means, stored in said memory and to be executed by said processing means, for receiving new data in a first cell of said form that changes original data in said first cell; and
(m) means, stored in said memory and to be executed by said processing means, for retaining said original data along with said new data.
0. 107. The system of
(n) means, stored in said memory and to be executed by said processing means, for displaying said new data and said original data; and
(o) means, stored in said memory and to be executed by said processing means, for visually distinguishing said new data and said original data with at least one of the following: a marker, color difference, and flashing display.
0. 108. The system of
(l) means, stored in said memory and to be executed by said processing means, for receiving data in a first cell of said form;
(m) means, stored in said memory and to be executed by said processing means, for, in response to receiving said data in said first cell, automatically performing a data integrity check upon said data to determine if said data is outside a range; and
(n) means, stored in said memory and to be executed by said processing means, for alerting said user of an error based upon said data integrity check.
0. 109. The system of
(l) means, stored in said memory and to be executed by said processing means, for receiving a command from said user to select a first cell; and
(m) means, stored in said memory and to be executed by said processing means, for displaying a menu of possible actions that may be undertaken in said first cell.
0. 110. The system of
0. 112. The computer system of
0. 113. The computer system of
0. 114. The computer system of
0. 115. The computer system of
0. 116. The computer system of
0. 117. The computer system of
0. 118. The computer system of
0. 119. The computer system of
0. 120. The computer system of
enabling said user to enter data in a first cell of said form; and
preventing said user from entering data in a second cell of said form.
0. 121. The computer system of
receiving data in a first cell of said form; and
in response to receiving said data in said first cell, automatically recording an identity of said user that entered said data.
0. 122. The computer system of
receiving data in a first cell of said form; and
in response to receiving said data in said first cell, automatically recording a time when said user entered said data.
0. 123. The computer system of
receiving new data in a first cell of said form that changes original data in said first cell; and
retaining said original data along with said new data.
0. 124. The computer system of
displaying said new data and said original data; and
visually distinguishing said new data and said original data with at least one of the following: a marker, color difference, and flashing display.
0. 125. The computer system of
receiving data in a first cell of said form;
in response to receiving said data in said first cell, automatically performing a data integrity check upon said data to determine if said data is outside a range; and
alerting said user of an error based upon said data integrity check.
0. 126. The computer system of
receiving a command from said user to select a first cell; and
displaying a menu of possible actions that may be undertaken in connection with said first cell.
0. 127. The computer system of
|
This application is a continuation of prior application Ser. No. 07/322,740, filed Mar. 13, 1989, now abandoned.
The present invention is related to the following inventions, all assigned to the assignee of the present invention:
System Control Structure of a Hospital Information System and Method of Using Same, invented by John Brimm et al., having U.S. Ser. No. 116,614, and filed on Nov. 3, 1987, U.S. Pat. No. 4,878,175;
Method for Generating Patient-Specific Flowsheets by Adding/Deleting Parameters, invented by Ronald Norden-Paul et al., having U.S. Ser. No. 116,611, and filed on Nov. 3, 1987;
Medical Information System With Automatic Updating of Task List In Response to Charting Interventions On Task List Window Into An Associated Form invented by John Brimm et al., having U.S. Ser. No. 268,822, and filed on Nov. 7, 1988, now U.S. Pat. No. 5,077,666;
Clinical Task List with Charting onto Underlying Form and Automatic Updating of Task List, invented by John Brimm et al., having U.S. Ser. No. 268,323, and filed Nov. 7, 1988, now U.S. Pat. No. 5,072,383;
A Method for Displaying Information from an Information Based Computer System, having Ser. No. 07/407,979 and filed on Sep. 15, 1989;
Spreadsheet Cell having Multiple Data Fields, having Ser. No. 07/408,166 and filed on Sep. 15, 1989;
A Method for Displaying Information from an Information Based Computer System, having Ser. No. 07/407,836 and filed on Sep. 15, 1989;
Electronic Data Storage Interface, having Ser. No. 07/408,178 and filed on Sep. 15, 1989;
Method for Updating Data in a Database, having Ser. No. 07/408,167 and filed on Sep. 27, 1989;
Method for Storing a Transaction in a Distributed Database System, having Ser. No. 07/408,169 and filed on Sep. 15, 1989;
A Method of Forming a Spreadsheet Display, having Ser. No. 07/407,972 and filed on Sep. 15, 1989; and
Data Storage Audit Trail, having Ser. No. 07/409,230 and filed on Sep. 15, 1989.
The present invention relates, in general, to a process of controlling the input and output of data in a computing system and, more particularly, to a process of managing the form of input and output with the use of tiles consisting of one or more cells.
In the art, there are various types of input and output buffers. However, this is typically handled using two different buffers, one for inputs and one for outputs. A typical input is generated by some type of user interface such as a keyboard, mouse, track ball, or the like. The output is typically provided on a cathode ray tube (CRT), flat screen display, or like device generally classified as operator display modules (ODM)
The output function of a forms manager is to take the information to be displayed and arrange it in the order dictated by a form. In prior art forms managers, the form of the output is predetermined and stored somewhere in the system. The forms manager does not have the capability to modify the form dependent upon the user or information being displayed.
These types of prior art forms managers have the disadvantage of having to display an information field whether the field is used or not. By way of one specific example, in the area of medical records, there are numerous types of information that can be maintained for any one particular patient However, rarely does one patient require that all of the types of information be maintained. Therefore, it is a disadvantage for the forms manager to display blank spaces when that particular area is not being monitored. By displaying these blank areas, the size of the display is greatly increased making it impossible to display all of the information on one or two screens There may also be screen displays that have no data on them.
In addition, it is often necessary, for record keeping and security, to: limit access to particular portions of the display; keep track of who enters the data; and to insure that the data is entered correctly. Therefore, there is a requirement in the industry that the forms manager also interact with the input side of the systems.
Accordingly, it is an object of the present invention to provide a forms manager which overcomes the above deficiencies.
It is a further object of the present invention to provide a forms manager that acts as an input and output buffer.
Another object of the present invention is to provide a forms manager which customizes the form to the information being displayed.
Still another object of the present invention is to provide a forms manager which utilizes tiles, or windows, to display information.
Yet another object of the present invention is to provide a forms manager which may be used to provide data entry and access security to tiles
Another object of the present invention is to provide a forms manager which operates independently of the applications allowing the forms to be modified without requiring a change in the application.
A particular embodiment of the present invention consists of a forms manager which first obtains a list of objects to be displayed. The tiles associated with these objects are then obtained from a data base of various tiles. The tiles, and associated objects, are then ranked in order for display. Finally, the tiles and their associated objects and data are displayed.
As used herein, the term “tile” will refer to a set of rules for displaying data of an object and a list of objects that it may display. A “group” is a collection of related tiles and a “form” is a collection of groups and/or tiles.
A tile is comprised of “cells” each cell having a related “object”. The object may be either text, numerical, or a combination thereof. A tile is similar to a window with the exception that tiles do not overlap as is permitted with windows. It should be understood that, if the application permits, the present invention may be utilized with windows and as such the term tile may be taken as synonymous with window. A description of windows is provided in Scheiflen & Gettys, “The X Window System”, ACM Transactions on Graphics, Vol. 5, No. 2, pg. 79-109 (April 1986).
Referring initially to
An input device 12 is coupled to forms manager 11. Input device 12 is illustrated as a keyboard with a joy stick but may be any type of input device In general, the communication is from input device 12 to forms manager 11. However, there may be a need for forms manager 11 to operate visual or acoustic devices on input device 11. For this reason, there may be some communication from forms manager 11 to input device 12.
Also coupled to forms manager 11 is an operator display module 13. Display 13 is typically a cathode ray tube, but may be any of numerous types of displays such as the various types of flat panel displays Communication is generally from forms manager 11 to display 13. However, a touch sensitive screen or other type of input device may be incorporated in the system requiring communication from display 13 to forms manager 11.
Forms manager 11 also interacts with the application programs 14 and the databases. The databases, for this particular example, are broken into a general database 15 and a specific database 16. It should be understood that while the database may be functionally separated, both may be contained in the same physical location
In operation, objects are entered through input device 12 to the forms manager. This input is checked and stored in database 16 for the particular patient. When a form is to be displayed, forms manager 11 obtains a list of objects to be displayed. One source of objects is application program 14. The forms manager then retrieves the tiles associated with the objects from database 15. The data to be placed in the tiles is then obtained from database 16. Using these inputs, forms manager 11 develops a form which is displayed on display 13.
The input operation of the present invention is illustrated in
If an item on the form has been selected, the process moves to decision block 23. In decision block 23, the forms manager determines whether the selected item is enterable by the user (line 10). If the item is not enterable by the user, the process moves to block 24 where an error message is printed (line 11). Following the error message, the process exits the routine.
If the item is enterable by the user, the process moves to a decision block 25. In decision block 25, the forms manager determines whether the key was a terminator (line 14) such as a return key, enter key, tab key, or the like. If the key was not a terminator key, the process moves to decision block 26. In decision block 26, the forms manager determines if the key represented a valid character for that item (line 19). By way of example, the item may be limited to numeric input only; in which case any alpha input would be rejected. If the key does not represent a valid character, the process moves to block 27. In block 27 an error message is printed (line 27) and the process exits the routine.
If the key represents a valid character, the process moves to block 29. In block 29, the valid character is appended to an item value for the selected item (line 20-23). The process then exits the routine.
If the key was a terminator, the process moves from decision block 25 to block 28. In block 28 the item value, created in block 29, is stored in a buffer (line 15). Following block 28 is block 30 where a “New Event” signal is generated (line 16) to inform the application that a new item value is present.
A similar process takes place when a pointing device (i.e. mouse, joy stick, roller ball, etc.) is utilized as the input device. This process is illustrated in
The process then moves to a decision block 36. In decision block 36, the forms manager determines if the pointer is on an active form (line 5). If the pointer is not in an active form, the process moves to block 37. Block 37 causes an error message to be printed (line 6). The process then exits the routine.
If the pointer is on an active form, the process moves from decision block 36 to decision block 38. In decision block 38 the forms manager determines if the pointer is over a selectable item (line 9). If the item is not selectable, either generally or by that user, the process moves to block 39. Block 39 causes an error message to be printed (line 10). The process then exits the routine.
If the pointer is over a selectable item the process moves from decision block 38 to decision block 40. In decision block 40, the forms manager determines whether the pointer is over a pop-up window (line 13). If the pointer is not over a pop-up window, the process moves to a block 41. In block 41 a “select” event is generated lines (18-27) indicating the item at which the pointer was directed. The select event may permit the entry of data into the item selected or may cause a pop-up menu to be formed.
If the pointer is over a pop-up menu, the process moves from decision block 40 to block 42. Block 42 causes an event associated with the selected item to be generated (line 14). This event may be the entry of data, the correction of previously entered data, a request to show more detail, or the like. Following block 42, the process exits the routine.
The process of entering data by the user is classified as an event. More precisely, an event is a user action or set of user actions which are of interest to the application.
The events are placed in a queue by the forms manager, steps 30 and 42 of
In the output operation, the forms manager is directed to display a particular form containing objects (text/data). In the present invention, the text/data to be displayed dictate the shape of the form rather than the form dictating how the objects are displayed. A sample form, generally designated 50, is illustrated in FIG. 3. Form 50 illustrates two groups of tiles, a vitals group 51 and a labs group 52. Vitals group 51 contains four tiles: a heart rate tile 53, a blood pressure tile 54, a temperature tile 55, and a respiration rate tile 56. The labs group consists of: a CBC/HGB (Complete Blood Count/HemoGloBin) tile 57, a CBC/HCT (Complete Blood Count/HematoCriT) tile 58, a K+ (Potassium) tile 59, a Na (Sodium) tile 60, a BUN (Blood Urea Nitrogen) tile 61, and a CREAT (CREATinine) tile 62.
Each tile 53-62 comprises several cells. For example, heart rate tile 53 has a group cell 53A and a title cell 53B. In a group, such as group 51, the name of the group may or may not be printed. Generally, only the first tile in the group, here tile 53, will designate the group name. Cell 53B contains the title; here the title is “Heart Rate”. The remaining cells of tile 53 are data cells 53C. One cell 53C is provided for every time period listed on the display. Cells 53C are spreadsheet type cells in that they repeat with time whereas regions 53A and 53B are non-spreadsheet cells that do not repeat with time. In tile 54, the group cell 54A is left blank since the group is displayed previously. However, the object cell 54B of tile 54 is labeled Blood Pressure. The data cells 54C of tile 54 are then aligned with the time intervals.
There is generally more than one type of tile for each category. One tile 53 may be provided to display its regions in either a horizontal fashion, as in
In addition to the two standard types of tiles (horizontal and vertical) there may be other tiles displaying the data in different fashions. For example, blood pressure cell 54C will typically display three types of data, X, Y, and Z, representing the high pressure (X), low pressure (Y), and the average pressure (Z). In
Each tile may be designed to contain numerous types of information, both displayed and not displayed. For example, the basic type of information is whether a cell contains data or text. A text (data) cell of a tile can be set to prohibit the entrance of data (text). The physical size and shape of the cell and tile is also maintained in the tile definition. The display rules are in the tile definition indicating, for example, which cell display format (refer to
Various security measures are also contained within the tile/cells descriptions. These security measures take the form of whether a tile/cell may be accessed and by whom. For example, you would not ordinarily allow access to the group and title cells. These are preset and are to be changed only by the system administrator. In other areas, such as the data areas, you want the general nursing population of the hospital to be able to enter data. However, it would also be desirous to know who entered the data and exactly when it was entered. While the charts may be broken down into half-hour segments, the vitals may not be taken right on the half-hour, so you will want to keep a record of the exact time and who entered the data. An additional security measure is whether data may be changed once it has been entered. While you do not want to have data changed at a later date, it is important that the data illustrated is accurate. Therefore, a tile/cell will retain the original entry and who made it; and the changed data and who made the changes. When a cell is displayed that has had data changed, this region will be offset from the other data by a marker, different color, flashing display, or the like.
The time of the data may be broken down further into when the readings were made and when they were actually entered into the system. The tile/cell definitions may also perform a data integrity check to ensure the entered data is not obviously incorrect. For example, in temperature tile 55, if the temperature 986° C. is accidently entered rather than 98.6° C., the system will recognize this as an error and alert the individual making the entry. In addition, if an entry is outside a normal range, but still valid, this entry may be offset from the rest of the data in a fashion described above with respect to the changed data.
In this particular embodiment, tiles are designed to display the various forms of objects. There is not one tile for each object but one tile for each form of object. When the forms manager seeks to display a particular object, it determines which tile is associated with this object and retrieves that tile. As an example, Potassium (K+) tile 59 and Sodium (Na) tile 60 would be the same form of tile. The difference would be the title displayed in title cells 59B and 60B and the data entered into spreadsheet data cells 59C and 60C.
Another feature of the tiles of the present invention is that a cell of a tile may be associated with a menu of possible actions with event codes. An example of this is provided in FIG. 6. In
As shown in
Once the object list has been generated, the process moves on to step 83 where objects are assigned to tiles (lines 12, 13). For example, if the object is the “Heart Rate”, then the tiles would be checked to see which tile was associated with “Heart Rate”.
Next, in step 84, the draw point is moved to the top, or some designated home point, of the display (lines 15-17). A decision is then made in step 85 as to whether there are objects/tiles to be drawn (lines 19-20). If there are no tiles to be drawn, the process moves to step 86 and ends. If there are tiles to be drawn, the process moves to step 87 where the object/tile is drawn (lines 21-54). Once drawn, the process moves to step 88 where the draw point is moved to the next position (line 55).
This process would generate a display such as that illustrated in FIG. 3. However, there are generally so many objects which may be monitored for a particular patient, that not all of the objects may be displayed in one screen. Since it is unnecessary to display objects which are not being monitored, the elimination of these objects will leave more room on the display for objects that are being monitored.
As an example, of the objects displayed in
In addition to the above, the forms manager will place the objects in any order specified in the listing of objects that is provided or generated. For example, if a particular doctor prefers to view the blood pressure, tile 54, as the first object, this can be indicated in the form description, and the forms manager, when the display is created, will place this tile first. In addition, the forms manager may be set to inter-mix objects from the various groups if desired. An example of this is illustrated in FIG. 9.
In
Therefore, the process of
As indicated above, the assignment of objects to tiles, in step 83, may occur before, during, or after the steps set out in FIG. 10.
Therefore, as stated above, the present invention creates a form to fit the objects being displayed rather than fitting the objects to the form.
Thus, it will be apparent to one skilled in the art that there has been provided in accordance with the invention, a process and method that fully satisfy the objects, aims, and advantages set forth above.
While the invention has been described in conjunction with specific embodiments thereof, it is evident that many alterations, modifications, and variations will be apparent to those skilled in the art in light of the foregoing description. Accordingly, it is intended to embrace all such alterations, modifications, and variations in the appended claims.
APPENDIX A
2
3
4
fm_click (key)
5
6
if item not selected
7
error - “Keyboard inactive when nothing selected”
8
exit
9
10
if selected item not enterable
11
error - “Item not enterable”
12
exit
13
14
if key is a terminator
15
store item value in database
16
generate NEW event
17
exit
18
19
else if key is a valid key
20
if this is the first key in this item
21
set item value to blank
22
23
add key to item value
24
exit
25
26
else
27
error - “Invalid key”
28
exit
29
APPENDIX B
2
3
fm_point (position)
4
5
if position not on current form
6
error - “Not on active form”
7
exit
8
9
if position not on selectable item
10
error - “Item not selectable”
11
exit
12
13
if position over popup menu
14
generate action associated with popup menu item
15
exit
16
17
else
18
if there is a currently selected item
19
if position is over selected item
20
generate DESELECT action for item
21
22
else
23
generate DESELECT action for selected item
24
generate SELECT action for item at position
25
26
else
27
generate SELECT action for item at position
28
29
exit
30
APPENDIX C
2
3
fm_new (form_name, object_list)
4
5
read form definition
6
7
if object list supplied
8
make local copy of object list
9
else
10
create object list from form definition
11
12
for each object in object list
13
find tile in form which displays object
14
15
draw point = (0,0)
16
last tile = NONE
17
last group = NONE
18
19
for each object on object list
20
do
21
set this tile to tile containg object
22
set this group to group containing tile
23
24
if this group != last group
25
26
if last tile != NONE
27
draw end of last tile
28
draw point = end of last tile
29
30
if last group != NONE
31
draw end of last group
32
draw point = end of last group
33
34
last group = this group
35
last tile = this tile
36
37
draw beginning of this group
38
draw point = beginning of this group
39
40
draw beginning of this tile
41
draw point = beginning of this tile
42
43
else if this tile != last tile
44
45
if last tile != NONE
46
draw end of last tile
47
draw point = end of last tile
48
49
last tile = this tile
50
draw beginning of this tile
51
draw point = beginning of this tile
52
53
54
draw this object
55
draw point = end of object
56
done
57
58
if last tile != NONE
59
draw end of last tile
60
draw point = end of last tile
61
62
if last group != NONE
63
draw end of last group
64
65
exit
Shelton, Richard Edward, Norden-Paul, Ronald Evan, Thurman, Audree Anne, Person, Stanley Carl
Patent | Priority | Assignee | Title |
8286088, | Apr 23 2002 | DRÄGERWERK AG & CO KGAA | Patient medical parameter trend indicative user interface display system |
9026897, | Jul 12 2013 | CLEARFACTR, LLC | Integrated, configurable, sensitivity, analytical, temporal, visual electronic plan system |
9116931, | Jul 12 2013 | CLEARFACTR, LLC | Integrated, configurable, analytical, temporal, visual electronic plan system |
Patent | Priority | Assignee | Title |
3588838, | |||
4258361, | Mar 31 1978 | International Business Machines Corporation | Display system having modified screen format or layout |
4315309, | Jun 25 1979 | Integrated medical test data storage and retrieval system | |
4442424, | Jun 11 1980 | Nippondenso Company, Limited | Method and system for displaying vehicle operating parameters in a variable format |
4484302, | Nov 20 1980 | International Business Machines Corporation | Single screen display system with multiple virtual display having prioritized service programs and dedicated memory stacks |
4555775, | Oct 07 1982 | UNIX SYSTEMS LABORATORIES, INC | Dynamic generation and overlaying of graphic windows for multiple active program storage areas |
4597045, | Apr 30 1982 | Casio Computer Co. Ltd. | Tabulated data calculating apparatus |
4651146, | Oct 17 1983 | INTERNATIONAL BUSINESS MACHINES CORPORATION A CORP OF NY | Display of multiple data windows in a multi-tasking system |
4653020, | Oct 17 1983 | INTERNATIONAL BUSINESS MACHINES CORPORATION ARMONK, NY 10504 A CORP OF NY | Display of multiple data windows in a multi-tasking system |
4658366, | Aug 09 1984 | FORMFILL, INC , A CORP OF TX | Methods and apparatus for accurately completing pre-printed forms |
4688167, | Sep 27 1984 | CHIPS & TECHNOLOGIES, INC | Screen manager for data processing system |
4713754, | Oct 09 1984 | CASCABEL RESEARCH LLC | Data structure for a document processing system |
4737912, | Sep 21 1984 | Olympus Optical Co., Ltd. | Medical image filing apparatus |
4761642, | Oct 04 1985 | AMERICAN VIDEO GRAPHICS, L P | System for providing data communication between a computer terminal and a plurality of concurrent processes running on a multiple process computer |
4807123, | Oct 20 1980 | Sharp Kabushiki Kaisha | Programmable system for inputting & Processing data using visually perceptible data entry frames |
4807142, | Oct 09 1984 | CHIPS & TECHNOLOGIES, INC | Screen manager multiple viewport for a multi-tasking data processing system |
4837693, | Feb 27 1987 | NATIONAL BENEFITS GROUP, INC , A CA CORP | Method and apparatus for facilitating operation of an insurance plan |
4851999, | Jul 24 1985 | KANIE PUROPAN, INC | General-purpose management system |
4878175, | Nov 03 1987 | Eclipsys Corporation | Method for generating patient-specific flowsheets by adding/deleting parameters |
5247611, | Sep 15 1989 | Eclipsys Corporation | Spreadsheet cell having multiple data fields |
5812983, | Aug 03 1995 | Computed medical file and chart system |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Oct 09 2001 | Eclipsys Corporation | (assignment on the face of the patent) | / | |||
Oct 31 2011 | ALLSCRIPTS SOFTWARE, LLC | JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT | SECURITY AGREEMENT | 027628 | /0961 | |
Oct 31 2011 | Eclipsys Corporation | ALLSCRIPTS HEALTHCARE US, LP | MERGER SEE DOCUMENT FOR DETAILS | 027805 | /0558 | |
Oct 31 2011 | ALLSCRIPTS HEALTHCARE US, LP | ALLSCRIPTS SOFTWARE, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 027816 | /0186 | |
Jun 28 2013 | JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT | ALLSCRIPTS SOFTWARE, LLC | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS | 031264 | /0076 |
Date | Maintenance Fee Events |
Date | Maintenance Schedule |
Aug 10 2013 | 4 years fee payment window open |
Feb 10 2014 | 6 months grace period start (w surcharge) |
Aug 10 2014 | patent expiry (for year 4) |
Aug 10 2016 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 10 2017 | 8 years fee payment window open |
Feb 10 2018 | 6 months grace period start (w surcharge) |
Aug 10 2018 | patent expiry (for year 8) |
Aug 10 2020 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 10 2021 | 12 years fee payment window open |
Feb 10 2022 | 6 months grace period start (w surcharge) |
Aug 10 2022 | patent expiry (for year 12) |
Aug 10 2024 | 2 years to revive unintentionally abandoned end. (for year 12) |