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, August 6, 2013

On Models

I've had a lot of discussion with folks about models recently. as it relates to HQMF, as it relates to HIE, and as it relates to EHR products.  The question that almost always comes up is "What is the best model?", and/or "What model do you recommend?"  Unfortunately, my normal answer to this question of "It depends..." fails to satisfy many listeners.  I suspect all to many are simply looking for an easy answer.  I thought I would try again, but differently.

The essentials of your model, whatever it is, are going to be something that everyone can agree on.  In developing a model for medical summaries, the top three and top five items are pretty easy to list out:  Problems, Medications and Allergies are the top three.  Few would argue that.  The next two are labs, and immunizations.  After that it gets a bit fuzzy.  For the top three, we know you need the name of each thing, and likely a code to go with it.  Dates are also important.  Anything beyond that is gravy.  We can all pretty much agree on these essentials.  My model and yours and the models of anyone else will contain these things.

Names in the model don't much matter, but definitions do.  If I call it problem and you call it concern and someone else calls it diagnosis, it doesn't matter if my definition of diagnosis is different from that of someone else.  But we often wind up comparing the words, rather than the concepts.  What matters is that my definition of problem pretty much matches somebody else's definition of concern.  If the concepts are close we can approximate exchange of meaning.  If I can put my thoughts down in a way that you understand, we've communicated.

I can hear the screams: "But what about semantic interoperability?  What you just said means that nobody will thoroughly understand the information being communicated."  Yep.  Nor is it any better even when we share the same mother tongue.  But it gets better.

Communication (and interoperability) is not a science.  It is an art form perfected over time.  What we are able to communicate initially will be rough, but useful, so long as we recognize the limitations [sort of like me asking "When is the toilet?" in Japanese (which does work)].  It will get better, and we'll have a deeper understanding of what is being communicated as time progresses (as I eventually learned my interrogative verbs). Nuances will begin to appear if the communication is sustained over time.

Continued communication creates the model, not the other way around.  If you doubt me, try this experiment.  Call a friend or family member whom you spent a great deal of time in childhood with, or with whom you went to school, and talk to them for a while. Listen to yourself.  Can you hear your communication pattern change as you talk with them?  Does your accent from your childhood gain strength?  I'll bet it does.

Don't try to create a model that perfectly captures all the idioms between two systems.  Instead, create enough of a model to get started, and evolve it over time.  The model you evolve is one that is created with a number of small shifts in agreement, and the direction that it takes may surprise you.  I recall where we started with the HL7 Care Record Summary (CRS) and IHE XDS-MS profile.  I know many of the subsequent tweaks that have been applied as they evolved into CCD, XPHR, CDA4CDT, C32 and finally C-CDA.  Many idioms created in CRS and XDS-MS still live on, but new ones have evolved as well, including some pretty important ideas about how to say no and I don't know.

It took time to get here.  We (those of us using C-CDA) have a model that works for us.  Others (those using another model) have a model that works for them.  There's enough cross-talk that we can still communicate because at the core, we all have a common understanding.  That's not a standard, and the boundaries are fuzzy but growing and evolving.

You can start here (with CCDA) if you want, or you can start from there (pick another model).  If you have nothing, either is a good place to start.  If you do, you should know than by the time you learn it, those using it will have moved further on. If you want to start with your own model, study those of others.  You will find enough similarities to develop enough of a model that you'll be able to communicate with others using the common core.

Language is a living thing.  Your model is only the first (or second, or third) approximation to it, and it to will evolve.


Post a Comment