Penn Medicine Clinical Trials
In the six years I’ve been working at Penn, this is my first project that’s publicly accessible: Penn Medicine Clinical Trials. It’s a web application to help researchers as well as the general public find clinical trials at the U Penn School of Medicine and the Children’s Hospital of Philadelphia. My co-worker Joe did a great job on the design, and I implemented the functionality. Joe gets the credit for the Google-like “less is more” user interface, which is dramatically different from the clinical trials sites at other leading medical research institutions.
I wrote a script that runs nightly to pull down XML documents on the clinical trials from ClinicalTrials.gov (a website created by the National Institutes of Health to provide a central clearinghouse for information relating to clinical trials in the US). The script then parses out the most important data and puts it in a database, where its used for full text searching. For displaying the pages on each trial, I created an XSL template that’s used to dynamically transform the XML documents for display as web pages.
This was actually part of a larger project – the redesign and relaunch of PennMed’s ITMAT (Institute for Translational Medicine and Therapeutics) web site. Joe created that design as well, and I provided the functionality for the member pages. These pages are dynamically updated as members update their profiles and new members join.
I have a few posts in mind based on this work, as I solved some problems on my own where there weren’t adequate explanations online. The topics are XML handling with PHP’s SimpleXMLItetator, XSL transformations with PHP’s XSLTProcessor, and an interesting CSS problem with the Clinical Trials “sticky footer” that we had to figure out. Stay tuned.
Plumbing Nightmare
Like many other horrible things in life, it started simply enough, with a small, barely noticeable water stain on the living room wall. It was near the bottom of a window, and the downspout above that window was clogged, causing water to pour down on the glass during heavy rain, so I figured it was a window leak. I took the downspout apart and cleaned it, and put some extra caulk around the window. But the water stain only grew bigger. That spot also happened to be below the toilet in the 2nd floor bathroom, which got me worried.
So I cut a small hole in the living room wall, and could immediately see that the waste pipe from the toilet was cracked. My neighbor Jimmy is a plumber, so I asked him to take a look. “Cut the wall open from floor to ceiling!” he said. I did that and then brought him back again – he made some ominous sounds and then said “cut open the ceiling under the toilet!” The crack ran most of the length of the pipe, and the connector to the toilet looked like its days were numbered too.
I spent a day with Jimmy, removing the cracked section of the pipe. Before we could do that though, we had to cut a hole in the wall in our 3rd floor bedroom, so we could put a clamp on the pipe (it continued all the way to the roof – once above the toilet it serves as a vent). Otherwise it would have collapsed down on top of us in the living room when we cut it.
What ended up taking a long time was removing the section of pipe in the ceiling that connected to the toilet. The entire pipe was encased in concrete, and we had to be careful chipping it out because the water supply line for the toilet ran right above it, and was also covered in concrete. It was like an archeological dig, except over our heads. To make matters worse, once we removed the board that was under the concrete and finished removing the concrete, there was nothing to support the toilet anymore.
It was too much work to finish in one day. We replaced the cracked pipe, and at the end of the day made a temporary connection for the tub drain, so we could at least take showers until the rest of the work was finished (we only have one shower in the house).
The joists in the floor around the toilet were rotted – I could tear out pieces of them with my hands. I ended up having to completely tear out a 3ft x 3ft section of the bathroom floor/living room ceiling. I tried not to cry as I smashed up the new tile floor I had put in the bathroom just a couple years ago
.
Putting in the new framing wasn’t too difficult, but getting the subfloor in was a huge pain. I had to get it dead even with the existing floor, and work around where the new toilet waste pipe would be, the existing water supply line for the toilet, and two pipes from the radiator system. I’m proud to say I got it exactly right: the only thing distinguishing the new tile from the old tile is that the new grout is a fresher shade of white.
We took the opportunity to put in a new water-efficient Toto toilet. It has two flush buttons, one of which uses half as much water as a regular flush. Our water bill has dropped significantly since we put it in.
Now I can get back to the project I had started just before all this happened: tiling the fireplace and hearth, and installing a new fireplace mantle.


