Document Driver:


picture
picture
picture

Pictures of application not shown to protect patient information


Purpose:

This project marked my first venture into developing an in-house program for an office setting, specifically designed for use by nurses in a non-profit hospice. The program streamlines the transfer of protected health information from a faxing solution (Forcura) to an electronic medical record system (NDoc), significantly reducing manual data entry time. Its user-friendly interface allows even minimally trained volunteers to operate it efficiently. By automating the document transfer process and performing additional checks for accuracy, the program ensures that information is correctly placed in patient files, enabling nurses to devote more time to patient care. This Java-based application, leveraging the Selenium API, has successfully processed thousands of documents, receiving high praise for its time-saving capabilities.


Technologies

  • Java: The primary programming language used for developing the application.
  • Selenium API: Utilized for automating web-based tasks and interacting with web elements.
  • Forcura: The faxing solution from which protected health information is transferred.
  • NDoc: The electronic medical record system where the information is stored.

Features

  • Familiar User interface
  • Simple Logging
  • Extra conditional checks (to ensure accuaracy)
  • Automated document transfer

Challenges:

Learning and Implementing Selenium

Description:
My first encounter with the Selenium framework presented a learning curve as I navigated through finding and interacting with HTML elements, including buttons, links, and iframes across different screens.

Solution:
Through diligent study and practice, I mastered the Selenium framework, enabling the program to automate web-based tasks and navigate complex web interfaces.

Transitioning from Robot API to Server-Based Automation

Description:
Initially, the program relied on the Robot Java API to send keystrokes for tasks like saving files. However, the need to run the program on a server as a scheduled task required a shift away from the Robot API.

Solution:
I restructured the program to eliminate the dependency on the Robot API, allowing it to run autonomously on a server without the need for user login.

Handling Diverse Documents and Security

Description:
The program needed to accommodate different types of documents, each requiring specific checks, while ensuring the security of sensitive patient information.

Solution:
I implemented customized checks for various document types and incorporated secure coding practices, such as hashing passwords and creating audit logs, to maintain the integrity and confidentiality of the data.