|
Description  |
|
|
CROSS REFERENCE TO RELATED APPLICATIONS
This invention is related to copending U.S. patent applications Ser. No.
08/028,333, titled MEDICAL ALERT DISTRIBUTION SYSTEM, and Ser. No.
08/028,356, titled REMOTE LIMIT-SETTING INFORMATION DISTRIBUTION SYSTEM,
each filed Mar. 9, 1993 and each assigned to the assignee of the present
invention.
FIELD OF THE INVENTION
This invention relates generally to information retrieval and distribution
systems and, more specifically, to method and apparatus for alerting
medical personnel to alarm conditions of ambulatory patients.
BACKGROUND OF THE INVENTION
The burgeoning demand for providing health care to all members of society
has raised issues concerning the means for providing such care in an
affordable manner. That is, the concern for providing adequate medical
care to patients must be balanced with the exponentially rising costs of
such care, particulary for inpatient hospitalization.
Accordingly, it is desirable to encourage outpatient medical care and
promote treatment of ambulatory patients. Such arrangements require a
system that provides sufficient information concerning the medical
condition of the ambulatory patient, particularly with respect to an
emergency situation, without inundating the medical personnel with
unnecessary information.
A known medical alert system that is directed to ambulatory patients
includes a base transceiver unit coupled to a telephone unit. The
transceiver includes a transmitter circuit connected to a loudspeaker and
a receiver circuit connected, by way of a wireless link, to a remote
signal generator. The signal generator, which may be clipped to the
ambulatory patient's clothing, includes circuitry for generating an alarm
signal and a transmitter for transmitting the alarm signal to the base
transceiver. In the event of an emergency situation, the ambulatory
patient depresses a button located on the signal generator, which
generates the alarm signal and transmits to the signal to the base
transceiver. The receiver of the base transceiver dials a predetermined
telephone number to inform a medical alert operator of the emergency. The
operator then dials the ambulatory patient's telephone number and
communicates to the patient via the loudspeaker.
A disadvantage of this arrangement is that the ambulatory patient must be
situated a predetermined proximity to the base transceiver, e.g., in the
patient's home, in order to communicate with the medical alert operator
via the telephone unit. Otherwise, the patient cannot signal the operator
and the operator has no way of determining the location of the patient.
Moreover, the patient must initiate the alarm signal, which could prove
disastrous if the patient is unconscious or otherwise unable to initiate
the alarm, or is unaware of a condition that requires attention. Even if
the patient is successful in signaling the operator, it is the patient's
responsibility to provide the operator with information concerning the
emergency medical condition.
What is needed is an efficient method and apparatus for providing specific
medical information about an ambulatory patient to medical personnel
without patient intervention.
SUMMARY OF THE INVENTION
The invention resides in a novel method and apparatus for alerting
authorized personnel of an emergency medical condition of an ambulatory
patient. The authorized personnel enters selection and limit parameters at
a remote processing device or "subscriber" unit and uploads the parameters
to a host computer. A telemetry device attached to the patient provides
medical and geodetic information pertaining to the ambulatory patient to
the host computer over a wireless link. The host computer, in turn,
extracts selected portions of that information in response to the
parameters provided by the subscriber over a communications network. The
subscriber unit receives updates of that information over another wireless
communications channel of the network when the parameters have been met,
thereby notifying the medical personnel of a medical condition of the
patient requiring attention.
Remote software modules resident in the subscriber unit facilitate both
entry of the parameters by the authorized user, e.g., a doctor, and the
subsequent transfer of those parameters to the host computer. These
software modules embody a plurality of independent processes, each of
which performs specific operations. Specifically, a user interface process
allows entry and modification of the parameters in a user-recognizable
format. A message-forming process then assembles the parameters into a
data packet, which is uploaded to the host computer over the
communications network in accordance with an asynchronous transfer
protocol. In an exemplary embodiment of the invention, the communications
network comprises a wireless, limited-bandwidth communications channel.
This latter arrangement obviates the need for a continuous, interactive
exchange with the host during the selection-and-limit entry process.
A communications system of the host computer collects the medical and
geodetic information from the patient and transfers the information to a
database subsystem. The communications system also receives the data
packets from the subscribers and transfers them to a host-based
"filtering" software subsystem. Software modules resident in this latter
subsystem are organized to interface with software modules resident in the
database subsystem to extract selected medical and geodetic information in
response to the parameters of the data packet. Upon completion of this
latter operation, the host computer transfers the extracted information to
the subscriber unit over the network in accordance with a non-interactive,
asynchronous transfer protocol, thereby notifying the doctor of the
patient's medical status.
One advantage provided by this arrangement involves remote control of the
type of information extracted at the host computer. That is, the inbound
information feed from the patient, which may be either high-speed streams
of data or data packets transmitted either directly to the host computer
or to an intervening database subsystem, is manipulated at the host
computer in accordance with the selection and limit parameters provided by
remote subscribers. Each authorized remote subscriber can adjust the
parameters of the host computer so as to receive only limit conditions,
i.e., data which meets its filter parameter specifications, on an
as-needed basis. Accordingly, the doctor can decide what information
he/she needs and can avoid being inundated with information. This
arrangement significantly conserves bandwidth, thereby allowing use of
less expensive, yet reliable, means of data transmission.
The method and apparatus described herein provides an automatic alarm to
the doctor and/or the patient concerning a serious medical condition of
the patient when a limit is met. Moreover, the arrangement may provide
periodic updates to both the patient and doctor.
Another advantage is that adjustment of the parameters can be performed at
the subscriber unit prior to communication with the host computer. While
this arrangement conserves bandwidth as described below, it also enables
verification of the parameters entered at the remote site prior to network
connection with the host computer.
Yet another advantage of the invention is that the user may enter the
parameters into the subscriber device in a user-recognizable format, where
they may be transmitted to the host computer by, for example, simply
depressing a key. The remote software residing on the subscriber provides
binary code translations and data transfer protocols that are transparent
to the user, thereby obviating user knowledge of the distributed data
processing architecture. Moreover, the data transfer is non-interactive,
i.e., transfer of the parameters to the host computer is provided only
upon demand of the user without the need for a conversational mode of
communication. This latter feature increases the utilization of the
network by reducing the required bandwidth, thereby enabling use of a
cost-effective, limited-bandwith communications channel.
A further advantage of the invention is that the host computer can monitor
the location of the ambulatory patient, by way of the geodetic information
provided by telemetry instrumentation carried by the patient. This will
enable rendering of prompt service to the patient in an emergency
situation.
BRIEF DESCRIPTION OF THE DRAWINGS
The above and further advantages of the invention may be better understood
by referring to the following description in conjunction with the
accompanying drawings, in which:
FIG. 1 is a diagram of a remotely-configurable medical alert distribution
system comprising a plurality of information sources and subscriber units
coupled to a host computer;
FIG. 2 is a block diagram of a subscriber unit;
FIG. 3 is a diagram of an ambulatory patient with a conventional telemetry
device coupled thereto;
FIG. 4 is a block diagram of a communications system of the host computer;
FIG. 5 is a flow diagram of the interaction between a REMOTE software
section of the subscriber device, and LIMIT, DBASE and PAGE software
sections of a software system of the host computer in accordance with the
invention;
FIG. 6 is a block diagram of the processes constituting the REMOTE software
section of FIG. 5;
FIG. 7 is a diagram of the format of a data packet used to transfer
parameters from a subscriber to the host computer;
FIG. 8 is a diagram of the processes constituting the DBASE section of FIG.
5;
FIG. 9 is a diagram of a linked list data structure including entries for
storing information records;
FIG. 10 is a diagram of the processes constituting the LIMIT section of
FIG. 5;
FIGS. 11A and 11B depict the formats of typical messages used for
communication among the processes of the system;
FIG. 12 is a diagram of the processes constituting the PAGE section of FIG.
5; and
FIGS. 13A, 13B and 13C are flowcharts detailing the sequence for remotely
configuring the medical alert distribution system of FIG. 1 in accordance
with the invention.
DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
FIG. 1 depicts a medical alert distribution system 10 that includes a host
computer 12 connected to a plurality of sources 15 and subscriber units
20. The host computer 12 is preferably configured to perform functions
that typically involve frequent accesses to secondary storage media and,
for the exemplary embodiment described herein, incorporates a database for
storing the information received from the sources 15. However, in an
alternate embodiment of the invention, the database may reside on another
machine that is coupled to the host 12. The sources 15 collect medical
information pertaining to the health of various patients and geodetic
information pertaining to their locations, and supply that information to
the host computer. The subscriber units 20 are typically processing
devices such as intelligent terminals and portable computers. The
subscribers and sources are coupled to a communications system 30 of the
host via a network 45 which may include wireless radio communication or
wireline (telephone line) connections.
The host computer 12 includes a central processing unit (CPU 14), an I/O
unit 17 and associated storage devices 18, such as magnetic disks and tape
drives, a main memory 16 and the communications system 30 interconnected
by a system bus 13. An operating system 25, portions of which are
typically resident in main memory 16 and executed by the CPU 14,
functionally organizes the computer. The operating system 25 also
includes, inter alia, software modules 110 (FIG. 3) executed by the
communications system 30 to control the transfer of information to the
other components of the computer 12. These modules are, in turn,
responsible for invoking operations in support of application programs
executing in the computer.
For the exemplary embodiment disclosed herein, the application programs
pertain to real-time data acquisition and transactional processing. Such
applications require fast data access to and from storage devices 18 that
are shared among the subscribers 20 and sources 15. Instances of the
software modules and application programs executing in the computer are
called "processes". A process is an individually scheduable entity
consisting of code and data, and characterized by dynamic states, as
described below. The operating system 25 organizes the host computer 12 by
tracking, suspending and resuming execution of the processes, while
allocating to them the CPU 14 and other system resources.
The hardware and software components of the host computer 12 arrange
related data items, i.e., records, into files and then organize the files
in a manner that facilitates efficient and accurate inquiry and update.
Specifically, host-based software modules 70, 90 resident in the memory 16
operate to selectively extract, i.e., "filter", the contents of the files
in response to selection and limit parameters remotely provided by the
subscribers 20, thereby enabling efficient performance of the data
acquisition and transactional processing operations that characterize the
computer.
The subscriber unit 20 comprises a microprocessor 22, a memory 24 and an
I/O unit 26 interconnected by a bus 210, as shown in FIG. 2. Buffering of
selection and limit parameters in the memory 24 and subsequent transfer of
these parameters to the host computer 12 are controlled by the
microprocessor 22. Remote software modules 50, typically resident in the
memory 24, facilitate interpretation and organization of the selection and
limit parameters entered by an authorized user.
As described further herein, a user interface process 52 of the remote
software modules 50 presents series of menus on a flat screen display 28
and provides for manipulation by a keyboard 27. The menus allow a user to
enter the selection and limit parameters in a user-recognizable format,
where translations are performed locally by the microprocessor 22 during
execution of the software modules 50 prior to arranging the parameters in
a message or "data packet" format. The microprocessor 22 then transfers
the data packet to a transceiver unit 23 and the packet is transmitted
over the network 45 to the host computer 12. For upload transmission of
the packet to the host over a wireline medium, the transceiver unit 23
preferably comprises a wireline modem circuit configured to transmit the
packet in accordance with conventional packet transfer protocols.
In the exemplary embodiment, the source 15 is a patient 300 having a
conventional telemetry device 310, as shown in FIG. 3. The telemetry
device 310 includes a panic button 315 located on the device, and includes
various sensors 320 attached to parts of the patient's body. The sensors
may include bioelectrical signal transducers with either direct contact
electrodes or indirect contact, e.g., capacitive or magnetic field,
electrodes; in addition, the sensors may be physiological transducers,
including, but not limited to, photoelectric, optical, accoustic, thermal,
mechanical, chemical or radiation sensitive transducers.
The sensors 320 collect body function data, e.g., blood pressure, blood
chemistry or electrocardiogram, either transcutaneously using conventional
non-invasive methods or using invasive methods, e.g., intravenous,
intramuscular, or other sensors on the interior of the body. The data is
assembled as a data packet at the telemetry device 310, which includes a
conventional microprocessor, memory unit and transceiver unit (not shown),
and the packet is transmitted to the host computer 12 as patient medical
information.
The telemetry device 310 may also include a conventional radio positioning
device 325, such as GPS or Loran, for collecting information pertaining to
the geographic location of the ambulatory patient 300. If an individual
wearing the portable telemetry device occupies a position which has
coordinates outside a limited preset area, an automatic message containing
position may be formulated by the microprocessor. This information is
provided to the host computer 12 as patient geodetic information and is
particularly useful in the monitoring of outpatients who may be
ambulatory.
The panic button 315 provides a means for signaling the host computer 12 at
the patient's request; this arrangement enables the telemetry device to
interact with the host computer in a manner other than the typical methods
of providing information, e.g., CSMA/CD or periodic polling of all the
sources 15 by the host computer 12. The panic button 315 also provides the
patient with a means for acknowledging receipt of a pre-programmed message
from the host computer 12 when an alarm condition has been met. It should
be noted that voice communications can also be effected between the host
computer and the patient using digitized speech techniques over the
two-way radio transceiver to provide instructions and reassurance in times
of emergency. A patient could also speak back to medical personnel in
response to queries using this technique.
In another embodiment of the telemetry device, a software process,
analogous to the host-based "filtering" software subsystem described
further herein, may be loaded into the memory unit and executed by the
microprocessor to enable remote setting of limit parameters at the
telemetry device. These limit parameters may concern various physiological
functions which, when exceeded, e.g., when a patient is at increased risk
because of an abnormal reading of low blood glucose levels or very rapid
pulse, cause a decision to be made by the microprocessor to automatically
report the-data to the host computer by the two-way radio transceiver as
described herein.
Alternately, the local microprocessor, executing decision-making software
or other evaluative algorithms, based on physiological data locally
acquired as herein described and/or geodetic data provided by GPS, Loran
or some other positioning device, may cause appropriate data to be
automatically transmitted to the host computer via the two-way radio
transceiver. This decision-making software or other evaluative algorithms
may be loaded into the telemetry device either locally or via the two-way
radio transceiver from the host computer.
The communications system 30, shown in FIG. 4, provides a
receiver/transmitter interface to the host computer 12. Accordingly, the
communications system 30 includes a transceiver unit 32, a processor unit
34 and a memory unit 36 interconnected by a "front-end" bus 35. As noted,
the processes of the software modules 110 are typically resident in the
memory unit 36 and executed by the processor unit 34 to control the
transfer of information between the communications system 30 and the other
components of the computer. The transceiver 32 receives information from
the sources 15 and transfers the information to the processor 34 for
decoding in connection with known decoding algorithms. There, the
information is converted to a message format for transfer to the memory 16
through an adapter 38 coupling the front-end bus 35 to the system bus 13
of the host computer 12. The transceiver 32 also receives data packets
from the subscribers 20 and forwards them to the processor 34 as described
above; in addition, the transceiver may transmit messages to conventional
paging services for distribution to the subscribers 20 and to the patients
(sources 15).
Communication to the subscribers 20 (and sources 15) from the host computer
12 is effected by equipping each subscriber/source with a receiver,
included within the respective transceiver units, that is capable of
receiving messages from the host's transmitter, which is included within
the transceiver unit 32. The receiver may be a conventional FM radio
receiver circuit adapted for non-interactive, limited-bandwith, wireless
network communication, e.g., paging speeds of 1.2K bps, with a
conventional FM radio transmitter at the host, although other receiver and
transmitter arrangements, such as wireless modems, may be used. It is also
understood that wide-bandwidth channels may be utilized; however, the
method and apparatus described herein reduces the amount of bandwidth
needed to accomplish the functions provided by the invention. In
accordance with the exemplary embodiment of the invention, each
subscriber/source has a radio receiver circuit for receiving paging
information from the host 12 and a radio transmitter circuit for
transmitting packets of parameter data to the host over wireless media.
One objective of the system according to the invention is to provide fast
and efficient access to the information files provided by the sources 15.
Another objective is to provide selective filtering of the information in
response to selection and associated limit parameters provided by the
subscribers 20. To achieve these objectives, the software modules of the
subscriber 20 and the host computer 12 are organized as a software system
40 comprising four (4) software subsystems: the remote (REMOTE 50)
subsystem, the host (LIMIT 90) subsystem, the database (DBASE 70)
subsystem and the transmission (PAGE 110) subsystem. A flow diagram of the
interaction between these portions of the software system 40 is
illustrated in FIG. 5.
In general, the REMOTE 50 software allows a user to accurately and
efficiently enter selection and limit parameters at the subscriber device
20. Further, the REMOTE 50 software organizes the parameters into a data
packet format and controls the transfer of the packet to the LIMIT 90
software subsystem over the communications network. The LIMIT 90 software
interfaces to the DBASE 70 software subsystem to perform selective
filtering of the database information in response to the parameters of the
packet. The results of the selective filtering process are then
communicated back to the REMOTE 50 software by the PAGE 110 software
subsystem, preferably by paging transmission. It should be noted that the
DBASE 70 software architecture could be different from that of the LIMIT
90 software; only the interface between these processes need be defined.
As described below in connection with FIGS. 10A and 10B, this interface
consists of the exchange of messages between the processes.
Each of these subsystems comprise a plurality of independent processes for
performing specific operations. Because some of these operations require
more time to complete than others, the arrangement of independent
processes allows various operations to execute in parallel or to execute
on other machines. The processes functionally interconnect through logical
path sockets, i.e., virtual circuit connections, which, for the
illustrative embodiment described herein, are TCP/IP sockets.
FIG. 6 illustrates the processes constituting the REMOTE 50 software
subsystem. The USER INTERFACE 52 process facilitates configuration of the
subscriber device 20 and entry of the limit parameters by providing speech
recognition and voice response interface capabilities to an authorized
user; however, for the exemplary embodiment set forth herein, the USER
INTERFACE 52 provides a series of menus on the display 28 (FIG. 2).
Initially, a configuration screen 53 enables selection of a communications
port, e.g., a serial port, and inquires about the type of modem connected
to that port. A user screen 54 then prompts the authorized user to enter a
user identification (ID) and a password. Typically, the user ID comprises
a 20-character alpha-numeric string, while the password is an 8-character
string. The password provides a measure of security by enabling validation
of the user.
A table screen 55 provides a template for entering the selection and limit
parameters. The selection parameter is typically a symbol (SYM)
specifying, for example, a particular stock on a particular exchange. A
dictionary of symbols feature of the interface process allows a user to
identify appropriate symbol acronyms and abbreviations. The limit
parameters, which are typically numeric characters, include a low (L) or
"initial" limit value, a high (H) limit value and an incremental (I) limit
value. The USER INTERFACE 52 process validates the format of these
parameters but does not interpret them. In the exemplary embodiment of the
invention, the incremental limit is used to increment both the initial and
high limits by the specified value when either of those latter limits are
met, thereby maintaining a limit "window"; accordingly, the limit
parameters function as "adaptive" limits. In an alternate embodiment, the
incremental limit may specify the relation in degree or number between two
similar things, e.g., the rate of change of a blood chemistry parameter
from a previous (initial limit) close. Here, the high limit is not needed.
Use of the incremental limit as a ratio of change is particularly
advantageous in such medical information applications, as described
further below.
A MESSAGE-FORMING 56 process assembles the parameters into a data packet 60
for transfer to the host computer 12. The format 60 of a typical data
packet is depicted in FIG. 7. An eight-bit "start-of-header" SOH field 61
identifies the beginning of the packet and a 16-bit LENGTH field 62
identifies the amount of data in the packet. The field SEQNUM 63 is an
eight-bit packet identification value and the PACKETTYPE field 64
identifies whether the packet includes command and data parameters or
control-type information.
The PACKETDATA field 65 may be as large as two hundred and fifty-five bytes
and consists of subfields that include a user identification USERID
subfield 66, a selection parameter SELECTION field 67 and limit parameter
LIMIT fields 68a-c. Preferably, the SELECTION field 67 contains symbol
data and the LIMIT fields 68a-c contain numerical data. Lastly, an
eight-bit checksum CHKSUM field 69 consisting of an algebraic sum of
transmitted characters is included within the packet for reliability
purposes.
Referring again to FIG. 6, the packet 60 is uploaded to the host computer
12 over the communications network 45 in accordance with a conventional
asynchronous transfer protocol implemented by the TRANSPORT 58 process.
This process initiates a connection to the host, preferably using a
conventional wireline modem circuit, thereby obviating the need for a
continuous, interactive exchange with the host during the selection and
limit entry process.
FIG. 8 depicts the processes constituting the DBASE 70 subsystem. The main
DATABASE 72 process is responsible for initializing the MRFILT 74 process
of this subsystem and ensuring that it remains active. Because the DBASE
70 software is embodied within the host computer 12 for the exemplary
embodiment described herein, DATABASE 52 also initializes the ALERT and
BROADCAST processes of the LIMIT 90 subsystem. DATABASE 72 also
administers an information record database 720 of information received
from the telemetry sources 15. Examples of the administration functions
performed by DATABASE 72 include modification of the contents of the
information records and transfer of the record contents to other processes
upon request. Requests for selected records are effectuated by exchanging
messages through direct socket connections 75 with the DATABASE 72
process.
To facilitate the exchange of messages, the processes perform read and
write operations to storage locations in memory that are organized to
provide data structures, e.g., linked lists. It is to be understood that
the CPU 14 performs the actual read, write and booleon operations on
behalf of the processes resident in the host memory 16, whereas the
communications system 30 incorporates the necessary "intelligence" to
perform similar operations on behalf of the processes resident in its
memory 36.
FIG. 9 illustrates a typical linked list 80 that includes entries 82 for
storing database records. A header 88 contains an address that points to
first entry in the list 80. Each entry 82 contains a forward link pointer
84 referencing the memory location of the next entry in the list;
therefore, the entries 82 do not have to occupy consecutive locations in
memory and additional entries can be dynamically allocated by the
operating system 25. Rather than allocating a separate block of memory
locations for each entry, the operating system 25 apportions a block into
one hundred (100) entries. The blocks may then be swapped in and out of
memory at the appropriate time; in the illustrative embodiment, swapping
is performed in accordance with standard UNIX System 5 (page) swapping
techniques.
Each record entry 82 also contains, inter alia, a record name (symbol)
field 820, a current value field 822 and an INALERT flag 86. The INALERT
flag 86 is preferably a 1-bit flag that is constantly checked by the
DATABASE 72 process to initiate selective filtering of the database
information. When asserted, the flag 86 directs the DATABASE 72 process to
write the contents of the record entry 82 as an ALERTLIMIT message to an
ALERT process of the LIMIT 90 subsystem.
FIG. 10 depicts the processes constituting the LIMIT 90 subsystem. The
ALERT 92 process is the entity that manages the selection and limit
parameters received by the PCALERT 94 processes. The ALERT 92 process
maintains its own database 96 of "alert records" 980 which include the
parameters provided by the subscribers 20. Specifically, each alert record
980 contains the user ID 982 of the subscriber, the name (symbol) 984 of
the selected record, and the high limit 986, initial limit 988 and
incremental limit 990 desired for that record. In addition, each record
980 may include a pre-programmed message of instructions for a patient
when a limit is met.
When an ALERTLIMIT message is received from the DATABASE 72 process, ALERT
92 parses the contents of the message and compares the record name field
820 of the message to | | |