Many settings utilize forms to collect data. For example, in a medical setting, a patient may first enter information such as a personal medical history into a form. A nurse may then enter other information such as weight, pulse, blood pressure, etc. Finally, a doctor may enter yet additional information such as a diagnosis or treatment plans. Similarly, in a legal setting, a client, a paralegal, and a lawyer may all enter information into forms that is used to resolve the client's legal matter. Of course, the medical and legal situations described above are merely given for illustration purposes only. Forms are not limited to any particular setting or to the collection of any particular information, and forms can be used in any setting to collect any type of information.
An aspect of the disclosure relates to electronic form systems. In at least certain configurations, an electronic form system includes a form definition that is utilized to generate one or more user interfaces corresponding to a form. The form definition specifies a type for each of the fields within the form. The field types may include discrete and/or abstract fields, and data may be stored locally or synchronized with a remote device. Additionally, the form definition can include any other metadata such as, but not limited to location, rendering, and formatting information. These and various other features and advantages that characterize the claimed embodiments will become apparent upon reading the following detailed description and upon reviewing the associated drawings.
Embodiments of the present disclosure include electronic forms systems. In some embodiments, an electronic forms system allows a user to have a similar experience to a clipboard and paper forms, but stores and manages all actions and data in a way that mimics paper as closely as possible. For instance, instead of a person filling out a paper form on a clipboard, a person illustratively enters information into an electronic version of the form using a computing device such as a smartphone, tablet computer, laptop computer, etc. The information entered into the electronic form may then be saved locally onto the computing device and/or saved remotely to a central database, server, or other remotely connected device.
Some of the examples below are directed towards medical forms. This is done merely to illustrate some specific practical embodiments. It should be appreciated that embodiments of the present disclosure are not limited to any specific implementation and that embodiments can be used in any setting or context (e.g. legal, medical, engineering, manufacturing, business, etc.). Additionally, although some embodiments may be useful for replacing or supplementing systems that use or have used paper forms, embodiments are not so limited and may be used other systems as well.
In one embodiment, each field type 106 indicates whether the field is an abstract field or a discrete field. For an abstract field, data is entered using freehand handwriting, and the system captures data about what was written (e.g. a bitmap of the drawing in pixel format, information about strokes, etc.). In such a situation, the system does not need to know anything about an actual value of the data. Instead, the system simply captures the handwriting, and may use some kind of recognition (e.g. handwriting recognition) on the captured input.
For discrete fields, each field holds a distinct value such a number, date, ID, character string, etc. In some embodiments, an input component is generated to aid a user in entering information into the field. For example,
The field location 108 can specify a location of the field on the form. For instance, the field location 108 can specify the corners of a field using a Cartesian coordinate system (e.g. x, y coordinates). The location information may be derived from an image of a paper form such that the electronic version will resemble the paper form.
The rendering/format information 110 can specify how to render or format data. For instance, a date can be displayed as 12-01-2011 or Dec. 1, 2011. The required/optional status identifies whether or not data must be entered for the field for the form to be considered valid. A patient name could be required information for example, while an email address could be optional.
Other metadata 114 represents the fact that a field can include any other metadata as desired to implement a form. The metadata described above is merely given to illustrate one possible implementation. Additionally, it should be noted that a form definition can be implemented using XML. Embodiments are not however limited to any particular implementation and can use any appropriate technology.
Former server 352 stores form definitions 354 and form data 356. In one embodiment, when data is stored on the server 352, it is stored in key/value pairs that relate to the form definition and form version. This allows the system to manage data for multiple forms and form versions. As is shown in
A user of input device 302 identifies a form that he or she would like to use. The form definition is downloaded to a local form definition cache 304 of the input device. The user is then able to interact with the form and to utilize it to collect data. The form data may be stored in a local form data cache 306, which may then be uploaded or synchronized to the server form data 356. In one implementation, all data is synchronized between input device 302 and the server 352 to help enable offline form creation using the local cache of the form data 306. Further details of synchronization options are discussed in relation to
Interface 402 may also include a facility selection component 408 and a sign in/sign out component 410. In an embodiment, a user can use component 408 to select between multiple facilities. Once a particular facility is selected, the patients associated with that facility are shown in section 404. Similarly, sign in/sign out component 410 enables a particular user (e.g. a particular care take) to log into the system. Once a particular user is logged in, the patients associated with that care taker may be shown in section 404. Accordingly, the list of patients in section 404 can be selectively displayed for the appropriate facility and/or care taker.
Input device 602 optionally includes a form rendering and interaction module 604, a form synchronization service 606, and a local database or data store 608. Data store 608 may include local form definition cache 610 and form data cache 612.
Form server 652 optionally includes a synchronization service 654, an event gateway 656, a forms definition database or data store 658, and a form data database or data store 660.
In an embodiment, form data is synchronized between the input device 602 and the server 652 where the form data 660 is stored in key value pairs along with the form definition 658 and other relevant information. This information is constantly synchronized with a local database 612 on the input device 602. Should a connection with the server 652 be lost through hardware defect, network corruption, or system downtime, the input device 602 will continue to save form changes to the local database 612. Should the connection be restored, all local data 612 will be synchronized with the server 652 using synchronization service 606/654.
Additionally, when an action occurs on a form, if a network connection is present, the input device 602 will send event messages 614 in real time to an event gateway 656 of the server 652, which it can then share with a third-party to notify of changes to the form. This allows events to be propagated, even though the form data may not have been synchronized yet.
Once a user wants to perform any actions on the form such as changing its state for workflow, the server 652 at that time commit all the resources into the database and perform any additional actions that the system requires.
In another embodiment, in an attempt to allow a more paper-like workflow for sharing of forms between individuals, the system allows a user to check in and check out forms for editing. All form data is stored in a temporary cache in the middle tier (e.g. form server) which is synchronized with the client application (e.g. input device) when it is connected.
If a user creates a form, it is inherently checked out to them. Signifying that they have completed any edits they wish to make, they can check in the form which makes it available to other users to check out. Once a form is checked out, the client application synchronizes its local database to hold the information that is in the middle tier and confirms to the middle tier that the new user has control of the form. This is analogous to putting the paper form on someone else's clipboard. If a user loses a connection while a form is checked out, they continue to maintain control over that form until they have a connection and can check it back in.
Touchscreen 704 illustratively includes any type of single touch or multitouch screen (e.g. capacitive touchscreen, vision based touchscreen, etc.). Touchscreen 704 is able to detect a user's finger, stylus, etc. contacting touchscreen 704 and generates input data (e.g. x and y coordinates) based on the detected contact. Input keys 706 include buttons or other mechanical devices that a user is able to press or otherwise actuate to input data. For instance, input keys 706 may include a home button, a back button, 0-9 number keys, a QWERTY keyboard, etc.
Memory 710 includes volatile, non-volatile or a combination of volatile and non-volatile memory. Memory 710 may be implemented using more than one type of memory. For example, memory 710 may include any combination of flash memory, magnetic hard drives, RAM, etc. Memory 710 stores the computer executable instructions that are used to implement the applications and/or user interfaces described above. Controller/processor 708 can be implemented using any type of controller/processor (e.g. ASIC, RISC, ARM, etc.) that can process user inputs and the stored instructions, and communications module/communications interface 714 transmits and receives information.
Finally with respect to
Finally, it is to be understood that even though numerous characteristics and advantages of various embodiments have been set forth in the foregoing description, together with details of the structure and function of various embodiments, this detailed description is illustrative only, and changes may be made in detail, especially in matters of structure and arrangements of parts within the principles of the present disclosure to the full extent indicated by the broad general meaning of the terms in which the appended claims are expressed.
The present application claims the priority of provisional application Ser. No. 61/526,819 filed on Aug. 24, 2011, the content of which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61526819 | Aug 2011 | US |