I recently led a software development project in which we developed an application that needed to run on both Windows Mobile and Tablet PC platforms. When we first started the project, we chose to develop the system using Microsoft .NET technologies and deploy on Windows-based Pocket PC and Tablet PC devices. Our reasoning was that because of the .NET developer tools, porting the application between Pocket PCs and Tablet PCs would be easy. We did meet our goal of finishing the system, but the cross-platform issues caused many more problems than originally anticipated. In this article, Ill describe the project, the differences between the two platforms that caused us problems, and offer suggestions for anyone about to begin a similar project.
Improving the efficiency of hospital nurses
Our system attempts to improve the efficiency of nurses working at a local hospital. When we started the project, each nurse spent approximately 20 minutes at the beginning and end of each shift filling out paper forms. These shift reports contained patient information each nurse had gathered from the hospitals various information systems as well as from verbal communication with other nurses. Our system, dubbed iCare Worksheet, is an electronic version of this shift report. It includes features that allow each nurse to search and view patient information, use text, handwriting and voice recordings to record new notes about patients, and to automatically synchronize these notes with all other nurses in the same unit.
From a research standpoint, we hoped to discover two things. First, we hoped to determine which technology nurses preferred to use for viewing patient information and taking notes—a Tablet PC, a Pocket PC, or pencil and paper. Second, we wondered how easy it would be to develop a single application that would run on both Tablet PCs and Pocket PCs. In other words, how much source code would run unchanged between the two platforms? The answer to the first question can be found in a separate article. (Chang, K., Lutes, K., Braswell, M., & Nielsen, J. (2006). Nurses' Perception of Using a Pocket PC for Shift Reports and Patient Care. International Journal of Health Information Systems and Informatics, 1 (1), 52-62.)
The purpose of this article is to answer the cross platform question.
System overview
The system we developed has four logical programs. Because the hospital had no modern electronic medical record system, we developed a server-based program to interface with the hospitals existing mainframe-based information system. This mainframe interface program would periodically (e.g., once an hour) connect to the mainframe, download pertinent patient information, encrypt it, and store it on the local server.
The hospital also did not have a secure, reliable wireless network in all units, so we designed the iCare system to use a synchronized architecture rather than to send and receive data in real time. To handle synchronization duties, we created a program that was installed on a desktop PC located in each unit. Whenever necessary, nurses could connect their PDAs or tablets to this PC, click a button, and have all new patient information copied from the server to the device, as well as send to the server any new notes the nurse had recorded on the device. Synchronization generally occurred at the beginning and end of each shift, but could also take place anytime a nurse wanted.