Thursday, February 24, 2011

Putting the Lego Together

On Sunday I taught a workshop that used a lego theme to explain how IHE has the building blocks to create many different things.  Of course, the images rolled around in my head all week, and I realized what's really right about that analogy.  Anyone who is familiar with Lego Technic parts realizes that there are a limited number of different connector types, and that what really makes a design is NOT the connectors, but rather the shape of what the connectors are attached to.

The Chopper below illustrates the point.  You can find several pieces that have similar connectors on them, but if the shape of the peice where the connectors are was different, well, it just wouldn't be as cool a chopper as this one.

Red Technic Chopper Motorcycle by Mike Cummings

But all IHE tells you is the shape of the connectors, not the shapes of the pieces they are attached to.  That's what makes Lego (and IHE) so cool.  The shapes of the connecting components are standardized, but the rest of the piece can be custom made to fit.  Sometimes this makes it difficult to understand how to use an IHE profile, because it really is the shape if the pieces that inspires the use case and the profile, be it an EHR, HIE, RIS, PACS, Workstation, et cetera.

So what happens when we describe only the connectors is that sometimes the shape of the body to which they are attached is lost, or we don't understand how it works.  That's what happened today while I was talking to Arien Malec about his concerns about the scalability of the NwHIN Exchange using IHE's Cross Community Architecture. 

The XCA profile builds on the XDS query capabilities, and defines a transaction that looks almost exactly like an IHE XDS Stored Query transaction.  The only difference is that it has one additional requirement regarding the home community identifier that must be included in the metadata.  The whole point of this transaction is to support fan-out of an XDS query from a gateway to other  HIEs that might have information on a patient.

So, imagine that there's an HIE in Florida and one in Boston, and I'm the patient in Orlando.  I'm a visitor, and they need to get my records from Boston.  So, they query the gateway in Orlando, the gateway queries the HIE in Boston, and violla, they have my data.  So far, so good.  But the scalability problem that Arien is worried about has to do with the number of HIEs that query will need to fan out to in order to find me.  If they don't know to ask in Boston, and we have 100 or more regional HIEs, that query could go to every HIE in the nation, and only 1 out of 100 would return any data for me.  That's a LOT of wasted CPU bandwidth.

So, how does the XCA gateway in Orlando know who to ask?  Enter into the picture the Cross Community Patient Discovery profile.  This is to PIX/PDQ version as XCA is to XDS.  You can issue a query for patient demographics and get back a result listing the patient ids and their home comunity ids.  So, the XCA gateway issues an XCPD query, and it returns the home community ids where we know that patient has data.

This seems like a shell game, because we've just transferred the magic about figuring out who to fan out from XCA to XCPD, right?  Not really. 

One possible solution makes the HIE responsible for the patient's medical home responsible for keeping track of the care locations from which they recieved care, and make all care locations which treat the patient responsible for telling that HIE to associate the patient with their home community id.  This is one of the possible implementation mechanims that could be supported using by XCPD.  There are others, but I can't give away ALL the good stuff.

So, XCA without XCPD, potentially 100 queries to fan out to, of which most would be expected to fail.  XCPD has one query to perform, and then based on the results of that query, a query to each holder of records for that patient.

Wednesday, February 23, 2011

Blogging and Metrics and for Healthcare Social Media Enthusiasts

Healthcare Social Media is all the rage.  While I'm not a healthcare professional, I do have a few tips to offer those who are thinking about reaching out with Social Media and Blogging.  Earlier today I gave a short presentation to at the Social Media Center at HIMSS.  For those of you who missed it, here is a a partial repeat of what I covered, with extras that I just couldn't give in 30 minutes.

I gained a real appreciation for the use of metrics when the company that I worked for a decade ago decided that it was going to become ISO 9001 Certified, and also apply the Software Engineering Insitute's Capability Maturity Model.  So back when I started this blog, I immediately hooked it into Google Analytics.
Like all the tools I use, it is free.  Google can tell you quite a bit about what people are reading, and you can watch the trends and link them to events to give you some clues.  Here's a picture of the top part of the dashboard that shows page visit trends over time:


When I started this blog, I was writing a couple of times a month then quickly moved to around 2 times a week.  In June of 2009, about a year later, I hooked the blog up to twitter using http://twitterfeed.com/.  Everytime I posted, it now went to twitter.  Pretty quickly there was a small but noticable bump up in readership.  In July and more so in August of that year I made a concerted effort to post daily.  It was hard at first but I found ways to repurpose what I was doing for other things, which made it much easier. More content about doubled and then tripleed readership.

Do you see that sharp spike in the middle of the chart?  That was due to two posts, but mostly this one: Recognition. The Ad Hoc Harleys have since become some of my most popular posts, and that post broke single day and single week prior records by a clear margin.  It was helped by a viral e-mail push.  I hit as many e-mail lists as I could with that post, and in that time, that meant HL7, IHE and HITSP mailing lists.  I don't do that often, but for really important stuff I do.  At least 40 of Andrew's co-workers saw that post.

How do I know?  Google told me.  If I look at the stats on that particular post (View content by title), and then list by network Service Provider, I can often get a good deal of information about who is reading a particular post:

My own particular favorite sites that have hit my blog are these two:
I'm pretty sure I know what posts prompted these page views once I tracked down who works in this office, and the dates that they hit the blog.  If you click on the individual service provider, it shows a graph of when the hits occur:
That was two days after I wrote my first review of the PCAST report.

My next most favorite image from Google Analytics is this one:
When you click on the Map Overlay button in the Overview report, you get a bigger map.  Any colored areas are those where you have readers.  My goal is to someday see this map filled in.

Many of the features of Google Analytics are also available in Blogger or Blogger In Draft, if you use that as your blogging platform.  In Wisconsin, I have one hit in one particular city that I know belongs to John Moehrke before he turned scripting off in his browser.  I know he reads me more often than that.

What Blogger does is a little bit different.  It tracks hits at the server, which provides more accurate page counts but is somewhat less featured in capabilities than Google Analytics.  In my particular space, I'm seeing about 50% more hits through Blogger than Google Analytics can track.  John gets different results because his readers are often more security concious.

There's one little tidbit extra for blogger users.  When Google tracks the titles of your page in Blogger, the root page of your blog is just given the title. So http://motorcycleguy.blogspot.com/ has the title "Healthcare Standards", but the page for a single post is "Healthcare Standards: Title of the Post".  But I believe that most people hitting the root of the blog are there for the first post.  So, I have a bit of script that changes the title of that page, which means that Google tracks the title of the blog differently depending upon which post was first up.

There's two pieces of script code you need to add to your page's HTML.  In blogger, you would go to Design | Edit HTML, and then click on the "Expand Widget Templates" checkbox.  After the body element, add the following to declare a variable that gets used later.

The first goes in after the body element.

The second comes right before the div using the post-header class.  It checks to see if the variable has already been changed, and if not, fixes up the title.  Just remember to change "Healthcare Standards:" to the name of your blog.

This will change the title that Google Analytics uses to report on your blog when you use the Content by Title View, but won't have any impact on how it reports the URL for the page the reader hit.  That's a handy way to distinguish how they got to the page.

There's a ton more you can do with Google Analytics.  Read the documentation and play around.

The best Search Engine Optimization tip that I've learned from it is that simple names for blogs and posts are the best.  This blog is called Healthcare Standards.  Guess what is in the top spot in Google for that query?  Look also at the Meaningful Use Standards Summary.  I learned this when I realized how well my post on Clinical Decision Support was doing over the course of a year.  Now I conciously think about titles.  Sometimes I'll forgo a clever title for an easy to find one.

One last free tool that I'll mention is Google Web Master Tools.  That tool gives you great information about links to your blog, searches (most people find me using "motorcycle guy blog" as the query), and page rank.

Keep on blogging

   -- Keith

Tuesday, February 22, 2011

You don't have to imagine this nurse on a Harley anymore


Here's Joyce Sensmeier, VP Informatics of HIMSS on a Harley Sportster

And Here's another Ad Hoc Harley Award Winner Robin Rainford

And that is Ceasar Torres (@HIMSS) in the Background

Recognition

Now I know you are all expecting a report out on the Interoperability Showcase, and I promise one tomorrow, but today I have other things in mind.

Saturday night I attended the EHR Association annual dinner for the first time at HIMSS (usually I'm completely tied up at the Interoperability Showcase, but this year I wasn't).  This year the EHR Association recognized various of its members for some of their contributions to the association.  As Carl Dvorak, chair of the association put it, it seems a little bit like the high school club giving awards to its members.  I was pleased to be recognized with an award for interoperability along with several other association members for work in interoperability and other areas (more on that in a later post).

It got me to thinking a little bit about what it means to give an award, because of course, I do give one from time to time, and the requirements are pretty obscure for how I award it.  There's no set time line for how this award is given out, no nominations committee, and no unbaised judging.  I admit to it being completely arbitrary and of course, it only comes really with bragging rights and a pretty picture you can print out, unlike the EHRA awards which you can hang on your wall.

If you haven't already guessed it, it's time for another Ad Hoc Harley.  This particular award is going to someone who has been very quietly, but intelligently speaking on a number of interoperability projects going on around our industry.  Back in HITSP days, this person was my first choice for who to represent the Care Management and Health Records committee to the HITSP equivalent of the HL7 Architecture Review Board.  Recently, in the CDA Consolidation work, he's taken quite a bit of data from IHE, HL7 and HITSP specifications and shared it in a way that is remenicent of one of Robin's Eggs.  In a roomful of loud, forceful and often argumentative speakers, this particular person remains calm, cool and collected, and quietly pokes the holes that are needed into our best laid plans, just as quietly offers solutions.

His most recent works are a reflection on his harmonious and well thought out nature, which is a dead givaway if you've been paying attention.  For his efforts, I award the next Ad Hoc Harley to:

This certifies that 
David Tao of Siemens


Has hereby been recognized for outstanding contributions to the forwarding of Healthcare Standardization

Congratulations David, welcome to the blogsphere, and I hope to hear more from you in HL7, IHE and the S&I Framework initiatives.  We need more like you...

P.S.  This is the second time I've given the award to what some might consider a competitor.  If you walk down to the Interoperability Showcase to hall E, you'll find that unlike everywhere else this week, there are only collaborators in this venue.

Monday, February 21, 2011

Interoperability Workshop: Putting the Pieces together

I love teaching.  It's one of the most rewarding experiences in my job.  This morning (yesterday actually), I joined with Lee Jones, Bob Yencha, and Didi Davis to talk about how you can put the pieces together to build interoperable solutions.

Lee kicked us of with some great slides about what he calls the "Meaningful Frenzy".  There's several poignant slides of a pair of Sumo Wrestlers that really drive home some of the challenges we all have.

I followed up with a description of what a use case is, and talked about many of the Use cases we have already built interoperability solutions we call profiles in IHE.  After that, we walked through "Use Case 3" which describes an emergency room visit for a sore wrist by a 70-year-old woman.  Then the fun began.  I'm used to walking around the room to engage students, but the mikes were all wired, so I was stuck behind the podium.  But for the workshop portion of my talk, I needed to move.  Well, I can project pretty well, so I skipped the mike, and started talking.  The tech guys decided they needed to have me miked anyway (so they could record), and so they got me a wired shirt mike with a 40' cord.  Moving around on stage and back to the floor I got tangled up a few times.

Once I waqs wired, we picked out the important pieces of our use case:
  1. Identifying the patient
  2. Obtaining Consent to Share information.
  3. Referring the patient to a specialist (a cardiologist in this case).
  4. Accessing information from the patients prior visits.
  5. Reporting the results and sharing them with the patients GP.
Some of the IHE profiles that we talked about included PIX/PDQ [1], BPPC [2], XDS-MS, DSUB and MPQ [3], XDS.b and other content profiles.

I can understand why its difficult for people to put the profiles together.  All the profiles do is deal with transactions for a specific use case, to solve a single problem.  What people need to do is think creatively.

Here's a little experiment:  Take the seven profiles that I listed above, and pick two.  What cool thing can you do with those two together?  Let's look at PIX and BPPC.  PIX is how you send information from a Patient Identity Source (say a registration system) to a Patient Identity Cross Reference Manager (e.g., an MPI).  Now, suppose that registration is done through a kiosk, and there's a checkbox to get consents to share information and the patient's signature.  So, to create a new patient in the HIE, you can create an HL7 Version 2 ADT message, and send it from the Kiosk to the MPI.  Now, the MPI can look at a couple of fields in that message to determine what the patient consented to, and it can create a Basic Patient Privacy Consents document which it will register in the HIE.  So, just by putting these two profiles together, we've solved an interesting problem (I've seen a variation of this used in at least one HIE).

We did the same thing with the seven profiles I listed.  But the challenge for most people is putting these things together to make it work.  You have to be creative, and you have to know what the shapes do.  Once you know what the shapes do, you can create an endless variety of solutions.  IHE is to Health IT as Lego is to young engineers.

The rest of the presentation, which included details on another set of building blocks (templates in CDA), and steps beyond that can be found here.

   Keith

P.S.  If you are looking for me at HIMSS, you should be able to find me in the Interoperability Workshop at the Help Desk.  But I'll be late tomorrow.  Have to pick up the motorcycle first...

Saturday, February 19, 2011

A year in Review

Regular readers of this blog know that I organize my "standards" year around HIMSS and the IHE Interoperability Showcase.  The showcase is the culmination of a years efforts in IHE made real.
So, tonight is new year's eve as it were.  This evening I attended the EHRA annual meeting and dinner at HIMSS (my first time, though I've been a long time EHRA member).  ONC's Doug Fridsma was the keynote speaker, and he asked everyone at the meeting to e-mail him their updates on what significant has happened in standards this year.  As usual, I'm doing two things and using task to feed the blog monster as well.

There are a number of events that important to me personally this year:
  1. I finished writing The CDA Book (yes, CDA and CCD are now HL7 trademarks, and will soon be registered).
  2. I was elected to the HL7 Board
  3. I got a year off from HITSP-like activities (while I was involved in the Direct Project, John Moehrke led those efforts for my employer).
Other events are also important to me personally, but also affect other members of my country.
  1. The HITSP C32 was adopted as a standard for Meaningful Use, and includes work that I started on more than 5 years ago and advanced through three different organizations.
  2. HL7 Version 2.3.1 and Version 2.5.1 were also adoped for laboratory reporting and immunizations in the US.
  3. The Direct Project took off like a rocket, and included IHE XDM and XDR profiles in it.
  4. IHE USA was finally incorporated.
  5. HL7 has taken on some interesting new work and thinking in simplifying its standards.
  6. SNOMED CT and LOINC were also recognized in Meaningful Use regulation.
From an International Perspective:
  1. HL7 CDA moved to the "Entering the Plateau of Productivity" according to Gartner.
  2. IHE moved to the "Climbing the slope" according to Gartner.  The XDS map recieved over 100,000 hits in a year, showing the popularity of this profile, and interest in where it has been adopted (I'll bet you cannot point to any other resource that tracks any other HIE interoperability specification the way this map does).
  3. HL7 and ISO finished a joint ballot on the ISO/HL7 Data types, a set of standard data types for healthcare.
  4. CDA was adopted by ISO as an International Standard.
  5. HL7 released important draft specifications on Decision Support Services, Terminology Services, and electronic Quality Measures.
  6. IHE PCC created its first workflow profile: Perinatal Workflow.
  7. IHE ITI updated document subscription, and added multipatient query and cross community patient discovery.
So, that's my year in review.  If you want to see the outcomes, have a look at the Interoperability Showcase at HIMSS11 this year.  Quite of bit of what I described above is being demonstrated there, and most of it is in production.  If you want details, you can probably find me around the help desk this week.

   -- Keith

P.S.  If you cannot find me, it might be that you aren't looking for me in a suit.  It does happen, usually around this time of year.  Jacob Reider kindly provides proof:

Friday, February 18, 2011

Book Review: Information Retrieval: A Health and Biomedical Perspective

I just finished my first reading of the Third Edition of William Hersh's Information Retrieval: A Health and Biomedical Perspective (Health Informatics).  It's quite dense so I will have to go back through it again several times.  If you want to understand why computers, the web, and search engine technology haven't yet made evidence based medicine ubiquitous, you should read this text.

Bill doesn't spend much time explaining the mechanics of how to implement information retrieval systems.  For that, my well-thumbed favorites include Information Retrieval: Data Structures and Algorithms and Managing Gigabytes: Compressing and Indexing Documents and Images, Second Edition.  He mentions the former in chapter 1 along with several other texts.

What Bill does explain quite well are the challenges of Information Retrieval as it relates to the practice of medicine and medical research, and vice versa.  As I said, this was, even to one who is well versed in IR topics (having worked in IR and linguistics for 10 years), quite dense content, and full of usefull information and references.  Quite a bit of the book focuses on the work of the National Library of Medicine, including PubMed and MEDLINE.

What I found most disappointing in the book was the rather scarce coverage of Information Retrieval as it applies to the electronic health record, but I should not be surprised.  That lack is not Bill's fault.  It is up to our generation to apply IR technology to the EHR, just as it was up to prior generations to apply them to electronic text and the web.  Chapter 9 delves into some of the issues of Information Extraction from medical records, something I spent about 4 years working on in a prior job.  Coverage is a little bit thin in this area, but then again, some of the products that do this today in a very small way (tagging utterances in text) are only just now emerging into the medical marketplace, nearly a decade after I started working on them.

Bill is very well versed in his topic.  Lotka's law (see page 49 of his book) seems to hold if you look at the rather extensive (64 pages) of references that he includes in the back.  While I would certainly expect some bias towards his own publications, only Anonymous seems to be more prolific in this space.

Bill also writes a blog.  You can find him at Informatics Professor.  I usually find his posts to be worth reading and tweeting about.

   - Keith

P.S.  In the interest of full disclosure, Bill gave me this copy, just as I will be giving him a copy of my book.