PowerBuilder Solutions

SB Gogia

Subscribe to SB Gogia: eMailAlertsEmail Alerts
Get SB Gogia: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Enterprise Architecture, Microsoft Developer

Article

Methods for Faster and Efficient Data Entry in DataWindows

Easy data entry for health care professionals

Software that is not used is useless.

Facing the challenge that doctors prefer to spend time with their patients rather than facing the monitor, we have fine-tuned methods in our DataWindow-based forms so that user entry is quick, painless, and a pleasure. These include the use of dropdown lists and DataWindows for efficient, correct and faster entries, in addition to accurately filling in text columns with limited keyboard entry. Visual guides and markers for data in relation to patient images are also provided.

Keywords: PowerBuilder, DataWindow, List Select

Introduction
We are health care professionals and have created applications for our own needs. After selecting PowerBuilder as our application development tool of choice, we have not looked at nor felt the need to work with other tools. Whenever we needed better or faster output, we have innovated. Our fellow doctors and others working in the health care field have appreciated the final output as it is user-friendly and easy to work with.

Since our initial development was on PowerBuilder Desktop, which did not include the PFC, most of our methods differ from the standard PFC-based methods. In this article we share some of the tricks that we incorporated in the DataWindow scripts, which hopefully some of the readers may find useful or at least another way of working. We have already published a related article on Multi Select Dropdown DataWindows. Since we had worked (and are still) with PB 9, maybe some of these ideas have been incorporated into later versions.

Health care workers are busy with patient care, as it is their main concern. If you ask them to enter data into a PC, they will find it difficult to find the time. Many of them don't know how to type, as secretaries usually do this job. One reason why the doctor's scrawl is so infamous is that doctors have to write quickly. In India, at least, wherever legal provisions are a little lax, documentation and record keeping suffers. Expecting medical professionals to type out entries is one of the reasons why IT has been unable to penetrate health care.

Making applications that doctors would use, let alone value, was a challenge that we took up early in our development career. We have tried to serve on this promise - you can enter all the relevant data and access it later in less time than writing a prescription. Almost all of the tips outlined below are geared to this challenge.

Tips and tricks on better usage and scripting for DataWindows have been provided. The following will be discussed:

  • Section 1: Single or limited keystroke access (see Figure 1)
  • Section 2: Linking Masters to DropDown DataWindow Lists (see Figure 1)
  • Section 3: Changing the DropDown DataWindow based on input in another column (see Figure 2)
  • Section 4: Using dropdown lists to populate text columns (see Figure 3 and Figure 4)
  • Section 5: Interactive visual display of entries (see Figure 4 and Figure 5)
  • Section 6: Expanded reports from nicknames (see Figure 1, Figure 6, and Figure 7)
  • Section 7: Faster report creation and printing

Section 1: Single or limited keystroke access
When you want to reach a particular URL but don't know the exact address, what do you do?

Simply start typing the address and the dropdown list will provide a likely choice. OpenOffice (as well as many mobile office applications) will offer suggestions for words that match the text that has been entered. While all browsers do this for the syntax entered, Firefox version 3 also filters the list to include the syntax in the middle, e.g., typing soft will not only show software, softin, softie, but also microsoft and cybersoft, etc.

While PFC (version 9) provided code for finding and pre-selecting the item from a dropdown list or DropDown DataWindow where there is a suggested and highlighted text following the entry, we have added a filter to shorten the list, so while an entry of app will display as appendicitis, the dropdown list will show Acute Appendicitis, Chr Appendicitis, etc. (see Listing 1).

Unlike the Firefox address bar entry where the enter key will only use the entered text as the URL, in our application the enter key will select the most likely choice (where the left text matches the selection); however, the user can select his choice.

Note: Deleting text by backspacing highlights the likely choice and is irritating. Some correction has been provided but that works only when the backspace is pressed once.

Section 2: Linking Masters to Drop Down DataWindow Lists
While most applications would automatically populate the possible choices for limited keystroke access based on previous user input, one problem that we have faced (which is more common with health care applications) is the insertion of typos and spelling mistakes in the master list. If we enter each unique entry as a new entity, we risk adding junk to the list. A workaround for specific types of data that show output would be to create the endpoints that separate good data entries from bad, e.g., an entry of the browser address bar would be stored only whenever the address entered has not resulted in an error message.

Since having such endpoints in each case is difficult, we believe that each master entry should be deliberate, planned, and relevant without spelling mistakes, etc. Since each entry is a one-time effort with infrequent changes, we provide a small button next to each column that has a DropDown DataWindow for user selection. Clicking on this button (helpfully titled <M> for master) is coded to open the master table for additional entries (see Listing 2).

Note: When this list is part of a response window, the list will open but won' display until the editing of the response window is completed. Any edits or changes in the master table will only be reflected in the current transaction after a refresh.

Section 3: Changing the DropDown DataWindow based on input from another column
Many times the data entry is of the master detail type where the previous column entry is used to shorten or change the expected input in the current column. Current methods used are to make an entry - a popup window displays the choices that you select and then goes back. Our method of making the choices immediately in the next dropdown list allows for less shifting from the mouse to keypad (or touch screen). It is a more elegant form of the Master detail view - for very short entry columns where all relevant data is entered into a single column. The use of a computed column for the display value can allow multiple entries to display as a single choice.

For example, one thing we need in our application is to decide the possible brand names of a drug available in stock. The user selects the generic name of the drug to be administered, and the next column will be ready with the brand names of that drug. Another example would be the list of states of a particular country.

Note: A retrieve is called on every change of entry with related overhead. Imperfect timing of the retrieve call, especially when the parent DataWindow loads, can result in error messages. You have to make sure that each master entry has at least one possible entry in the detail column, otherwise an error message pops up.

Section 4: Using dropdown lists or complete DataWindows to populate text columns
This and more have already been partly described (with a different emphasis) in a previous article - Multi-Select Dropdown List Box-type Entries for DataWindows.

Most doctors are comfortable writing long descriptive text to explain the details of a patient's condition. Typing fast can create spelling mistakes in addition to taking a long time.

If all the entries are going to match a particular format or master table, the use of a multi-select dropdown list is preferred. However, if it is a range of entries, a complete table (with dropdown lists of the different choices) will open. After making a selection, text from the entire table with suitable labels is used to populate the text. Blank columns - including the relevant label - will be ignored. The default choices for this table will be those most likely to be entered.

This works something like the properties object in PowerBuilder.

Section 5: Interactive Visual display of entries
In our application for Rheumatological diseases, an associated skeletal image colors the joints that are diseased. Clicking on the relevant joint will set the focus on that joint for entry.

Section 6: Expanded reports from nicknames
Standard information for prescribed drugs, including dosage schedule, route of administration, likely complications, precautions to be taken, etc., are linked to a nickname that is the primary key of the table. They are printed therein as a nested report. The final output is elegant and extremely detailed. Additional information is given in the footer and linked to the choices.

Another similar method we use is to enter the street address, city, state, zip code as well as country on a small click based on a code snippet (see Figure 1).

Section 7: Faster report creation and printing

  • Templates for a complete and detailed normal report of an X ray, standard steps for a particular operative procedure, or a prescription for a particular diagnosis make our entries extremely fast. Most of the data is textual using varchar columns so that later editing, generally minor tinkering, is possible.
  • A copy option does a datacopy (with a new value for a column that is part of a cluster key - for us the visit number) and copies the details of the previous visit in the current date. In Listing 3, we allow for a copy of the patient's registration record wherein the next person is a family member

DataWindow Script Sample
The code sample for this article contains code for demonstrating tips and tricks to enable faster and error-free data entries in DataWindows. The demo app can be downloaded from CodeXchange here.

More Stories By SB Gogia

SB Gogia is a plastic surgeon in New Delhi. He has contributed to the software development efforts of his family-owned company - AMLA MEDIQUIP. Gogia has worked mostly with SQL and PowerBuilder, although he has dabbled in JavaScript, C++, VB and more.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.