Convert your FHIR JSON -> XML and back here. The CDA Book is sometimes listed for Kindle here and it is also SHIPPING from Amazon! See here for Errata.

Tuesday, January 17, 2017

Semper et semper ascendens deinceps

Always and always riding forward.  If you remember the original reference, you know what's coming next.

I had the honor today of having Wes Rishel in my CDA, XDS and FHIR class today.  Wes was the guy that co-opted my skills for his workgroup (Attachments), and for HL7 as a whole.  He has had an outstanding career as an Analyst for Gartner, and is a past co-chair of the HL7 Organization.  Now retired, Wes is doing some side consulting work with his rural health exchange.  He's one of the examples that I hold up before me that tells me I'll never need to retire from doing what I love.

Ed Hammond is another young fellow at HL7 who's stamina is outstanding.  Ed has been a mentor to many in HL7 and I count myself also among his mentees.  Ed teaches Informatics at  Duke University, has the longest tenure on the HL7 Board of any known person, having reached the pinacle of leadership at HL7 as Cochair Emeritus.  He's been recognized in many other forums (AMIA for example).  He's so influentially involved in so many places I want to make a Cards against Humanity cards that says "It wouldn't be the same ______ without Ed Hammond."

Both Wes and Ed are hereby inducted into the 2017 class of the Lords and Ladies of the Ad Hoc Harley.

Wes Rishel and Ed Hammond
Semper et semper ascendens deinceps
(ever and ever riding forward)
And now you both can also add LLAHH (Ladies and Lords of the Ad Hoc Harley) after your names if you so wish.

P.S  Pictures don't lie. Ed never ages. He looks the same as he did in 1990.

Sunday, January 15, 2017

The FHIR $relevant Query

So I finally got my implementation of the "$everything" query working on my HAPI Server.  I started this at the FHIR Connectathon whilst waiting for people to hit my server.  It was in response to a need I had to generate a f***-ton of sample data in FHIR for testing and documentations.

Basically I have a code generator that reads FHIR profiles.  It's smart enough to assist me in producing some cool stuff.  After I got done, I wondered what I should do with it.

Given that this week we are closing in on the Relevant and Pertinent ballot, I think I'll just throw it away (just kidding ... I'll keep it around for debugging purposes), but I think the next query I build will be the "$relevant" one.

Here's my initial take on what that might look like:
Allergies = any active allergies.
Conditions = any that have been active in the last 30 days
Medications = any that have been active in the last 30 days, or any that were discontinued for lack of effect or toleration.
Labs = Most recent result of any lab type in last year.
Procedures = last year history and any currently scheduled
Vitals = most recent set
Immunizations = Last year for non-pediatric patients, otherwise all.
Encounters = any upcoming and last 90 days.

What's missing here is probably the most recent clinical impression.

-- Keith

Saturday, January 14, 2017

Healthcare Standards Blog in Feedspot Top 100 Healthcare Blogs

This showed up in my inbox yesterday.  I reposted here with Anuj's permission.


Hi Keith,

My name is Anuj Agarwal. I'm Founder of Feedspot.

I would like to personally congratulate you as your blog Healthcare Standards  has been selected by our panelist as one of the Top 100 Healthcare Blogs on the web.

I personally give you a high-five and want to thank you for your contribution to this world. This is the most comprehensive list of Top 100 Healthcare Blogs  on the internet and I'm honored to have you as part of this!

Also, you have the honor of displaying the following badge on your blog. Use the below code to display this badge proudly on your blog.


 Anuj Agarwal
 Founder, Feedspot
 Linkedin . Twitter

Friday, January 13, 2017

Faking it with the FHIR Basic Resource

The FHIR team created the Basic resource to support extensibility.  It works great except that HAPI only supports one read() method for each resource, and sometimes you have more than one thing for which you need to extend basic. For my needs, I've been looking at Account and Transaction (representing either a payment or a charge).  So, how do I use Basic to implement these non-FHIR "resources".

What I finally worked out was to use a named operation.

With one set of operation parameters, the operation responds as for FHIR Read and is idempotent.
With another set of parameters, it responds as for a FHIR Search (and also is idempotent).
With another set it would respond as for Create/Update, where the distinction between Create and Update merely depends on whether the resource included in the POST/PUT contains an identifier or not.

This gives the user of the profiled Basic resource an experience that is pretty close to what they would get with a true FHIR Resource (and consequently makes it easier to adopt new resources that have been profiled in this fashion).


Thursday, January 12, 2017

What is it?

<?xml version="1.0" encoding="UTF-8"?>
  <xsl:template match="/|cda:*|@xsi:type|text()|@*">
      <xsl:apply-templates select="cda:*|@*|text()"/>

What is this small but useful beast?

What version of CCDA Document is this?

This is a question I get internally and externally all the time.  The answer is pretty straightforward. Look at the templateId elements underneath the <ClinicalDocument> element.  There will be at least two and possibly more.

If you see: <templateId root="2.16.840.1.113883." extension="2015-08-01"/>
you can be sure this document is a CCDA Release 2.1 or later.  It will also bear:
<templateId root="2.16.840.1.113883."/> indicating that it is backwards compatible with CCDA Release 1.1.  

If you only have one templateId where root="2.16.840.1.113883." and there is no extension, you have a CCDA 1.1 that hasn't been uplifted to CCDA 2.1 yet. extension="2015-08-01"/>

If you have a templateId where root="2.16.840.1.113883." but extension="2014-06-09then you have CCDA 2.0 and it won't be backwards compatible with CCDA 1.1.

Now, what if you have a templateId with 2.16.840.1.113883.10.20.1?  Well, now were talking old-school CCD, first edition.  It's a fine thing that has mellowed with age.

What you really want to see is <Composition> or <Bundle> as your first element, in which case you might be dealing with CDA or CCDA on FHIR.

It's all very confusing, but not really.

Each of them provides a core set of data about the patient, and for every single one of them, it's pretty much the same set of elements.  Those you might call a Continuity of Care Record.  There are a lot of ways to write the XML, but in the end, the data is essentially the same.


P.S.  Thanks to Corey Spears for taking up the challenge of answering this question on the Structured Docments workgroup.  I'd already half written this post when he responded.

Tuesday, January 10, 2017

What is in a name? CDA Document Types revisited

The CCD (Continuity of Care Document) was originally envisioned as being the HL7 version of the Continuity of Care Record, which originated from a paper form originally used in the State of Massachusessets.  Since then the name has become synonymous with Meaningful Use, and in many ways, burdensome communication.

Because after all, if what you are after is Continuity of Care, what information would you possibly omit?

Recently I'd been asked by John Moehrke what other document could be used to represent a summary of a single visit.  Providers have many names for these:

Visit Note is the most generic, and basically could mean any level of detail from a single line of text to a three page report on the patient's current condition.  It could mean any of the different kinds of notes physicians use.

History and Physical Note describes an encounter (ambulatory visit) in which a History and Physical Examination is performed.  This could represent something like what your provider would report for your annual physical examination, or prior to undertaking some specific health-related activity.  Often surgeons perform an H&P prior to surgery.  Newly expectant mothers undergo one often when they first learn of their pregnancy.  The H&P principally is describing the results of a physical examination where either something specific is being looked for (such as the reason for an undetermined illness), or where more generally an assessment of a patient's overall health is being done.  More specifically, H&P relates to a specific service performed and billed by physicians.  H&P is pretty typically used in cases where a healthy patient is having an encounter with a physician, and may also be used in other cases where nothing is obvious.  It is in some ways a fishing expedition.

A consult note represents a different kind of service.  In this case, an opinion is being sought about a specific situation.  Rendering that opinion may require a history and physical, or it may just require some very specific examinations.  When my wife was being evaluated for arthritis, the physician didn't perform all of the steps one would expect in a physical examination.  He didn't need to look at different body systems, he was just interested in two or three.  He applied a stethoscope to my wife's knee and promptly upon listening when she bent it indicated that she did indeed have arthritis,and so rendered his opinion.  After we had already gone to the trouble to procure expensive imaging of said joint which he didn't even need to look at (although fortunately it later did come in handy).

A progress note is simply an update about a patient's progress.  In ambulatory settings it is used to report on a patient's progress with particular treatment or disease that is being followed by a physician.  Often it is used in various ancillary "therapy" settings, such as Physical Therapy, Respiratory Therapy, Cardiac Rehab, et cetera.

If you want a note that summarizes what happened in an encounter, think about the principal service provided during that encounter.  The note will name it, and the provider will also bill for it.  If I had to pick just one of the three above, Consult note would be my choice, because a consultation can always include an H&P, but an H&P doesn't cover the wide variety of healthcare situations.

Then again, maybe we should stop trying to shoe-horn every healthcare visit into the same documentation template.  There's more to this world than nails, and not every problem needs a hammer.


P.S.  I think its funny that almost nine years later I'm still talking about hammers.