Moving to a new domain, patrickmd.net

June 20, 2008

I am moving this blog (and all the content) to my new domain at http://patrickmd.net/blog/.


Getting Google Calendar on the iPhone

January 27, 2008

Some time ago I wrote about synchronizing Google Calendar data with a Palm device. Since then, I’ve given up the Palm because I realized I rarely used it. Now, I carry an iPhone instead, and have the same calendar synchronization problems.

While I can use Google Calendar’s iPhone interface to check and add appointments, the AT&T “Fine” EDGE network takes a long time to set up an initial connection. This makes a quick calendar consult require a 60 second investment. For this reason, it would be nicer if the standard iPhone calendar picked up my appointments when I synchronize with iTunes.

iTunes will synchronize your iPhone calendar only with Outlook. Short of reverse-engineering iTunes, solutions require that the Google Calendar entries end up in Outlook. I first tried the Funambol plugin with ScheduleWorld. This worked once, but was far too complex. For this to work, I logged into ScheduleWorld (SW), allowed SW to talk with my Google Calendar, and then sync’d my calendar to SW. Then the Funambol Outlook plugin downloaded my calendar from SW to Outlook. At one point ScheduleWorld duplicated all of my Google Calendar entries because I did not realize that the “one-way” directionality isn’t saved as a permanent preference. This gave me a sharp lesson in why I should be very wary whenever I provide Google AuthSub tokens to a website.

I gave up all that and today tried a different angle, RemoteCalendars. I had some trouble with the provided documentation, but this blog entry was very helpful. I downloaded the 6.3 version, and then ran the setup program. Outlook 2003 didn’t start the plugin immediately, so I installed VSTOR. After VSTO installed, I re-enabled the plugin (via Tools->Options…->Other->Advanced Options…->COM Add-ins…) and the options screen popped up.

I added five Google calendars using private ICS links, and each calendar appeared in Outlook without a problem. I then synchronized with iTunes, which copied the calendar data to the iPhone. To make sure my iPhone didn’t carry any double appointments, I selected “Replace information on this iPhone: Calendars” under the “Info” tab.

I am only planning to use the iPhone calendar in “read-only” mode. However, I believe that it is possible to get two-way sync working with RemoteCalendars. The reason I haven’t pursued this capability is that I synchronize my iPhone with my laptop once a week. For sync to be useful it would have to happen a lot faster.

There is no design reason for the synchronization to remain within iTunes. Since the iPhone can make internet connections on its own, I hope that the upcoming SDK will allow developers to write a synchronization application native to the iPhone that will allow it to pull and push appointments from the Google Calendar server regularly, just as the iPhone Mail application does now with the Google Mail IMAP server.


How Effective are Medical Record Privacy Protections?

January 2, 2007

An excellent story on medical record non-privacy appeared on 12/26/06 in the WSJ, written by Theo Francis. “Spread of Records Stirs Patient Fears Of Privacy Erosion” (original subscription version here) details how one patient’s psychotherapy notes were mixed in with her regular records and used to deny her disability claim for back pain. Her care provider denies all requests for PHI restrictions as a matter of policy. According to HHS, none of this violates HIPAA. Even if it did, HHS has never applied any of the threatened federal penalities for HIPAA violations after three years and 23,896 complaints.

A companion piece offers a dissection of Kaiser Permanente’s Notice of Privacy Practices (Flash) and describes what the different clauses really mean.

HCRenewal’s letter to the editor has some more points on this important topic.


Update on EDTA Errors

November 25, 2006

In my earlier post on EDTA errors, I mentioned a Pennsylvania case cited in the Pediatrics article about deaths due to improper use of Na2EDTA. Dr. Kimball Atwood at Health Care Renewal has more details on the Pennsylvania incident, where the doctor intentionally treated the patient with Na2EDTA.


Giving up Thunderbird

October 16, 2006

I gave up Thunderbird this past week, and redirected all of my mail to Gmail.

I used to have two different mail accounts within Thunderbird and a Gmail account for newsletter subscriptions. The idea was that I would separate my frequently read academic mail from my less-frequently read personal and bulk mail.

Over time, these distinctions blurred so that I was always checking all of my accounts in a cumbersome way. I wasn’t seeing any benefits from separating my mail accounts.

There are two proverbial straws that led me to dump Thunderbird entirely:

  1. Starting a few months ago, I began to spend more time away from my laptop. Where I work there are always computers about, so I used the webmail feature for each of my accounts. I found that A) I hated the squirrelmail-based interfaces, B) disliked having to check in three places, and C) lost the ability to easily keep sent mail.
  2. Over the past six months Thunderbird has become less effective at stopping spam. I wrote about this before, but my attempts to improve Thunderbird’s spam filtering just weren’t working.

I thought about these issues for a few weeks, and one day I just entered in forwarding orders to redirect each of my email addresses to my gmail address. I haven’t looked back since.

So far, Gmail has done a great job at spam filtering, missing about 3-4 messages per day. Thunderbird would miss at least 10 each day. The false positives have been boring newsletters I had opted in for but didn’t really want.

I have been surprised to find that I enjoy the conversation feature much more than I thought I would. It’s easy to keep my inbox only populated with the threads I want to hear about – everything else goes to Archive (or Trash.)

I didn’t feel the need to import all of my email into Gmail, but I had one folder that needed to get in there. For that import I used Mark Lyon’s Gmail loader. This was difficult for me to set up since my network provider requires SSL connections to the local mail server and blocks outbound connections to port 25. However, once I found a mail server/port combination that worked it was able to trickle messages from my old mailbox into Google Mail. Another problem that’s tough to fix is that the emails appear with the date/time they were received by Gmail, not the date they were actually composed.

I found some great customizations for Gmail, particularly Gmail Skins. I set it up so my Google Calendar is on the right for easy consultation.

It’s bittersweet to have moved away from Thunderbird, because I’ve been a huge Thunderbird fan since I ditched Microsoft Outlook in 2000. For the past few days, I have been reflexively hitting the Thunderbird icon and then realizing, after it finds no new mail, that I’m not using it anymore.


An Efficient Paper-based Medical Record

October 11, 2006

I finished my five-week pediatric rotation last week. I spent half the time on the floor at the local children’s hospital, and half the time in the pediatric ER. Definitely a great experience all around.

The ER is the first hospital location where I have worked that uses paper notes for the entire visit. Reportedly there are plans to change this in the next few months, so I believe I caught the end of an era.

I loved the efficiency of the paper-based system, but the downsides were difficult to read handwriting and poor transfer to the other layers of the form. However, these downsides highlight the reality of an ER visit — past notes are not that helpful. While past medical history is crucial, the history given by patients is often “good enough”. A significant motivator for computerizing the ER is that “good enough” is not sufficient when it comes to something like a critical allergic reaction discovered during a prior inpatient visit.

I believe we can learn something from all kinds of medical records, so here is a description of this ER’s system.

Read the rest of this entry »


rxvt/bash tab completion problem solved

October 11, 2006

I love using Cygwin. I enjoy having the funky little command line utilities and a colorful bash shell window. It’s also funny when someone happens to peek over my shoulder and thinks I’m “hacking into something” just because I have an rxvt window open.

However, I had this nagging problem for the last few months or so that I finally looked into:

bash_completion_error1.png

This resulted in a long and eventually successful investigation into the dry world of rxvt/Cygwin relations.

Read the rest of this entry »


Tragic medication error leads to death, public shaming

September 3, 2006

I just saw an article about a girl in Texas who died in March 2005 due to a similar-name medication error. Her family is running mobile billboards denouncing the pharmacy responsible. The family had been using stationary billboards for their message, but a judge’s order brought the billboard ads down.

According to the newspaper article, 2-year-old Alyssa Renee Rodriguez was treated in March 2005 for lead poisoning, and prescribed edetate calcium disodium. This drug has the brand name Calcium Disodium Versenate, and is often written “CaNa2EDTA” or just “Ca EDTA”. CaNa2EDTA is a common treatment for lead poisoning along with oral succimer, penicillamine, and British anti-Lewisite.

EDTA is “ethylenediaminetetraacetic acid” or “edetate” and is a chelating agent. Chelators bind to heavy metal ions, pulling them out of solution. Thus, EDTA compounds are used to treat acute heavy metal poisonings. CaNa2EDTA in particular is good for iron poisoning, and is listed by LexiComp as “possibly useful in poisoning by zinc, manganese, and certain heavy radioisotopes.”

Instead, the patient received edetate disodium (brand name Endrate, written as “Na2EDTA”) which is for hypercalcemia or digitalis-induced cardiac arrhythmia.

If given to a patient with a normal calcium level, Na2EDTA causes hypocalcemia. A patient with hypocalcemia will show muscle tetany, hyperreflexia, Chvostek’s sign (facial twitching if you tap CN VII over the ear), and Trousseau’s sign (carpal twitch after inflating a blood pressure cuff.)

An Aug 2006 article in Pediatrics discusses three cases of death from hypocalcemia due to edetate disodium. The first case occurred in Texas in Feb 2005, involving a 2-year-old girl. (There is a chance this is the Rodriguez case.)

The patient presented with a capillary blood lead level of 47 ug/dL. She was admitted and written a prescription for Na2EDTA, which was later corrected by a pediatrics resident to CaNa2EDTA. At 4pm, the girl received IV CaNa2EDTA as intended. However, the next morning at 4am her IV was re-hung with Na2EDTA. By 5am, her serum Ca dropped to 5.2 mg/dL (range 8.5-10.5), and at 7am her mother found her not breathing. At 8:12am she died despite full resuscitation efforts and repeated injections of calcium chloride. Labs drawn during the code showed a serum Ca less than 5.0 mg/dL. If you have access, read the article for more.

The other two cases in the Pediatrics article involve practitioners using chelating therapy for off-label uses. The second patient was a 5-year-old in Pennsylvania who received Na2EDTA to treat his autism. The third patient was a 53-year-old woman being treated for heavy metal poisoning by an ND (naturopath) in Oregon. Both of these could also be Na2EDTA vs. CaNa2EDTA errors, but it’s not clear since neither case presented in a way that most MDs would treat with any kind of chelation therapy.

The Pediatrics article has a great suggestion for avoiding this kind of error — don’t stock Na2EDTA. UpToDate notes “Chelation of ionized calcium, using sodium EDTA or intravenous phosphate, has the advantage of almost immediate onset of action. However, toxicity limits the use of these agents, and they have been superseded by the treatments described above.”

The pharmacy involved is Cardinal Health 109, which is a subsidiary of Cardinal Health, the medical supply giant headquartered in Dublin, OH. According to a Cardinal SEC filing, “109″ used to be Owen Healthcare of Houston, TX before it was acquired by Cardinal. Cardinal Health 109 contracts with hospitals to run their pharmacy services. In the article, the Rodriguez attorney claims that “Talks stalled when Cardinal Health 109 Inc. insisted the pharmacist and pharmacy technician not be sued individually.” Neither the hospital nor the physicians are a party to this case, although I imagine it is possible they settled individually.

I hope that hospitals with decision support systems put rules in place to prevent Na2EDTA from being dispensed to children without multiple MD/PharmD approvals. It’s possible that many already do. Is there a list of medications that are frequently restricted by hospital computer systems?


Psychiatry comic

September 3, 2006

I finished my psychiatry rotation last week. Happily, I didn’t get locked in the ward on the last day as Michelle Au did.

I’m still using Google Calendar. It’s quite useful for figuring out call and lecture schedules. The send-daily-schedule-to-phone feature is nice too. I didn’t use my Palm during psychiatry, so I haven’t managed the Google-Airset-Palm trick this month. I have noticed that there is a commercial product out for this task called CompanionLink.

Pediatrics is next. It is quite likely there will be no more posts here for five weeks — sorry, duty calls.


Post-coordination in SNOMED CT

September 3, 2006

In reading a recent debate on the HL7 strucdoc list, I saw the term “post-coordinate” but didn’t know what it meant. Post-coordinate is a SNOMED CT term for a piece of clinical text that requires more than one code or attribute to explain it. Of course, the term predates SNOMED CT and is used in controlled vocabulary circles to indicate cases where a set of codes is used to explain a single concept because the vocabulary doesn’t have a single code for that concept yet.

What they are talking about on the mailing list is whether a coding block for some text can use multiple codes to describe the text. In HL7, the Concept Descriptor (CD) type allows a “qualifier: LIST<CR>” attribute for this purpose. The Coded with Equivalents (CE) type is a restricted form of CD that does not include “qualifier.” The Data Types – Abstract Specification includes this example:

<value code="128045006" codeSystem="&SNOMED-CT;" displayName="cellulitis (disorder)">
      <qualifier code="56459004" displayName="foot structure">
         <name code="363698007" displayName="finding site"/>
      </qualifier>
</value>

So, why not use CD all the time? The problem is that it’s more difficult for a database or search program to compare a multi-valued field than a single-valued one. I’d be interested in seeing papers discussing methods for comparing multi-coded SNOMED CT values to each other.