Friday, April 17, 2009
Of Moon Shots and Progress
If you've been tracking what's been going on at the national level for the past five or six years, you are fairly aware of many of the things that have occured since that order, including the creation of ANSI/HITSP as a body selecting standards, CCHIT certifying EHR products, multiple NHIN projects demonstrating the ability of those standards to connect the nation together, HISPC activities to rationalize policy, recognition of selected standards, testing of those implementations, and their actual use in real world projects. The incorporation of much of what was championed by that executive order, and executive order 13410 which followed it into the HITECH legislation enacted under the America Reinvestment and Recover Act of 2009 is yet another significant step forward for all of us.
As we move forward, I've heard several complaints about the "lack of progress", the gist of which are that "we aren't there yet". We still have a ways to go before we are done, as was anticipated when this was originally outlined as a 10-year goal. We are at the mid-point of that goal, and I ask you to look at the successes we've already seen. Many of the HITSP specifications not just prototyped, tested, or piloted, but put into real production and use, and available in real-world products. We'll be hearing later this year from some of those HIEs in the real world who have already implemented HITSP specifications. This year, the CCHIT certification criteria includes several HITSP specifications for the first time. I fully expect to see numerous systems that have already demonstrated their ablilty to implement HITSP specifications become certified for the first time.
NASA took six and a half years from Kennedy's commitment to land men on the moon before the first unmanned launch of the Saturn V rocket into low earth orbit. HITSP's managed to accomplish a similar feat in only 4 years since it's inception.
So in response to "Are we there yet?" I answer "No, we are about halfway, but be patient. We will arrive in due time."

Tuesday, April 14, 2009
What is HITSP Doing?
HITSP has been asked by ONC to produce an interoperability specification to support the needs of that office in obeyance of the ARRA law. The accepted publications produced by HITSP to date (those referenced by IS01 through IS12 and IS77) are expected to be used within this specification. The end result is intended to be a simpler publication that addresses the interoperability requirements needed for meaningful use of EHR systems.
As a result, HITSP has formed five tiger teams to quickly produce this information for the HITSP Panel approval by July 15th. The tiger team leadership was selected from existing HITSP Co-chairs and Staff, and approved by John Halamka, chair of ANSI/HITSP. We recieved notification today of who was selected to co-chair the teams.
The five tiger teams are:
| Tiger Team | Cochairs |
|---|---|
| EHR-Context IS | Manick Rajendran, Eze Care LLC Corey Spears, McKesson Mike Nusbaum, HITSP |
| Data Architecture | Don Bechtel, Siemens Keith W. Boone, GE Healthcare Don Van Syckle, HITSP |
| Exchange Architecture and Harmonization Framework | Steve Hufnagel, DOD Mike Lincoln, VA Ed Larsen, HITSP |
| Security and Privacy | John Moehrke, GE Healthcare Glen Marshall, Grok-a-lot Jonathon Coleman, HITSP |
| Quality Measures | Floyd Eisenberg, NCQA Lori Fourqet, HITSP |
The EHR-Context IS team will be developing a new implementation specification, focused on the EHR.
The data architecture team will be focusing on describing the information requirements of interoperable exchanges used by the new IS.
The Exchange Architecture and Harmonization Framework team will be addressing the exchange services and underlying base standards used by the new IS.
The Security and Privacy team will be addressing the Security and Privacy services needed in interoperable exchanges used by the new IS.
The Quality Measures team will be addressing how to exchange quality measures in the new IS.
This is all happening rather rapidly, and new information is coming to light daily. Calls will be held tommorrow and Thursday to kick off the new work for each team. If you are interested in participating in any of these teams and are already a HITSP member, I urge you to contact the leaders of the technical committees that you are a member of to see where you might best assist. If you aren't a HITSP member but want to contribute, please see http://www.hitsp.org/membership.aspx, as we would welcome your assistance in this new work.
I'm especially urging those with experise in data elements used in HL7 Version 2, CDA Release 2, NCPDP and X12 standards, as well as those with expertise in vocabulary, including SNOMED, LOINC, RxNORM, et cetera to participate in the Data Architecture tiger team.

Thursday, February 26, 2009
Connectathon Day 4

Wednesday, February 25, 2009
Connectathon Day 3
So, now it is 9:04, and time to reset the network connection for the connectathon.
Just to give you an idea of the processess I have running on this laptop for connectathon:
- Microsoft SQL Server -- Hosting a database I have containing a lot of standards information.
- Oracle SQL Server -- Hosting my EHR application's data
- 2 different Copies of Eclipse -- One used for the web services I'm testing, the other used for interfacing.
- My favorite XML Editor -- which supports XSLT debugging and Schematron validation. I do a lot of both. I used to work with one of the the co-chairs of the XSL workgroup in the W3C, and in the office next to an author of XPath. It has an Eclipse plug-in, but I've found I run out of memory in Eclipse a lot sooner if I use that.
- Acrobat Standard -- Viewing the IHE profile and some JSTL documentation
- A web browser (with about 3 tabs open) -- Connected to NIST's CDA document validator, this blog, and the IHE PCC Web page.
- Microsoft Word, Outlook and Excel -- more documentation, my e-mail containing various connectathon communications, and a spreadsheet I'm using to track testing.
I upgraded the memory from 1Gb to 3Gb last year just so I could get through testing without waiting forever for processes to swap.
9:22 Hmm, I seem to missing some data. Ah, it's the Change proposal we applied this year to address sections that have nothing to report (e.g., no allergies). Need to go fix that.
9:45 "Does a section require a title?" gets fired at me from a connectathon monitor. "Yes, I believe so, let me look it up... wait is this a section defined in CCD?" "Yes." "All CCD sections require a title." However, I note that we need a Change proposal for the PCC Technical Framework to include that requirement for all sections it defines, because not all of them come from CCD.
9:46 "How many PIX consumer tests do we need to do?" "Three." "Ok, I've already done two, I'll go work with ...", "Nope, you can do that later, go work with ... to get them going."
9:50 Overheard: "I basically blew up vendor A's actor B because I didn't have an (indecipherable technobabble)"
10:15 I've usually done this weeks in advance, but this week I'm still writing code for my stretch goal. You aren't supposed to be doing that at connectathon (as one of my mentors observes). However, in my own defense, I was going to drop this profile. Someone asked me to stay in so they can get credit for it. I've been in similar situations before, so I'm going to do what I can.
12:12 Over lunch we discuss the structure of the Public Health Alerting scenarios for the demonstration. The CDC is obviously very interested in this scenario.
1:13 I argue HITSP terminology changes with one of my co-workers. I like simple words that engineers already understand. He thinks that other terms are better. We agree to disagree.
By mid-day, I have my stretch goal done (with one retest required). Since it's a CDA document, and I helped write the profile there's a lot of laughter that I got failed the first time through. Read the free manual...
2:02 This afternoon it's time to do T81 (InfoButton testing) for the public health alerting scenarios. I wrote the test spec, so now I have to follow it. But... but. There's some things I forgot about when I wrote it back in November. We'll deal with that tomorrow. For now, I just update the argument table and resend.
2:45 One of my test partners for this test just got back. He had to take a call (common), and also hadn't realized that connectathon is a casual dress event (unless you are a docent for the connectathon conference which was yesterday), so came back in his jeans. We test our scenario. After about ten code changes (most on my side, and a couple on his), we get it working. It took all of fifteen minutes. We both mispelled Notificiation the same way, but I had corrected it earlier when starting my T81 testing. On my side, it was a copy and paste error from the spec I wrote several months ago. I fix the spec too.
3:43 An engineer asks me what value should go in a particular message. It's in a profile I don't know, so I ask him what the profile says. "I don't know". Well, read the profile, then ask me... I follow up with him later to point him to resources that will know if he's not able to figure it out.
5:00 Time for the HIMSS demonstration meeting. I listen in from the other end of the hall. Technically I'm supposed to be there, but someone else is covering for me, and its the same sort of thing that I've heard countless times before. We also see again the unveiling of the dreaded scenario spreadsheet that will likely be updated several times before the end of the week. It's pretty solid by now so I need to look at it.
7:20 Still here, working through some other problems. One of the systems that we've been having problems with all week was misconfigured. The engineers worked it out and are on to the next issue...
Dinner tonight is at Brasserie Jo. They have a nice collection of Belgian beers, and some interesting food. I had the Shrimp Bag. It's shrimp and vegatables in a lobster sauce, wrapped in Philo dough and baked. Yum!
2:29 AM. Time for bed. Need to get up for an early Domain cochairs meeting.

Tuesday, February 24, 2009
Connectathon Day 2
Afterwards, it's back to the room to catch up on the day's e-mail and current projects. This year my room has a wired rather than wireless internet connection. That's a bit of a bother -- I'll have to undo and redo my connectathon network configuration all week. I find myself thinking about how amazing it is what technological advances we take for granted. Five years ago, I might have had to check for internet access at all, now I simply assume it will be there and be wireless. It gives me hope that similar things can be done in healthcare.
Something I learned previously about Chicago, but which I forgot is that there are two Wacker Drives, one going East-West, and the other North-South. Unfortunately, there is a Hyatt at each one. I wound up at the wrong place this morning, but it was quickly fixed once I looked up from notes I was scribbling.
My morning winds up being filled with mostly hallway conversations. I get one person signed up to list out standards used in IHE profiles I don't know for some internal work. My manager is here today attending the connectathon conference, and we chat briefly.
At 9:20 I remember to reset by network configuration.
I have a chat with some test developers from NIST on XDS-MS content that was generated. It's missing some key pointers preventing it from being imported using one of the profile options. I track down the developers and give them some guidance on what they need to do to fix it.
I run into someone who wants to talk about SOA. We figure out what context the discussion comes from (HITSP, HL7, IHE or fill in the blank), and talk briefly about how IHE profiles are in many ways services in the SOA sense.
I connect up with a potential testing partner for one of my stretch goals and promise to create some content for one of the tests they would like to pass by tomorrow.
I go over the need for TLS in the ATNA profile with another small group, and explain that now is not the time to complain about how the profile works. If you've signed up for the test, you need to pass the profile as written.
I work with one of our teams to resolve a blocking problem. The solution seems to be nearly in hand, and we work with the product team to run a different set of tests while that problem is being resolved.
It's 11:20, and I have yet to run a single test of my own. Fortunately for me, these are not critical, but my testing partners would like to pass also...
At 11:46 I open 6 tests which need live monitoring. Got into a discussion of grouping between two profiles, so I pulled up the PCC wiki describing one of the profiles and its grouping with other IHE actors. After another 20 minutes of dicussion, we've just identified another place that needs clarification. Now it's time to track down a monitor for the tests I opened 15 minutes ago.
It's 12:22, and we just finished verification with the monitor for all transactions in one of the profiles I'm testing, with all of my partners. Day two and the second profile is done, including the HITSP testing. This one was easy because of the way the profile was written, and the small number of actors needed to complete the testing. Other profiles are more difficult to get to this point with. Time to go to lunch.
Back from lunch at 1:12. Over lunch I encouraged NIST to send some of their testing resources to HITSP meetings, just like MIR does with IHE. They are already planning to, which is a good thing. It will help us get the tests done sooner, with fewer questions.
I start looking into what's needed for my stretch goal tests.
At 1:39, I work through another problem with another engineer. When we reconfigure the system, we also need to reconfigure some message parameters. He's working on the fix.
At 1:53 we are tracking down resources back in Boston to help with a .Net permissions problem for one of the assemblies.
Ten minutes later, I'm back at my laptop still trying to get 10 solid minutes to get my stretch test started...
Two minutes into that, I get a question from another vendor about how to set up Tomcat with Certificates for ATNA testing. I point them to the ATNA FAQ on the IHE Wiki.
I checked in with the engineer reconfiguring the message parameters. He's on to the next problem.
A few minutes later, and I've had to stop again. This time to track down a networking problem with one of the systems. It isn't accepting requests from outside. I've verified that I can see it on the network. I start up Wireshark (a packet sniffer should be in the toolkit of every engineer coming to connectathon), and verify that the connection request is being immediately reset at the server end. We verify the network configuration on that system, and check all settings. The network settings were recently adjusted, so we reboot. That didn't clear the problem. Time to call technical support for the product to see if they can help.
Meanwhile, today is the day of the Connectathon conference. This is the time when C-levels in suits come to hear about what all the folks in jeans and sneakers are doing downstairs. As part of the conference, they come get a tour of the connectathon floor. The noise level just escalated by about 10-15 db as they arrive for the tour.
It's now 3:28 and I'm still working on this one test. I've made substantial progress, but since I updated some of the web services that the system used to use to get the information, I need to update some assemblies to use the new WSDL. It's just a change in the name of the message, so a few minutes later, I should be able to redeploy and restart the service.
At 3:53, I've just fixed a number of other areas where the HL7 2008 schemas is stricter about the values they permit. Some of these values had defaults in the old schema which aren't present in the new one. I've fixed my code to set the correct values, and think I'm about ready to produce the Immunization (IC) document from the QED data stream. Time to take a quick break to see how folks are doing with the networking ... Nope, it's still spelled notworking.
Checked in with one of the connectathon monitors. His work of reviewing the content for the PCC profiles is almost completely done except for some stragglers (e.g., me for one). We seem to have gotten to the point that people are understaning how the PCC Technical Framework is designed. Last year, they were still reviewing a significant content on Thursday and Friday.
At 4:41 I head back from the engineer with the notworking network; tech support found our problem. We were binding to localhost, instead of the IP address on the port. While I knew it had to be something like that, I didn't know where in the application that was configured. It's not what you know, but what you know how to find out. Suggesting that we call support was the right move. Now that I know the symptoms, I'll spot that one sooner, because I'm sure it will happen to someone else again.
I check in with our teams before the end of the day; the results are mixed. We are doing much better this year than last. That seems to be the general sense of others as well. Time for a glass of wine.

Monday, February 23, 2009
Notes from Connectathon

Today starts the week-long event known as the IHE Connectathon. This year, I thought I'd keep a little diary of how the event goes, and post it in my blog (which I've been ignoring as I prepare for this event, and run to various standards meetings).
The Connectathon is held in downtown Chicago these days. Gone are the days that we fit into the basement of the RSNA garage. Usually the connectathon occurs in Janaury in the middle of Chicago winter. We got a slight reprieve this year because of show schedules. There are more than 120 systems here, and about 350 engineers testing, many of them new to the event. Tens of thousands of transactions will be tested and verified by the end of the week.
You can tell the new people from the old by how well they know their way around. There's a lot of new people here this week. I also see a lot of old faces this week, and get some time to catch up.
After I register and get my nametag, I dig out the "Troublemaker" badge I've now recycled for four standards meetings and apply it. I immediately get rebuked by the lead security testing monitor for the event, who has more of these badges she intended to use to identify the security folks. Don't impersonate a security person I'm told. I tell her to read the badge, she laughs and we move on.
My first real step of the day:
Unload the laptop, plug it in to power and network, and log into KUDU to download the HOSTS table.
Second step:
Read the tests I'm signed up to do (I should have done this earlier, but I'm taking a few liberties due to HITSP meetings last week).
Step three:
run net time /setsntp:time-a.nist.gov and fill out details for completing my first test. The monitor came by in record time and I passed that test. One down, twenty to go.
Now it is time to reboot and actually connect to the Connectathon network using my assigned IP Address.
After an hour into testing, I've already verified connectivity with two systems, spotted some code I forgot to write to enable TLS (it's the client side, which I wasn't planning on being critical, but am now the only client for this profile). Fifteen minutes later, after reading the ATNA FAQ (which I wrote about four years ago because I have a lousy memory), TLS is enabled and working. I've verified that I can query one of the two systems I need to talk to, but still have some things to do because I didn't catch everything I should have testing with an internally developed system.
I've already seen and/or participated in the vendor-A engineer sits down to help debug vendor-B's system twice before lunch, and know it's going on elsewhere while I'm doing my own testing.
During a brief lunch break, I impersonate a security monitor (at the table where they are all sitting).
After lunch, working on a profile with someone else, we discover a need to create a change proposal to the profile we are testing to help clarify something that is obvious to the profile editor (me), but not to the reader (my testing partner). Rereading it now, it's pretty clear reading it needed to be better specified, but that's part of why we are here.
This will NEVER happen at a customer site, but after lunch I overheard a discussion between two vendors: "I talked to the guys back home, and we've identified the problem. The fact that we're sending you a (undecipherable techno-babble) is definately our fault. We'll be fixing that shortly."
I made a bunch of notes for myself before lunch. I'm going through my system to verify that I've done everything in those notes.
Later I sit down at a different system and help someone work through a problem.
While headed out to check on something, I ran into one of the two CCHIT folk who are here this week. They are acting as monitors to get an idea what real-world testing looks like at the IHE Connectathon. They'll also get a pretty good idea about how "shovel-ready" these profiles are for EHR interoperability, and for placement on the CCHIT roadmap.
The head guy in charge comes by and asks if anyone around knows anything about VMware. I speak up and head over to another system to help someone connect to the network. It's fairly common here to run applications in VMWare for testing purposes, since development and deployment environments are very different. Sometimes the configuration can get tricky.
By the end of the day, we've figured out all of our problems on the one profile amongst the three of us that are testing it, verified that we are sending the right values back, and are ready to run the test. Unfortunately for us, this test is live proctored, and the monitors have just been released. That's not a huge problem. We'll be done with this profile tomorrow, and I might even get to take on some stretch goals this week.
Tommorow is day two. Time to pass a bunch of tests. On the way out, I check in with the fellow that was having VMWare issues, and he's on to the next stage, having gotten past those.

Friday, January 9, 2009
Public Service Announcements
Next week, the Healthcare Information Technology Standards Panel (HITSP) will kick off its 2009 series of webinars on interoperability in healthcare information technology (HIT). The 2009 webinar series will commence on Thursday, January 15 from 2:00 p.m. to 3:30 p.m. with an introductory session that will be hosted by Dr. John Halamka.
| Mark your calendars! HITSP’s 2009 webinar sessions will |
IHE Connectathon Conference
Driving Change through Health Information Exchange
Feb. 24, 2009
9 a.m. - 4 p.m. CT
Hyatt Regency - Chicago
151 East Wacker Drive
Members of the healthcare community are invited to attend the third annual Connectathon Conference, a one-day event including a luncheon and tour of the IHE Connectathon. The day will include presentations by leaders in driving the adoption of electronic health records, personal health record systems and national health information networks. Attendees will also learn about IHE's support for these critical improvements in healthcare and receive an introduction to the IHE interoperability testing process. The IHE Connectathon is the healthcare IT industry's only large-scale interoperability testing event. More than seventy healthcare IT organizations, have registered to test over 130 systems at this year's event. Attendees will have the opportunity to observe the Connectathon as it takes place and learn about its significance in enabling the connected health system.
Registration is limited. There is a fee of $150 each for conference attendees.
- Click here for online conference registration.
- Click here for information on hotel reservations at the Hyatt Regency - Chicago.

