I am a Senior Full Stack .NET Developer with nearly 30 years of experience building practical, production software for a busy healthcare environment. I specialize in clinical workflow tools, systems integration, secure communication, reporting, automation, and internal applications used daily by hospital staff.
I work closely with clinical and administrative teams, take ownership from idea through rollout, and focus on building dependable tools that solve real operational problems. My work spans patient tracking systems, secure communication platforms, workflow automation, EHR/EMR integrations, and AI-powered analytics — hundreds of applications serving Southwestern Vermont Healthcare over nearly three decades.
Southwestern Vermont Healthcare — Bennington, VT • Aug 2002 – Present
I build web, Windows desktop, and mobile (iOS and Android) applications for a busy hospital, along with real-time tracker boards that run on TVs and wall displays, connecting them to HL7 and the EHR where the work calls for it. I own the full lifecycle of our in-house applications: requirements, architecture, code, deployment, and support. I also administer the Windows servers and some Linux servers that run them.
Pownal Labs, LLC • 2013 – Present
I run my own software company that builds and sells healthcare software.
Healthcare software for outside companies
Took on specialized healthcare software projects on a contract basis.
Southwestern Vermont Healthcare — Bennington, VT • Sep 1998 – Aug 2002
Managed infrastructure for 100+ Windows servers across multiple sites: Active Directory, Exchange Server, Citrix, IIS, file services, and application servers. Automated server maintenance with PowerShell, VBScript, and batch scripts. Supported LAN/WAN, switches, routers, firewalls, SNMP monitoring, and backup and disaster recovery with Symantec Backup Exec. Wrote internal web-based management tools for the IT department in classic ASP and early .NET.
Southwestern Vermont Healthcare — Bennington, VT • Oct 1995 – Aug 1998
Installed, imaged, and configured PCs, printers, and peripherals on Windows NT, Windows 95, and Novell, and handled Tier 2 and Tier 3 support for software, driver, and connectivity problems.
Southwestern Vermont Healthcare • 2015
Automation tools and enterprise software that improved patient satisfaction.
Southwestern Vermont Healthcare • 2013
Secure clinical applications that improved safety and reduced process errors.
Southwestern Vermont Healthcare • 2009
Digital workflow systems built with clinical staff to support nursing excellence.
Southwestern Vermont Healthcare • 2007
Leadership in IT modernization and cross-department communication platforms.
Southwestern Vermont Healthcare • 1998
Early work on the hospital network infrastructure and digital support systems.
My technical expertise spans nearly 30 years of production healthcare software development, from low-level infrastructure and integration to modern cloud, AI, and data engineering.
A real-time communication board with real-time chat, tasks, timeline facts, communication blasting, and staff tracking. Built as an offline-first, peer-to-peer tool — it continues to work even if the hospital completely loses network connectivity. Data is encrypted and shared to each browser node, distributed much like blockchain.
Real-time Communication, Offline-first, EncryptionThis tracker allows staff to keep track of a patient throughout the entire visit. It tracks how long they are in each room and alerts if certain metrics are triggered. The system integrates into multiple EMR's to gather information and make it easy to follow. Will alert for imaging tests, nursing to provider hand-off and indicates staff working with patient. Allows patient centric chat for staff members and promotes an asynchronous environment for efficiency. Has virtual waiting room built-in.
Real-time Tracking, EMR Integration, Communication
Clinical workstation is a Citrix based desktop client that allows users to roam between different devices maintaining their session while also handling wireless network latency. It allows users to access the desktop using a manual login or their fingerprint. It has its own server-based session management services running on the Citrix Servers. Installed on the clinical workstation is the SVHC single sign-on launcher bar. This allows users to access all of their programs without entering their logon information.
Citrix, Session Management, Single Sign-On
The patient console allows staff to access active patients and perform specific functions. Displays patient alerts, physician and RN/LNA contact info, hospitalist color, allergy and order acknowledgments, discharge and transfer process initiation. Also used to launch into single sign-on Meditech.
EMR Integration, Patient Safety, SSO
An interactive SMS texting system where recovering opioid individuals receive inspirational messages and respond to questions. Answers carry a weighted score that alerts internal staff when a trend of negative responses is detected, so the local recovery facility can reach out with help. Currently serving 550+ individuals in the service region.
SMS, Mental Health, Intervention Analytics
Allows patients to receive instant COVID-19 results from the interface directly to their cell phone. It also allows users to print their result from a link in the text message. The generated pdf has a validation mechanism built-in to allow the public to check the document validity.
Patient Communication, PDF Validation, SMS
If a patient while being discharged has vitals that are critical, it will instantly page the provider to alert them before the patient leaves the Emergency Room. It will show the critical indicator along with other vitals in the message.
Patient Safety, Real-time Alerts, Emergency Medicine
This tracker allows patients to stay in their car and wait for a SMS text message to go directly to the exam room so they don't have to wait in a waiting room physically. The tool allows staff to perform a quick look up using the MPI with cell phones listed in the system and send a message with one click.
Patient Experience, SMS, MPI IntegrationThis tracker allows internal staff coordinate and communicate to the regional EMS Providers to track patients to different facilities and location. It features secure chat and SMS communication blasting to all ems services.
EMS Coordination, Secure Communication, Multi-facility
HIPAA Compliant Messaging — staff can page each other with features like escalation, read receipts and group paging so you know your message will be read. Also transforms data into nicely formatted tracking consoles customizable on the fly.
HIPAA Messaging, Escalation, Real-time
This dashboard is used to monitor the covid activity for our hospital. It displays real-time trends, breakdowns by county, individual results, critical supplies inventory and recovery information.
Dashboard, Analytics, Real-time MonitoringThe lab tracker extracts information from HL7 and pages values directly to the physician so they can acknowledge the critical or urgent value. For urgent values the nurses can acknowledge if needed. The system includes consoles that are in the lab area in case no one acknowledges the value.
HL7, Critical Values, Patient Safety
Allows a radiologist to mark a report as critical or containing an incidental finding. The report will be added to a tracker to monitor if it has been acknowledged. The report is also sent directly to the provider that ordered the test and can be acknowledged from their mobile device.
Radiology, Mobile, Critical AlertsTV-mounted tracking boards that provide essential patient information at a glance. Features alerts, physician and nurse information along with census data. The board also displays system-wide critical and informational alerts.
Real-time Display, Patient Flow, Alerting
BOOST allows physicians to build standard discharge instructions for patients. Creates a patient-friendly printed packet with instructions and a medication list. The PCP automatically gets a summary sheet faxed to them and it will also print prescriptions.
Discharge Workflow, Faxing, Medication
Walloomsac is an offline web resource that contains emergency contact information, all policy and procedures, forms, physician orders and other important documents. It completely stores all documents in the browser so when synced, you do not need internet access to search and view all documents. Walloomsac works on all modern desktop and mobile devices.
Offline-first, Encryption, Policy & Procedure
Allows staff and external users to send files or messages to each other securely (HIPAA Compliant). The site can handle files up to 2GB in size.
HIPAA, Secure Transfer, Large Files
A Google-like indexer for our Intranet. Also indexes PDF shared files, Office files, and has smart keywords integrated to fetch custom results.
Search, OCR, Lucene, Full-text Index
DashCam monitors a users session and maintains the last 30 minutes so if needed, a snapshot can be taken to review any software issues for troubleshooting. Features snapshot to movie and integration through other internal systems. Encrypted at rest.
Session Recording, Encryption, Troubleshooting
This forms engine allows creation of e-forms from a standard POCO object. Saves data back to a document database with built-in automatic CRUD actions. Includes a print processor for PDF or HTML output.
Forms Engine, Document DB, PDF
This SSO launcher will auto-login users and in some circumstances will script users directly to other areas of Meditech — either to smartboard or directly to the patient's record.
SSO, Automation, Meditech
Enables staff to access archived patient records from decommissioned EHR systems. Allows searching and the ability to mark if preload is completed into the new system.
EHR Archive, Search, Migration
Secure storage of patient-related images. Reads images from an SD card and imprints patient info on every image stored. Images are encrypted at rest and can be retrieved by medical record number or encounter number.
Encrypted Storage, Patient Images, HIPAA
System Health is a centralized system that performs specialized tests on given processes or services. It performs auto repair in some cases, checks major systems every 7 minutes, and provides alerts if a test fails.
System Monitoring, Auto-repair, Alerting
Allows women's and children's staff to save patient images for security identification for later use. Driven by voice and barcode to assist the user on saving the images. Works with any standard digital camera. Images are encrypted in a database for searching.
Voice/Barcode, Encryption, Patient Safety
This web based utility allows providers to search and view echo cardiogram images/slices that have been archived from a decommissioned HeartLab server. The utility enables users to zoom, pan, change contrast and view as a clip or individual slice.
DICOM, Echocardiogram, Archive
Enables providers to access archived x-rays from a decommissioned system. The utility will allow you to view dicom images and burn to a CD for patients.
DICOM, X-Ray Archive, Radiology
This server and client system allows remote offices to upload files automatically to the hospital using compression and encryption.
Secure Transfer, Compression, Remote Offices
This interface will listen for HL7 messages and sync them to SQL and MongoDB.
HL7, ADT, Real-time Interface
Works with the Lab Critical Values system and allows ED physicians to set up notifications when a lab test has been resulted. Can listen via TCP/IP and file I/O.
HL7, Lab, Critical Values
Takes incoming Athena HL7 Messages and populates and verifies the message before it is sent off to Meditech for import. Alerts staff if there are problems with the data.
HL7, Athena, Meditech Integration
Allows staff to search text on incoming faxes mainly used for lab and radiology orders. The service process performs OCR on all incoming faxes and indexes the results into a database.
OCR, Fax, Search Index
This web service processes screenshots for Meditech and other applications and returns text extracted from the image.
OCR, Meditech, Image ProcessingAssists Lab, Radiology and Access services to keep track of patient flow in the main waiting room. Features automatic updates via WebSocket, reporting, average wait times and notification messaging.
WebSocket, Patient Flow, ReportingThe morgue tracker replaces the current log book and gives a status on the main intranet patient console to assist cooler management. Signature is stored and can be replayed on a report.
Digital Signature, Tracking, Integration
Allows easy documentation of medications in batches for re-packaging. Works with a barcode scanner and references the medication dictionary in Meditech. Includes verification, report functionality, and alerting.
Pharmacy, Barcode, Meditech
This web-based order builder allows physicians to build customized order sets based on their needs. Automatically generates PDFs and creates patient labels for each page.
Order Sets, PDF Generation, Labels
Allows physicians to search, print and manage their orders.
Physician Workflow, Orders, Search
This server process automatically sends pages/alerts to staff based off a schedule or certain Meditech actions. Most processes are reminders for clinical actions.
Automation, Scheduling, Paging
Allows nurses to maintain an electronic version of the patient kardex. Supports different co-morbidities and auto print directly to the floor's printer.
Nursing, Kardex, Auto-print
Patients can screen their temperature and answer questions before and after surgery for infection monitoring. Questions can be followed up via a tracker on the intranet.
Pre/Post Surgery, Patient Safety, Tracking
Displays the hospital patient census in real-time and shows a historical chart for each location.
Census, Real-time, Analytics
This web-based dashboard displays lab/radiology critical values via control charts with a monthly approval process.
Control Charts, Lab/Radiology, Analytics
Monitors a Meditech session and gives alerts based on criteria — mostly used for anticoagulant alerting. If it detects a patient is being given an anticoagulant, it presents a pop-up reminder of the next action.
Anticoagulant Safety, Meditech, AlertingThis info bar sits on top of the EDM tracker board and displays critical lab values that have not been acknowledged yet. Also displays time, date and weather.
ER, Critical Values, Real-time
This web-based application scours multiple report sources and displays them on a single web page sorted by encounter. Items include OR Records, Discharge packet, ER Record, etc. Also merges all records into one PDF download.
Multi-source Reports, PDF Merge, EncounterRuns on a dedicated PC that alerts pharmacy staff if there is a hold acknowledgement. Checks Meditech every minute for status.
Pharmacy, Meditech, Alerting
Allows doctors and nurses to communicate information in the context of a patient encounter — internally called a Yellow Communication Sheet.
Clinical Communication, Encounter, Journal
A real-time patient tracking web app that is public-friendly and available to staff who do not have clinical access.
Real-time, Patient Tracking, Public
This console application creates snapshots of patients' PMHL so we can have a historical listing of meds for the patient's stay from admission to discharge.
Medication History, Archive, Meditech
Allows staff to print the pre-hospital medication list in multiple formats. Also checks the BOOST discharge med list for reference.
Medication, Pre-hospital, Printing
This service accepts any logger over the network and saves the entry to a database. Monitors errors and exceptions and pages an IT member if needed. Also has a web-based log accessible via the web.
Logging, Alerting, DevOps
Monitors login time, ping times and other metrics for Meditech, Centricity and other mission-critical services. All data can be reported from a database and there is a web view with control charts.
Performance Monitoring, Control Charts, DevOps
Monitors server disk space for every server in an OU and will trend and alert if space is trending down or has hit the threshold. Does not need an agent installed.
Server Monitoring, Alerting, Agentless
The screensaver used to post information to all clinical and administrative areas. Features a web-based and a simple shared folder source for easy updates.
Broadcast, Screensaver, Communications
A library/application that automatically updates and installs programs on remote machines within the SVHC network. Easily configured with a containing XML file per application.
Auto-update, Deployment, .NET
This server process provides a REST-based service to control Citrix XenApp sessions. Features a built-in web server.
Citrix, REST API, Session Management
Allows IT staff to manage remote devices without actually connecting to them via Remote Desktop.
Remote Management, IT Tools
Allows multiple users to access their applications from a PC logged in with a generic account. All applications in the launcher support single sign-on. Supports fingerprint reader.
SSO, Shared Workstation, Biometric
Allows IT staff to manage user passwords and other user-specific settings. Works with our SSO solution.
IT Admin, Password Management, SSO
A system-wide password management web utility. Users can unlock their account, change/view their domain password, change or view their Meditech password, and store/manage passwords for SSO.
Password Management, SSO, Self-service
Performs multiple system checks on a user's account to look for errors, configuration issues, expired passwords and program verification.
Diagnostics, Account Health, IT Tools
Monitors battery usage for computer-on-wheels (COW) devices. Features real-time display of AC/DC status, last user, and alerts.
Battery Monitoring, Real-time, COW Devices
Monitors real-time status of Cisco phone system so staff can monitor how many calls are in use and waiting. Has alert triggers if call queue grows.
Cisco, Phone System, Real-time
Allows saving all phone calls from the Avaya phone system to a database. Enables actions on triggers when certain extensions are called and reporting.
Avaya, Call Logging, Reporting
Installed on most hospital computers — sits on the system tray and allows a user to quickly send a page or alert to multiple users.
Paging, Alerting, Tray UtilityAllows IT and managers to send alerts to the intranet, pagers/cell and med surg tracker boards.
Alert Management, Multi-channel, IT
Allows staff to send pages or alerts to a variety of users and targets. Maintains a log in history.
Paging, Alerting, Log
Allows any user with internet access to send a page to any SVHC user pager or cell phone.
External Paging, Web-based
This extension for AmiOn allows staff to send alerts to a pager or cell phone directly from the AmiOn web site.
AmiOn, Paging, Integration
Access services uses this web-based tool to page and reference phone numbers. Phone numbers from multiple sources are pulled into a single search page.
Switchboard, Phone Directory, Paging
Warns the switchboard operator when there is a NOAA public safety or weather alert. Gives them the appropriate policy/procedure for that alert.
NOAA, Weather, Emergency Protocol
Helps managers and VPs with salary planning for each department. Includes market values and calculations per department. Enables electronic sign-off.
HR, Financial Planning, e-SignatureWeb-based tool for managers to monitor productivity hours for their department. Contains control charts, data grids and ad-hoc reporting.
Productivity, Reporting, Control Charts
Allows Dartmouth/SVHC physicians to keep track of time under different non-clinical roles. Includes ad-hoc reporting.
Time Tracking, Reporting, Physicians
Allows users to view their time card and punch in and out.
Time & Attendance, Kronos Integration
Enables users to punch in and out from their mobile device. Logs the user's GPS location when they punch.
Mobile, GPS, Time & Attendance
Allows Medical staff to login and vote for officer elections. Includes results reporting.
Voting, Elections, Medical Staff
Manages a photo contest. People can upload photos and administrators can manage photos in the backend.
Photo Contest, Upload, Admin
Send text messages from iPhone/iPad/iPod Touch to any alphanumeric pager on the CVC Paging Wireless Network. Encrypted for HIPAA compliance.
iOS, Paging, HIPAA
Allows staff to send images to themselves or other hospital employees quickly and securely.
Mobile, Photo Sharing, Secure
A communication tool to assist posting of non-critical daily information hospital-wide.
Internal Communications, Bulletin
Internal SVHC YouTube clone for sharing informational and training videos.
Video Sharing, Training, Internal
Web-based knowledge base with HTML editing and Lucene search. Also accepts knowledge base articles via email.
Knowledge Base, Lucene, Search
Users can store, manage and share important web links. Includes individual, department and site-wide link buckets.
Link Management, Sharing
A web application that assists users to find external community numbers or addresses. Feeds into the combined phone list.
Community Resources, Phone Directory
Allows users to search for shared folders and create desktop shortcuts directly from a webpage. Also supports user favorites.
File Sharing, Shortcuts, Search
Houses email distribution lists for non-IT users to maintain and use.
Distribution Lists, Email, Self-service
Allows users to search and post hospital-related forms in PDF or Microsoft Word/Excel format.
Forms Library, Search, Document Management
Allows users to scan insurance cards, driver's licenses and other forms of ID into Athena. Works with all TWAIN compatible Duplex scanners.
Scanning, TWAIN, Athena
Reads patient records from CD, creates an encrypted index on the local machine, and allows full-text keyword search via OCR.
OCR, PDF Search, Encrypted Index
Accepts PDF/TIFF/PCL via file or web-based service to fax the document to fax targets. Mostly used by BOOST to send to PCPs.
Faxing, PDF, Enterprise
Allows viewing encrypted downtime information created nightly. Contains policies and procedures, forms, patient information, phone list, etc.
Downtime, Encrypted, Offline
Assists nurses in printing the downtime MAR from encrypted PDF files directly to a printer.
Downtime, MAR, Printing
Automatically prints PDF files dropped into a particular folder. Used for BOOST, Kardex and other web-based applications.
Auto-print, PDF, Server
Contains dynamic document flow and messaging based off Ebola preparedness policies.
Emergency Preparedness, Documents
Allows IT staff to quickly add a Spiceworks ticket. Includes settings for paging and Spiceworks options.
Help Desk, Spiceworks, IT
Deletes unnecessary files and defrags the user's hard disk. Users can run this from the intranet without admin privileges.
Disk Cleanup, Defrag, Self-service
Creates Outlook signatures into the user's Outlook profile. Built to maintain a standard.
Outlook, Email, Branding
Saves patients an extra step to get signed into the Meditech Patient Portal by initiating the first part of the sign-on process.
Patient Portal, Meditech, Onboarding
Allows users to change their Meditech password without contacting the helpdesk.
Password, Self-service, Meditech
Interface to Meditech NPR — allows calling Meditech to pull NPRXML converted to a .NET DataSet instance.
Meditech, NPR, .NET Library
SSO for Centricity — automatically logs users into the Centricity EHR application.
SSO, Centricity, EHR
Synchronizes files from a service source to multiple clients.
Auto-update, Centricity, Deployment
Web-based application allowing IT to view Citrix sessions and clean user profiles.
Citrix, Session Management, IT Admin
Publishes a user's calendar to iCal format so it can be available without firewall interaction.
Calendar, iCal, Proxy
Provides users a quick way to execute their programs and assist with single sign-on. Also manages printers for the user session.
SSO, Launch Bar, Printer Management
Caches any POCO type with System.TimeSpan expiry. Built-in error control falls back to cache if expiry fails. Persists encrypted to disk.
Caching, .NET Library, Encryption
Lightweight atomic document database for .NET applications.
Document DB, .NET Library
A persistent queue manager for objects. Currently used for messaging and IVR.
Queue, Messaging, IVR
A JSON to Dynamic Object library. Deserializes a web URL's JSON response to a dynamic object.
JSON, .NET Library, REST
Web site for Healthy Homes for Bennington, L3C — a community partnership to renovate distressed homes and facilitate home ownership.
Community, Non-profit, Web
Runs on a small touch screen device that alerts the volunteer when a patient is ready to be picked up.
Touch Screen, Volunteer, Alerts
A web utility to allow non-admins to add and remove users from an Active Directory group.
Active Directory, Self-service, ITI'm always interested in discussing new healthcare technology opportunities and collaborations. Whether you need custom healthcare applications, EHR/EMR integrations, AI-assisted analytics, or clinical workflow solutions, I'd love to hear about your project.
Enter your email address and the PDF will download right away.
I only use your email to keep track of who has requested my resume.