Conor's Blog
Concepts in Triples (C3), the first preview
We refuse no patient care statement – all are welcome. A statement may begin life in an EHR like VistA or in a HL7 v2 message or in the tags of a Continuity of Care Document (CCD), but as long as it asserts something about a patient’s care, we don’t care. The medium is not the message. We massage statements out of their native formats and into a triple store and in there, we analyse and restate.
In any record of patient care, many statements date and name …
:15422 :occurred-on "2008-10-17T16:08:21Z" // the procedure with id 15422 occurred on this date :12311 :name "Fred Jones" // the name of the person with id 12311 is ...
but many others, some of the most useful, identify concepts …
:55666 :diagnosis valex:757-12329 // diagnosis in an encounter was "hypertension" (VA Lexicon: 757-12329)
and to understand such statements, we need to understand the concepts they use. What does hypertension connotate? How does it relate to other concepts in statements about the same patient?
On top of the need for concept definition, we need concept matching. Healthcare’s multi-lingual. The concept “hypertension” is defined in many schemes – ICD9, SNOMED, VA Lexicon, VA NDFRT (MeSH), VA VUID … When you look at a sizable set of care statements, many overlapping concept schemes show up. You’re presented with different identifiers for synonymous or near synonymous concepts.
Managing concepts – defining them, matching from one scheme to another, isolating useful selections – is the key to making sense of patient care statements. Without concept management, collections of care statements amount to megabytes of mush.
So today we’re pushing out the first preview of Concepts in Triples (C3), our web-of-data based concept management service.
When a concept scheme like the VA’s Lexicon is hosted in C3, its concepts can be fully defined and matched to others and select subsets can be identified based on the ways concepts are used in practice.
Now, C3 isn’t the first web-based concept management service, nor is it the first based on the triples motif and it’s not the first to be SPARQL accessible, but it is the first designed for patient-statement publication in the web-of-data. Concepts in C3 aren’t abstractions, curiosities for the learned: they are alive. Patient care statements link to them directly.
With care-statements in triples and concepts in triples, both concrete statements about patients and the concepts used in those statements live in one medium, the web-of-data, with a common query mechanism, SPARQL. There are no distinct APIs, no specialized web services. The plumbing that dominates and slows I.T. falls away as statements link directly to the concepts they use. It’s a world where you focus on content, not formats. That’s liberating.
One highlight of Preview 1 is the five national VA Concept Schemes.
Pick a statement-of-concept that starts in VistA and more often than not, it will use a concept from one of these schemes. Of course, like everything practical, there are redundancies – at least three hypertension definitions – and wouldn’t we rather statements with SNOMED? Perhaps, though dive in there and you’ll find a mixed bag too.
Why these flavors of “VistA-ese?”. Because VistA is our reference EHR and as the VA’s schemes are well thought out, they provide an excellent point of comparison for the great-hopes-of-health informatics like SNOMED. Real world EHR, real world statements in it, real-world concept schemes – what more could a patient data miner ask for?

Tom – first thanks for words of support.
As for Smart: from a “statement-handling perspective” that takes the same approach as the CCD or MS Healthvault which declare standard schemes for “acceptable patient statements”. Everyone must use the same verbs and objects or their statements don’t count. These are closed worlds with limited vocabularies.
While Smart uses RDF, that’s a question of form rather than anything else. Technically they could have just as easily used REST APIs returning snippets of CCD.
To fit VistA statements into their form would mean taking VistA-ese (not just concepts but verbs too) and translating a fraction of them (Smart only covers basic stuff) into “Smart-ese”. It certainly doable – we’ve turned a fraction into a CCD so putting the same into precise RDF wouldn’t be too different.
The value in Smart, I think, is the client framework, where logic from different parties can be assembled. If they were to open up the statements allowed, for example, were they to allow “scheme plug and play” as they now emphasize applet/logic plug-and-play then the framework would have much greater value. In such a world, an applet would ask what schemes statements conform to and if there’s any the applet understands then it can run. Otherwise, the data source is out of scope.
I still don’t think there will ever be a “God-Model”, one form of medical expression. You must allow variability in the patient-statement schemes. Were Smart to reflect that, then it would be truly different.
Very intriguing work. I particularly like “It’s a world where you focus on content, not formats” – which was my original goal in the design of VistA data dictionary.
I’m just wondering how hard it would be to connect this with the Smart Platform stuff http://www.smartplatforms.org/ treating VistA EHR as a “Container” in their terminology? http://wiki.chip.org/smart-project/index.php/Main_Page