The CDA Book is now SHIPPING from Amazon! See here for Errata

Friday, February 17, 2012

On the ICD-10 Delay, ICD-11 and SNOMED CT

I was asked what I thought about the ICD-10 delay on twitter yesterday, and it is the topic of an #HITsm chat today. Tom Sullivan over at Health IT News writes about how this might set the stage for use of ICD-11. I wrote about ICD-10 and ICD-11 and SNOMED CT a few years ago.  In response to that post, Chris Schute at Mayo, who is also the ICD-11 Steering group chair told me about how they planned on ensuring that ICD-11 would be linked to SNOMED CT.  Details are in this 2008 report to NCVHS. You can even read about it on Wikipedia:

SNOMED CT is currently used in a joint project with the WHO as the ontological basis of the upcoming ICD 11.

Now I have to tell you, I'm of two minds about the whole idea.  Because of the timing for ICD-10, Health IT vendors have invested quite a bit of effort into it already.  A lot of that work would need to be tossed out and redone.  Not so much for field widths, but dealing with mapping, lookup, et cetera.

On the flip side, using an ontology for billing that is strongly linked to one that is used for providing clinical care will (I believe) really improve care.  It would also provide for much greater interoperability between clinical (e.g., EHR and CDS) and revenue cycle management applications.  And there's the whole "quality measurement" set of issues regarding EHR vs. Abstraction workflows that we were discussing yesterday in the Clinical Quality Workgroup that could be dramatically improved too.

The idealist in me shouts "Yes! Let's use ICD-11".  The pragmatist in me says (more quietly) to move ahead with ICD-10, perhaps a bit more slowly because of all the investments made by organizations thus far. Right now, the idealist is winning, but my guess is that he's likely to be disappointed.

The benefit of being of two minds on this topic is that no matter how it turns out, I'll win.  The disadvantage is that no matter how it turns out, I'll also lose.

Thursday, February 16, 2012

Clinical Quality Workgroup

Today was my first call as a member of the Clinical Quality Workgroup of the HIT Standards Committee.  This work group is chartered with:
  • Recommending technical standards for eMeasures
  • Recommendations for Managing the Quality Measure lifecycle.
  • Improving Usability and Integration of quality measures into healthcare processes.
  • Suggesting how to link e-Measures with Clinical Decision Support
  • Identifying Responsible Stewards for eMeasures and their components
Much of today's discussion in the workgroup was around our charter, and the eMeasure life-cycle depicted below.

This looks a bit like a waterfall development model.  I raised the issue that quality measurement really needs to be built-in with the definition of the process (the clinical guideline) whose outcome you are trying to measure.  A number of other work group members echoed my concerns.

One of the members of the workgroup pointed out that the current processes for developing quality measures today are developed around the abstracting paradigm, and that when you re-architect them to support an EHR-based paradigm, the definition of what you are measuring will likely change.  Both measures might achieve the same objective, but would not necessarily be comparable.

An issue that we didn't get to talk about was how this workgroup, or HITSC would better communicate it's needs around quality measures to the relevant SDOs which are actively working in this area. Fortunately, those organizations are very well represented by members of the workgroup, including HL7, NQF, S&I Framework/Query Health, IHE, ISO, and others.

The workgroup is dividing up into two tiger teams.   One is tactical, and that is where much of the work I've been doing on Query Health and HQMF applies.  The other is strategic, and really focused on the overall process, which is where I have a great deal of interest.  As the ONC rep put it, you can be on as many as you like, just remember that you are the one who will be aware of the impact it has on your calendar.

Oh well, I guess that anything worth doing, is probably worth being double-booked for.

    Keith

Wednesday, February 15, 2012

It's all in the Timing

Timing is everything, but there are times when you just have to recognize opportunities.  I got a call from the School district two weeks ago.  It was one of those automated calls used to alert parents about school meetings and activities affecting the district.  Buried in the details of this call was a meeting to discuss how to develop a sustainably healthy community in our town.  It was a morning meeting, but I could miss an hour or so of morning time, and make up for it at the end of the day. It sounded interesting, and I was seeing some opportunities there, So my wife and I RSVP'd.

I started a little bit of digging to learn more, and found out that it was the quarterly meeting of Massachusetts CHNA 20.  I also learned that my town had been awarded $3,500 by the CHNA for a Health Literacy project.   Of course I have my own ideas about what a Health Literacy project should look like.

I shared them with my town's public Health nurse, and also with my local hospital's community representative (she's working with several other regions on similar projects).  So now I've been invited to another meeting tomorrow to learn more about my town's project.  And all of this comes just days before HIMSS, where I might actually be able to connect with some of the luminaries that I know who might be able to help me with this.  Talk about great timing!  W00T!

OK, back to the PC Swap just before a vital demo at HIMSS (Talk about miserable timing!)

   Keith

Tuesday, February 14, 2012

Demonstrating Queries for Healthcare

I started actually writing the code yesterday for the Query Health demonstration at HIMSS next week.  I've been working on getting the model right for HQMF up until just before the IHE meetings last week, and have been playing with the I2B2 Demo system available on the web.  I've spent quite a bit of time THINKING about how to put it together, and now I've actually got some of it working.

The point of this part of the HIMSS demonstration is to show that it is easy to take the I2B2 query builder and generate HQMF from the I2B2 Query format.  One of the nice features of the I2B2 query building tool is the way you can use the <> button to see the messages that are being exchanged between the different services in I2B2.

Each I2B2 query is made up of panels.  Each panel is the logical OR of the criteria in it, and all the panels are logically ANDed together.  Each panel can be limited to a date range, which becomes the <effectiveTime> element on the criteria elements if present. Panels can also be toggled to exclude items that match their contents.  See the example below for how I handle that.  The I2B2 query interface doesn't deal with quality measure concepts like numerator, denominator, et cetera.  It just counts things that match, so all you really have is the <patientPopulationCriteria>.  A typical I2B2 query will be in the form:

<patientPopulationCriteria>
  <!-- top level preconditions represent contents of a panel -->
  <precondition>
    <atLeastOneTrue>
      <!-- Inner preconditions are for each item in the panel -->
      <precondition>
        <observationReference><id .../></observationReference>
      </precondition>
         ...
    </atLeastOneTrue>
  </precondition>
  <!-- Eliminate nesting if only one item in the panel -->
  <precondition>
    <observationReference><id .../></observationReference>
  </precondition>
  <!-- If panel excludes content, invert logic using allFalse -->
  <precondition>
    <allFalse>
      <precondition>
        <observationReference><id .../></observationReference>
      </precondition>
          ...
    </allFalse>
  </precondition>
    ...
</patientPopulationCriteria>


When run in I2B2, the query can return the set of patients, encounters, count of patients, with breakdowns by Gender, vital status, race and age.  It can also produce a timeline. I'm not dealing with returning set of patients or encounters, or timelines.  The breakdowns by gender, vital status, race and age are all what I've now called <stratifierCriteria> which enable counts to be reported by the different stratification criteria. I'm going to try to hook that up, but later.

For the demonstration, we are using the I2B2 sample ontology. Each item in each panel also has to be represented in the <dataCriteriaSection>  as a simple criterion over some part of the model.  Depending on where you are in the I2B2 ontology, that will map to a different part of the model that we are querying against in the generated HQMF.  At the top level, the I2B2 sample ontology includes:

  • Clinical Trials
  • Custom Metadata
  • Demographics
  • Diagnoses
  • Expression Profiles Data
  • Laboratory Tests
  • Medications
  • Procedures
  • Providers
  • Reports
  • Visit Details
The code I'm working will only support the components of the ontology in bold above, and only the italicized parts work right now.

Demographics expands into the following categories, which I map into <observationCritieria> using SNOMED Codes.

  • Age 
  • Gender
  • Income
  • Marital Status
  • Race
  • Religion
  • Vital Status
  • Zip Codes (misnamed)
Age is a bit weird.  The I2B2 ontology computes age based on the birth date and the mean Julian year (365.25 days).  This makes working with SQL easy, because you don't have to do fancy arithmetic for age ranges (and age ranges are also limited to being in units of years).  However, date arithmetic may be handled differently by the various implementations (Java and .Net have decent support for date math), while other systems may need to use Julian date arithmetic like I2B2 does.  I simply map the age ranges in the ontology to physical quantities of time, and that way, the implementation can decide how it will handle its date arithmetic.

For other parts of the ontology, I'm using the vocabulary from the I2B2 sample right now. When you get selective enough in the ontology, you can find a specific code in ICD-9-CM (Diagnoses and Procedures), LOINC (Labs), or NDC (for medications).  To get to the codes, my transform needs to access the ontology cell through the I2B2 web services.  For the demonstration, I'm pulling the XML I need from the service calls into local files on my system and accessing them using the XSLT document() function I wrote about in an earlier post.  Later I will access that through a RESTful web service also uses the document function.

Where it gets challenging is when you've not been specific enough (e.g., Hemoglobin, as opposed to HGB A1C, or a drug name such as Metoprolol vs. a specific NDC package code).  What I intend to do here is build a service that creates a value set based on an item key from the I2B2 Ontology cell, which enumerates all the coded values beneath it.  That's just another web service using IHE SVS that uses the I2B2 Ontology services to find the value sets.

Here's the release on the demonstration that this will be part of...


 NeHC University

A Message on Behalf of the
Standards & Interoperability (S&I) Framework
Query Health:  Distributed Population Queries
Query Health is an Open Government Initiative that is establishing the standards and services for distributed population health queries.  Query Health standards will be used to send questions to clinical data sources which return aggregate measures of population health that can be used for many purposes including disease outbreak monitoring, post-market surveillance, comparative effectiveness research, quality and performance measures. 
Query Health is pleased to announce the commitment of leading healthcare organizations to pilot the Query Health standards and specifications.  Query Health also plans to present its progress on proposed standards and reference implementation at the HIMSS conference in Las Vegas, February 20-24, 2012.  And in an unexpected twist, Query Health standards will deliver potential benefits beyond the scope of distributed population queries. 
Announcing the first Query Health Pilot
Today, Query Health is announcing that the Primary Care Information Project (PCIP), within the New York City Department of Health and Mental Hygiene, and the New York State Department of Public Health have announced plans to pilot the Query Health standards and reference implementation. PCIP recently won awards for their work on distributed queries including the 2011 HIMSS Public Health Davies Award of Excellence and Healthcare Informatics first place Innovator Award. They will be using Query Health standards to expand their existing population health monitoring network from an existing 1.6 million ambulatory patients to encompass citywide HIE organizational coverage of both inpatient and outpatient encounters. This enhanced system will support optimal allocation of limited public health resources.
What will be shown at HIMSS?
ONC will host a demonstration of Query Health’s progress on the reference implementation including a live demo of distributed query execution.
  • ONC Booth Theater on Wednesday February 22nd at 9:45 AM
  • HIMSS Interoperability Showcase Stage on Thursday February 23rd at 9:30 AM
Are there benefits beyond distributed population queries?
The path for a quality measure today is measured in years from the time of measure definition to delivery in vendor systems and deployment in EHRs.  Want another quality measure?  Wait several years.
In collaboration with HL7, NQF and CMS, Query Health standards will enable Health IT vendors to dynamically respond to queries, including queries that align with quality measures.  So assuming the data is being captured, the cycle time could go from years to days. 
The ability to generate measures nationally in a short cycle time has powerful benefits for patients, patient populations while enabling researchers and healthcare organizations to substantially reduce costs and increase speed.
What is Query Health?
Query Health was launched September 2011, with approximately 100 committed member organizations representing diverse healthcare stakeholders contributing to the project. 
Today, when health researchers develop questions about a population, in many cases they manually pose these questions to care delivery organizations, which employ technical teams to manually generate queries and produce reports. Even where distributed queries are automated, the costs and time to link each data source are unacceptably high.  The Query Health Initiative will make this much more efficient: the question can be delivered in a format that will be interpreted automatically by an HIT system. The HIT system will then generate a report with the “answer” to the query.
Questions can be sent to many different types of data sources including providers’ EHRs, payers’ clinical records, personal health records and health information exchanges.  Decisions about which queries to process are under control of the data owner and the aggregated results protect patient level data, which remains safely behind data owners’ firewalls. 
For more information:
For more information on Query Health initiative, visit the Query Health website http://www.QueryHealth.org or contact admin@siframework.org.
The authors:
Michael Buck is the clinical work group leader for Query Health and director for the NYC/NYS pilot.  Dr. Buck is also Biomedical Informatics R&D Manager at New York City Department of Health and Mental Hygiene and Adjunct Associate Research Scientist at Columbia University’s  Department of Biomedical Informatics.  Rich Elmore is the ONC Coordinator for the Query Health Initiative.



Monday, February 13, 2012

Trends in HIT Innovation: Monday 2/13 1 pm EST


HealthIT.gov

Trends in HIT Innovation: Using Data to Design Solutions to Community
On Monday, February 13, 2012 at 1 p.m. EST, National eHealth Collaborative's NeHC University will continue with a new installment of Trends in HIT Innovation, a program that was kicked off by HHS Chief Technology Officer Todd Park last November. For this program, representatives from Health Indicators Warehouse and Network of Care for Healthy Communities will join NeHC to discuss their innovative online data tools that allow stakeholders to access comprehensive population health data quickly and easily. Each speaker will give an online tutorial of their platform and illustrate the numerous benefits these programs have both locally and nationally.
We invite you to register and join NeHC University's Trends in HIT Innovation.




Ce Que Nous Avons Ici, c'est un Manque de Communication

I spent the last week in Paris.  The entire week presented interesting challenges in communication.   I read French much better than I speak it (As far as my French accent goes, I believe that the French do have a word for it, but I'm also pretty sure that it is unprintable).  My wife has this uncanny ability to hold entire conversations with barely a few words of French (also Spanish), an incredible expressive face, combined with a willing confidence to make the attempt without being embarrassed of her lack of skills.  This is something that my eldest daughter has also learned.

So, I was quite able to enjoy a few days after the IHE meetings in Paris with my family, who I had brought with me.  We ate French food, got around on the Metro and RER, and saw many sights.  While I was in meetings earlier in the week, my family spent time with my mother and her boyfriend, who had decided to join us in Paris.

Over the course of the week, I had several different kinds of encounters where communication was paramount.  On Friday, after visiting the Musée d'Orsay we headed to the Metro to return to our hotel.  A elderly woman passed out and rolled down half a flight of stairs as we watched in horror a few people behind her.  Two people stopped to help her.  I ran into the Metro station and notified the attendant at the information desk.  My miserable French expression of "D'Urgence!" didn't help, but she understood me when I explained in English that a women fell on the stairs and called the French equivalent of 911.  My mother, eldest daughter and wife had also sped off in three other directions and also ensured help would arrive, if with some difficulty.  While none of us spoke French, we communicated.  It was a proud moment for me.

On the plane back to the US, one of the stewardesses had no French (she couldn't even say "Je ne parle pas France"), and was very challenged by two young boys who were clearly gaming her inability to speak any French (They clearly knew some English, as later they spent a bit of time exchanging French and English expressions with my two daughters sitting close by).  I was appalled at her behavior.  She had taken the approach that if you spoke English simply, slowly and loud enough, that it would eventually get through.  Definitely a failure to communicate.

But by far the most interesting example of good communication was a DMP CDA Implementation guide that one of the developers at the IHE Meeting was showing me.  I could easily use it to create a correct implementation of the DMP specifications.  The guide was still in draft form, but was quite readable.  I said to her, "That's not French, that's CDA!  It's perfect!"  As I mentioned, the guide is still in draft form, but I'll be notified when it is published, and will post a link here. It's so clearly written that even a US developer would be generate conforming CDA documents.



Thursday, February 9, 2012

Why do I need an OID for MeaningfulUse?

Well, actually you don't, but it really depends on how your system is configured.  Or it might even be more accurate to say, you need it, but a good IT implementation will hide that detail from you. (BTW: If you need an OID for the NQF Measure authoring tool, read through to the end)

What is an OID?  It's an IT thingy that allows you to make sure that the identifiers you use in your organization are distinct from those used by another organization.

Why do you need one for Meaningful Use?  I'm assuming that somebody has told you that you need one.  In that case, what you most likely need is an organizational OID assigning authority root from which your application will then create additional OIDs for patient, visit and other identifiers that are created by that application.  If you want to know more about the technical details, you can read the OID Implementation Guide (if you are an HL7 Member).

To get an OID free from HL7, traverse this link (or have your experienced IT person do it).  Click on the link in the upper right hand corner.  Fill out the first page with their name and e-mail address.  On the next page, fill out the contact information with someone who you expect to be around for a while, and who gets technology, and can deal with technical questions about IT.

When you get to the question about Internal/External, what you want is an Internal OID (because if you already have an OID, you know more than enough about OIDs than anyone who needs to read this far).  Accept the default settings.  You want a "Type 3" OID (Root to be a Registration Authority), which you can then "partition" into new OIDs according to the OID Implementation Guide linked to above.

This takes all of two minutes to do.  Once you press submit, you will be given your OID.

When you are done, you will be taken to a page that gives you your OID, and gives you a long key which you can use to edit the details.

A smart IT implementer will take care of these details for you, and just ask you for the name of the person who should be the contact person for your OID, and will configure your system to deal with that new OID.  And if they are really smart, they will simply ask whether you have an OID you want to use, or whether they should take care of that detail for you.

OK, now for the additional instructions for those needing an OID for the Measure Authoring Tool.  Follow the same instructions above.  Pick a number from 20 to infinity.  Add a dot and that number to the end of your OID.  That is your Value Set OID Root.  Now pick another number, and add a dot and that number to the end of the OID you just created a moment ago.  That's your Value set OID.  Or read this.