Highly qualified and accomplished software engineer with more than 15 years of consulting and software development experience for healthcare, research, education, and government.

About Me


I began writing computer programs at the age of 10 using the BASIC programming language for MS-DOS.  Later I became a Pascal guru and used my talents to write programs for a neuroscience research group and for a college.  After graduating from medical school in 1998 I opted to pursue a career in software development.  I undertook programming projects with the Veterans Administration (VA), the American Medical Association (AMA), and other healthcare-related ventures.  I spent about five years teaching computer science at the undergraduate level, and now I work as a software developer for the VA. I reside outside of Dayton, Ohio where I enjoy working on our small farm tending to our gardens, orchard, and bee colonies.  I am husband to a beautiful wife and proud father of two boys.

I am passionate about software development and I love to code. My areas of coding expertise include the Java programming language and Java Platform, Enterprise Edition (JEE), and many Java technologies and APIs such as servlets/JSP, JDBC, JPA, JAXP, JMS, JCA, JAX-RS, JTA, and EJB.  Development tools I use on a daily basis include the Eclipse IDE, Subversion and Git, Ant and Maven, JUnit, Bugzilla, and HelpNDoc.

I develop enterprise software applications for healthcare and education, and typically host these applications on leading enterprise application servers such as JBoss AS and Oracle/BEA WebLogic Server.  Most of these applications are based on an n-tiered architecture, with middleware implemented in Java/JEE, a data source such as a SQL or "NoSQL" database, legacy systems such as the VA's VistA EHR or other backend system, and a Single Page Application (SPA) for the client.  Client-side technologies I develop with include HTML/HTML5, CSS, and JavaScript, Ajax, JSON, XML, XSL/XSLT, and Sencha ExtJS and Touch.

A large component of my enterprise development includes writing Web services that expose data and business logic through SOAP and REST architectures and protocols.  I specialize in developing service-based interfaces to legacy systems that allow them to interoperate with third-party applications and systems.  Applications that I develop from the ground up as well as interoperability interfaces that I design are often implemented as a service-oriented architecture (SOA), providing data and functionality to other applications through standard protocols.

I also develop native Windows applications using Borland Delphi/Embarcadero RAD Studio.  I work with a number of databases including MS SQL Server, MySQL, PostgreSQL, and MongoDB.  I develop on Windows 7, Apple MacBook, and Linux desktops.  I manage around 20 RHEL Linux servers as a part of my work for the VA.

I love learning new languages and technologies, and lately I've been experimenting with Node.js and associated frameworks (MEAN.js and Sails.js).  I'm also interested in data analysis, and am learning to use the NumPy and pandas libraries for Python.

Education and Training

Medical Education

Institution: Loma Linda University School of Medicine, Loma Linda, CA

Degree: MD

Dates of Attendance: Aug, 1993 - May, 1998

Graduate Education

Institution: Nova Southeastern University, Fort Lauderdale, FL

Degree: MS Computer Science

Dates of Attendance: April, 2000 - Sep, 2003


Institution: California State University San Bernardino, San Bernardino, CA

Course of Study: Computer Science

Dates of Attendance: June, 1999 - Dec, 1999

Undergraduate Education

Institution: Southwestern Adventist University, Keene, TX

Degree: BS Biology, Minors: Computer Science, Math, Physics, Chemistry

Dates of Attendance: Aug,1989 - May, 1993, Aug, 1994 - May, 1995

Other Education

Institution: Lister Hill National Center for Biomedical Communications at the National Library of Medicine, National Institutes of Health

Description: Intensive 9 week training course in medical informatics in topics such as consumer health informatics, digital library research, World Wide Web applications, database design, medical language processing, image processing research, Next Generation Internet, biomedical knowledge discovery, and medical education systems

Dates of Attendance: Mar. - April, 1998

Training

M101J: MongoDB for Java Developers (Jan - Feb, 2014)

M102: MongoDB for DBAs (Feb - Mar, 2014)

VistA Foundations (Pioneer Data Systems): High level overview of Veterans Health Information Systems and Technology Architecture infrastructure modules (May, 2013)

MUMPS for Programmers (Pioneer Data Systems): Introduction to the MUMPS programming language (June, 2013)

File Manager for Programmers (Pioneer Data Systems): FM file storage, data dictionary, and FM APIs (August, 2013)

Work History

Relevant Professional Experience

IT Specialist

Loma Linda VA Medical Center, Loma Linda, CA

Description: My role is to develop clinical software applications to support patients and providers within the VA enterprise. I work closely with physicians, nurses, administrators, and clinical applications support specialists to develop innovative software solutions to meet the need of challenging health informatics problems. As a developer and co-principle investigator, I have helped our local innovations team to secure six VHA Innovation Grants to develop new clinical applications. In addition to development, I manage and support the applications I create and the servers that host them. At present I administer around 20 RedHat Linux servers,

Dates: 2005-present

Assistant Professor of Computer Science

Southwestern Adventist University, Keene, TX

Description: I taught undergraduate courses in computer science and a few in biology.

Dates: 2000-2005

Courses Taught

  • CSIS 105 - Introduction to Computing
  • CSIS 110 - Principles of Computer Programming
  • CSIS 215 - Object Oriented Programming in Java
  • CSIS 301 - Information Security (Practical Unix & Internet Security)
  • CSIS 310 - Assembler Programming and Machine Organization
  • CSIS 360 - Operating Systems Design
  • CSIS 450 - Principles of Database Design
  • CSIS 490 - Software Engineering
  • CSIS 491 - Fundamentals of Java Programming
  • CSIS 495 - Advanced Programming Topics in Java
  • CSIS 495 - Programming Web Services in Java
  • BIOL 101 - Anatomy and Physiology
  • BIOL 380 - Research Methods in Biology
  • BIOL 450 - Histology
Freelance Software Developer and Consultant

Description: As a freelance software developer and consultant I have worked with a variety of clients in healthcare and education to develop software applications to solve complex problems. Solutions that I have created as a contract software developer/consultant include: I developed a number of clinical applications for the Veterans Administration and consulted with other healthcare entities; I've created applications for educational institutions for administrators, teachers, and students; I have worked with the American Medical Association's Physicians Accessing the Internet project in teaching physicians the basics of accessing the Internet, using the Web and email in their medical practices, and the basics of Web site design via hands-on workshops in major cities throughout the country; I reviewed several technical exams for Bookman Testing Services, Inc including COM/DCOM, Delphi Programming, and Windows NT Application Development. I also authored a Delphi 4 Programming exam in 1999.

Dates: 1998-present

Portfolio


A representative sample of projects I have worked on or am working on.

After Visit Summary (AVS)

  • AVS is a a web-based interface that integrates with the VA's VistA EHR to provide a summary of the patient's visit.
  • Provides a patient-friendly clinical summary of the visit, including diagnoses, vitals, new orders, upcoming appointments, provider comments/instructions, as well as information pertaining to the patient's ongoing care, including the primary care provider, allergies, and the patient's medication.
  • Automatically uploaded as a PDF document to VistA Imaging when the AVS is first printed.
  • Approved by the VA Undersecretary for Health to be funded for national deployment.

LLVA CPRS COM Object Framework

  • A general-purpose DLL extension that provides for the ability to enhance and extend the VA's Computerized Patient Records System (CPRS).
  • COM object-based apps developed as Web applications displayed within COM object dialog.
  • COM object client written in Delphi with business logic implemented as Java/JEE.
  • Approved for VA IT Region 1 use and is used by several VA facilities within Region 1.
  • Hosted COM object apps include Patient Code Status Verification, Infectious Organism Alert, Medication Reconciliation, Patient Vesting, Patient Eligibility, Patient Insurance, TIDES Depression Assessment, Unsigned Notes Notification, Combat Veteran Notification, Clinical Supervision Index.

OR Surgery Schedule Viewer

  • Provides surgery staff a real-time display of a day’s scheduled surgical procedures.
  • Replaces the daily white board schedule of operations.
  • Displays an entire day’s cases on a single screen allowing users to view all of the day’s surgeries at a glance.
  • Used by multiple VA facilities nationally.

VA Automated Telephony Appointment Cancellation System (VA ATACS)

  • An automated interactive voice response (IVR) telephony system that gives patients the option to cancel appointments.
  • Patients can request callbacks from clinic staff members to reschedule cancelled appointments.
  • Allows veterans to proactively cancel any individual appointment or all of their appointments for a specific day at their convenience 24/7.
  • To date, over 50,000 appointments have been cancelled by patients calling in to the system.
  • This system provides advance notice to the clinics of cancelled appointments and makes available the open appointments for other patients resulting in a positive impact on our "no show" rates.
  • Used by multiple VA facilities nationally.

Medication Reconciliation

Developed a medication reconciliation application that integrates with the VA’s CPRS via the LLVA CPRS COM Object to remind clinicians to perform and document medication reconciliation for newly admitted patients. The tool presents the patient's medications to the clinician on a form. Checkboxes allow the clinician to select which medications will be continued during hospitalization and which will be discontinued. When the form is completed, a progress note is automatically generated and uploaded to TIU. This application is currently being used by several VA facilities.

Clinical Supervision Index

Developed the software that is to be used in a nationwide VA research study involving resident supervision. The Clinical Supervision Index (CSI) software involves electronic questionnaires that are delivered to resident trainees and attending supervisors via the LLVA CPRS COM Object upon note signature. This software is currently under review for Class 1 status with the VA.

Anticoag HealthTrack/TeleModule

Developed Anticoag HealthTrack, a sophisticated anticoagulation management system, to provide healthcare professionals with all the necessary tools to comprehensively manage anticoagulation patients including target INRs, indications, adverse events, risk factors, INR histories, progress notes, and result graphs. Also developed TeleModule, a fully scriptable telephony application that allows patients to phone in self-tested lab results. By automating patient scheduling and physician alerts for lab values that are out of normal range, the application saves labor costs and allows for improved monitoring of anticoag patients with an overall improvement in patient care.

VA AppServer

Architected and developed a powerful and robust enterprise application server, written in Java. The application server features an application manager, session manager, audit/logging, database manager, and presentation manager with connectivity via HTTP and Java servlets or sockets and Web services protocols (SOAP, WSDL). The AppServer hosts the middleware business and data access logic for many applications within the VA.

Notes Manager

Notes Manager is an application that allows providers to review and sign all of their unsigned/uncosigned notes in a single comprehensive list. The application also allows providers to edit, addend, and delete notes, assign additional signers, and process view alerts. Use of this application within one facility brought the number of unsigned notes down to nearly zero. The client was developed using Delphi with business logic and VistA data access implemented on the VA AppServer with SOAP communication between client and middleware.

CP/HL7 DataGateway

Developed CP/HL7 DataGateway, J2EE middleware that is used with VistA CP-enabled medical devices such as Heartlab, Olympus, and Pentax instruments that parses HL7 messages sent from those devices and populates TIU notes with the results data allowing clinicians to view the text results in the CPRS Consults tab. This software was approved for VA IT Region 1 use and is being rolled out to facilities within Region 1.

Orders Viewer

  • The Orders Viewer is a Web-based application that retrieves orders for all patients associated with specific inpatient and/or outpatient locations.
  • The user can opt to retrieve all orders or only "Return to Clinic" orders, and can filter the orders by status so that only incomplete/unverified orders.
  • The orders may be processed by ward/clinic staff within the Orders Viewer to complete/verify orders.

VistaBroker

I developed VistaBroker, a Java object-oriented API and wrapper around VistaLink. Allows developers to write J2EE applications that interface with VistA without the need to parse M strings returned from RPCs since results are encapsulated in JavaBean objects. Also wrote Web services (SOAP) wrappers around this API allowing clients written in virtually any language to connect to VistA and call RPCs.

JavaBroker

JavaBroker is a Java-based implementation of the VA’s Delphi RPC Broker client and an object-oriented library of RPCs and data objects encapsulating results from the broker server. Allows Java developers to write standalone and Web-based Java applications that interface with VistA.

JavaHL7

Developed JavaHL7, an extensive and powerful object-oriented Java HL7 2.x parser. This library is used with several other VA projects, including CP/HL7 DataGateway and Bed Management System.

CopyFind

  • VA CopyFind is software that allows users to review copy/paste instances in CPRS progress notes that have been identified from documents extracted from TIU and compared by a document comparison algorithm.
  • The Web-based interface allows each user to step through the pairs of “original” and “recipient” document pairs and score each instance for risk severity and the classification of information that was duplicated.

CPRS CCR/CCD Capabilities

Customized the FOIA version of the VA’s CPRS for EHR Doctors, Inc. to allow providers to copy/paste CCR/CCD documents into a plain text TIU note via the Notes tab interface of CPRS. The modifications allow for the CCR/CCD XML data to be displayed as HTML in an embedded Web browser.

eForms Document Signing System

Developed a Web-based electronic document review and signing system for Kettering College that allows students to electronically sign documents and forms, and administrators to add and modify documents in the system and view reports. Written in Java J2EE and JSP and hosted on JBoss AS.

Academic Dashboard

Developed a Web-based Academic and Enrollment Dashboard for Kettering College that allows administrators and executives to view high-level as well as detailed academic information as well as enrollment data and compare this information to previous school years. Written in Java J2EE and JSP and hosted on JBoss AS.

Online MugBook

Developed a Web-based MugBook application that allows users to view pictures and profiles of students and faculty. Users may edit profiles, add friends, view class rosters and many more features. Written in Java J2EE and JSP and hosted on JBoss AS.

VA/DoD eHealthRec

Lead developer for the eHealthRec software initiative for the Office of the Chief, Army Reserve (OCAR) and Veterans Administration (VA). This project involves providing electronic versions of medical record forms for the active duty reservist and storing the data into the VA electronic medical record. The system is written in Java and Delphi and based on Web services technologies and protocols (XML, SOAP, WSDL).

VA Report Wizard™

Designed and developed VA Report Wizard™, a medical discharge summary application for physicians and nurses at a VA hospital that significantly reduces labor by automating data entry and document generation. By eliminating the need for dictation services or other costly transcription services, the application has saved the hospital hundreds of thousands of dollars and has improved the quality of patient care by saving important patient information in electronic format so that physicians in VA hospitals across the nation can easily view patient discharge summary information.

VA DataGateway™

Developed VA DataGateway™, software that provides a data link for third-party databases to the proprietary medical records system of a VA hospital. This software is used to upload thousands of medical records from third-party sources, such as Helix and MS SQL Server, to the hospital's database system. The software is used to automatically bring valuable clinical patient data to the physicians desktop computer where they had previously relied on phone and fax to retrieve this information.

Ongoing Research Support

Veterans Assessment and Improvement Laboratory

The After Visit Summary: Patient-Centered Communication for PACT patients.

  • This study will assess patient satisfaction and usability of the After Visit Summary (AVS), a tool designed to provide patients with a clinical summary of outpatient appointments.
  • Role: Developer

Brief Resident Supervision Index: A Computerized Solution to Measuring Supervision of Veterans Affairs Physician Resident Trainees

  • This Greenfield Innovation Initiative was designed to develop and test software that collected electronically information from VHA’s electronic medical record and survey data administered to trainees and their clinical supervisors.
  • Role: Developer

Completed Research Support

Resident Supervision Index: Assessing Feasibility and Validity

  • The study the feasibility and reliability of the Resident Supervision Index, a survey tool designed to quantitatively measure trainee supervision.
  • Role: Developer

LLVA Inpatient Medication Reconciliation COM Object

  • This VHA Innovation provides a Component Object Model based tool that is invoked at patient selection of a newly admitted inpatient for the purpose of documenting medication reconciliation.
  • Role: Developer

Automated Clinic Checkout Tool: The After Visit Summary

  • This VHA Innovation was designed to develop a clinical summary for patients after outpatient appointments by populating it automatically with data from VistA/CPRS.
  • Role: Developer

LLVA VistAForms (aka "iForms") Development Framework

  • This VHA Innovation developed the framework for a Component Object Model (COM) based template generator for the purpose of providing informatics staff a more robust template design tool in CPRS.
  • Role: Co-PI and Developer

Improving Diabetes Outcomes Using Intellinote

  • This VHA Innovation developed a note template for the care of diabetes patients that provides guideline based decision support based on the patients' conditions, medications and treatment goals.
  • Role: Developer and Project Manager

Software Development and Consulting


Custom software development and programming services.

  • Java/JEE application development
  • Database design and programming(SQL and "NoSQL")
  • Web and digital services
  • User-experience design
  • Desktop applications
  • CPRS/VistA development and interfacing
  • Mobile Web applications
  • Scientific apps that perform complex analysis and charting
  • Data munging/wrangling
  • Systems integration
  • Proprietary instrument interfacing

Contact Me


Name:
Email address:
Message:

Enter web form code: Contact form
     reload image