DART Internship:
Streamlining Data De-Identification Challenge
De-Identification, Automation, & Testing
The de-identification process is used on sensitive data in DART, like names, addresses, and SSNs, when the database needs to be sent to our vendor, Blackbaud. Originally, this process used extraneous databases and outdated software.
Matthew Dolan
[email protected]
ServiceLink Automation Challenge
Solution I changed the process to occur in-place on one database instead of three, and simplified many steps of the process. It has also been accelerated, updated, and its total space has been minimized.
The deployment scheduling process was overly complicated and inconvenient. It used too many different tools (Windows Task Scheduler, STAT, etc.), developers had to be trained to learn how to do it, and it was tedious.
Solution
Here is an example workflow for address de-identification.
Use the ServiceLink scheduler for cloud deployments and eliminate the need for STAT. I created a web service that will execute the deployments of CSRs on the build server, and then ServiceLink’s scheduler invokes this web service on whatever schedule DART needs it to run on.
Technology
Technology ● ● ● ●
SQL Server Integration Services SQL Server 2014 Microsoft Visual Studio 2013 Team Foundation Server 2013
● ● ● ●
ServiceLink Microsoft Visual Studio 2013 WCF Web Services Windows Server 2008
Unit Testing Interfaces Challenge
Build Automation Challenge A CSR is a customization in DART requested by users. There were two CSR related problems. 1. CSRs could go unlogged by developers if they didn’t remember to copy/paste a lot of tedious XML (top image) and make their own changes for their specific CSR. 2. Additionally, one CSR failing would halt an entire build, which would interrupt deployments and lead to arbitrarily making the most reliable CSRs run first and the riskiest last.
Interfaces had to be unit tested manually, and it was time-consuming and tedious. There was no framework or project to run any sort of automated testing on interfaces in DART.
Solution Created a project on the Team Foundation Server for automating the testing of DART interfaces. Implemented tests for a few interfaces including myLINC and Lockbox in DART. I also created a framework for other developers to use the testing project for unit testing interfaces.
Solution 1. Created a custom task to simplify the logging process (bottom image), added targets to enforce logging as a requirement, and modified the batch files. 2. Researched an MSBuild task that allows independent builds, so CSRs could fail without affecting others.
Technology ● Microsoft Visual Studio 2013 ● Team Foundation Server 2013 ● BlackBaud CRM
Technology ● MSBuild ● Microsoft Visual Studio 2013 ● Team Foundation Server 2013