Inventory control, bed allocation and accounting data handling system4135241
Abstract
A data handling system for a hospital or like establishment. The system keeps track of bed allocation, changes in inventory, and charges to patients, and also serves as a communication network for the hospital. Data is fed into the system in the form of pre-punched cards bearing patient information, inventory data, and commands or messages, and thus unskilled personnel can quickly feed data into the system without error. Message data is routed directly to teleprinters at addressed locations. Bed allocation and patient data, and charge and inventory data are respectively stored in separate magnetic drum storage areas. Searching facilities are provided which can locate desired data entries in either storage area and mark these entries for printout, and separate printout circuitry then transfers marked data items to the proper addresses in the proper format. At the end of each day, a final search is performed which produces a printout of all charges organized by patient number. A tally inventory search is also performed which produces a printout of inventory changes organized by item number and by department number. The tally search is cumulative, and a tally arithmetic unit summarizes inventory data for each separate item before printout. A running record is kept of each day's total charges, credits, and payments on account in a central core memory, and this record is continually updated by a central arithmetic unit.
Claims
We claim:
1. An automated inventory control and accounting system for processing a plurality of data messages containing charge data and inventory data and for automatically compiling charge records organized by a plurality of charge codes from said charge data in the form of monetary charges for items or services to be charged to various ones of said plurality of charge codes and for automatically compiling inventory records organized by a plurality of item codes from said inventory data reflecting the inventory of said items comprising
means for receiving said data messages, said data messages receiving means comprising a plurality of remote stations, each of at least some of said remote stations including means for manually entering said data messages into said remote stations, said manually entering means including means for entering a specific charge code of said plurality of charge codes into said remote station, means for entering a specific item code of said plurality of item codes corresponding to one of said items or one of said services into said remote station and means for entering a multiplier corresponding to the quantity of said one item or service into said remote station, each of at least some of said data messages including said specific charge code, said specific item code and said multiplier,
a first information storage location,
means for transmitting said data messages from said remote stations to said first information storage location for storage therein,
a second information storage location,
means for monitoring said data messages stored in said first information storage location and for automatically extracting said charge codes, item codes and multipliers from said data messages and for transmitting said charge codes, item codes and multipliers to said second information storage location for storage therein,
means for retrieving item codes and multipliers associated with a predetermined charge code of said plurality of charge codes from said second information storage location and for automatically compiling and outputting a charge record corresponding to said predetermined charge code and
means for retrieving item codes and multipliers associated with a predetermined item code of said plurality of item codes from said second information storage location and for automatically compiling and outputting an inventory record corresponding to said predetermined item code.
2. An automated inventory control and accounting system as defined in claim 1 wherein said charge code entering means, said item code entering means and said multiplier entering means of said manually entering means includes a plurality of prepared machine-readable records at said some of said remote stations.
3. An automated inventory control and accounting system as defined in claim 1 wherein said charge code entering means is a first plurality of prepared machine-readable records and said item code entering means and said multiplier entering means are a second plurality of prepared machine-readable records.
4. A machine implemented data handling system for processing a plurality of data messages containing inventory data and for automatically compiling inventory records organized by a plurality of item codes from said inventory data reflecting the inventory of inventory items comprising.
means for receiving said data messages, said data messages receiving means comprising a plurality of remote stations, each of at least some of said remote stations including means for manually entering said data messages into said remote stations, said manually entering means including a plurality of machine-readable records at said some of said remote stations, each machine-readable record of said plurality of machine-readable records including an item code in machine-readable form corresponding to a specific inventory item and means for entering a multiplier corresponding to the quantity of said inventory item into said remote station; each of at least some of said data messages including said item code and said multiplier,
a first information storage location,
means for transmitting said data messages from said remote stations to said first information storage location for storage therein,
a second information storage location,
means for extracting said item codes and said multipliers from the data messages stored in said first information storage location and for transmitting the extracted item codes and multipliers to said second information storage location for storage therein and
means for retrieving item codes and multipliers associated with a predetermined item code of said plurality of item codes from said second information storage location and for automatically compiling and outputting an inventory record corresponding to said predetermined item code.
5. A machine implemented data handling system for processing a plurality of data messages containing charge data and inventory data and for automatically compiling charge records organized by a plurality of charge codes from said charge data in the form of monetary charges for charge items to be charged to various ones of said plurality of charge codes and for automatically compiling inventory records organized by a plurality of item codes from said inventory data reflecting the inventory of said charge items comprising
means for receiving said data messages, said data messages receiving means comprising a plurality of remote stations, each of at least some of said remote stations including means for manually entering said data messages into said remote stations, said manually entering means including means for entering a specific charge code of said plurality of charge codes into said remote station, means for entering a specific item code of a plurality of item codes corresponding to a specific charge item of said charge items into said remote station and means for entering a multiplier corresponding to the quantity of said specific charge item into said remote station, each of at least some of said data messages including said specific charge code, said specific item code and said multiplier,
a first information storage location,
means for transmitting said data messages from said remote stations to said first information storage location for storage therein,
a second information storage means,
means for extracting said charge codes, said item codes and said multipliers from said data messages stored in said first information storage location and for transmitting the extracted charge codes, item codes and mulipliers to said second information storage means for storage therein
means for retrieving said item codes and multipliers associated with a predetermined charge code of said plurality of charge codes from said second information storage means and for automatically compiling and outputting a charge record corresponding to said predetermined charge code and
means for retrieving said items codes and multipliers associated with a predetermined item code of said plurality of item codes from said second information storage means and for automatically compiling and outputting an inventory record corresponding to said predetermined item code.
6. A machine implemented data handling system as defined in claim 5 wherein
said data messages contain institutional bed data in the form of status information of the institutional beds organized by a plurality of bed designation codes,
said machine implemented data handling system automatically maintains a record of the institutional bed allocation,
said manual entering means further comprises means for entering a specific bed designation code of said plurality of bed designation codes into said remote station and means for entering a specific status code of a plurality of status codes corresponding to the specific status of one of said beds into said remote station, each of at least some of said data messages including said specific bed designation code and said specific status code, and
said second information storage means further comprises a plurality of bed information storage locations, each of said plurality of bed information storage locations being associated with a specific one of said plurality of bed designation codes,
said machine implemented data handling system further comprising
means for extracting said bed designation codes and said status codes from said data messages stored in said first information storage location and for transmitting the specific status codes corresponding to specific bed designation codes to the respective bed information storage locations of said plurality of bed information storage locations associated with said specific bed designation codes and
means for retrieving and for automatically outputting a record of all of said bed designation codes corresponding to a specific status code of said plurality of status codes to thereby provide a record of the status of said institutional beds.
7. A machine implemented data handling system as defined in claim 5 wherein
said data messages contain institutional bed data organized by a plurality of bed designation codes for the institutional beds and by a plurality of status codes corresponding to the identity of the occupants of said institutional beds,
said machine implemented data handling system automatically maintains a record of the institutional bed occupancy status,
said manual entering means further comprises means for entering a specific bed designation code of said plurality of bed designation codes into said remote station and means for entering a specific status code of said plurality of status codes into said station, each of at least some of said data messages including said specific bed designation code and said specific status code, and
said second information storage means further comprising a plurality of bed information storage locations,
said machine implemented data handling system further comprising
means for assigning a specific bed designation code to each of said plurality of bed information storage locations,
means for extracting said bed designation codes and said status codes from said data messages stored in said first information storage means and for transmitting the extracted status codes corresponding to specific extracted bed designation codes to the specific ones of said plurality of bed information storage locations respectively assigned to said specific extracted bed designation codes for storage therein and
means for automatically retrieving and for automatically outputting specific bed designation codes associated with a specific status code to thereby enable the rapid identification and location of a particular occupant of an institutional bed by knowledge of the identity of said particular occupant.
8. A machine implemented data handling system as defined in claim 5 wherein
said data messages contain institutional bed identification data in the form of a plurality of bed designation codes institutional bed occupant status data in the form of a plurality of occupant codes and institutional bed status data in the form of a plurality of status codes,
said machine implemented data handling system automatically maintains a record of institutional bed allocation, occupancy and status,
said manual entering means further comprises means for entering a specific bed designation code of said plurality of bed designation codes into said remote station, means for entering a specific occupant code of said plurality of occupant codes into said remote station and means for entering a specific status code of said plurality of status codes into said remote stations each of at least some of said data messages including at least one of said specific bed designation code and said specific occupant code and said specific status code, and
said second information storage means further comprises a plurality of bed information storage locations,
said machine implemented data handling system further comprising,
means for assigning a specific one of said plurality of bed designation codes to each one of said plurality of bed information storage locations,
means for extracting said bed designation codes, said occupant codes and said status codes from said data messages stored in said first information storage location and for transmitting said bed designation codes, said occupant codes and said status codes to said plurality of bed information storage locations, each of said plurality of bed information storage locations receiving specific occupant and status codes corresponding to its assigned bed designation code and
means for automatically retrieving from said plurality of bed information storage locations and for automatically outputting a report of the bed designation codes associated with a particular status code and associated with a particular occupant code.
9. A machine implemented data handling system as defined in claim 8 further comprising
means for segregating said plurality of bed information storage locations into a plurality of categories and for assigning a category code to each of said plurality of categories and
means for conditioning said retrieving and outputting means to retrieve said bed designation codes associated with said particular status code and associated with said particular occupant code only from the portion of said plurality of bed information storage locations associated with a specific one of said category codes to thereby limit said report of said bed designation codes to those associated with said portion of said plurality of bed information storage locations associated with said specific one of said category codes.
10. A machine implemented data handling system as defined in claim 5 wherein
said data messages contain institutional bed allocation data in the form of a plurality of bed designation codes institutional bed occupant identification data in the form of a plurality of occupant codes and institutional bed status data in the form of a plurality of status codes,
said machine implemented data handling system automatically maintains a record of institutional bed allocation, occupancy and status,
each of said remote stations has a specific remote station address code
said manual entering means further comprises means for entering a specific remote station address code corresponding to one of said remote stations into said remote station means for entering a specific bed designation code of said plurality of bed designation codes into said remote station, means for entering a specific occupant code of said plurality of occupant codes into said remote station and means for entering a specific status code of said plurality of status codes into said remote station, each of at least some of said data messages including at least one of said specific remote station address code, said specific designation code and said specific occupant code and said specific status code, and
said second information storage means further comprises a plurality of bed information storage locations,
said machine implemented data handling system further comprising
means for extracting from said first information storage location said data messages stored therein and for transmitting said extracted data messages to said remote stations in accordance with the remote station address codes in said data messages,
means for assigning a specific one of said plurality of bed designation codes to each one of said plurality of bed information storage locations,
means for extracting said bed designation codes, said occupant codes and said status codes from said data messages stored in said first information storage location and for transmitting said bed designation codes, said occupant codes and said status codes to said plurality of bed information storage locations, each of said plurality of bed information storage locations receiving specific occupant and status codes corresponding to its assigned bed designation code and
means for automatically retrieving from said plurality of bed information storage locations and for automatically outputting a report of the bed designation codes associated with a particular status code and associated with a particular occupant code.
11. A machine implemented data handling system for processing a plurality of data messages containing charge data and inventory data and for automatically compiling charge records organized by a plurality of charge codes from said charge data in the form of monetary charges for charge items to be charged to various ones of said plurality of charge codes and for automatically compiling inventory records organized by a plurality of item codes from said inventory data reflecting the inventory of said charge items and for periodically compiling a complete record of all of said charge records for all of said charge codes and of all of said inventory records for all of said item codes comprising
means for receiving said data messages; said data messages receiving means comprising a plurality of remote stations, each of at least some of said remote stations including means for manually entering said data messages into said remote stations, said manually entering means including means for entering a specific charge code of said plurality of charge codes into said remote station, means for entering a specific item code of a plurality of item codes corresponding to a specific charge item of said charge items into said remote station and means for entering a multiplier corresponding to the quantity of said specific charge item into said remote station; each of at least some of said data messages including said specific charge code, said specific item code and said multiplier,
a first information storage location,
means for transmitting said data messages from said remote stations to said first information storage location for storage therein,
a second information storage location,
means for extracting said charge codes, said item codes and said multipliers from said data messages stored in said first information storage location and for transmitting the extracted charge codes, item codes and multipliers to said second information storage location for storage therein and
means for retrieving all of said item codes and multipliers associated with each and every charge code of said plurality of said charge codes from said second information storage location and for automatically compiling and outputting sequentially by charge code a complete record of all of the charge data corresponding to each and every charge code and
means for retrieving all of said item codes and multipliers associated with each and every item code of said plurality of item codes from said second information storage location and for automatically compiling and outputting sequentially by item code a complete record of all of the inventory data corresponding to each and every item code.
12. A machine implemented data handling system for processing a plurality of data messages containing charge data in the form of monetary charges organized by a first and a second plurality of charge codes for charge items to be charged to various ones of said first plurality of charge codes and corresponding to a first charge category and to be charged to various ones of said second plurality of charge codes and corresponding to a second charge category comprising
means for receiving said data messages; said data messages receiving means comprising a plurality of remote stations, each of at least some of said remote stations including means for manually entering said data messages into said remote stations, said manually entering means including means for entering a specific charge code of said first plurality of charge codes or of said second plurality of charge codes into said remote station, means for entering a category indication corresponding to at least said first charge category into said remote station to distinguish the charge codes associated with said first charge category from the charge codes associated with said second charge category, means for entering a specific item code of a plurality of item codes corresponding to a specific charge item of said charge items into said remote station and means for entering a multiplier corresponding to the quantity of said specific charge item into said remote station, each of at least some of said data messages including said specific charge code, said category indication, if present, said specific item code and said multiplier,
a first information storage location,
means for transmitting said data messages from said remote stations to said first information storage location for storage therein,
a second information storage location,
means for extracting said charge codes, said category indications, said item codes and said multipliers from said data messages stored in said first information storage location and for transmitting the extracted charge codes, category indications, item codes and multipliers to said second information storage location for storage therein and
means for retrieving all of said item codes and said multipliers associated with each and every one of said charge codes from said second information storage location and for automatically compiling and outputting sequentially by charge category and sequentially within said charge category by charge code all of the charge data corresponding to each and every charge code to thereby compile a complete record of all the charge data associated with all the charge codes in said first charge category and a complete record of all of the charge data associated with all of the charge codes within said second charge category.
13. A machine implemented data handling system for processing a plurality of data messages containing charge data and inventory data and for automatically compiling charge records organized by a plurality of charge codes from said charge data in the form of monetary charges for items or services to be charged to various ones of said plurality of charge codes and for automatically compiling inventory records organized by a plurality of item codes from said inventory data reflecting the inventory of said items and for automatically compiling and outputting upon demand a monetary charge summary in the form of a total sum of all of the monetary charges for said items and services charged to all of said charge codes comprising
means for receiving said data messages; said data messages receiving means comprising a plurality of remote stations, each of at least some of said remote stations including means for manually entering said data messages into said remote stations, said manually entering means including means for entering a specific charge code of said plurality of charge codes into said remote station, means for entering a specific item code of said plurality of item codes corresponding to one of said items or one of said services into said remote station and means for entering a multiplier corresponding to the quantity of said one item or service into said remote station, each of at least some of said data messages including said specific charge code, said specific item code and said multiplier,
a first information storage location,
means for transmitting said data messages from said remote stations to said first information storage location for storage therein,
a second information storage location,
means for monitoring said data messages stored in said first information storage location, for automatically extracting the stored charge codes, item codes and multipliers from said data messages and for transmitting said charge codes, item codes and multipliers to said second information storage location for storage therein,
means for retrieving item codes and multipliers associated with a predetermined charge code of said plurality of charge codes from said second information storage location and for automatically compiling and outputting a charge record corresponding to said predetermined charge code,
means for retrieving item codes and multipliers associated with a predetermined item code of said plurality of item codes from said second information storage location and for automatically compiling and outputting an inventory record corresponding to said predetermined item code and
means for automatically compiling a monetary charge summary in the form of a total sum of all of the monetary charges for all of the items and services corresponding to all of the item codes and multipliers extracted from said data messages stored in said first information storage location by said data messages monitoring means and for maintaining said monetary charge summary current by incrementing said total sum by the monetary charge for additional items and services corresponding to additional item codes and multipliers as said additional item codes and multipliers are extracted by said data messages monitoring means from said data messages stored in said first information storage location,
means for storing said monetary charge summary and
means for outputting said monetary charge summary upon the receipt of an output demand signal.
14. A multistation machine implemented data handling system for processing a plurality of data messages containing charge data, inventory data and station address data and for automatically compiling charge records organized by a plurality of charge codes from said charge data in the form of monetary charges for items or services to be charged to various ones of said plurality of charge codes and for automatically compiling inventory records organized by a plurality of item codes from said inventory data reflecting the inventory of said items comprising
means for receiving said data messages, said data messages receiving means comprising a plurality of remote stations, each of at least some of said remote stations having a unique remote station address code, each of at least some of said remote stations including means for manually entering said data messages into said remote stations, said manually entering means including means for entering a specific remote station address code corresponding to one of said remote stations, means for entering a specific charge code of said plurality of charge codes into said remote station, and means for entering a specific item code of said plurality of item codes corresponding to one of said items or one of said services into said remote station, each of at least some of said data messages including said specific remote station address code, said specific charge code, and said specific item code,
a first information storage location,
means for transmitting said data messages from said remote stations to said first information storage location for at least temproary storage therein,
means for extracting from said first information storage location said data messages stored therein and for transmitting said extracted data messages to said remote stations in accordance with the remote station address codes in said data messages,
a second information storage information,
means for monitoring said data messages stored in said first information storage location, for automatically extracting said charge codes and item codes from said data messages and for transmitting said charge codes, and item codes to said second information storage location for storage therein,
means for retrieving item codes associated with a predetermined charge code of said plurality of charge codes from said second information storage location and for automatically compiling and outputting a charge record corresponding to said predetermined charge code and
means for retrieving item codes associated with a predetermined item code of said plurality of item codes from said second information storage location and for automatically compiling and outputting an inventory record corresponding to said predetermined item code.
15. A multistation machine implemented data handling system for processing a plurality of data messages containing charge data, inventory data, institutional bed allocation data, institutional bed occupancy data and institutional bed status data flowing between a central processing unit and at least one of a plurality of remote stations and for automatically compiling charge records organized by a plurality of charge codes from said charge data in the form of monetary charges for items or services to be charged to various ones of said plurality of charge codes and for automatically compiling inventory records organized by a plurality of item codes from said inventory data reflecting the inventory of said items and for automatically compiling institutional bed allocation data in the form of occupancy and status information of institutional beds organized by a plurality of bed designation codes and by a plurality of occupant codes corresponding to said occupancy information and by a plurality of status codes corresponding to said status information comprising
means for receiving said data messages; said data messages receiving means comprising a plurality of remote stations, each of at least some of said remote stations having a specific one of a plurality of remote station address codes, each of at least some of said remote stations including means for manually entering said data messages into said remote stations, said manually entering means including means for entering a specific remote station address code of said plurality of remote station address codes corresponding to one of said remote stations into said remote station, means for entering a specific charge code of said plurality of charge codes into said remote station, means for entering a specific item code of said plurality of item codes corresponding to one of said items or one of said services into said remote station, means for entering a multiplier corresponding to the quantity of said one item or service into said remote station, means for entering a specific bed designation code of said plurality of bed designation codes into said remote station, means for entering a specific occupant code of said plurality of occupant codes into said remote station and means for entering a specific status code of said plurality of status codes into said remote station, each of at least some of said data messages including at least one of said specific remote station address code, said specific charge code, said specific item code, said multiplier, said bed designation code, said occupant code and said status code,
a first information storage means within said central processing unit,
means for transmitting said data messages from said remote stations to said first information storage means for at least temporary storage therein,
means for extracting from said first information storage means said data messages stored therein and for transmitting said extracted data messages to said remote stations in accordance with the remote station address codes in said data messages,
a second information storage means within said central processing unit,
means for monitoring said data messages stored in said first information storage means, for automatically extracting said charge codes, said item codes and said multipliers from said data messages and for transmitting said charge codes, said item codes and said multipliers to said second information storage means for storage therein,
a third information storage means, said third information storage means comprising a plurality of bed information storage locations within said central processing unit,
means for associating a specific bed designation code with each one of said plurality of bed information storage locations,
means for monitoring said data messages stored in said first information storage means, for automatically extracting said bed designation codes, said occupant codes and said status codes from said data messages and for transmitting specific occupant and status codes corresponding to a specific bed designation code to the specific one of said plurality of bed information storage locations associated with said specific bed designation code for storage therein,
means for retrieving from said plurality of bed information storage locations and for automatically outputting a report of bed designation codes corresponding to a specific occupant code or a specific status code,
means for retrieving item codes and multipliers associated with a predetermined charge code of said plurality of charge codes from said second information storage means and for automatically compiling and outputting a charge record corresponding to said predetermined charge code and
means for retrieving item codes and multipliers associated with a predetermined item code of said plurality of item codes from said second information storage means and for automatically compiling and outputting an inventory record corresponding to said predetermined item code.
16. A multistation machine implemented data handling system as defined in claim 15 further comprising
means for associating each one of said plurality of said occupant codes with a specific one of said plurality of charge codes,
means for retrieving all of said occupant codes from said plurality of bed information storage locations and
means for retrieving from said second information storage means all of the item codes and multipliers associated with a predetermined charge code of said plurality of charge codes having an associated occupant code and for automatically compiling and outputting a charge record corresonding to said predetermined charge code having said associated occupant code.
17. A multistation machine implemented data handling system as defined in claim 16 further comprising means for retrieving all of the item codes and multipliers associated with all of the charge codes of said plurality of charge codes that lack associated occupant codes and for automatically compiling and outputting a charge record for each and every one of said plurality of charge codes that lacks an associated occupant code.
Description
The data input and output units used with the system of this invention are disclosed and claimed in a contemporaneously filed application Ser. No. 761,043 filed on Sept. 20, 1968 by Louis E. Philipps and Eugene A. Stanis, now U.S. Pat. No. 3,597,742 which issued on Aug. 3, 1971, and is assigned to the same assignee as the present application. This U.S. Pat. No. 3,597,742 is for all purposes incorporated into the present application.
TABLE OF CONTENTS
Background of the Invention
Summary of the Invention
Brief Description of the Drawings
Description of the Preferred Embodiment
Summary
Logic Diagrams and Symbols
Bed Information Storage Area Control Logic
Charge Information Storage Logic
Charge Information Printout Control
Printout Marker Detector and Buffer Track Control for the Charge Information Storage Area
List-Output Control
Bed Information Printout Format Generator
Charge Information Printout Format Generator
Tally Search Control Logic
Patient Charge Search Control Logic
All Patients Charges Search Control Logic
Arithmetic Unit
BACKGROUND OF THE INVENTION
This invention relates to a data handling and processing system and, more particularly, to a system for automatically collecting, compiling, and performing arithmetic operations on data such as data relating to hospital operations.
The operation of a hospital with even a small number of beds involves the preparation and transmission of a very large number of rather short messages relating to virtually every phase of hospital operation ranging from pharmacy orders, requests for laboratory tests, and admitting or discharging instructions to requests for repair of a broken window. In some hospitals, a written order is made only when the nature of the service demands it, and other functions such as maintenance or bed status are requested by oral communication. Further, many of the operations or items covered by the messages require a charge to be made frequently against several entities, e.g., inventory and a patient. These charges are collected either by using the primary written message or by making secondary records frequently in machine code based on a primary message.
However, the use of written orders and messages is time consuming, requires manual transmission or conveyance to perhaps a number of points of use, and is subject to error in preparation when read and translated to secondary records. The compilation and calculation of charges or inventory records requires the physical presence of all of the records, and it has been determined that errors arise not only from record loss but from charges entered for services requested that are not actually performed. The time involved in collecting and translating the records and messages frequently causes a delayed billing for charges not available on discharge and delays the submission of charges to other paying bodies such as insurance companies. Further, because of the time required by written messages, there is a temptation to use oral requests when the nature of the requested service or item does not demand a written record.
SUMMARY OF THE INVENTION
The data handling and processing system of the present invention does away with written messages and orders and insures the collection, calculation, and compilation of all charges on any desired periodic basis. Messages and charges are free of transmission errors and provide legible permanent copy for medical records. In addition, skilled hospital personnel are freed from time consuming clerical duties and from acting as messengers with the resultant increase in their availability for professional services.
In general, the system includes a central processing unit which receives data from and supplies data to a plurality of remote stations each located at a point from which messages or orders are normally received and to which this data is normally directed. Each remote station includes a data recorder such as a teleprinter and a data transmitter. The data transmitter comprises a card or record reader which is enabled for operation by the insertion and actuation of a key identifying the station operator such as a technician or nurse and which is adapted to send plural card messages to selected points. Each station includes prepared cards containing all of the message information normally required by the department and other cards individually identifying each patient. By inserting the cards forming a plural card message into the reader, the patient and requested service information is automatically transmitted to one or more points in the hospital as required for each service or message, and any data relating to charges or other data compilations is collected in storage in the central processing unit. During message transmission from the card or record reader, a digital signature identifying the key that enabled the card reader is automatically transmitted to identify the person responsible for originating the message. The system also includes special equipment at such locations as the business office and cashier's office, which include manual data entry means in addition to a card reader. The business office station also possesses controls by which periodic or daily charge totals, credit totals and payment on account totals, and specific or complete listings of patient charges, can be retrieved from the system and the system cleared of all data printed out.
The basic system organization includes a plurality of card readers, groups of which time-share different delay lines providing input buffers. The delay lines are scanned for complete messages to enable transfer of a complete message to a magnetic core storage unit. The data in core storage is then either transferred to a magnetic drum storage unit, or is transmitted to one or more of the remote stations, or both, depending upon the nature of the received information and the functions required to be performed on the data designated by control characters on each card. If the message requires nothing more than transmission to one or a group of stations, the data is transferred from the core storage unit to tracks on the drum which function as an output buffer, and then is delivered over output lines to the addressed stations. If the message relates to items such as chargeable services or reflects changes in the allocation or status of beds, the data from core storage is transferred to a bed information storage area or a charge information storage area on the drum, perhaps after processing in an arithmetic section which has access to the core storage unit.
The bed information storage area includes a storage location for each bed containing information on the patient occupying the bed, and also containing information as to the condition or status of the bed. This information is updated continuously with information transmitted into the system from the remote stations. The system includes bed information search logic for compiling listings of the information stored in this area, such as lists by nursing station of beds which need attention, lists by nursing station of beds which are in a particular status (available, occupied, etc.), lists of patients admitted on a particular day, and the like.
The charge information storage area includes numerous storage locations into each of which a record of a cash or inventory transaction can be placed. A complete record of each individual charge against a patient, payment on account, and withdrawal from or addition to inventory is maintained. The system includes charge information searching logic for compiling listings of the information stored in this area, such as tally lists by department of changes in inventory, listings of charges allocable to a particular patient, and a complete breakdown of all charges by patient number. This latter list is called an all patient charges list, and is usually printed out at the end of the day just prior to the time when the record of that day's transactions is erased to make room for the next day's transactions. The tally inventory lists are by item number. A special tally arithmetic unit calculates the total quantity of each item debited or credited to the inventory of each department, so the tally lists are summarized and are not broken down into individual transactions.
BRIEF DESCRIPTION OF THE DRAWINGS
Many other objects and advantages of the present invention will become apparent in considering the following detailed description in conjunction with the drawings in which:
FIGS. 1-4 form a logic diagram of the bed information storage area control logic;
FIGS. 5-6 form a logic diagram of the list output control;
FIG. 7 is a logic diagram of the printout marker detector and buffer track control for the charge information storage area;
FIGS. 8-10 form a logic diagram of the bed information printout format generator;
FIG. 11 and FIGS. 12-14 form a logic diagram of the charge information printout format generator;
FIGS. 15-18 form a logic diagram of the tally search control logic;
FIGS. 19-23 and FIG. 24 form a logic diagram of the arithmetic unit;
FIG. 25 and FIG. 26 form a logic diagram of the charge information storage logic;
FIG. 27 is a logic diagram of the patient charge search control logic and of the totals data erase logic;
FIG. 28 is a logic diagram of the totals printout control logic, and of the logic circuitry for generating the BRO signal;
FIG. 29 is a logic diagram of the business office reference list data input logic;
FIG. 30 is a logic diagram of the circuitry which generates the BYPSI signal;
FIGS. 31-35 form a logic diagram of the all patient charges search control logic;
FIG. 36 is a map indicating how connecting drawings are to be positioned; and
FIGS. 37-39 form a block diagram of the entire system.
A map showing how the interconnecting FIGS. 37-39 are to be placed is included in FIG. 39.
DESCRIPTION OF THE PREFERRED EMBODIMENT
Referring now more specifically to FIGS. 37-39 of the drawings, therein is disclosed a block diagram of a system 3700 embodying the present invention. The system 3700 is capable of transmitting and receiving all of the communications, orders, and requests normally handled in a hospital and of automatically compiling and computing all necessary data relating to patient charges and the status of the beds in the hospital, as well as providing a running inventory control. To insure against the presence of errors, virtually all input messages are made by selecting records in machine readable code from a prepared supply thereof containing all of the messages and service requests normally required in a hospital. The patient information is derived from records prepared in machine readable code on admittance to the hospital.
Normal entry to the system is obtained through a card reader 3702 which is supplied with two or more punch cards or permanent records containing patient identifying information, message information, and one or more control codes. Each of the card readers 3702 is enabled by the actuation of a key individual to the operator or the person responsible for transmitting the message into the system 3700. The actuation of this key appends a plural digit identifying designation to the message transmitted from each record. A group of card readers 3702 share a common delay line 3710 which provides a buffer storage unit to which access is obtained through a control circuit 3704. The delay line 3710 is divided into a number of time slots equal to the number of card readers 3702 having access to the delay line. When message data is to be loaded into the delay line 3710, the control circuit 3704 selects one of the card readers 3702 to which it has access and transfers the information character by character into the delay line 3710.
Message data stored in the delay line 3710 is normally circulated through the shift register 3706 and a gate 3712. However, when new message information is to be added to the delay line 3710, a gate 3708 is enabled to bypass the shift register 3706. This time shifts the message information a single character position and permits the new message material in the shift register 3706 to be added to the delay line 3710.
After a complete message has been stored in one of the time slots in the delay line 3710, the gate 3712 is selectively enabled under the control of an input core control circuit 3714 which is common to a number of delay lines 3710 to transfer a complete message character by character to an input shift register 3716. When a complete message has been transferred from the delay line 3710 to the shift register 3716, it is transferred through a gate 3718 to the input of a magnetic core storage unit or core memory 3720. The control circuit 3714 controls an address register or counter 3726 to place each character from the shift register 3716 in a predetermined address location in the storage unit 3720.
As each message is shifted through the register 3716 into the magnetic core storage unit 3720, an output selector 3722 examines the incoming message for address codes and performs one or a plurality of output selection operations to select one or a group of output controls 3800 each individual to a single output such as a recorder or teleprinter 3804. Each of the output control circuits 3800 has access to a plurality of buffer storage blocks on a track of a magnetic drum 3802 forming a part of a central processor unit consisting essentially of a charge information logic unit 3850 and a bed information logic unit 3900. If at least one of the buffer storage areas on the drum 3802 of an addressed output control circuit is available, the output recorder or teleprinter 3804 is considered idle or not busy, and the magnetic core storage unit 3720 is permitted to receive the entire message, and this message is erased from the delay line 3710. Alternatively, if any one of the output control circuits 3800 selected by the output selector 3722 does not have available buffer storage space, the message is not stored in the unit 3720 because it cannot be immediately processed, and the message is retained in the delay line 3710 without erasure.
The system 3700 also includes a decoder circuit 3724 which also monitors the data supplied by the shift register 3716 to the magnetic core storage unit 3720 in selected locations to detect and decode certain control characters or codes that advise the system 3700 of the nature of the operation to be performed on the incoming message information. The decoder circuit 3724 supplies the decoded information to the charge information logic unit 3850 and the bed information logic unit 3900 to indicate the disposition which is to be made of the message information. If the message information requires processing or relates to the operations performed by the units 3850 and 3900, this information is transferred out of the magnetic core storage unit 3720 and into one of the units 3850 or 3900. Alternatively, if the message indicates that no operations on the data are to be performed, and it is to be supplied to an output recorder 3804, an output control circuit 3728 controls the address register 3726 to select the desired information and transfer this information through the circuit 3728 to the output control circuit 3800 with the timing required to write this information onto the buffer track of the drum 3802 through conventional drum reading and writing electronics indicated generally as 3807. The control circuit 3800 selects an idle buffer block on the track for receiving the message information. Incident to this transfer, the output control circuit 3800 enables a gate 3808 so that date and time information from a date and time generator 3806 can be added to the message. Further, by controlling the addresses primed into the register 3726, the output control circuit 3800 can control the makeup and content of the message placed in storage on the drum. When a complete message has been stored on the drum 3802, the output control circuit 3800 reads the data character by character from the buffer storage block with drum timing and supplies this data through an output gate 3811 with the timing required by the teleprinter 3804 to control the teleprinter to produce an output message.
If the message stored in the core storage unit 3720 includes charge or inventory information, this information is supplied to a charge information storage logic circuit 3840 for storage on the tracks of the drum 3802 assigned to the unit 3850. If the message includes patient or bed information which is to be stored, this information is supplied to a bed information storage area control logic 3910 for storage on the tracks of the drum 3802 assigned to the unit 3900. List requests are processed in the units 3850 and 3900 and transferred by a charge information printout control circuit 3845 to the output control circuit 3800 which is directly addressed by the circuit 3845. List data does not go into the buffer storage associated with the various control circuits 3800, but is directly transferred to the teleprinter 3804. If desirable or necessary, date and time information can be added to the messages supplied by the units 3850 and 3900 under the control of the control circuit 3845.
The data collection and message transmission parts of the system 3700, and also the circuitry controlling the magnetic core storage unit 3720, are shown and described in detail in the Phillips et al. U.S. Pat. No. 3,597,742. The present application describes in detail those parts of the system used in the processing and the storage of data. More particularly, the present application discusses the details of the bed information storage area control logic 3910, the charge information storage control logic 3840, the charge information printout control 3845, and also the details of an arithmetic unit that is not shown in FIGS. 37 to 39. The discussion of the charge information printout control 3845 is broken down into six parts, including separate discussions of the logic used to control individual patient charge searches, all patient charge searches, and tally inventory searches. Unless otherwise specified, the discussions below assume that the procedure of transmitting data from a remote station 3702 into the magnetic core storage unit 3720 has been completed, and that all control characters accompanying the data have been decoded by the decoder circuit 3724 and translated into control signals.
Forty-eight tracks of the drum storage area 3802 are allocated to the storage of charge information, and one track is allocated as a buffer in which charge information which is to be printed out can be temporarily stored before printout. Another auxilliary charge information storage track is used to store charges which are received while the system is organizing and printing out a list of the charges from the previous day. Fifteen tracks are allocated to the storage of bed allocation information, with one track again serving as a buffer track for information which is to be printed out.
Each track within the charge information storage area is divided into 72 individual storage locations. These storage locations each contain thirty-six eight bit characters. Each of the thirty-six characters is assigned a character number between zero and 35. As the drum rotates, a system counter generates timing pulses CP0, CP1, CP2, . . . , and CP35 which indicate the character within the storage location currently being scanned that is below the drum pickup head.
The following is a listing of the information stored within each character location of a typical charge information storage area:
Character 0 -- This location is used for storage of a busy or full marker. When charge information is stored within the rest of the area, a mark is placed in CP00.
Characters 1 through 12 -- Patient case number. This number and other data pertaining to a charge item are fed into the system along with an R (charge data) control character.
Character 13 -- Printout marker for the cashier's office. A mark is placed at the fourth bit position within this location if the information contained in this storage location is to be transmitted to the cashier's office teleprinter.
Characters 14 and 15 -- Point of sale number. This number indicates where the transaction took place.
Characters 16 and 17 -- Point of revenue number. This number indicates the account which is to be credited for the sale.
Characters 18 through 25 -- Item number, indicating the particular item or service which is sold or performed.
Characters 26 and 27 -- Quantity of items purchased or ordered. This number is fed into the system on a separate card from that which bears the item number and price, along with an F (multiply) control character.
Characters 28 to 33 -- Extended price of the items. This is a unit price as indicated by the input data multiplied by the number of items. The multiplication is performed by the system arithmetic unit in response to an F control character.
Character 34 -- Credit symbol. A C can be placed here to indicate that an account is to be credited, or any other symbol can be placed in this location. The credit symbol is fed into the system along with a T control character, usually on a separate input card from the rest of the input data.
Character 35 -- Business office printout marker. A mark in the fourth bit of this character indicates that this item is to be transmitted to the business office teleprinter. A mark in the second bit location within this character indicates that this item has already been transmitted to the business office. No mark indicates this item has yet to be considered for printout.
Within the bed information storage area, each track is divided into 54 individual information storage locations. Within each location, some sections contain permanent information. For example, the bed number and the bed price do not change, and are never erased. Other sections are used to store temporary information pertaining to the status of the bed (clean, ready, occupied, etc.) and information as to who is the current occupant of the bed. Individual characters within each location are assigned a number between zero and 47. A system counter generates timing signals C0, C1, C2, . . . , C47 which indicate what character within the storage location currently being scanned is currently below the drum pickup head. The allocation of information within a typical storage location is as follows:
Character 0 -- Not used.
Characters 1 and 2 -- Nursing station number. Indicates the nursing station within which the bed is located.
Characters 3 to 7 -- Bed number. Indicates the individual bed. Usually a three or four digit room number, and a letter indicating the particular bed within the room.
Character 8 -- Unused.
Characters 9 to 12 -- Bed price.
Character 13 -- Unused.
Characters 14 to 17 -- Bed status. In this location a three letter code is inserted to indicate whether a bed is occupied (OCP), clean (CLN), ready (RDY) or whatever. The last character in this space is usually left blank, but can be used if desired.
Character 18 -- Not used.
Character 19 -- Reservation character. A mark is placed here to indicate a bed is reserved.
Character 20 -- Not used.
Characters 21 to 32 -- Patient case number. This is the number which is assigned to a patient when he first enters the hospital.
Character 33 -- Nursing station printout marker. A mark in the fourth bit position within this character indicates that the information stored in this location is to be transmitted to the nursing station whose number is stored in characters 1 and 2.
Character 34 -- Sex symbol, M or F.
Character 35 -- Admitting office printout marker. A mark in the fourth bit position of this character indicates that the information in this location is to be transmitted to the admitting office.
Characters 36 to 38 -- Doctor number. Indicates the doctor that is handling this patient.
Character 39 -- Business office printout marker. A mark in the fourth bit position of this character indicates that the information in this location is to be transmitted to the business office teleprinter. A mark in the second bit position indicates that this information has already been transmitted to the business office teleprinter.
Character 40 to 43 -- Reference number or date. The reference number is assigned to each patient when he enters the hospital. The business office is able to perform reference list searches for all patients having a particular reference number. Usually this number is the month and day when a patient was admitted to the hospital.
Character 44 -- Reference list printout marker. When this particular item is to be printed out as part of a reference list, a marker is placed in the fourth bit position within this location. Reference lists are transmitted to the business office teleprinter. The format of the output data will be different from that of a character 39 marker printout, as will be explained.
Characters 45 to 47 -- Unassigned in the present embodiment.
Arithmetic operations are generally performed within an arithmetic unit (not shown in FIGS. 37 to 39). This unit is able to add, subtract, and multiply. It is interconnected with the magnetic core storage unit 3720 so that data can be transferred readily between the storage unit and various arithmetic data registers within the arithmetic unit. The unit is used to calculate extended prices, and to keep a running total of the charges, charge credits, and payments on account for each day's operation.
When charge data pertaining to an item or service is received by the system along with a control R character, it is stored temporarily in the magnetic core storage unit 3720. The control R character then initiates a search of the charge information storage area for a storage location that does not have a mark in character number 0. When such a storage location is found, the charge information is read out of the storage unit 3720 and is transferred into the location.
The system includes a charge information track counter or track selector 3890 that determines which track of the charge information storage area data is currently being fed into. This track counter generates a series of UAP and TAP signals which indicate respectively the units and tens digit of the current track number. For example, UAP 5 and TAP 20 indicates track 25. Usually charge data is fed into a single track until it is completely full, and then the next sequential track is filled. In this manner, information is stored more or less in temporal order (by time of receipt) in the charge information storage area of the drum 3802.
The system also includes a bed information storage area track counter or selector 3990 that generates a series of UA and TA signals which indicate the unit and tens digit of the current track number. When information is not being fed into this area and when a search for data is not in progress, the system continually scans each track within this area looking for printout markers. When a printout marker is found, a printout is automatically initiated. A search for printout markers in the charge information storage area is carried out in a similar manner when the system generates a SCH5 signal.
Patient information accompanied by a control Q or V character can be stored in any particular location within the bed information storage area by specifying the nursing station and bed numbers stored in that location. The system bed information storage area control logic 3910 scans the bed information storage area until the proper bed number and nursing station number is found.
A wide variety of list compilation and information retrieval tasks can be performed by the system. Some of these are initiated by cards fed into the remote input card readers, and some are initiated by pushbuttons located at certain specified locations.
Three pushbutton lists searches can be initiated by the business office 3905. The first is a reference list search. This is a search through the bed information storage area for all locations containing a specified reference number or date. A small panel in the business office contains a set of four dials and a pushbutton. When the dials are set to a given number and the pushbutton is depressed, this search is automatically performed. The resulting list is printed out in the business office.
A second pushbutton search which can be initiated by the business office 3905 is a tally search. A department number is fed to the system by setting two dials, and a tally pushbutton is depressed. The system tally logic then commences a search of the charge information storage area for all locations containing that department number. When a location containing the specified department number is found, the tally search marks the location for printout, records the item number in a register, and goes through the remaining charge storage area searching out all other locations containing the same department number and item number. A special arithmetic unit within the tally search control logic keeps a running total of the number of such items specified in each location. When a printout of the item number is initiated, the tally logic inserts the total number of items found. This total is then used for inventory control and accounting purposes. The total number of items disbursed is calculated first and then the total credits for items returned is calculated separately. After the tally printout for one item is complete, the tally search resumes and looks for other items having the same department number. The result of the tally search is a complete inventory of the days sales and returns for the department.
The final search which can be performed by push button from the business office is the APC, or all patient's charges search. This search is performed once a day, usually late at night. The first items printed out during this search are the day's total charges, credits, net (charges less credits), and payments on account. This information is retrieved from the core memory. A search is then made through the bed information storage area for individual patient case numbers. Each time a new patient case number is found, all charges relating to that particular patient are retrieved from the charge information storage area and are printed out along with the patient number. When all charges for patients assigned a bed have been listed, the system searches through the charge storage area and prints out the day's charges for out patients and for out house patients. Such patients are assigned a special nursing station number that can be detected by the system logic circuitry. Again, an individual printout is made of the charges relating to each patient. When this has been completed, a final search is made for all charges not previously retrieved. For example, if a patient leaves the hospital during the day, he will not have a bed number that night, and he will not be an out patient or an out-house patient, but his charges will be present within the system.
Three different searches can be requested by card from the remote input locations. These three searches are called the U1 search, the U2 search, and the U3 search.
A U1 search includes all beds belonging to a specified nursing station which require service. The printout includes bed numbers and status characters. A U2 search is initiated by the cashier's office. It searches through the charge information storage area and finds all charges for the day relating to a particular patient. A complete listing of these charges is printed out at the cashier's office, thus enabling an updated bill to be handed to the patient when he leaves the hospital. A U3 search is initiated by the admitting office for all beds within a nursing station whose storage locations contain a specified set of status characters. As noted above, the status characters indicate whether a bed is clean, occupied, etc. This list aids the admitting office in assigning new patients to beds.
The use of printout markers allows data to be read into and out of the drum memory simultaneously. Rather than feeding information directly from the drum to a teleprinter as soon as the information is found within the drum memory, thereby detaining the drum memory for the entire time it takes to transfer information to the low speed teleprinter, a printout marker is placed within the location containing the information. At a later time, a separate search of the drum is made for printout markers. When a marker is found in a track, that entire track is re-recorded on a buffer track and is held on the buffer track while data is transmitted to a teleprinter unit. In the meantime, the main drum tracks are free to receive more input data and more printout markers. Thus, the slow speed teleprinter outputting does not tie up the system input logic. The particular character in which the printout marker is placed indicates where the information is to be transmitted to, so no separate record need be maintained of the destination to which the information is to be transmitted.
Printout formats are determined by separate bed and charge storage area printout format generators. Different formats are used depending upon where the information is to go and what it is to be used for. Most printouts include only a portion of the information stored in a given location. The format of the printout is usually determined by the location of the printout marker.
The day's total charges (etc.) information is read directly from the core memory 3720. A small section of core is allotted for the storage of this information. That section of core not only includes numerical data, but also includes the letter codes which accompany the totals printout. The core storage area running from octal 110 to octal 177 is used for this purpose. The numbers representing the day's total charges, the day's total credits, the net total, and the day's total payments on account are respectively stored in core locations octal 114 to 123, 132 to 141, 150 to 157, and 160 to 175. All other areas within this section of the core are used for line feed and carriage return characters, and also for indications of what the numbers mean. For example, the core locations octal 110 through 112 contain the letters "CHG" to identify the charge total. The data stored in this section of core is read out as a unit at the start of each APC list, as mentioned above.
When the all patient charges or APC search is requested by the business office 3905, the charge section of the drum memory is temporarily tied up for a period of possibly 20 minutes or more. During this period it is necessary to provide an alternate space within which new charges allocable to the next day's operation can be stored. Such new charges are stored in a special track within charge storage area called the auxiliary track. When the APC list is done, the contents of this track are erased and the information temporarily stored in this track is transferred to the first track within the main charge information storage area. In this way there is never any interruption in the collection of charges from the remote system inputs.
When the APC list has been printed out, an erase circuit enables an operator having a special key to erase the contents of the charge information storage area.
In addition to the timing signals mentioned above, a number of other timing signals are commonly referred to throughout this specification. The particular bit within a character that is below the drum pickup head is indicated by a series of T timing pulses, T0, T1, . . . , T7. Since one bit of time is lost in the recording process, information must be recorded upon the drum one T pulse early. Thus, a marker which is to be placed in a fourth bit location must be recorded during a T3 timing interval.
PHASE A and PHASE B timing pulses occur during each T timing pulse. The exact timing of these pulses is indicated in the timing diagram included in the concurrently filed application.
One MS (master strobe) pulse occurs at the end of each drum revolution. An HD (head delay) timing interval follows the MS pulse, giving the drum read amplifiers time to stabilize. Eight BS (block strobe) pulses are generated during each drum revolution. The location address counters, the character counters, and the T timing pulse counter all begin to count at the end of the HD interval. A BT (beginning of track) signal is generated just before the end of the HD interval.
An ETC1 pulse occurs while the last location in a charge information track is being scanned. An ETC2 pulse occurs during the character timing interval CP12 within the ETC1 pulse. An ETC3 signal occurs simultaneously with the ETC1 signal as the end of the last track in the charge information storage area is scanned. A TR00 signal is generated before the first bed information storage location is scanned, and an LT (last track) signal is generated when the last bed information storage track is scanned.
Each three successive drum revolutions are differentiated from one another by timing signals called REV1, REV2, and REV3 which occur sequentially and which commence and terminate synchronously with the MS pulses.
Only one teleprinter character can be generated in the time it takes the drum to make three revolutions. During revolutions REV1 and REV2, teleprinter timing pulses TT0, TT1, . . . , TT7 are generated. A TT8 teleprinter pulse is also generated, but it is not used in this part of the system. The TT8 pulse would carry a parity bit to the remote teleprinters if they were able to check parity. During REV3, a new teleprinter character is retrieved from drum storage, from core, or from the tally search control logic. This new character is transmitted to the teleprinter 3804 during the REV1 and REV2 timing intervals which follow.
Other timing signals, and also signals generated by circuitry disclosed in the concurrently filed application, will occasionally be referred to as the discussion progresses.
This specification begins with an explanation of the logic diagrams and symbols. This is followed by a description of the bed information storage area control logic 3910. The charge information storage logic 3840 is described next. The description of the charge information printout control 3845 follows, and is broken into seven parts. The first part describes the printout marker detector and buffer track control logic for the charge information storage area. The second part describes the list output control which transfers list data to the various output control circuits 3800 and remote teleprinters 3804. The third and fourth parts describe the bed information and charge information printout format generators. The fifth, sixth, and seventh parts describe the tally search control logic patient charge search control logic, and the all patient charges search control logic. The final section of this specification is a detailed description of the system arithmetic unit.
LOGIC DIAGRAMS AND SYMBOLS
In accordance with the preferred practice of electronic circuit designers, the details of the system 100 are represented by logic diagrams rather than by circuit diagrams. In physically constructing the system 100, each logic element shown is replaced by an equivalent electrical circuit that performs the logical task defined by the logic element. The use of logic elements emphasizes that any of the many differing electrical circuits capable of performing a given logical task may be used interchangeably in the present invention.
To facilitate locating the various elements used in the system, the hundreds or thousands and hundreds digit of each reference number assigned to each element designates the figure of the drawing on which the element is located or was first identified. As an example, a gate 2910 appears in FIG. 29.
In the system 3700, a high level or more positive potential normally represents a "1", "TRUE", or "PRESENT" signal, and a low level or more negative potential normally represents a "0", "FALSE", or "ABSENT" signal. Throughout this specification, the names of signals are written entirely in capitals. As an example, a patient charge search signal generated in FIG. 30 is designated as "PCS". Signals are often encountered in an inverted form. This is indicated in the drawings by an overline or bar drawn over the signal name. As an example, an inverted bypass 1 signal "BYP1" appears in FIG. 30 as "BYP1". In this specification, inversion is sometimes indicated by placing the word "inverted" before the name of the signal. More usually, inversions are not mentioned in the specification, since they are clearly indicated in the figures. In this case of an inverted signal, a low level potential represents a "1", "TRUE", or "PRESENT" signal, and a high level potential represents a "0", "FALSE", or "ABSENT" signal.
The preferred embodiment of the system 3700 is constructed almost entirely from transistor-transistor integrated circuit logic elements manufactured by Texas Instruments Incorporated, of Houston, Texas. The fundamental element in the transistor-transistor logic system is the NAND gate, such as a NAND gate 3016 shown in FIG. 30. The NAND gate 3018 has three inputs into and a single output from the D-shaped figure which is used as the standard logic symbol for a NAND gate in this description. The circle separating the D-shaped figure from the output lead signifies an inversion of the output signal. The output lead from this unit is high or at a more positive potential at all times except when all of the inputs are at a high or more positive potential, at which time the output drops to a low or more negative potential.
Inverting gates or NOT gates are represented by a triangular amplifier symbol with a circle at the input or output lead to indicate inversion. These are conveniently formed from NAND gates having their inputs wired together in parallel. Invertors are never mentioned in this specification, since they do nothing more than invert the signals which pass through them.
A typical AND-NOR device or comparison gate 3120 is shown in FIG. 31. This device includes a series of two input AND gates, the outputs of which are fed into a NOR gate. The output of this device is normally high or positive. The output goes to a low level whenever both of the inputs to any one of the AND gates are at a high level.
A typical NOR gate 3102 is shown in FIG. 31. The output of the NOR gate 3102 is low or negative if and only if both of the input leads are at a high or more positive potential. If either of the input leads is at a low level, the output rises to a high level potential. Electrically and physically, the NOR gates and NAND gates are identical to one another. Logically, they differ in that NOR gates are used to NOR inverted signals together, while NAND gates are used to NAND non-inverted signals together. In this specification both NOR and NAND gates are referred to simply as gates.
Circles at gate inputs or outputs indicate inversion. Occasionally circles will be shown in the place of inverting amplifiers.
Three types of flip-flops are used in the system 3700. The first type, called a bistable, is constructed by cross-connecting the outputs of two NAND gates with one input of each of the gates. A typical example is the bistable 3103 in FIG. 31.
A second type is a standard JK flip-flop, such as a flip-flop 3241 shown in FIG. 32. JK flip-flops can have up to seven input leads or terminals. Of these, only the Q and Q terminals are labelled in the figures. J and K input leads, when present, are respectively located directly across from the Q and Q output leads. The T input lead is centrally located across from the Q and Q input leads, and is separated from the flip-flop by a circle which indicates inversion. S (set) and C (clear) input leads enter the flip-flop adjacent the Q and Q output leads, again through an inverting circle. Most JK flip-flops include only a C input lead and no S input lead.
When the clock or toggle input (T) of a JK flip-flop is at a high potential, data applied to the enabling (J and K) input terminals is stored. When the clock input T goes negative, this data is transferred to the Q and Q outputs and becomes the flip-flop output. When both of the enabling input terminals are either open circuited or connected to a high level signal, a JK flip-flop toggles or reverses the state of the Q and Q terminals whenever the clock input goes from positive to negative. If both of the enabling input terminals are connected to a low level potential, a JK flip-flop remains in its prior state when the clock input goes negative, and does not toggle. When a set or clear terminal is included in a flip-flop, the flip-flop may be set or cleared directly to a desired state. A flip-flop is cleared by applying a low level signal to the clear input terminal to cause a more positive potential to appear at the Q output and a low level signal to appear at the Q output. A flip-flop is set or primed by applying a low level signal to the set input terminal to cause a high level signal to appear at the Q terminal and a low level signal to appear at the Q terminal.
A third type of flip-flop is the type D flip-flop, for example the flip-flop 3222 shown in FIG. 32. Type D flip-flops have no inverting circle separating the clock or toggle input from the flip-flop body, and no enabling input opposite the Q output terminal. The enabling input opposite the Q output terminal is called the D input. When the clock input goes high, it forces the Q output signal to match the D input signal.
Shift registers, such as the shift register 3118 shown in FIG. 31, are assumed to be chains of type D flip-flops having their Q output leads and their D input leads serially connected, and having their clock or toggle leads connected in parallel. The bit capacity of each shift register is always indicated and is equal to the number of flip-flops included within the register.
Full adder circuits, such as the typical full adder 1706 (FIG. 17), always have three input leads on the left hand edge, a sum output lead indicated by the greek letter sigma, and an inverted carry output terminal indicated by the label Cn+1. Occasionally an inverted sum output lead is also included, and is indicated by an overlined letter sigma. Inverted inputs to full adders are indicated by circles which separate the input lead from the adder. The sum output of a full adder is positive if one or three inputs are positive. The inverted carry output of a full adder is negative if two or three inputs are positive.
The internal circuitry of the individual logic elements is not revelant to the present invention and is therefore not disclosed in the present application. Chapter 11 of the book Integrated Circuit Engineering-Basic Technology, Fourth Edition, by the staff of Integrated Circuit Engineering Corporation, Glen R. Mudland et al., published in 1966 by Boston Technical Publisher Incorporated, Cambridge, Massachusetts, gives a rather complete explanation of digital integrated circuits suitable for use in the system 3700. Additional background on the use of logic diagrams and integrated circuits can be found on pages 149 through 162 of ELECTRONICS, Vol. 40, No. 5, Mar. 6, 1967.
BED INFORMATION STORAGE AREA CONTROL LOGIC
FIGS. 1-4, when placed together, include all the logic circuitry used to control flow of data into and out of the bed information storage areas. FIG. 1 contains primarily logic circuitry which is set up in response to control characters originally transmitted to the system from the various inputs. Control signals QC, VC, U1C, and U3C enter FIG. 1 from the upper left hand corner. These signals are respectively generated by the system 3700 in response to the receipt of Q, V, U1, and U3 control characters. The NEXT CHRG signal also enters FIG. 1 to initiate a search for a new patient number during an APC search. The REF # LIST signal enters FIG. 1 to initiate a search for bed storage areas containing a particular reference number or reference date. Control signals FC and DC, which are generated by the system 3700 in response to the receipt of F and D input control characters, enter FIG. 2 and initiate respectively the erasure of the patient information from a storage location or the insertion of new patient information into a storage location. As will be explained more fully below, these characters accompany a VC control character.
The upper portion of FIG. 2 is a comparator that compares data within the bed storage area to data stored within the core memory. The results of this comparison are then sent back to FIG. 1 and used to determine when a desired location has been found. The lower portions of FIG. 2 control the flow of new data into the bed information storage area, and also control the erasure of old data from the bed information storage area. This logic also overflows into the upper right hand portion of FIG. 4.
The logic controlling the writing of information into the buffer track of the bed information storage area is located in the lower middle left hand section of FIG. 3. The signal which determines whether information is being written into the buffer track or read from the buffer track is the BWEB (buffer write enable bed) signal. When this signal is positive, information is written into the bed information buffer storage area. The lower right hand portion of FIG. 4 controls the writing of information into the main bed information storage area. The control signal here is called the MWEB (memory write enable bed) signal.
The major portion of FIG. 3 contains logic circuitry which scans the bed information storage area continuously for printout markers whenever information is not being read into the bed information storage area. When a printout marker is found, a BFR (buffer) signal is generated to initiate a transfer of information from the main storage track to the buffer track. This transfer operation is controlled by the logic shown in the central part of FIG. 4.
As mentioned above, a certain amount of data is permanently stored in each of the many bed information storage locations. This information includes a nursing station number, stored in characters 1 and 2; a bed number stored in characters 3 to 7; and a bed price stored in characters 9 to 12. When the system is first put into operation, this information is fed directly to the drum through a gate 201 in the form of a DATA-BS signal. During this time, the drum head is enabled to write by a WEBS signal which passes through a gate 401 and a gate 402 and becomes the MWEB signal.
When a patient is assigned a bed, the admission office transmits into the system a card containing patient information, and a card containing a V control character and a D control character. These control characters cause VC and DC signals to be generated, as explained in the concurrently filed application. The VC control signal is fed into a gate 101. A second input to the gate 101 receives a BRO signal which is generated by the system 3700 after all the input data has been fed into the core memory, as will be explained below. These two signals cause the gate 101 to generate a BED signal. The BED signal passes through a gate 102 and partially enables a gate 103. The lower input to the gate 103 receives a BTO signal. This signal is positive when the bed information track counter is set to the first track and during the duration of a BT (beginning of track) signal that is positive just before the end of the head delay period. This BTO signal indicates that the bed track counter and the drum are in position to perform a complete scan of the entire bed storage area.
A CX1 signal is fed into the remaining input gate 103. This signal is generated by a 1 to 4 count counter 104 during this same period. The counter 104 advances very rapidly in response to the PHASE A signal during each BT (beginning of track) period, except when a TINH signal is present. The TINH signal disables a gate 105 and prevents the PHASE A timing pulses from reaching the counter 104 whenever the bed control logic begins a search.
When all of the inputs to the gate 103 receive signals simultaneously, the gate 103 sets a bistable 104 which generates 8 bit assembly shift register 209 to the output gate 201 and on to the bed information storage area. Thus, the flip-flop 207 actually controls the flow of data into the bed information storage area.
The WEA signal will first go high during the latter portions of C13. This C13 signal is fed into a gate 209 along with the signal from the gate 206, and causes a bistable 210 to enable the next PHASE B pulse to toggle the flip-flop 207 into the Q state. The inverted RSV signal, which is also fed into the gate 209, is not present at this time, and does not disable the gate 209. This RSV signal will be explained more fully below.
The T7S timing signal applied to the gate 206 prevents the flip-flop 207 from toggling until the very end of the C13 timing interval. This T7S timing signal is generated by a flip-flop 301. A similar T0S timing signal is generated by a flip-flop 302. The T7S timing signal occurs just before the commencement of the T7 bit timing pulse and is used to initiate the writing of data upon the drum. Data returns from the drum storage area one bit later in time than when it is recorded, so the T0S timing signal, which occurs one T interval after the T7S timing signal, is used as an indication of when a new character is about to be read from the drum.
The output of the flip-flop 207 thus goes positive at the commencement of the C14 character timing pulse. (Actually during the last bit of the C13th teleprinter character so that data is read onto the drum one bit early.) This enables bed status information (OCD, CLN, RDY, ETC.) to be written into the 14th through 17th character positions of the bed information storage location a *A signal. This *A signal initiates a search of the bed information storage area for a location containing the bed and nursing station numbers included in the patient information data stored within the core memory. The *A signal enables a gate 105 to pass a C00 character timing signal to a gate 106. This signal arises when the drum head reaches the beginning of each storage location within the bed information storage area, as explained above. The output of the gate 106 is inverted by a gate 107 and sets a bistable 202, causing the generation of a CK signal. The bistable 202 controls the operation of the data comparator. When the CK signal is present, data retrieved from the bed storage area is compared with data retrieved from the core memory. The exact details of this comparator will be described below.
The comparison operation continues until finally a storage location is found that contains a nursing station number and bed number that match the nursing station and bed number which were fed into the system on the patient information card. When this happens, a 0 to 6 counter 203 generates a CC5 signal. This CC5 signal, a C08 character timing signal, a T0 bit timing signal, and a B+R signal generated by the gate 102 are all fed into a gate 204. The gate 204 sets a bistable 205, and initiates the generation of a UL signal. This UL signal causes data to be read into the bed information storage location currently being read. The UL signal is combined with a T7S timing pulse by a gate 206. The output of the gate 206 enables a whole series of gates which control the state of a flip-flop 207. The WEA signal output of the flip-flop 207 enables a gate 208 (along with the B+R signal generated by the gate 102) to pass core data from an before the drum write head, and also allows the control D character, which is stored in core right after the bed status number, to be written into the 18th character position. The writing process is then terminated by a signal generated by a gate 211. The gate 211 causes the bistable 210 to reset at the end of the T6 bit of the C18th character. This causes the flip-flop 207 to terminate the WEA signal one bit before the beginning of the C19th character, thus temporarily terminating the process of writing data into the bed information storage area.
The storage process is recommenced during the character timing pulse C20 by a gate 212 which is enabled by the DC (D control character) signal. The DC signal goes through gates 213 and 214 to the gate 212. Thus, the write-in of data into the storage area recommences during the C21 character timing pulse (actually during the last bit of the C20 pulse) and does not terminate until a B RELEASE signal is generated during the T0 part of the C47 character timing pulse. The B RELEASE signal is generated by a gate 215 and is fed directly into the bistable 210 to terminate the writing process.
The output of the bistable 210 is fed directly to the gate 402 to generate an MWEB (memory write enable bed) signal whenever the flip-flop 207 is feeding data into the memory, thus enabling the drum to write data.
To prevent false printout markers from being generated, the feeding of data to the drum is suppressed during C33, C35, C39 and C44 by an INH D signal generated by a gate 403. The INHIBIT D signal is fed directly to the gate 208 to inhibit the flow of data into the bed information storage area. The inputs to the gate 403 are the outputs of the four gates 404 to 407. These gates are enabled by the UL signal and by the character timing signals C33, C35, C39, and C44. These same character timing signals are used to prevent the BR0 signal from advancing the core address register during these intervals, as is shown by the core address register circuitry disclosed in the concurrently filed application. It is necessary to inhibit the operation of the four gates 404 to 407 during T7 bit timing intervals so that the first bit of information in each of the following characters, which are read out of the core memory during the T7 timing interval, are not eliminated. This is done by applying an inverted T7 bit timing signal to an input of each gate.
It is necessary to coordinate the operation of the various circuits within the bed information storage area control logic with the operation of the core storage area location counter 3726 so that data can be fed from the core storage area 3720 in a proper sequence for comparison and for reading into the bed storage area. The BR0 signal initiates a serial parallel read out of data from the core memory during T5, as is shown by the core read out circuitry disclosed in the concurrently filed application. This same BR0 signal also enables the core address register to advance during each T3 bit timing interval. The circuitry for doing this is also disclosed in the concurrently filed application.
Data from the core memory is fed through the gating circuitry disclosed in FIG. 29. In response to a GCP signal the data is gated in parallel form into an eight bit assembly shift register 209. The GCP gating signal is generated by a flip-flop 217 and passed through a gate 216. The gate 216 also receives an inverted RF signal, which for the moment can be assumed to be positive.
The flip-flop 217 initiates the generation of the GCP signal when it receives an enabling signal from the gate 218 through the gate 219. This input is used when information is to be read into the bed information storage area. The three signals which enable the gate 218 are the WEA signal generated by the flip-flop 207, the UL signal generated by the bistable 205, and the T7S data read in timing signal. These signals cause a new 8 bit data character to be shifted into the 8 bit assembly shift register 209 at the start of the T7 bit of each character timing interval. This is the proper timing for loading the register when writing data into the drum storage area.
When information is to be read out of the bed information storage area for comparison, the timing of the data coming from the core memory must be slightly delayed to compensate for the 1 bit delay in drum output timing as compared to drum input timing. This delay in generation of the GCP signal is produced by enabling the flip-flop 217 with the gate 220, rather than the gate 218. The gate 220 input signals are the T0S output data timing pulse signal, the CK signal generated by the flip-flop 202 whenever a comparison is in progress, and the output signal from the gate 107 which also includes T0S timing pulses. Thus, whenever a comparison is in progress, data is transferred from the core memory into the 8 bit assembly shift register 209 at the very end of the T7 bit of each character signal.
Data is shifted out of the 8 bit assembly shift register 209 by shift pulses generated by either of two gates 221 and 222. The output of these two gates are combined by a gate 223 and are fed into the shift terminal of the 8 bit assembly shift register 209. The gate 221 initiates the shifting of data during comparisons. Two input signals to the gate 221 are the signals fed into the gate 220, which controls the readout of data from the core memory during comparison. The remaining two inputs of this gate are the T0S timing pulse signals and a PHASE A timing signal. The PHASE A timing signal actually advances the data through the assembly shift register. The T0S timing signal prevents the generation of the shift pulse while data is loaded into the register. The gate 222, similarly, includes as its inputs the PHASE A timing signal, T7S timing signal and the two other signals which enable the gate 218. The two gates 221 and 222 function in the same manner.
The data output of the 8 bit assembly shift register 209 is called the DSR signal. It is fed into the gate 208. It is also fed into the comparison gate 224, where it is compared with the DATA B signal coming from the bed information storage area. The DATA B signal is fed through two gates 225 and 226 during the PHASE B timing signal and into the remaining inputs of the comparison gate 224. The gates 225 and 226 are enabled by the CK comparison signal generated by the bistable 202, and also by the signal generated by the gate 107. A pulse appears at the output of the gate 224 each time the bit from the core memory is identical to a bit supplied by the DATA B signal. The resulting train of pulses is then fed into the comparator counter, which will be explained in more detail below.
Whenever data is read out of the core memory 3720 either for comparison purposes or for data transferring purposes, it is necessary to initially set the core address counter 3726 to some predetermined value where the first item in the list of desired information is stored. This operation is performed by the gates 227 through 230 and by the gates 408 and 409. For example, the gate 230 causes the core address location counter to be set to the address where the first digit in the nursing station number of the patient charge information is stored. This gate is enabled during the C00 character when the 0 to 6 counter 203 is at a count of CC0, indicating no comparison has been carried out, and when the B+R signal generated by the gate 102 is present, indicating a QC or VC control operation. Once the core address register counter 3726 is set to an initial address, it automatically advances serially through the core, so no additional control signal need be used until a new block of data stored in a different location is desired. The operation of the remaining gates in this group are all similar to the operation of gate 230.
The comparator is located in the upper portion of FIG. 2. This comparator counts the pulses generated by the comparison gate 224. Flip-flops 231, 232, and 233 together comprise an 8 bit counter. When 7 bits have been counted, the flip-flops present a full house count to a gate 234 and cause the gate 234 to generate a pulse. This pulse is passed through the gate 235 when that gate is enabled by a shift register advance pulse generated by the gate 221. The resulting pulse passes through the gate 236 and advances the counter 203. The pulse generated by the gate 235 also sets a bistable 237 which enables the gate 238 to generate a PARITY (comparator reset) pulse during the PHASE A part of the T0S timing signal. This PARITY reset pulse is fed to a gate 239 and is used to reset the three flip-flops 231, 232, and 233. When the three flip-flops are cleared, they enable a PHASE B signal to pass through a gate 240 and to reset the bistable 237. Thus, each time 7 bits within a character supplied by the DATA B signal match 7 bits supplied by a core memory, the counter 203 advances by one count. The resulting count can therefore be used as an indication of the number of characters which have been successfully matched in the two signals.
If all the bits in the two characters that are compared do not match up, the full house count condition is not reached. In this case, the gate 234 enables a gate 299 which clears the counter 203, erasing the record maintained in that counter of successful comparisons.
The comparison procedure is controlled by the bistable 202 and by the CK signal. When the CK signal is absent, no comparison is performed, and the counter 203 retains its count. Thus, by toggling the bistable 202 in and out of the set state, different sections of the two masses of data can be compared for different purposes. Examples given below will explain how this feature adds great flexibility to the types of searches which can be performed by the system.
It was mentioned before that a VC control character causes the bistable 104 to generate a *A signal, and that the *A signal initiated a search through the bed information storage area for a nursing station number and a bed number which matched the one included in the patient charge information stored in the core memory. This search is performed in the following manner. As data from each sequential location within the bed information storage area is presented to the comparator, the bistable 202 initiates a comparison. The comparison gate 224 compares the first and second characters supplied by the DATA B signal to the nursing station number stored in the core memory. If the comparison of these two characters are successful, the counter 203 advances to a count of CC2. The comparison procedure continues, but the counter 203 is prevented from advancing for two character counts by a bistable 250 which disables the gate 236. The bistable 250 is toggled by a C03 signal whenever a *A signal is present. The counter 203 is enabled again during the time when the fifth character is compared. A C05 character is used to reset the bistable 250, thereby re-enabling the gate 236. In this manner, the two digit nursing station number and the five digit bed number are compared to data in the core memory. If the comparisons are all successful, the counter 203 will advance to a count of CC5. If any comparison was unsuccessful the counter 203 will have been cleared, and the CC5 signal will not be present. The CC5 signal, when present, enables the gate 204 so that the bistable 205 can initiate the UL signal and the data storage process. Thus, the above search is performed by comparing the nursing station number and the bed number within each storage location to data stored in the core memory. Other types of searches will be explained below. They differ in details from the above search, and in the particular characters which are compared. However, the general procedure is identical to that described above.
If the system input data included an S control character rather than a D control character, patient information is erased from the location found. The SC signal generated by this control character is applied to a gate 252 along with the BR0 signal. The resultant DIS (discharge) signal generated by the gate 252 passes through the gate 214 and into the gate 212, where it initiates loading of information into the bed information storage area in exactly the same way that the DC control signal initiated loading of information into the area. The DIS signal also enables a gate 410. This gate clears the flip-flop 411 during the 7th bit of the 20th character. The output of the flip-flop 411 passes through the gate 403 and initiates an INHD signal. This signal prevents any information from being read into the bed storage area. The MWEB signal erases the information previously stored in this area, so this procedure effectively erases all old patient information from the storage location. The flip-flop 411 is then reset by C47 character timing signal.
If an input data card contains a Q control character instead of a V control character, a gate 108 generates an RSV (reserve) signal in response to the QC (Q control) signal which causes a reservation mark supplied along with the input data to be written into the nineteenth character slot within the location containing the specified bed and nursing station number. The RSV signal is fed through the gates 102 and 103, and initiates a *A search that is identical to the search performed in response to the V control character. The RSV signal causes a different set of gates feeding into the bistable 210 to be energized, and therefore causes a reserve character to be written into the core memory rather than patient information. The RSV signal enables the gates 253 and 254 to set the flip-flop 207 at the beginning of the C19 and to clear the flip-flop 207 at the beginning of C21. The only information read into the core memory is the reservation mark, which ends up in character slot 19. The gates 209 and 211 are inhibited by the RSV signals.
That completes the description of the circuitry which reads information into the bed information storage area. The following paragraphs will describe how searches are initiated, and how marker bits are written into those areas containing information which is to be printed out.
Four different kinds of searches are performed within the bed information storage area. In response to a U1 control character, as indicated by a U1C signal, a search is made for all bed numbers in locations contining a specified nursing station number and control characters indicating a need for special attention or service. This list is called a nursing station work list. In response to a U3 control character, as indicated by a U3C signal, a search is made for bed numbers in storage locations containing a given set of status characters. This search is initiated by the admitting office, and the results of this search are fed directly back to the admitting office. A NEXT CHRG search is commenced in response to a NEXT CHRG signal generated during the all patient charges printout procedure. This search scans the bed information storage locations for a patient case number for which the day's charges have not yet been printed out. When such a patient number is found, a mark is placed in the data and a search for charges relating to that patient is commenced in the charge information storage area of the system, as will be explained below. The final bed area search is the REF # LIST search initiated by the business office to find all bed storage areas which contain a given reference number or date. Usually this number is the date on which the patient was admitted to the hospital. This search is useful for finding where patients admitted on certain dates are located within the hospital. This search is initiated by push button. The desired reference number is set up on a set of dials, and a button is depressed which generates a REF # LIST signal. The results of this search are transmitted directly to the business office teleprinter.
Two different forms of searching mechanisms are provided by the present system. The first is the comparator, which has been described above. The comparator compares certain data within each bed storage location to data supplied by the core memory or by some other input register, and marks for printout all locations containing data identical to the reference data. Except for the marking procedure, the nature of this type of search has been fully described above.
The second form of search involves examining the 18th character in each location to detect the presence or absence of certain bits. If the specified bit is present, then the information in that storage area is included in the lists; otherwise, the information in that storage area is passed by. Location C18 can contain any one of four characters--a control D character, a control S character, a control P character, or a space. These control characters are fed into the storage location along with other input data as if they were a fifth character in the four character bed status number. The control D and the control F character are detected by the system 3700, and are used to initiate the insertion or the deletion of the patient number from a particular bed storage area, as was explained above. The control P character and the space have no special control functions in the present embodiment, although the system does generate a PC signal when it receives a control P character. All four of these characters, however, contain characteristic bit arrangements which can cause the contents of a location to be included or excluded from a particular list. In particular, the control D character contains a positive T2 bit. All other bits in this character are "0"s. The control D character causes the information in a location to be included in the patient charge number search during an all patient charges printout. Locations in the bed storage area not containing a control D character are bypassed during the patient charge number search. Since the control D character contains "0"s in bit position 5, areas containing a control D character are not included in the nursing station work list.
The control S and P characters contain a "1" in bit position 5, and a "0" in bit position 3. Locations containing a control S or control P character are included in the nursing station work list search (U1), but are not included in the patient charge number search. If a space is included as a control character, the location is not included in either of the above lists. The reference list search and the admitting office U3 search do not make use of these control characters, and are not affected by the particular control character present.
The counter 199 scans all of he different search control inputs at the beginning of each bed information storage area scanning cycle to determine if any searches are to be made. CX1, CX2, CX3, and CX4 signals are generated repeatedly for a short period of time. If there is a search to be made, of if there is data to be written into the bed information storage area, the counter 104 will enable one of the gates 103, 109, 110, 111, or 112, and will cause one of the bistables 104, 113, 114, 115, or 116 to cause a gate 117 to generate the TINH signal. This TINH signal stops the counter 104 and prevents any other searches from being initiated until the current search is completely carried out. The search which is to be carried out is determined by the particular bistable which was set. The bistable 113 generates a *B signal and initiates a U1C or nursing station work list search. The bistable 114 generates a *C signal and initiates a U3C, or admitting office search. The bistable 115 generates an NC signal which initiates a new patient number search. The bistable 116 generates an RF signal which initiates a reference number list search.
Searches are terminated when the corresponding bistable is reset. This resetting is accomplished by a gate 118 when the last storage location in the bed information storage area has been scanned. The gate 118 is enabled to generate an ET2 signal by a C17 signal, and a last track address 54 signal generated by a gate 303. Since a write-in search (control Q or V) can be terminated as soon as data has been written in, the *A signal is terminated early by the B-RELEASE signal generated by the gate 215. If no bed is found, then the bistable 104 is reset by the ET2 signal.
The nursing station work list search is initiated by a *B signal. The resultant list includes all bed numbers containing a specified nursing station number and containing a "1" in the 5th bit of the character C18 (areas including a control S or a control P character). The *B signal enables the gate 119 to pass a C00 character through the gate 106 and a gate 107 to set the bistable 202 causing it to generate the CK signal and initiate a comparison during charcter timing intervals C01 and C02 (nursing station number comparison). If the comparison is successful, a CC2 signal is fed back to a gate 120. The other inputs to the gate 120 are the *B signal, a T4 timing signal, a C18 character timing signal, and the output data from the bed information storage area combined with a PHASE B signal by a gate 121. If the 4th bit of the 18th character is a "1", the gate 120 is enabled and sets a bistable 122. The bistable 122 in turn enables a gate 123 to pass a C33 character timing signal to a gate 124. The gate 124 is thus induced to generate a DOR signal during character count 33. This DOR signal enables a gate 298 to transmit a mark to the 4th bit position within the 33rd character slot of the storage location currently being scanned. The output of the gate 298 is called the DATA A signal. This signal is also applied to the gate 402 to cause the drum logic to write this mark into the bed information storage area. This printout mark can later be detected by printout marker detection logic, and the information can be fed into the buffer storage track for printout. In this manner, all items which are to be included in a given nursing station work list are marked for printout in response to the *B signal.
The admitting office list printout is initiated by a *C signal. The *C signal enables the gates 130 and 131. A C00 signal flows through a gate 132 and into the gate 131 to initiate the comparison of nursing station numbers. If a nursing station number comparison is successful, a CC2 signal fully enables the gate 130 to restart the comparison procedure at C13, which is the timing character that occurs just before the bed status characters are read out of the storage location. A four character comparison is then carried out on the bed status characters. If this comparison is also successful, the counter 203 ends up at a count of CC6. The CC6 signal partially enables a gate 133. At the first bit in the 18th storage slot, the gate 133 is fully enabled and toggles a bistable 134. The bistable 134 enables the gate 135 to cause a printout marker to be placed into the fourth bit of the 35th character slot. In this manner, each item in the admitting office list is marked for printout.
A search for a new patient charge number does not make use of the comparator. A check is made of the contents of the third bit within the 18th character in each storage location. If a "1" is found, then this location contains a control D character, and is a candidate for inclusion in the search. The gate 136 is then enabled to generate an OCP signal, which causes the patient charge number to be read out of the bed storage location and into a patient number shift register 3118 (FIG. 31) which will be described in a later section of this specification. The OCP signal also sets a bistable 137. The bistable 137 initiates a check of the second bit within the 39th character slot, to see if this charge number has already been fed to the APC (all patient charges search) circuitry. If it has, a "1" will be found in this location. The gate 138 is then enabled to clear the bistable 139, disabling the gate 140. The output of the bistable 137, which was originally intended to pass through the gate 140 and place a mark in the fourth bit position of the 39th character slot, is disabled, and this item is not marked. If the third bit within the 39th character does not contain a "1", a mark is placed in the fourth bit position of the 39th character. Additionally, the output of the gate 140 enables the DATA A signal to pass through a gate 260, generating an NOCP signal. This NOCP signal is used to reset the bistable 115. The bistable 139 is reset by an inverted C47 pulse.
The reference list search is initiated by the bistable 116 which generates an RF signal. This RF signal enables the gate 180 to pass a C39 character timing pulse to the bistable 202, initiating a comparison between the reference number, which is stored in character locations C40 through C43, and a reference number which is manually placed into a reference list input unit 2901 (FIG. 29) located in the business office. The comparison is carried out in the usual manner, and a successful comparison is indicated by a CC4 signal generated by the counter 203. The CC4 signal enables a gate 181 to set a bistable 182, in turn enabling a gate 183 to initiate the marking of the T4 bit within the character C44. The RF signal also enables a gate 280 which is connected to the output of the flip-flop 217, and disables the gate 216. Now, instead of data being read into the eight bit assembly shift register 209 from core, data is read into the same register from a buffer 2902 (FIG. 29) that contains the desired reference number. The output of the gate 280 enables a series of gates 281, 282, 283, and 284 which read out individual digits from the buffer 2902 and transfer these digits into the eight bit assembly shift register 209. The gate 281, for example, is enabled when the counter 203 generates a CC0 signal during character count C40. Similarly, the gate 282 is enabled during character count C41, the gate 283 is enabled during character count C42, and the gate 284 is enabled during character count C43. The output signals from these gates are fed to the logic shown in FIG. 29, which will be described more fully below.
When a search for items which make up a list is completed, or when the B RELEASE signal is generated by the gate 215, a CCP signal is generated to indicate that the search is completed. This signal is generated by a gate 304. One input to the gate 304 is the B RELEASE signal; the other input is the output of the gate 305. The gate 305 generates a pulse whenever an *A, a *B, or *C search reaches the twelfth character location within the fifth-fourth storage location of the last track in the bed information storage area.
The remaining logic circuitry shown in FIGS. 3 and 4 is used to detect printout markers, to transfer the marked data from the main storage area to a buffer storage area, and then to transmit the data from the buffer storage area to the proper output teleprinter.
Whenever a list search of some form is not in progress, data from the bed information storage area is fed to a gate 320 along with a PHASE B timing signal, a T4 bit timing signal, and an inverted BFR signal. For the moment, the inverted BFR signal can be assumed to be absent, enabling the gate 320. When a location in the bed information storage area is found that contains a "1" in the fourth bit of a character slot, the gate 320 partially enables the four gates 321-324. The gate 321 is totally enabled when such a mark is found in a 33d character slot. Such a mark indicates an item in a nursing station work list, and sets a bistable 325. Similarly, other printout marks set the three bistables 326-328. The output signal from any one of these bistables enables a gate 329 to generate a BFR (buffer) signal. This signal, in inverted form, is fed back to the gate 320 to prevent any other printout markers from being detected until this first one is completely processed.
The output signal from the set bistable, at least if it is one of the bistables 325-327, sets a second bistable 330-332. The output of the set bistables 330-332 then causes a gate 333 to generate a LIST signal. This LIST signal is compared with the output of each of the three bistables 330-332 by three comparison gates 334-336. The comparison gate associated with the printout marker generates a signal that enables the corresponding input gate 321-323. The other input gates are disabled by their respective comparison gates. Note that before a marker was encountered, all of the three comparison gates generated enabling signals for their respective input gates.
The three bistables 330-332 generate respectively an NS (nursing station) signal, an ADM (admitting office) signal, and an REF (reference number seearch) signal. Only one of these signals is positive at any one time, the one associated with the marker that was found. That signal, or the CIP LIST signal generated by the bistable 328, enables one of the four gates 437-440 to pass an appropriate character timing signal to a gate 441.
The BFR signal, which had previously been holding a bistable 443 in the clear state, now enables a gate 442 so that a PHASE A timing pulse can set the bistable 443, enabling another gate 444. The character timing pulse C47 then passes through the gate 444 and sets a bistable 445, thus generating a TRIN (bed storage area track counter advance inhibit) signal. This signal stops the bed storage area drum logic from advancing to scan another track for one revolution. This signal also enables a gate 446 to pass a C19 character pulse and set a bistable 447.
The BFR signal is also fed to gates 448 and 449 which are associated with a 54 count counter 450. Before the BFR signal was initiated, it passed through the gate 449 and cleared the counter 450. After the signal is initiated, it enables the gate 448, to pass C47 timing pulses to the counter, advancing the counter. The counter 450 counts 54 C47 timing pulses, which is one complete revolution of the drum, and then enables a gate 451 to generate an A00 signal. This A00 signal continues to be generated during the time when the location on the drum track containing the information which is to be printed out is being read by the drum head. The A00 signal is regenerated with each drum revolution, and serves as an indication of when the marked location is below the drum read head. The gate 452 prevents the signal from being generated while the 55th location in the track is scanned.
During the next revolution of the drum, the marker bit is erased. This erasure is accomplished by a gate 453 which generates an erase signal. This erase signal is passed through the gate 401 and becomes the MWEB signal. The gate 453 is enabled during the A00 period of the next revolution, while the fourth bit of the location containing the marker bit is below the drum head, as determined by the character signal gate 441. The output of the gate 453 also sets a bistable 454 which enables a C47 timing pulse to pass through a gate 455 and reset the bistable 447. The termination of the BFR signal then clears the bistable 454. In the case of a CIP LIST marker, it is also necessary to mark the second bit of the 39th character so that the logic circuitry will know that this particular patient number has already participated in the APC search. This is accomplished by a gate 456 which is enabled in almost exactly the same way as the gate 453, but which is enabled at an earlier time by a T1 bit timing signal, rather than a T3 bit timing signal. This gate also applies a signal to the gate 401 to write a "1" bit on the drum. This signal, called the MRCIP signal, is fed to the gate 201.
The buffer track control logic appears at the lower left hand corner of FIG. 3. The buffer track write enable signal appears at the output of a gate 356. Data for the buffer track appears at the output of a gate 355. The gate 356 is controlled by a bistable 352, and the gate 355 is controlled by a bistable 354. Ordinarily, both of the bistables 352 and 354 are cleared by the BFR signal, so both of the gates 355 and 356 are enabled. Thus, the DATA B signal which contains the output data from the bed information storage area is continuously written and rewritten onto the buffer track. When a marker bit is found, the BFR signal goes positive and enables the two gates 351 and 353. The gate 353 allows a C00 timing pulse to set the bistable 354 after the location containing the marker bit has been completely recorded on the buffer track. This disables the gate 355, and causes a string of zeros to be written into the remainder of the buffer track. Thus, only the single marker bit is to be found within the buffer storage area. This marker bit can be used as a check to insure that the proper data is always read out. The gate 351 allows an MS (master strobe) pulse, which occurs at the end of a drum revolution, to set the bistable 352, thus terminating the erasure process and allowing the data from the buffer track to be read out. The data from the buffer track and the A00 timing signal are both used by the output sections of the system to produce an output signal including the marked information. The main drum storage area is released in the meantime, and is allowed to be used in further searches and data storing operations. Thus, the core memory and the data input sections of the system are never tied up waiting for data to be read slowly out of the bed information storage area to a low speed teleprinter.
When the information has been completely transmitted to the output teleprinter, a reset signal clears the bistables 325-328 and terminates the BFR signal. This reset signal is generated by a gate 381, the inputs to which are the BT0 signal, the BF0 signal from the bed information printout format generator circuit, and an inverted LADV signal which is generated by the clock circuit. The F0 signal indicates that the printout is completed. The LADV maintains the BFR signal until the time and data printout circuitry is available. The BT0 signal is generated when the beginning of the first track in the bed information storage area is first scanned. Thus, the BFR signal is terminated after the printout is complete and when the time and data printout circuitry is available.
After the flip-flops 325-328 are cleared, the inverted BFR signal, the ET2 signal generated by the gate 118, the LIST signal generated by the gate 333, and a T4 timing signal produce an STC1 (set time clock) pulse. This pulse is fed through some gates at the bottom of FIG. 6 and back to the calendar circuit to initiate a printout of the time and the date at the end of |