Systems Administration

Fax tone parsing

A high level of quality assurance for fax reception is required at medical clinics since faxing is the primary technology used for communication between participant's pharmacies and their prescribing physician at the clinic. A combination of SpanDSP, Asterisk call files, Asterisk MixMonitor() application, and Nagios provides a solution.

The SpanDSP project offers a modem connect tone library capable of parsing individual fax tones from an audio stream. Using this library I was able to write a simple CED tone check for nagios (based on spandsp's fax_decode test).

A remote asterisk server, with PSTN connectivity provided by callcentric, generates a call file via cron which calls the target fax number, records both channels of the call, then processes the recording with the custom nagios CED tone check.

Custom migration to OpenEMR

OpenEMR offers a few examples for migration that can provide a start for those looking to migrate data to OpenEMR which I was able to use to start the process. Since the example code was for a system different than our custom Django application I had to re-write it to migrate our participant data. This was an iterative process as we added our custom OpenEMR forms and continued into the early stages of OpenEMR deployment. Creating a custom migration script requires intimate knowledge of the schemas and API's of both systems.

IT Manager

As the IT Manager of St. James Infirmary my responsibilities are IT asset management, network management, VoIP system management, and development and migration to OpenEMR.

Medical Records Database

St. James Infirmary makes use of a custom python web application based on the Django admin interface. Using a custom web application for tracking participant care as opposed to using the cities electronic medical records system allows the organization to further protect it's participants from law enforcement surveillance. The application replicates paper forms that make up a participant chart. My contribution to the application involved upgrading the system to a modern python and Django version, migration from sqlite to MySQL, managing releases and development environments, fixing bugs, and adding features. The organization is planning on migrating the system to OpenEMR.

4G LTE Amplifer deployment

St. James Infirmary, the sex-worker lead occupational resource center located at 730 Polk St., previously at 234 Eddy St, was at the first floor of a 6 story building that created a cellphone dead zone. An amplifier was required to provide service to the first floor office. From the roof a directional antenna was installed pointing towards one of the downtown towers, LMR 400 was run down the side of the building into the server closet connecting a WeBoost Connect 4G-x, from where more LMR 400 connects to the internal antenna. There is still not complete coverage to the whole office with a single antenna, but this kit could be upgraded with an additional 3 indoor antennas that would complete service to the entire office if there was sufficient funding.

Wordpress trigger for Nagios on-call

Radical Designs needed a tool to update their rotating on-call list each month. The were already making use of WordPress for their internal documentation. To tie the two together A script was written to log into the WordPress site, parse a contact list, and then rotate and update the on-call list from the WordPress blog page managed by staff to the Nagios contact config. The on-call rotation was triggered throughout the day (in case a schedule was swapped by updating the WordPress page) via Cron.

Linux Kickstart installations

This solution was created to solve the problem of enabling hands free remote installations of Linux boxes [1]. The objects that implement this solution are; a kick-start server, a networked rpm based Linux box (client), and the kick-start rpm. The kickstart server is configured as described in the resources section. Some of the code and ideals here are from Gary [2], and Aaron Gowatch.

Subscribe to RSS - Systems Administration