US Patent No. 6,044,382

Download PDF

Issue Date: 03/28/2000

Abstract: A form driven operating system which permits dynamic reconfiguration of any host processor into a virtual machine which supports any of a number of operating system independent applications. A data transaction assembly server (TAS) downloads menus and forms which are unique to each application requiring data to be input for local or remote processing. The data transactions and forms are exchanged between the TAS, which functions as a form driven operating system of the host computer, and a remote processor in a real-time fashion so that virtually any operating system independent software application may be implemented in which a form driven operating system may be used to facilitate input, and in which the data input into the form may be processed locally or remotely, returned as a data stream, and displayed to the user. The TAS merely requires a flash PROM for storing the TAS control firmware, a RAM for storing the data streams making up the forms and menus, and a small RAM which operates as an input/output transaction buffer for storing the data streams of the template and the user replies to the prompts during assembly of a data transaction.

What is claimed is:
1. A data transaction assembly server (TAS), which controls a microprocessor to create and receive data transactions, said TAS comprising a computer readable medium which stores therein a form driven operating system which controls said microprocessor to accept input data of a desired transaction type using control data comprising at least one form presented to a user by said form driven operating system for eliciting data input of said desired transaction type from said user, said at least one form including at least one prompt customized to said desired transaction type, said form driven operating system further formatting at least any data input by said user in response to said at least one prompt into a data transaction for processing, and which includes a form/menu memory which stores said at least one form.

2. A TAS as in claim 1, wherein said computer readable medium comprises a flash PROM which stores said form driven operating system and said form/menu memory comprises a RAM.

3. A TAS as in claim 1, wherein said computer readable medium comprises one of a memory card, and a smart card, a swipe card, a CD ROM, and a floppy disk.

4. A TAS as in claim 1, further comprising a transaction buffer which stores at least one data transaction to be transmitted until said at least one data transaction is ready for transmission and which stores at least one received data transaction until said at least one received data transaction is ready for processing.

5. A TAS as in claim 4, wherein said control data controls said microprocessor to fetch a menu from said form/menu memory for navigating to said at least one form, said menu listing certain forms of all available forms which are resident in said form/menu memory or which may be downloaded from a remote server to said form/menu memory upon user selection, and to fetch a form selected from said menu by said user.

6. A TAS as in claim 5, wherein said control data further controls said microprocessor to process said selected form by initializing said transaction buffer to accept said data input of said desired transaction type in response to prompts in said selected form and, upon completion of a data transaction including responses to said prompts in said selected form, saving said data transaction to said transaction buffer until said data transaction is to be transmitted.

7. A TAS as in claim 6, wherein said control data controls said microprocessor to navigate said user through respective prompts of said selected form and to transmit said data transaction to said remote server for processing upon completion of at least one said data transaction.

8. A TAS as in claim 7, wherein said control data controls said microprocessor to cause an inquiry data transaction to be created in response to predetermined data inputs from said user indicating that the information requested by a particular prompt is unknown, to cause said inquiry data transaction to be transmitted to said remote server for retrieval of the information requested by said particular prompt, and, if the information requested by said particular prompt is found and returned by said remote server, to cause said requested information to be stored in said transaction buffer as a response to said particular prompt or to be displayed to the user for menu selection.

9. A TAS as in claim 6, wherein said control data controls said microprocessor to determine whether data input by said user in response to one of said prompts will invalidate data input by said user in response to another of said prompts and to selectively update all affected data input or to set default values to prohibit inconsistent data entries by the user.

10. A TAS as in claim 6, wherein said control data controls said microprocessor to validate data input by said user in response to each of said prompts in said selected form, the validation varying in accordance with whether said prompt requested alphanumeric, numeric, or date/time data input from said user.

11. A TAS as in claim 10, wherein said control data controls said microprocessor to send reply data input by said user in response to a particular prompt in said selected form to said remote server for validation.

12. A TAS as in claim 11, wherein, in response to a validation request by said microprocessor in connection with said reply data input by said user in response to said particular prompt in said selected form, said remote server returns data related to said reply data as a response to said particular prompt or option data for display to the user for menu selection.

13. A method of entering data transactions into a transaction entry device comprising a microprocessor and a computer readable medium which stores a form driven operating system which controls said microprocessor to accept input data of a desired transaction type using control data comprising at least one form presented to a user by said form driven operating system for eliciting data input of said desired transaction type from said user, said at least one form including at least one prompt customized to said desired transaction type, and which stores a form/menu memory which stores said at least one form, and a transaction buffer which stores at least one data transaction to be transmitted until said at least one data transaction is ready for transmission, comprising the steps of:

fetching a menu from said form/menu memory for use in navigating to said at least one form, said menu listing certain forms of all available forms which are resident in said form/menu memory or which may be downloaded from a remote server to said form/menu memory upon user selection;

selecting a form from said menu;

fetching the selected form;

initializing said transaction buffer to accept said data input of said desired transaction type in response to prompts in said selected form;

navigating through respective prompts of said selected form and providing said data input of said desired transaction type in response to said respective prompts;

formatting said data input in response to said respective prompts into a data transaction for processing; and

upon completion of a data transaction including said data input in response to said respective prompts in said selected form, storing said data transaction in said transaction buffer until said data transaction is to be transmitted.

14. A method as in claim 13, comprising the further steps of:

creating an inquiry data transaction in response to predetermined data inputs indicating that the information requested by a particular prompt is unknown;

transmitting said inquiry data transaction to said remote server for retrieval of the information requested by said particular prompt; and

if the information requested by said particular prompt is found and returned by said remote server, storing said requested information in said transaction buffer as a response to said particular prompt or displaying said requested information to the user for menu selection.

15. A method as in claim 13, comprising the further steps of:

determining whether data input in response to one of said prompts will invalidate data input in response to another of said prompts; and

selectively (1) updating all affected data input and (2) setting default values to prohibit inconsistent data entries in response to respective prompts in the selected form.

16. A method as in claim 13, comprising the further step of:

validating data input in response to each of said prompts in said selected form in accordance with whether said prompt requested alphanumeric, numeric, or date/time data input from the user.

17. A method as in claim 16, wherein said validating step comprises the step of sending reply data input by said user in response to a particular prompt in said selected form to said remote server for validation.

18. A method as in claim 17, wherein said validating step comprises the further step of returning from said remote server, in response to a validation request by said microprocessor in connection with said reply data input by said user in response to said particular prompt in said selected form, data related to said reply data as a response to said particular prompt or option data for display to the user for menu selection.

19. A data transaction processing system, comprising:

a transaction entry device comprising a microprocessor and a computer readable medium which stores a form driven operating system which controls said microprocessor to accept input data of a desired transaction type using control data comprising at least one form presented to a user by said form driven operating system for eliciting data input of said desired transaction type from said user, said at least one form including at least one prompt customized to said desired transaction type, said form driven operating system further formatting at least any data input by said user in response to said at least one prompt into a data transaction for processing, and which stores a form/menu memory which stores said at least one form;

a transmission medium; and

a server connected to said transaction entry device via said transmission medium, said server processing data transactions from said transaction entry device which include a form customized to a transaction type supported by said server, said processing performed by said server including at least one of (1) communicating said data transactions to another server for processing, and (2) processing said data transactions and returning at least one of additional forms, responses to prompts in said form customized to said transaction type supported by said server, and processed data to said transaction entry device as data transactions.

20. A system as in claim 19, wherein said transmission medium comprises a cellular, wired and/or wireless telephone line connection and said transaction entry device and server each have a cellular, wired and/or wireless modem.

21. A system as in claim 20, wherein said telephone line connection includes a low power wireless connection.

22. A method of providing data communication between a database and a transaction entry device comprising a microprocessor, a display, an input device, and a computer readable medium which stores a form driven operating system which controls said microprocessor to accept input data of a transaction type accepted by a database server associated with said database, said form driven operating system comprising form control data and at least one form presented to a user for eliciting data input from the user of the transaction type accepted by the database server, said at least one form including at least one prompt customized to said transaction type accepted by the database server, and which stores a form/menu memory which stores said at least one form, and a transaction buffer which stores at least one data transaction until said at least one data transaction is ready for transmission, comprising the steps of:

presenting to said display said at least one form including said at least one prompt customized to said transaction type accepted by the database server;

said user completing said at least one form by entering data responsive to prompts in said at least one form into said transaction entry device using said input device;

formatting at least the responsive data entered by said user in response to said prompts in said at least one form into a data transaction for transmission to said database server;

transmitting said data transaction to said database server;

said database server receiving said data transaction; and

determining if said data transaction may be processed by said database server without further user input and, if said data transaction may be processed without further user input, processing said data transaction; otherwise, said database server returning at least one of an additional form and a data transaction containing one of a response to a particular prompt in said at least one form and instructions to said transaction entry device for presentation on said display.

23. A method as in claim 22, wherein said form presenting step comprises the steps of:

presenting a menu to said display, said menu listing certain forms of all available forms which are resident in said form/menu memory or which may be downloaded from a remote server to said form/menu memory upon user selection; and

navigating said menu using said input device; and

selecting said at least one form from said menu.

24. A method as in claim 22, wherein said form presenting step comprises the steps of:

presenting a menu to said display so that said user may select a desired transaction type supported by said database;

establishing a cellular, wired or wireless modem connection with said database server;

sending a request to said database server via said modem connection for at least one form of said desired transaction type from said database server; and

said database server transmitting said at least one form to said transaction entry device for presentation to said display.

25. A method as in claim 22, wherein said form presenting step comprises the steps of selecting a human language of said form and presenting a menu to said display containing a selection of forms in the selected human language.

26. A method as in claim 22, wherein said form completing step comprises the steps of:

said user requesting assistance in providing input data in response to a particular prompt in said at least one form;

said transaction entry device transmitting an inquiry data transaction to said database server or a predetermined database server, said inquiry data transaction including a request for input data responsive to said particular prompt in said at least one form; and

said database server or said predetermined database server providing said input data responsive to said particular prompt to said transaction entry device for inclusion in said data transaction in said formatting step.

27. A method as in claim 22, wherein said at least one form relates to a desired bank transaction at a bank having said database server, said database server processing data provided in the data transaction including said at least one form and returning a notification to the user indicating whether the data transaction has been successfully processed.

28. A method as in claim 27, wherein said step of processing said data transaction comprises the step of sending a further data transaction including electronic cash from said database server to said transaction entry device.

29. A method as in claim 22, wherein said at least one form relates to at least one of symptoms, complaints, patient history, and vital signs data of a patient, and said database server is located at a remote location for remote monitoring of said patient by medical personnel by monitoring changes in transaction data received from said patient.

30. A method of remotely monitoring a patient’s condition using a transaction entry device comprising a microprocessor, a display, an input device, and a computer readable medium which stores a form driven operating system which controls said microprocessor to accept input data of a transaction type accepted by a server at a remote monitoring location, said form driven operating system comprising form control data and at least one form presented to a user by said form driven operating system for eliciting data input from the user of the transaction type accepted by said server, said at least one form including at least one prompt customized to said transaction type accepted by the server for eliciting at least one of patient symptoms, patient complaints, patient history, and vital signs data, and a form/menu memory which stores said at least one form, said method comprising the steps of:

presenting to said display said at least one form including said at least one prompt for eliciting at least one of patient symptoms, patient complaints, patient history, and vital signs data;

said user periodically completing said at least one form by entering data responsive to prompts in said at least one form into said transaction entry device using said input device;

said form driven operating system formatting at least the responsive data entered by said user in response to said prompts in said at least one form into a data transaction for transmission to said server;

transmitting said data transaction to said server for review by medical personnel;

said server receiving said data transaction; and

determining if patient symptoms, patient complaints, patient history, or vital signs data in said data transaction indicates a change in the patient’s condition since receipt of a previous data transaction from said patient and, if so, responding with an appropriate medical response to said change.

31. A method as in claim 30, comprising the additional step of continuously transmitting at least said vital signs data to said server as data transactions for real-time monitoring by said medical personnel.

32. A method as in claim 30, wherein said determining step comprises the steps of determining if said change indicates that said patient’s condition is critical, and if so, sending at least one of medical personnel, changed instructions, and changed medication to the patient’s location.

33. A method as in claim 30, wherein said determining step comprises the step of responding with an appropriate medical response to said change includes the step of downloading a new form to the patient for completion, transmission to said server upon completion, and review by said medical personnel.

34. A communications network comprising:

first and second processing devices each comprising a microprocessor and a computer readable medium which stores a form driven operating system which controls said microprocessor to accept input data of a desired transaction type using control data comprising at least one form presented to a user by said form driven operating system for eliciting data input of said desired transaction type from said user, said at least one form including at least one prompt customized to said desired transaction type, said form driven operating system further formatting at least any data input by said user in response to said at least one prompt into a data transaction for processing, and a which stores form/menu memory which stores said at least one form;

a common data communications line connecting said first and second processing devices to each other;

a first modem which provides a cellular, wired and/or wireless communications connection between said first processing device and said common data communications line; and

a second modem which provides a cellular, wired or wireless communications connection between said second processing device and said common data communications line,

wherein each data transaction output by one of said processing devices includes an address of a destination processing device, and each processing device includes a receiver which only receives data transactions addressed to it and ignores all other data transactions received from said common data communications line.

35. A network as in claim 34, wherein said common data communications line comprises one of a radio-frequency cable, an optical fiber cable, and a low power wireless connection, and said first and second modems each comprise null modems.

36. A method of providing communications over a common data communications line connecting first and second processing devices each comprising a microprocessor, a display, and input device, and a computer readable medium which stores a form driven operating system which controls said microprocessor to accept input data of a desired transaction type using control data comprising at least one form presented to a user by said form driven operating system for eliciting data input of said desired transaction type from said user, said at least one form including at least one prompt customized to said desired transaction type, said form driven operating system further formatting at least any data input by said user in response to said at least one prompt into a data transaction for processing, and which stores a form/menu memory which stores said at least one form, comprising the steps of:

presenting to said display of said first processing device said at least one form including said at least one prompt for eliciting said data input of said desired transaction type from said user;

said user completing said at least one form by entering data responsive to prompts in said at least one form into said first processing device using said input device;

said form driven operating system formatting at least the responsive data entered by said user in response to said prompts in said at least one form into a data transaction, said data transaction having a destination address which identifies a destination processing device which is to process said data transaction;

transmitting said data transaction over said common data communications line; and

if said destination address matches an address of said second processing device, said second processing device receiving said data transaction; otherwise, said second processing device ignoring said data transaction.