Known products provide a Web viewer for patient vitals data. To display a particular patient's vitals data via the Web viewer, a user typically needs to provide a series of identifiers, including user ID, user password, name of the patient, the patient identification code, the server and/or location where the patient vitals data resides, etc. However, a user often will not know one or more of the required identifiers for accessing such vitals data as such information is normally at least partially maintained within the clinical environment at the point of care. Furthermore, the temporal currency of such data may be in question. In certain known products, user-obtained data and/or medical records do not accurately reflect real-time patient information.
Certain exemplary embodiments provide a system for accessing patient medical information in a network. The network comprises a plurality of servers. Certain exemplary embodiments of the network further comprise a repository including patient identifiers and associated server identifiers for use in identifying one or more servers that store medical information associated with a particular patient. To respond to a received command or request to display a particular patient's medical information, certain exemplary embodiments of the network comprise a search processor for initiating a search of the repository to locate a particular server identifier associated with an identifier of a particular patient. To respond to a user command, certain exemplary embodiments of the network comprise an interface processor for generating a uniform resource locator (URL) address incorporating a located particular server identifier in a data field and for initiating a request to access stored medical information of a particular patient at a generated URL address hosted by a server.
A wide array of potential embodiments can be better understood through the following detailed description and the accompanying drawings in which:
When the following terms are used herein, the accompanying definitions apply:
Certain exemplary embodiments provide a system for accessing patient information in a network. Certain exemplary embodiments of a system for accessing patient information in a network comprise a user interface coupled with processing methods that enable the launching of a thin-client vitals viewer from a clinical access application via a Web-based URL link. Certain exemplary embodiments of the system accept input of a patient identifier and/or user authentication information, such as a user name and password. Input of the patient identifier triggers the system to automatically launch the correct vitals viewer comprising information pertaining to patient associated with an accepted patient identifier from a host server located within a hospital clinical information system. Certain exemplary embodiments of a system for accessing patient information automatically check multiple servers in order to provide patient information to a user. Through the polling of servers, a common database of identifiers for patients and the servers on which their information resides is created and maintained. Through a user interface, the patient information is extracted by utilizing the identifiers to launch a browser-based application such as a vitals viewer.
In certain exemplary embodiments of system 100, servers 120 are coupled to a repository server 130. Certain exemplary embodiments of repository server 130 comprise a repository 140. Repository 140 comprises the functionality of a database that maintains a combined list of all patients with their respective monitoring devices. An example of a system 100 for accessing patient information utilizes patient identifiers and server identifiers, which are stored in repository 140. Repository server 1130 comprises one or more processors 135. Processors 135 comprise a search processor, an interface processor, an acquisition processor, a display processor, an authorization processor, and/or any equivalents thereof, etc.
Using any appropriate access device 150, a user accesses patient information via repository server 130, repository 140, and/or servers 120. Access device 150 is any general purpose and/or special purpose information device. The network connections of system 100 are wired and/or wireless connections and/or communications network. Certain exemplary embodiments of system 100 are password-protected and/or use standard network security measures, such as password and data encryption, firewalls, virus protection, and/or any equivalents thereof, etc.
Certain exemplary embodiments of information device 200 include a user interface 260. User interface 260 displays patient information. User interface 260 also presents instructions for interacting with information device 200. In certain exemplary embodiments, user interface 260 functions in concert with one or more input/output (I/O) devices 250. Interaction between user interface 260 and I/O device 250 allows a user to request, collect, organize, view, and/or relay, etc., patient information. Certain exemplary embodiments of I/O device 250 automatically collect, request, relay, display, and/or organize etc., patient information. In certain exemplary embodiments, via one or more user interfaces 260, such as a graphical user interface, a user provides a URL of a patient monitoring device of interest and/or receives current location information concerning the patient monitoring device of interest.
Certain exemplary embodiments of information device 200 comprise patient information that comprises real-time, near real-time, or past patient data collected from other information devices such as patient monitoring devices and their associated servers. In certain exemplary embodiments, patient information is stored within memory 230. Certain exemplary embodiments of memory 230 comprise a list of patient identifiers and their associated server identifiers. Instructions 240 for information device 200 govern the appropriate collection and organization of data and information within memory 230. Instructions 240 are stored on one or more different types of memory.
Certain exemplary embodiments of information device 200 comprise one or more processors 220. An exemplary embodiment of processor 220 is a search processor. In response to a received command, processor 220 initiates a search of memory 230. A received command can be user-initiated, or a timed event scheduled by a user or by software. Processor 220 searches for patient identifiers and server identifiers. Certain exemplary embodiments of processor 220 poll various servers to identify patients connected to patient monitoring devices that are linked to one or more servers. The polling process is an automatic and/or scheduled event. Alternatively, a user commands processor 220 to initiate a search. In certain exemplary embodiments, processor 220 provides notification as to whether a particular patient is currently being monitored before a user attempts to access the patient's medical information. A user need not know the specific location of a particular patient in order to access patient information.
An exemplary embodiment of processor 220 is an interface processor. Thus, certain exemplary embodiments of processor 220 coordinate a response to a user command for patient information. Processor 220 generates a URL address for use in accessing requested information. Certain exemplary embodiments of processor 220 utilize the appropriate patient and server identifiers to generate a URL. When the URL is activated, processor 220 initiates gathering of the requested information. Furthermore, processor 220 communicates the gathered information to a user via user interface 260 and/or I/O device 250. In certain exemplary embodiments, processor 220 determines whether the requested patient identifier and/or associated server identifiers exist within a network and initiate the generation of a message conveying whether the requested identifiers are available. Certain exemplary embodiments of processor 220 inhibit the initiation of a request to access patient medical information if the requested patient identifier and/or a server identifier is absent from the associated network.
An exemplary embodiment of processor 220 is an acquisition processor. Thus, certain exemplary embodiments of processor 220 acquire and/or compile a list of patient identifiers and server identifiers for storage within memory 230. Certain exemplary embodiments of processor 220 collect other forms of data from a plurality of I/O devices 250 and/or user interfaces 260 such as patient vital signs data, patient histories, billing information, and/or any appropriate patient information. In certain exemplary embodiments, the acquisition function of processor 220 is automatic and/or scheduled. Alternatively, a user manually commands processor 220 to perform various tasks. Certain exemplary embodiments of processor 220 periodically and/or aperiodically interrogate a plurality of different servers to compile data indicating patient identifiers and associated server identifiers for storage in said repository. Certain exemplary embodiments of processor 220 periodically and/or aperiodically interrogate a plurality of different servers in response to an input identifying the plurality of different servers. An exemplary embodiment of an input is any data form or record identifying a plurality of identifiers.
An exemplary embodiment of processor 220 is a display processor. Thus, certain exemplary embodiments of processor 220 initiate and/or maintain various forms of displaying data, such as textual and/or graphical data display of patient information on user interface 260, such as an EKG waveform.
An exemplary embodiment of processor 220 is an authorization processor. Thus, certain exemplary embodiments of processor 220 verify that a user is authorized to access patient information stored within one or more information devices 200 and/or a network comprised of a plurality of information devices 200. If a user is not authorized to access patient information, processor 220 prevents access to information device 200 and, in certain exemplary embodiments, processor 220 initiates a message indicating that access is prohibited. Alternatively, if a user is authorized to access information device 200, processor 220 initiates a communication to a user that indicates successful access.
Certain exemplary embodiments of information device 200 comprise a network interface 210. Network interface 210 allows interaction with other information devices 200 via a wired and/or wireless network.
Certain exemplary embodiments of user interface 300 comprise a login screen 310. Login screen 310 comprises a login function 320. Certain exemplary embodiments of login function 320 comprise a standard user name and password system. Thus, login function 320 accepts a user's name and password to allow access a system for accessing patient information. Alternatively, login function 320 accepts input of a patient identifier. In certain exemplary embodiments, input of the patient identifier leads to a presentation of the correct vitals viewer from a host server located within a hospital clinical information system.
Certain exemplary embodiments of a login screen 310 comprise one or more user interface elements, such as buttons 330, function links 340, and/or icon links 350. Activation of a user interface element 330, 350 and/or function link 340 causes any action, such as launching a separate window, transferring the user to another window, and/or the launching of a new application, etc.
Certain exemplary embodiments of patient list 450 comprise a list of patient names and associated patient information. Patient information includes name, age, gender, location, and/or vital sign data, etc. Certain exemplary embodiments of a patient name comprise a function link to additional patient information. In certain exemplary embodiments, a patient name is associated with a chart icon 455. In certain exemplary embodiments, user selection of chart icon 455 allows access to any patient information that is found within a traditional patient record.
Certain exemplary embodiments of information 620 comprise real-time and/or near real-time physiological information. Information 620, 650 presented within patient vitals viewer 610 is the result of data collected from patient monitoring device and/or data entered by a health care provider at the point of care. Information 620 is represented textually to a user. Certain exemplary embodiments of information 650 comprise graphical information, such as a trace indicating brain electrical activity. Information 620, 650 also comprises previous textual and/or graphical patient data and/or information.
At activity 720, the identifiers are collected for storage within a repository. In certain exemplary embodiments, patient identifiers designate a patient who has patient information stored within a patient information management system. The associated server identifiers are used to designate the one or more servers on which a patient's information is stored. At activity 730, identifiers are stored. Identifiers are collected and organized according to any system of organization. In certain exemplary embodiments, a repository server uses a processor, such as an acquisition, search, network, display, authorization, and/or interface processor, to acquire and/or organize patient identifiers and their associated server identifiers. The identifiers are stored within one or more servers and or repositories. In certain exemplary embodiments, a repository comprises a map linking the patient identifiers with their associated server identifiers in order to identify a server hosting medical information for a particular patient. Thus, various polling processes retrieve a list of active patients attached to patient monitoring devices linked to servers, and from this collection a master list and/or map is created. The map is updated continuously and automatically so that changes in any monitored patient parameter are incorporated, thereby eliminating outdated patient information.
At activity 740, a URL is generated. The URL incorporates the patient identifier and/or server identifier within the URL data field. At activity 750, a request to access information is processed. In certain exemplary embodiments, a URL address incorporating a patient identifier and one or more associated server identifiers allows retrieval via a browser of patient information within a network.
At activity 830, a request to access the patient information at the URL address is received. In certain exemplary embodiments, the request results from a user clicking on a function link. Alternatively, a user enters a user identifier in order to generate a list of patients associated with that user. In certain exemplary embodiments, the user also enters a patient identifier in order to generate a request to access information associated with that particular patient.
At activity 840, the patient information is communicated for display on a user interface. Communication of patient information allows a user to request real-time and/or near real-time patient information. At activity 850, the patient information is displayed to a user via a user interface. In certain exemplary embodiments, if a patient identifier is found with the repository and/or servers, a vitals viewer is launched and presented in a Web page to the user, where the user views the patient information. If the patient identifier is duplicated on multiple servers, the user interface displays this information to the user. If no equivalent patient identifier is found, an appropriate message is displayed to the user. A user does not have to enter a patient location, such as a physical location or a location within the network, in order to access patient information.
Certain exemplary embodiments of a system for accessing patient information comprise a URL call within the clinical client application of: http://<host server_name_or_IP_Address>/WinViewFrontEnd/WvBootAgent.asp. The URL call is physically mapped to the file WVBootAgent.asp within the C:\Inetpub\wwwRoot\WinViewFrontEnd directory on the gateway server.
Certain exemplary embodiments of a system for accessing patient information comprise WVBootAgent.asp. The page is called with the following parameters: http://<host server_name_or_IP_Address>/WinViewFrontEnd/WVBootAgent.asp?Login=guest&PID=xxxxxxxxwvyz&Pwd=winview. The code for this comprises:
Certain exemplary embodiments of a system for accessing patient information can comprise checkPID.asp. Extract PID, Login, and Pwd from the calling page: WVBootAgent.asp. The code for checkPID.asp comprises:
Within checkPID.asp, pid_info.inf is a manually-created file that contains a listing of the patient Ids and their associated gateway servers. This file is typically maintained (that is, updated) for each Gateway. The code for checkPID.asp further comprises:
In certain exemplary embodiments of checkPID.asp, if only one gateway server is found with this patient ID (PID), then all is well, and the next step is calling the actual ActiveX page that launches the winwebviewer. The code for checkPID.asp further comprises:
Certain exemplary embodiments of a system for accessing medical information comprise a GatewayPIDListener ReadMe file, which comprises:
Required:
Recommended:
Purpose: To allow access to the WinWeb Vitals Viewer from a clinical information access application if a patient vitals are available.
Unzipping
Create a directory called SecureFiles on your C drive.
Unzip WinViewBoot.zip into this directory.
Two directories will be created(WinViewFE and WebRoot)
You will need to make WebRoot available from the webserver either by making it a virtual directory(IIS) or copying it into the web accessible directories.
Note: If you unzip WinViewBoot.zip into any other directory you then typically modify the following lines of code in the following ASP pages:
Edit these to contain the appropriate path to these two files.
Setup
GateWayList.txt
This file is located in the WinViewFE directory. You modify this file with the correct locations of the ptlist.txt files on each Gateway server you wish to poll. ptlist.txt is accessible from a network drive for our java application to have access.
Do not edit the first line:
Use the following format for the ptlist.txt location:
For example:
wvpassword.txt
This file is located in the WinViewFE directory. You modify this file with the proper username and passwords you wish to use with the WvLogin.asp page.
This file contains username and password in the following format:
For example:
WvBootAgent.asp is accessible from a webserver.
The link to WVBootAgent.asp from clinical information access application contains the following parameters when called: PID, USER
Additional note: will also operate with other clinical information access applications.
The PID will contain the PID of the patient attempting to be viewed
The USER will contain the Username that will be used to access the viewer.
From the server that contains the GatewayPidListener java application
To run the GatewayPidListener, make sure that GateWayList.txt is in the same directory as the GatewayListener.bat file and the GatewayListener.class file. (NOTE: These should all be located in the WinViewFE directory)
Execute the GatewayListener.bat file, this will launch the java application and the application will poll the specified gateway servers
Certain exemplary embodiments of a system for accessing medical information comprise GatewayPIDListenerjava. The code comprises:
Certain exemplary embodiments of a system for accessing patient information comprise the following instructions for locating a server:
Certain exemplary embodiments of a system for accessing patient information comprise an automated launching of GatewayPidListener on a Gateway server. Locate GatewayPidListener_auto.bat on the C: drive of one Gateway. The contents of this file:
Then enter the following information into the Autoexec.bat file on the server (accessed using Sysedit command from the Start->Run command line):
If for some reason a process is not running as verified by inspecting processes within a task management operation, then a user accesses either the GatewayPidListener_auto.bat file within the c: drive or the GatewayPidListener.bat file within securefiles\winviewfe. This may also be accomplished by placing the GatewayPidListener_auto.bat file within the Startup file folder. This causes the process to launch automatically upon server boot.
Certain exemplary embodiments of a system for accessing patient information comprise a user interface and processing methods that enable the launching of a thin-client vitals viewer from a Clinical Access application via a Web-based URL link. This system accepts patient ID and automatically launches the correct vitals viewer from the host gateway server located within a hospital clinical information system and presents the results of this patient (if on a monitor) through the Web launched through its own Web window. While the vitals viewer itself accomplishes this on its own without assistance, the system has the ability to check multiple existing servers automatically (without the need to specify via a Clinical Access application) to provide a correct patient's vital waveforms to the user. The system of methods that accomplish this involve polling processes that retrieve a list of active patients on vitals monitors on each existing server, and create a master list which is retrieved by the Web-based viewer for near-real-time determination as to whether a patient is on a vitals monitor. If a patient is found within the server's associated databases, the patient's vitals viewer is launched and presented in a Web page to the user, where the user views the near-real-time vitals results. If patient ID is duplicated on multiple servers, such a method is displayed to the user. If no equivalent patient identifier is found, this message is displayed to the user.
The current suite of server products provides a thin-client Web viewer for patient vitals data. In order to display a particular patient's vital parameters via thin-client Web viewer it is necessary to specify the user ID, user password, name of the particular server on which patient resides, and patient identifier. However, knowledge of the particular server is typically not available to a health information system user as this information is normally maintained within the clinical environment at the point of care. A system for accessing patient information removes the need for the user to know and specify the particular Gateway server by maintaining a common database of all Gateway patient list files (normally written by the servers) and using these in combination with a launching page to extract the identity of the Gateway server and the associated patients on the server(s).
A system for accessing patient information advantageously provides the ability to launch the thin-client Web-based vitals viewer supplied with the gateway server suite of products without having to specify beforehand the location of a patient on a particular gateway server. In an alternative exemplary embodiment, a particular server identifier is encoded into a URL call to the thin-client Web viewer. The system is usable by other applications that require specific knowledge of a location of an entity within an enterprise (that is, locating a particular patient within the clinical domains of a particular hospital).
Still other embodiments will become readily apparent to those skilled in this art from reading the above-recited detailed description and drawings of certain exemplary embodiments.
This application claims priority to pending provisional application Ser. No. 60/454,278 (Applicant Docket No. 03P03690US), filed Mar. 13, 2003.
Number | Date | Country | |
---|---|---|---|
60454278 | Mar 2003 | US |