My GitHub Profile
Clinical Information Systems Developer
Freelance Software Developer
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.
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.
Institution: Loma Linda University School of Medicine, Loma Linda, CA
Dates of Attendance: Aug, 1993 - May, 1998
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
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
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
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)
Relevant Professional Experience
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,
Description: I taught undergraduate courses in computer science and a few in biology.
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.
A representative sample of projects I have worked on or am working on.
Clinical Supervision Index
VA AppServerArchitected 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.
JavaHL7Developed 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.
CPRS CCR/CCD CapabilitiesCustomized 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 SystemDeveloped 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.
VA/DoD eHealthRecLead 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.
Veterans Assessment and Improvement Laboratory
The After Visit Summary: Patient-Centered Communication for PACT patients.
Brief Resident Supervision Index: A Computerized Solution to Measuring Supervision of Veterans Affairs Physician Resident Trainees
Resident Supervision Index: Assessing Feasibility and Validity
LLVA Inpatient Medication Reconciliation COM Object
Automated Clinic Checkout Tool: The After Visit Summary
LLVA VistAForms (aka "iForms") Development Framework
Improving Diabetes Outcomes Using Intellinote
Custom software development and programming services.