carpenter,_matthew_resume3

8
Matthew Carpenter [email protected] Home : 269-375-4185 Cell : 269-492-4611 Education: University of Michigan Berrien County Math/science center, class of 1995 Computer science courses in C, Intermediate and advanced data structures in C, FORTRAN, Assembler (68K), Digital Circuit Design Objective: I am perpetually seeking new challenges, skills, and opportunities to add value to an organization by creating custom developed software solutions. Programmer/Analyst II Bronson Healthcare Group February 2007 – Present Per a request my department director presented me one morning, I found and downloaded a suitable C# API for processing PDF data. I then incorporated classes and methods this library into code I wrote to burst, by patient, a PDF file containing legacy medical system documents into patient-specific documents, and to create metadata files to index these documents which I then loaded into OnBase, thus allowing Bronson to release millions of dollars in funds which were being held in lieu of these documents being stored in our ECMS repository. Wrote a C# OnBase EDI pre-processor to read in EDI 810 data, extract certain data segments, evaluate the segments via a set of conditions provided by our Finance department, and append new values to an unused EDI 810 segment within the data stream. This newly processed data was then read stored

Upload: matthew-carpenter

Post on 16-Apr-2017

37 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Carpenter,_Matthew_resume3

Matthew Carpenter [email protected]

Home : 269-375-4185

Cell : 269-492-4611

Education:

University of Michigan

Berrien County Math/science center, class of 1995

Computer science courses in C, Intermediate and advanced data structures in C, FORTRAN, Assembler (68K), Digital Circuit Design

Objective: I am perpetually seeking new challenges, skills, and opportunities to add value to an organization by creating custom developed software solutions.

Programmer/Analyst II

Bronson Healthcare Group

February 2007 – Present Per a request my department director presented me one morning, I found and downloaded

a suitable C# API for processing PDF data. I then incorporated classes and methods this library into code I wrote to burst, by patient, a PDF file containing legacy medical system documents into patient-specific documents, and to create metadata files to index these documents which I then loaded into OnBase, thus allowing Bronson to release millions of dollars in funds which were being held in lieu of these documents being stored in our ECMS repository.

Wrote a C# OnBase EDI pre-processor to read in EDI 810 data, extract certain data segments, evaluate the segments via a set of conditions provided by our Finance department, and append new values to an unused EDI 810 segment within the data stream. This newly processed data was then read stored as metadata for the corresponding invoice document when loaded into OnBase.

Created an XSLT overlay document used to present the EDI data in a format easily interpreted by our Finance staff.

Wrote an application using the OnBase v15.0 C# Unity API that allows our HIM (Medical Records) staff to search for patient records in OnBase and to click on an icon that extracts each of the selected documents to a file in a path containing the username of the user running the task. After the code extracts all the documents, it posts to an external C# web application that executes 7zip (as the OnBase Unity API cannot execute

Page 2: Carpenter,_Matthew_resume3

external code) against the extracted documents to place these into a self-extracting, encrypted, password-protected, zip file that can be burned to a CD and provided to a customer presenting an ROI form (Release of Information).

Wrote an application to allow our medical providers to submit timesheets electronically. This application queries a Sharepoint list of position information, maintained by our administrative staff, presents the correct list of positions to the physician (based upon the user’s Active Directory ID) and allows the user to fill out a timesheet. Each position object includes information regarding approvers for the timesheet entry (which determines to whom my program routes the submission), pay rate, mailing address, and various other pertinent information. After the user has built up his/her timesheet, the user clicks a button and e-signs the timesheet. Once this is done, the application generates separate output files for each position and sends this data to our enterprise content management system (OnBase).

Wrote a web application to automate our Human Resources Position Control Process. This application handled requests to create new positions, delete positions, make changes to positions, etc. The application (originally written in Java/javascript--with AJAX functionality using Java Servlets for server-side processing; later ported to C# Silverlight using a C# SOA, C# Core Class Library, and a C# data access layer which queried a MSSql database via coded queries and coded –in C#- stored procedure calls) generated html and index data files (containing metadata information) that were then loaded into our enterprise content management system (OnBase).

Wrote a web application to provide our medical staff with a way to access legacy medical data. The application, written in C#, takes an argument passed to it from our current Hospital Information System—a patient ID number--and queries our OnBase database, which is MSSql,(OnBase is the new repository for these documents). The application then presents the user with a tree of links categorized by document type (lab results, HnP, Radiology, etc.) ordered by date. These links take the user to our OnBase web client which loads the desired document and presents it to the user.

Wrote a web application to allow our users to order supplies to stock medical units. This application, written in C# Silverlight with MVVM, queries our Materials Management System (vendor written) database (MSSql) for all items and presents the user with an autocomplete drop down list of items the user can search. The user can then add an item to a table, specifying quantity. Once the user has selected all items desired, a click of a button sends a printout to our Materials Management department (printer information pulled from a sql table I created) and also writes an index file and an html file to a location that OnBase scans, so that the orders can be retained there. This application also queries a Sharepoint list for additional items that are not stored in our Materials Management system, as well as a Sharepoint list of aliases (maintained by the heads of our nursing units), so that users can search by the name an item has in our Materials Management system or by an alias they are more familiar with—assuming the nursing manager has entered this alias into the Sharepoint list.

Page 3: Carpenter,_Matthew_resume3

Wrote a web application to allow users in our Purchasing department at a recently acquired site, to submit returns to their Materials Management staff. This application, written in C# with MVVM, queries our Materials Management system so that the users can enter a PO number or an item number and select the item they wish to return. The application also supports wild cards in PO numbers. This application also writes data files to OnBase. The application also queries Active Directory to retrieve user information following authentication.

Wrote an application in C# Silverlight that was launched via our Nursing Information System, our Clinical Portal System, and our NeoNatal I.S. to allow our physicians to perform medication reconciliation for patients prior to discharge from the hospital. This application queried our Medication Management database, retrieving a list of patient medications that a physician could continue, stop, write prescriptions for, etc. This application also wrote to a database in order to store the current state of the application, so that a physician could come back to it later and finish his/her work. I also wrote Cache’ object script code to query a Cache’ database (as the original version of this application was written in Cache’ before we brought its development in house), and pass patient context information to the various vendor created applications that the Medication Reconciliation application I created was launched from.

Wrote an application that allows managers to enter an employee’s employee ID number. The application then queries our Human Resources I/S database and populates a table with the employee’s name, department, job title, etc. The application then loads a tree view of locations for which the manager can order to be added to an access control card for the employee. The data source for this list of locations is an XML file I created of n-deep hierarchical data that was recursively parsed and bound to a Silverlight TreeView control. Once the manager has specified all the locations the employee should have access to and has submitted a form, the application creates and HTML and an index file that are loaded into OnBase for archival.

Wrote various other applications, as well as troubleshooting, debugging, and enhancing many other pre-existing applications (Java web applications—using JSP, javascript, and Java servlets; asp applications, and C# applications). Also created and maintained many OnBase HTML/javascript Overlay files. These contained javascript that would process ampersand delimited data to display html pages to a user.

PACS (Photo Archiving Communications System) Analyst

Bronson Healthcare Group

March 2005 – February 2007 (2 years)

Page 4: Carpenter,_Matthew_resume3

Work supporting Bronson’s modalities, DICOM interfaces to the modalities, and PACS software. Projects included the rebuilding of a vendor-provided Solaris server to allow application testing. I also wrote, in Bourne shell, an error detection system that sent alpha-pages to the On Call analyst. Along with this, I wrote another script to send daily emails html files detailing disk utilization and error logs (color-coded to indicate severity levels) to Bronson I/T’s Unix Team members.

Senior Systems Engineer

Donnell Systems, Inc.

February 2000 – December 2004 (4 years 11 months)

During the course of my employment at Donnell Systems my responsibilities included fielding many customer calls to our service department (80% over the course of my first year); providing remote, back-end Solaris support related to our software product and accompanying utilities, a variety of which I wrote; and setting up servers (including installing interface cards for peripherals, installing the Solaris Operating System, configuring RAID devices, and installing and configuring my company's software). During my employ with Donnell, I went onsite to install servers at many of our new clients' sites, as well as traveling to client sites to perform hardware maintenance that could not be addressed by local Sun field engineers. Other responsibilities included writing Bourne shell and Perl utilities and wrappers to automate various tasks for our operations staff as well as training a co-worker in the basics of Unix and in the use of various proprietary utilities. I also provided 24x7 remote system administration and phone support for my company's clients as an on-call analyst. Some accomplishments while at Donnell included writing various data processing scripts and utilities; working with a co-worker to design and develop a new set of programs to download, process, and load customer data into our disaster recovery database; and setting up, delivering, and successfully demonstrating performance of a disaster recovery server at a customer's annual disaster recovery tests. Performed setup and administration (O/S installation, RAID configuration, patching, script writing, remote support via ssh and rlogin over ppp connections as well as via tip and kermit over console connections, hardware installation, etc.) as well as onsite installation of Sun servers at a number of remote sites. Served as second and third-tier Unix support.

MIS Technician (Summer Intern)

South Bend Tribune

June 1996 – September 1999 (3 years 4 months)

I worked at the Tribune during the summers of 1996, 1997 and 1999. During the summer of 1998 I worked at the Space Physics Research Lab at the University of Michigan.

Responsibilities at the South Bend Tribune included installing software; upgrading software, including operating systems; trouble shooting end user problems; directing user calls to other

Page 5: Carpenter,_Matthew_resume3

technicians, as necessary; configuring newly ordered machines; installing various hardware components (hard drives, cards, RAM, various peripherals); and maintaining typesetters. Most computers serviced were PCs and Macs. Typesetters were Glunz and Jensen and L530 models.

Unix System Administrator

University of Michigan

May 1998 – October 1998 (6 months)

Duties included backing up and restoring servers using rdump and ufsdump scripts, installing hardware and software, upgrading software licenses, pricing and ordering components for machines, making and running coaxial cable lengths for networking. Accomplishments and experiences include locking out a hacker who had broken into a machine using a C program to exploit the phf cgi script, restoring file systems, renewing Ultrix and IDL software licenses when licenses expired ahead of schedule.

Programmer

Environmental Research Institute of Michigan (ERIM)

September 1995 – May 1997 (1 year 9 months)

I was on hiatus from this position from May 1996-August 1996 to return home for the summer months. Responsibilities included software development (including maintenance and documentation of code) using a number of various development environments. Code was written in C for an HP/UX or Solaris platform using vi or the gnu emacs editor. Also wrote toolbox functions for the Cantata IDE. These functions were developed as part of a project for the U.S. DoD. Other responsibilities included maintaining web pages for various projects and writing man pages for toolbox functions.