<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Caregraf</title>
	<atom:link href="http://www.caregraf.info/feed" rel="self" type="application/rss+xml" />
	<link>http://www.caregraf.info</link>
	<description>Manage Patient-Care Statements</description>
	<lastBuildDate>Sun, 10 Feb 2013 01:16:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>The beating heart of a good EHR</title>
		<link>http://www.caregraf.info/blog/the-beating-heart-of-a-good-ehr</link>
		<comments>http://www.caregraf.info/blog/the-beating-heart-of-a-good-ehr#comments</comments>
		<pubDate>Wed, 08 Feb 2012 04:04:58 +0000</pubDate>
		<dc:creator>conor</dc:creator>
				<category><![CDATA[VA LEX]]></category>
		<category><![CDATA[VistA Goodness]]></category>

		<guid isPermaLink="false">http://www.caregraf.com/?p=1995</guid>
		<description><![CDATA[<p>Doctors are human beings &#8211; really. They don&#8217;t naturally blurt out the likes of &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Diabetes mellitus of mother complicating pregnancy childbirth or the puerperium unspecified as to episode of care</pre></div></div>

<p>also known as ICD9 code 648.00. They select or type <q>Pregnancy in Diabetes</q> or perhaps the longer <q>Diabetes Mellitus, in Pregnancy</q>. </p>
<p>Here are two worlds &#8211; the&#8230; <a href="http://www.caregraf.info/blog/the-beating-heart-of-a-good-ehr" class="read_more">Read More »</a></p>]]></description>
			<content:encoded><![CDATA[<p>Doctors are human beings &#8211; really. They don&#8217;t naturally blurt out the likes of &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Diabetes mellitus of mother complicating pregnancy childbirth or the puerperium unspecified as to episode of care</pre></div></div>

<p>also known as <a href="http://schemes.caregraf.info/icd9cm/648_00">ICD9 code 648.00</a>. They select or type <q>Pregnancy in Diabetes</q> or perhaps the longer <q>Diabetes Mellitus, in Pregnancy</q>. </p>
<p>Here are two worlds &#8211; the space of say-it-many-ways, human expression and the very different, sometimes tongue-twisting formality of official medical concepts. These two spaces shouldn&#8217;t be conflated and in properly designed EHRs they aren&#8217;t.</p>
<aside>
<p>The Lexicon is identified as a &#8220;USAGE SCHEME&#8221; <a href="http://schemes.caregraf.info/va#!scheme_lex">in K3</a>, one formed from the everyday data entry of doctors and nurses and not formal definition. Here&#8217;s bottom up concept definition, Bazaar not Cathedral and all the more valuable for that.</p>
</aside>
<p>Take the <a href="http://vista.caregraf.info">VA&#8217;s VistA</a>. At its heart is something called <em>the Lexicon</em>. The Lexicon distinguishes between <em>Expressions</em> used by doctors and the formal concepts or <em>Codes</em> of medical standards and it maps between them.</p>
<p>It knows about <a href="http://livevista.caregraf.info/rambler#!757_01-97671">Diabetes Mellitus, in Pregnancy</a> and maps it to <a href="http://livevista.caregraf.info/rambler#!757_02-306894">ICD 9 648.00</a>. Doctor types <em>Diabetes &#8230;</em> and thanks to the Lexicon VistA understands <em>ICD9 648.00</em>. </p>
<p>The Lexicon identifies <em>Preferred Expressions</em> which it calls <em>Major Concepts</em>. To the Lexicon, the other term mentioned above, <a href="http://livevista.caregraf.info/rambler#!757_01-97670">Pregnancy in Diabetes</a>, is preferred and <em>Diabetes Melliutus, in Pregnancy</em> is its synonym. </p>
<p>1, 2, 3: synonyms and acronyms map to preferred expressions which map to codes &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">         [Synonyms, Acronyms ...] ---&gt; Preferred Term ---&gt; [Codes]</pre></div></div>

<p>Code<em>s</em>. More than one? Yep, the Lexicon can map any preferred term into many formal schemes. One term could have a related concept in all of ICD 9, ICD 10, SNOMED and so on.</p>
<p>Um. Imagine a world about to make a big upgrade, one about to go from a scheme numbered 9 to one with a 10. Could something like the Lexicon help? Hey Doc &#8211; express yourself as you always have but now out pops ICD 10, not ICD 9! Ah &#8211; the power of future-proof indirection.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.caregraf.info/blog/the-beating-heart-of-a-good-ehr/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Knowledge in Triples (K3), the first preview</title>
		<link>http://www.caregraf.info/blog/knowledge-in-triples-k3-the-first-preview</link>
		<comments>http://www.caregraf.info/blog/knowledge-in-triples-k3-the-first-preview#comments</comments>
		<pubDate>Thu, 08 Dec 2011 03:31:01 +0000</pubDate>
		<dc:creator>conor</dc:creator>
				<category><![CDATA[Caregraf]]></category>
		<category><![CDATA[Datasets]]></category>
		<category><![CDATA[VA]]></category>

		<guid isPermaLink="false">http://www.caregraf.com/?p=1683</guid>
		<description><![CDATA[<p>10 to 12% of statements in VistA patient records assert a date.</p>

<p>We refuse no patient care statement &#8211; 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&#8217;s&#8230; <a href="http://www.caregraf.info/blog/knowledge-in-triples-k3-the-first-preview" class="read_more">Read More »</a></p>]]></description>
			<content:encoded><![CDATA[<aside>
<p>10 to 12% of statements in VistA patient records assert a date.</p>
</aside>
<p>We refuse no patient care statement &#8211; 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&#8217;s care, we don&#8217;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.</p>
<p>In any record of patient care, many statements date and name &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">   :15422 :occurred-on &quot;2008-10-17T16:08:21Z&quot;  // the procedure with id 15422 occurred on this date
   :12311 :name &quot;Fred Jones&quot; // the name of the person with id 12311 is ...</pre></div></div>

<p>but many others, some of the most useful, identify concepts &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">   :55666 :diagnosis valex:757-12329 // diagnosis in an encounter was &quot;hypertension&quot; (VA Lexicon: 757-12329)</pre></div></div>

<aside>
<p><em>K3</em> is built around <a href="http://www.w3.org/2009/08/skos-reference/skos.html">SKOS</a>, the w3c&#8217;s standard for <em>knowledge organization systems</em> and provides SPARQL</a> access to every scheme it manages.</p>
</aside>
<p>and to understand such statements, we need to understand the concepts they use. What does <em>hypertension</em> connotate? How does it relate to other concepts in statements about the same patient?</p>
<p>On top of the need for concept definition, we need concept matching. Healthcare&#8217;s <em>multi-lingual</em>. The concept &#8220;hypertension&#8221; is defined in many schemes &#8211; <a href="http://schemes.caregraf.info/icd9cm#!401_9">ICD9</a>, <a href="http://schemes.caregraf.info/snomed#!38341003">SNOMED</a>, <a href="http://schemes.caregraf.info/va/757-12329">VA Lexicon</a>, <a href="http://schemes.caregraf.info/va#!N0000001616">VA NDFRT</a> (MeSH), <a href="http://schemes.caregraf.info/va#!4538612">VA VUID</a> &#8230; When you look at a sizable set of care statements, many overlapping concept schemes show up. You&#8217;re presented with different identifiers for synonymous or near synonymous concepts.</p>
<p>Managing concepts &#8211; defining them, matching from one scheme to another, isolating useful selections &#8211; is the key to making sense of patient care statements. Without concept management, collections of care statements amount to megabytes of mush. </p>
<p>So today we&#8217;re pushing out the <a href="http://schemes.caregraf.info">first preview</a> of <em>Knowledge in Triples (K3)</em>, our web-of-data based <em>medical knowledge management service</em>. </p>
<p>When a concept scheme like the VA&#8217;s Lexicon is <a href="http://schemes.caregraf.info/va/scheme_lex">hosted in K3</a>, 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.</p>
<p>Now, K3 isn&#8217;t the first web-based concept management service, nor is it the first based on the triples motif and it&#8217;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 K3 aren&#8217;t abstractions, curiosities for the learned: they are alive. Patient care statements link to them directly.</p>
<p>With both care-statements and medical knowledge 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&#8217;s a world where you focus on content, not formats. That&#8217;s liberating.</p>
<p>One highlight of Preview 1 is the <a href="http://schemes.caregraf.info/va#!scheme">five national VA Concept Schemes</a>. </p>
<p><a href="http://schemes.caregraf.info/va#!scheme"><img src="http://www.caregraf.com/blog/wp-content/uploads/2011/12/VASchemeSubSchemes.png" alt="" title="VASubSchemes" width="659" height="45" class="aligncenter size-full wp-image-1859" /></a></p>
<p>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 &#8211; at least three hypertension definitions &#8211; and wouldn&#8217;t we rather statements with SNOMED? Perhaps, though dive in there and you&#8217;ll find a mixed bag too.</p>
<p>Why these flavors of &#8220;VistA-ese?&#8221;. Because VistA is <a href="http://www.caregraf.com/blog/vista-goodness">our reference EHR</a> and as the VA&#8217;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 &#8211; what more could a patient data miner ask for?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.caregraf.info/blog/knowledge-in-triples-k3-the-first-preview/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>NDFRT, decision-support everybody?</title>
		<link>http://www.caregraf.info/blog/ndfrt-decision-support-everybody</link>
		<comments>http://www.caregraf.info/blog/ndfrt-decision-support-everybody#comments</comments>
		<pubDate>Thu, 03 Nov 2011 22:58:38 +0000</pubDate>
		<dc:creator>conor</dc:creator>
				<category><![CDATA[RXNORM]]></category>
		<category><![CDATA[VA]]></category>
		<category><![CDATA[VistA Goodness]]></category>

		<guid isPermaLink="false">http://www.caregraf.com/?p=1681</guid>
		<description><![CDATA[<p>RxNORM defines drugs. It declares that Warfarin Oral Tablet is the ingredient Warfarin combined with the dose form Oral Tablet. It tells us that this compound is sold under four catchy names, Coumadin, Jantoven, Marfarin and Narfarin.</p>
<p>But there&#8217;s more inside RxNORM&#8217;s awful release format, a hefty gem from the VA called <em>National Drug File, Reference Terminology</em> (NDFRT). With NDFRT,&#8230; <a href="http://www.caregraf.info/blog/ndfrt-decision-support-everybody" class="read_more">Read More »</a></p>]]></description>
			<content:encoded><![CDATA[<p>RxNORM defines drugs. It declares that <a href="http://schemes.caregraf.info/rxnorm/374319">Warfarin Oral Tablet</a> is the ingredient <a href="http://schemes.caregraf.info/rxnorm/11289">Warfarin</a> combined with the dose form <a href="http://schemes.caregraf.info/rxnorm/317541">Oral Tablet</a>. It tells us that this compound is sold under four catchy names, <a href="http://schemes.caregraf.info/rxnorm/202421">Coumadin</a>, <a href="http://schemes.caregraf.info/rxnorm/405155">Jantoven</a>, <a href="http://schemes.caregraf.info/rxnorm/540226">Marfarin</a> and <a href="http://schemes.caregraf.info/rxnorm/540205">Narfarin</a>.</p>
<p>But there&#8217;s more inside RxNORM&#8217;s <a href="http://www.caregraf.com/blog/rxnorm-and-co-should-come-in-rdf">awful release format</a>, a hefty gem from the VA called <em>National Drug File, Reference Terminology</em> (NDFRT). With NDFRT, drugs like <a href="http://schemes.caregraf.info/va/N0000148057">Warfarin</a> are matched to disorders &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">     :N0000148057 :contraindicated-for :N0000000988  # Warfarin is contraindicated for Diverticulitis 
...
     :N0000148057 :may-prevent :N0000004160  # Warfarin may prevent Stroke 
...
     :N0000148057 :may-treat :N0000000507  # Warfarin may treat Atrial Fibrillation</pre></div></div>

<p>and it tells you what drug combinations to watch out for &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">     [] :participant :N0000148057 # Warfarin
        :participant :N0000146291 # Hydrocortisone
        :severity &quot;SIGNIFICANT&quot;</pre></div></div>

<aside>
<p>VistA comes with a version of NDFRT. Check out <a href="http://livevista.caregraf.info/schema/56">File 56</a></p>
</aside>
<p>or <q>watch out! The interaction between Warfarin and <a href="http://schemes.caregraf.info/va/N0000146291">Hydrocortisone</a> may be significant.</q></p>
<p>NDFRT gets us beyond drug x has ingredient y. We&#8217;re told what a drug is for and what to watch out for. </p>
<p>Is it perfect? No. One biggie &#8211; it uses MeSH for disorders and while there are maps to SNOMED, some of these are questionable and others are to obsolete concepts (162 of 1099 mapped). </p>
<p>It can also surprise. Did you know the VA can make you live forever? NDFRT declares &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">    :N0000146382 may_prevent :N0000000903 # Antiven may prevent Death</pre></div></div>

<p><a href="http://schemes.caregraf.info/va/N0000146382">Antiven,Micrurus Fulvius</a>, the immortality pill.</p>
<p>But putting quirks aside, it shows once again that VistA and the VA terminologies are a treasure-throve for next-generation EHRs. Decision-support everybody?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.caregraf.info/blog/ndfrt-decision-support-everybody/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The VA&#8217;s 45 billion triples</title>
		<link>http://www.caregraf.info/blog/the-vas-45-billion-triples</link>
		<comments>http://www.caregraf.info/blog/the-vas-45-billion-triples#comments</comments>
		<pubDate>Fri, 21 Oct 2011 03:13:09 +0000</pubDate>
		<dc:creator>conor</dc:creator>
				<category><![CDATA[Caregraf]]></category>
		<category><![CDATA[FMQL]]></category>

		<guid isPermaLink="false">http://www.caregraf.com/?p=1746</guid>
		<description><![CDATA[<p>For us, medical expression boils down to triples, simple subject-predicate-object statements &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">    The problem is Hypertension
                   of-patient &#34;Joe Smith&#34;
                   recorded-on 2011-10-21
                   diagnosed-by &#34;Dr Fred Jones&#34;</pre></div></div>

<p>&#8230; one triple after another, capturing a patient&#8217;s health, and so a key metric for us is how many triples does a typical patient get? Without a figure, we can&#8217;t know how big&#8230; <a href="http://www.caregraf.info/blog/the-vas-45-billion-triples" class="read_more">Read More »</a></p>]]></description>
			<content:encoded><![CDATA[<p>For us, medical expression boils down to triples, simple subject-predicate-object statements &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">    The problem is Hypertension
                   of-patient &quot;Joe Smith&quot;
                   recorded-on 2011-10-21
                   diagnosed-by &quot;Dr Fred Jones&quot;</pre></div></div>

<p>&#8230; one triple after another, capturing a patient&#8217;s health, and so a key metric for us is how many triples does a typical patient get? Without a figure, we can&#8217;t know how big a patient triple store would be or how big a complete CCD or <a href="http://www.caregraf.com/blog/what-is-a-caregraf">Caregraf</a> is. </p>
<p>For an answer, we need access, direct unencumbered access, to an EHR and thanks to <a href="http://www.caregraf.com/blog/topic/vista-goodness/fmql">FMQL</a> we can have that for the VA&#8217;s VistA, the most widely deployed EHR. Of course, we&#8217;d need FMQL on a real VistA, not just on our <a href="http://livevista.caregraf.info/rambler/2-9">demo system</a> and thanks, indirectly (ssh!), to the VA themselves, we have that too.</p>
<p>So some numbers. Take a very sick man &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">     Number of Visits: 116
     Number of Problems: 38
     Number of Orders: 240
     Number of Concepts: 1478
...
     Number of Triples: 44,281
     Size of Caregraf (turtle format): 2.7 MB</pre></div></div>

<p>44,281 &#8211; that&#8217;s a lot of statements. But hold on, you say, <em>number of orders</em>?. That means you&#8217;re counting the process of care, health-care workflow, as opposed to just descriptions of a patient&#8217;s health. True and worse, we&#8217;re also capturing billing information. In fact, for this man, we&#8217;re capturing 163 types of medical fact. Yes Prescription, but Order and Billing information too. If we hone in on &#8220;facts about patient health&#8221;, we end up with 19,352 triples which is still a lot. Can we pair down more? </p>
<aside>
<p>From VistA to a graph of triples? We crawl &#8211; with FMQL, it&#8217;s <a href="http://www.caregraf.com/blog/va-vista-trivial-to-export-patient-records">trivial to take patient data</a>. The issue isn&#8217;t what to get &#8211; it&#8217;s what to leave behind.</p>
</aside>
<p>Well, if we exclude many inpatient medications, IVs and their ilk, nix inactive problems, cut out the nursing notes, cut all the stuff of immediate care that isn&#8217;t relevant for subsequent care &#8211; down comes the number to 5000 or so.</p>
<p>We&#8217;ve dealt with hospitals with information on 200,000 patients and in the unlikely event that all their patients were 5000 triples sick, that adds up to 1 billion triples. Doable? Can current triples stores handle a billion?</p>
<p><a href="http://www.dbpedia.org">dbpedia</a>, which holds the structured information of Wikipedia &#8211; has over a billion triples in its store. In W3C&#8217;s <a href="http://www.w3.org/wiki/LargeTripleStores">discussion of large triple stores</a>, five to fifteen billion triples is commonplace and one trillion is the new benchmark. On top of this, add that SPARQL, the SQL of triple stores, now supports distributed querying and you have the scale of the web itself on your side.</p>
<p>Which gets me back to the VA. They have medical data on nine million people. If these were all 5000-triple sick then we get 45 billion triples. Not a trillion, not close. The VA could put all their patient data in one triple store and query away. Begone so much plumbing, this-and-that custom extraction mechanism. One store, to answer anything. Why not?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.caregraf.info/blog/the-vas-45-billion-triples/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RXNORM and co. should come in RDF</title>
		<link>http://www.caregraf.info/blog/rxnorm-and-co-should-come-in-rdf</link>
		<comments>http://www.caregraf.info/blog/rxnorm-and-co-should-come-in-rdf#comments</comments>
		<pubDate>Fri, 07 Oct 2011 19:49:04 +0000</pubDate>
		<dc:creator>conor</dc:creator>
				<category><![CDATA[RXNORM]]></category>

		<guid isPermaLink="false">http://www.caregraf.com/?p=1590</guid>
		<description><![CDATA[<p>I&#8217;m not going to dwell on the horribles of RRF, the custom UMLS/RXNORM release format, but let me call out one &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">104419&#124;ENG&#124;&#124;&#124;&#124;&#124;&#124;2701592&#124;2701592&#124;104419&#124;&#124;RXNORM&#124;SBD&#124;104419&#124;24 HR Felodipine 5 MG Extended ...
104419&#124;ENG&#124;&#124;&#124;&#124;&#124;&#124;2701593&#124;2701593&#124;104419&#124;&#124;RXNORM&#124;SY&#124;104419&#124;24 HR Plendil 5 MG Extended ...</pre></div></div>

<p>It doesn&#8217;t jump out but find <em>TTY</em>, the lynchpin of the RRF format &#8211; <q cite="http://www.nlm.nih.gov/research/umls/rxnorm/overview.html">each element of the normalized form can be</q>&#8230; <a href="http://www.caregraf.info/blog/rxnorm-and-co-should-come-in-rdf" class="read_more">Read More »</a></p>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not going to dwell on the horribles of RRF, the custom UMLS/RXNORM release format, but let me call out one &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">104419|ENG||||||2701592|2701592|104419||RXNORM|SBD|104419|24 HR Felodipine 5 MG Extended ...
104419|ENG||||||2701593|2701593|104419||RXNORM|SY|104419|24 HR Plendil 5 MG Extended ...</pre></div></div>

<p>It doesn&#8217;t jump out but find <em>TTY</em>, the lynchpin of the RRF format &#8211; <q cite="http://www.nlm.nih.gov/research/umls/rxnorm/overview.html">each element of the normalized form can be identified by the value of the TTY [Term Type] field</q>. It&#8217;s the column with values  <em>SBD</em> which means <em>Semantic branded drug</em> and <em>SY</em> which means <em>Synonym</em>. In the first row, TTY holds the type of a concept (Semantic Branded Drug) but in the next, it holds the type of the label of that concept (Synonym). One field, two different uses. Processors beware!</p>
<p>The above looks like this in RDF &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">rxnorm:104419 skos:broader rxnorm:SBD ;
              skos:prefLabel &quot;24 HR Felodipine 5 MG Extended Release Tablet [Plendil]&quot; ;
              skos:altLabel &quot;24 HR Plendil 5 MG Extended Release Tablet&quot; ;
              rxnorm:quantified_form_of rxnorm:844417 ;
              rxnorm:has_ingredient rxnorm: 203016;
              rxnorm:has_dose_form rxnorm:316945 ;
              rxnorm:tradename_of rxnorm:402696 ;
              ...</pre></div></div>

<aside>
<p>First thing we do with a UMLS release is flip its RRF into RDF. With that in <a href="http://schemes.caregraf.info">K3</a>, our concepts management service, we&#8217;re off to the races.</p>
</aside>
<p>Much better I think you&#8217;ll agree and, for the technical, quiet readable. And notice there are properties other than name and type, <em>tradename</em> and its ilk. While names and types of concepts come from the RRF concepts file, these started in the RRF relationships file. With RDF, everything about a concept ends up in one place. What&#8217;s more, this same format works for other vocabularies from ICD 9 to SNOMED. In scheme definition, custom specification formats can be banished. One size does fit all.</p>
<p>The RXNORM Overview comes with a list of example queries &#8211; it has you traversing the RRF data (or its SQL equivalent) but we&#8217;ll SPARQL our RDF instead &#8230;</p>
<table class="posttable">
<tr>
<td>Find the concept named &#8216;Amoxicillin&#8217;</td>
<td>
<pre>SELECT ?concept
WHERE {?concept skos:prefLabel 'Amoxicillin'}</pre>
</td>
<td><a href="http://schemes.caregraf.info/rxnorm/sparql?query=SELECT+%3Fconcept+WHERE+{%3Fconcept+skos%3AprefLabel+%27Amoxicillin%27}&#038;output=html&#038;show_inline=1">rxnorm:723</a></td>
</tr>
<tr>
<td>Find the forms of &#8216;Amoxicillin&#8217;</td>
<td>
<pre>SELECT ?concept ?conceptLabel
WHERE {?concept skos:prefLabel ?conceptLabel ;
       rxnorm:form_of rxnorm:723}</pre>
</td>
<td><a href="http://schemes.caregraf.info/rxnorm/sparql?query=SELECT+%3Fconcept+%3FconceptLabel+WHERE+{%3Fconcept+skos%3AprefLabel+%3FconceptLabel+%3B+rxnorm%3Aform_of+rxnorm%3A723}&#038;output=html&#038;show_inline=1">Amoxicillin trihydrate &#8230;</a></td>
</tr>
<tr>
<td>Tradenames it is sold under</td>
<td>
<pre>SELECT ?concept ?conceptLabel
WHERE {?concept skos:prefLabel ?conceptLabel ;
       rxnorm:tradename_of rxnorm:723}</pre>
</td>
<td><a href="http://schemes.caregraf.info/rxnorm/sparql?query=SELECT+%3Fconcept+%3FconceptLabel+WHERE+{%3Fconcept+skos%3AprefLabel+%3FconceptLabel+%3B+rxnorm%3Atradename_of+rxnorm%3A723}&#038;output=html&#038;show_inline=1">Almodan and more</a></td>
</tr>
<tr>
<td>What strengths are available?</td>
<td>
<pre>SELECT ?concept ?conceptLabel
WHERE {?concept skos:prefLabel ?conceptLabel ;
       rxnorm:has_ingredient rxnorm:723 ;
       skos:broader rxnorm:SCDC}</pre>
</td>
<td><a href="http://schemes.caregraf.info/rxnorm/sparql?query=SELECT+%3Fconcept+%3FconceptLabel+WHERE+{%3Fconcept+skos%3AprefLabel+%3FconceptLabel+%3B+rxnorm%3Ahas_ingredient+rxnorm%3A723+%3B+skos%3Abroader+rxnorm%3ASCDC}&#038;output=html&#038;show_inline=1">Amoxicillin 125 MG &#8230;</a></td>
</tr>
<tr>
<td>What dose forms are available?</td>
<td>
<pre>SELECT ?concept ?conceptLabel
WHERE {?concept skos:prefLabel ?conceptLabel ;
       rxnorm:has_ingredient rxnorm:723 ;
       skos:broader rxnorm:SCDF}</pre>
</td>
<td><a href="http://schemes.caregraf.info/rxnorm/sparql?query=SELECT+%3Fconcept+%3FconceptLabel+WHERE+{%3Fconcept+skos%3AprefLabel+%3FconceptLabel+%3B+rxnorm%3Ahas_ingredient+rxnorm%3A723+%3B+skos%3Abroader+rxnorm%3ASCDF}&#038;output=html&#038;show_inline=1">&#8216;Amoxicillin Oral Suspension&#8217; and more</a></td>
</tr>
</table>
<p>Oh, how easy it is when RXNORM (and SNOMED and &#8230;) become RDF! Shouldn&#8217;t they just come in RDF in the first place?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.caregraf.info/blog/rxnorm-and-co-should-come-in-rdf/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Shouting out good health</title>
		<link>http://www.caregraf.info/blog/shouting-out-good-health</link>
		<comments>http://www.caregraf.info/blog/shouting-out-good-health#comments</comments>
		<pubDate>Fri, 30 Sep 2011 02:32:34 +0000</pubDate>
		<dc:creator>conor</dc:creator>
				<category><![CDATA[CCD]]></category>
		<category><![CDATA[SNOMED]]></category>

		<guid isPermaLink="false">http://www.caregraf.com/?p=1574</guid>
		<description><![CDATA[<p>Oh good health &#8211; how can a medical record shout out good fortune? Here&#8217;s how &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">     :finding snomed:160245001; # No current problems or disability
     :finding snomed:160244002; # No known allergies
     :finding snomed:182850000; # Drugs not issued
or the more general ...
     :finding snomed:408350003; # Patient not on self medications</pre></div></div>

<p>and such an explicit endorsement of health is very&#8230; <a href="http://www.caregraf.info/blog/shouting-out-good-health" class="read_more">Read More »</a></p>]]></description>
			<content:encoded><![CDATA[<p>Oh good health &#8211; how can a medical record shout out good fortune? Here&#8217;s how &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">     :finding snomed:160245001; # No current problems or disability
     :finding snomed:160244002; # No known allergies
     :finding snomed:182850000; # Drugs not issued
or the more general ...
     :finding snomed:408350003; # Patient not on self medications</pre></div></div>

<p>and such an explicit endorsement of health is very different from saying you don&#8217;t know about a person&#8217;s health &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">      :finding snomed:396782006; # medical history unknown
or the precise
      :finding snomed:182904002 # drug treatment unknown</pre></div></div>

<aside>
<p>SNOMED marks its &#8220;absence findings&#8221;, like &#8220;problems absent&#8221;, &#8220;allergies absent&#8221; with the context <a href="http://schemes.caregraf.info/snomed#!410516002">Known Absent</a>. Oh for <a href="http://schemes.caregraf.info/snomed#!13117000">Absence of Stress</a> &#8230;</p>
</aside>
<p>I suppose <q>I don&#8217;t know</q> is one step better than leaving a record empty: it snuffs out any hope of something being found in some out of the way filing cabinet. </p>
<p>Meaningful-use doesn&#8217;t like empty records. A CCD without at least one allergy, one medication and one problem entry is not conformant. To make a CCD for the healthy, we need to put our &#8220;findings of absence&#8221; to work, though it&#8217;s a little counter-intuitive &#8230;</p>
<p>Our one problem is a diagnosis of no problems &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">     &lt;code code=&quot;282291009&quot; displayName=&quot;Diagnosis&quot; codeSystem=&quot;2.16.840.1.113883.6.96&quot; codeSystemName=&quot;SNOMED CT&quot;/&gt;
                  ...
     &lt;value xsi:type=&quot;CD&quot; code=&quot;160245001&quot; codeSystem=&quot;2.16.840.1.113883.6.96&quot; displayName=&quot;No current problems or disability&quot; codeSystemName=&quot;SNOMED CT&quot;&gt;</pre></div></div>

<p>but our one allergy is a stretch: we&#8217;re saying <q>&#8216;Propensity to an adverse reaction&#8217; is &#8216;No reactions&#8217;</q>. The simpler  <q>&#8216;Diagnosis&#8217; is &#8216;No known allergies&#8217;</q> makes more sense but allergy markup won&#8217;t allow it &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">     &lt;code code=&quot;420134006&quot; codeSystem=&quot;2.16.840.1.113883.6.96&quot; displayName=&quot;Propensity to adverse reactions (disorder)&quot; codeSystemName=&quot;SNOMED CT&quot;/&gt;
                  ...
     &lt;value xsi:type=&quot;CD&quot; code=&quot;160244002&quot; codeSystem=&quot;2.16.840.1.113883.6.96&quot; displayName=&quot;No Known allergies&quot; codeSystemName=&quot;SNOMED CT&quot;&gt;</pre></div></div>

<p>and our one medication? Normally medications are all about declaring the drug, the <em>substance administered</em> and the markup doesn&#8217;t start with a code like &#8220;Drugs Issued&#8221;, but as we need to declare absence, in comes a code &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">     &lt;code code=&quot;182850000&quot; codeSystem=&quot;2.16.840.1.113883.6.96&quot; displayName=&quot;Drugs not issued&quot; codeSystemName=&quot;SNOMED CT&quot;/&gt;</pre></div></div>

<p>Of course, all this means that no man, not even the healthiest, gets an empty medical record.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.caregraf.info/blog/shouting-out-good-health/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Something fishy about those ICDs</title>
		<link>http://www.caregraf.info/blog/something-fishy-about-those-icds</link>
		<comments>http://www.caregraf.info/blog/something-fishy-about-those-icds#comments</comments>
		<pubDate>Fri, 23 Sep 2011 00:49:51 +0000</pubDate>
		<dc:creator>conor</dc:creator>
				<category><![CDATA[ICD CM]]></category>
		<category><![CDATA[SNOMED]]></category>

		<guid isPermaLink="false">http://www.caregraf.com/?p=1552</guid>
		<description><![CDATA[<p>What&#8217;s the difference between SNOMED and the ICD siblings, 9 and 10? Many blurbs call SNOMED a <em>Clinical Terminology</em> while the ICD pair are called <em>Classifications</em>.</p>
<p>Terminologies are said to be granular things, meant to handle every medical nuance. They&#8217;re said to shine when precision is called for but to be too chatty for summary. That&#8217;s why billing calls for&#8230; <a href="http://www.caregraf.info/blog/something-fishy-about-those-icds" class="read_more">Read More »</a></p>]]></description>
			<content:encoded><![CDATA[<p>What&#8217;s the difference between SNOMED and the ICD siblings, 9 and 10? Many blurbs call SNOMED a <em>Clinical Terminology</em> while the ICD pair are called <em>Classifications</em>.</p>
<p>Terminologies are said to be granular things, meant to handle every medical nuance. They&#8217;re said to shine when precision is called for but to be too chatty for summary. That&#8217;s why billing calls for Classifications, which capture only the essential. It&#8217;s such a neat split &#8211; express any and all clinical findings in expansive terminology, but state bills and summarize care in succinct classification but is it too neat?</p>
<p>Consider SNOMED&#8217;s definition of <a href="http://schemes.caregraf.info/snomed#!359766000">Nuclear sclerotic cataract</a> &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">a Disease (64572001) with
    :finding_site :56707006 # Nucleus of lens
    :associated_morphology :128305008 # Opacity</pre></div></div>

<p>You see a terminology doesn&#8217;t just give you a concept &#8211; it builds it from more primitive definitions. What&#8217;s more, though some building is done for you, the assumption is that there will always be more to say and that you need to be able to roll your own. So though basic SNOMED doesn&#8217;t come with <em>Senile Nuclear sclerotic cataract</em> pre-canned, you can make it yourself. Just enhance <em>Nuclear scleroitic cataract</em> with &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">    :occurrence :271872005 # old age</pre></div></div>

<p>and hey presto <em>Senile Nuclear sclerotic cataract</em>! </p>
<p>And a classification like good ol&#8217; ICD 9, what does it have to say? <a href="http://schemes.caregraf.info/icd9/366_16">Senile nuclear sclerosis (366.16)</a>, that&#8217;s what. Take that SNOMED! Now being a classification, I9 doesn&#8217;t build up slowly to this concept, no layering attribute on attribute for it. A few jumps down its rigid hierarchy gives you &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">    Cataract (366)
        Senile Cataract (366.1)
            Senile nuclear sclerosis (366.16)</pre></div></div>

<aside>
<p>ICD CM keeps growing: version 9 defined 13500 concepts while 10 has 68000.</p>
</aside>
<p>and though this path provides little for analytical tools, the end result has the same nuance as our newly fired SNOMED.</p>
<p>What&#8217;s more ICD 10 is even more expansive. It adds which eye is affected to make <em>Age-related nuclear cataract, right eye</em>. Not only do we get a condition, not only do we get the stage in life of the patient but we also get the eye. Your answer SNOMED?</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">    :finding-site 
        [ a :56707006 # Nucleus of lens
          :laterality :24028007 # right
        ]</pre></div></div>

<p>or <q>the disease in question is found in the nucleus of the right lens.</q>. </p>
<p>This ability to keep defining means SNOMED won&#8217;t loose the contest for breath, no matter how many expressions the ICDs gobble up, but who now gets to lift the cup for essence? Classification-bloat belies our neat split &#8211; Classification for essentials, Terminology for expressiveness.</p>
<p>Today, it may be better to say that a Terminology provides a man with some fish and a rod to catch more while a Classification aims to give him all the fish he can eat, ever. Here are two approaches to comprehensive expression and ironically, it&#8217;s the terminology that, at its core, is more succinct. </p>
<p>But where, oh where does this leave billing? Using the latest Classification of course. That&#8217;s what ICD 10 CM is for and it&#8217;s just the size to fit the bill, isn&#8217;t it?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.caregraf.info/blog/something-fishy-about-those-icds/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;m Senile, therefore I&#8217;m sick</title>
		<link>http://www.caregraf.info/blog/im-senile-therefore-im-sick</link>
		<comments>http://www.caregraf.info/blog/im-senile-therefore-im-sick#comments</comments>
		<pubDate>Sat, 17 Sep 2011 00:08:01 +0000</pubDate>
		<dc:creator>conor</dc:creator>
				<category><![CDATA[SNOMED]]></category>

		<guid isPermaLink="false">http://www.caregraf.com/?p=1499</guid>
		<description><![CDATA[<p>Your doctor makes a finding &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">    :finding snomed:268912009 # you're senile!</pre></div></div>

<p>after all &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">    :observable snomed:423493009 # age at diagnosis
    :value &#34;65&#34;</pre></div></div>

<p>BTW, in SNOMED, senile state is also an observable thing, a peer of age at diagnosis. They&#8217;re both examples of <em>age or growth periods</em>. So SNOMED implies there&#8217;s a scale to senility, a little&#8230; <a href="http://www.caregraf.info/blog/im-senile-therefore-im-sick" class="read_more">Read More »</a></p>]]></description>
			<content:encoded><![CDATA[<p>Your doctor makes a finding &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">    :finding snomed:268912009 # you're senile!</pre></div></div>

<p>after all &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">    :observable snomed:423493009 # age at diagnosis
    :value &quot;65&quot;</pre></div></div>

<p>BTW, in SNOMED, <a href="http://schemes.caregraf.info/snomed#!32864002">senile state</a> is also an observable thing, a peer of <a href="http://schemes.caregraf.info/snomed#!423493009">age at diagnosis</a>. They&#8217;re both examples of <em>age or growth periods</em>. So SNOMED implies there&#8217;s a scale to senility, a little bit at 65 and by 90, wow. Anyhow, I digress &#8230;</p>
<p>You&#8217;ve a problem &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">    :disease snomed:193570009 # cataracts</pre></div></div>

<p>but because you&#8217;re <a href="http://schemes.caregraf.info/snomed#!268912009">senile</a> the doc could say &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">    :disease snomed:39450006 # senile cataracts</pre></div></div>

<aside>
<p>Cataracts is not alone. SNOMED qualifies <a href="http://schemes.caregraf.info/snomed/sparql?query=SELECT+COUNT%28%3Fs%29+AS+%3FnoSenileDisorders+WHERE+{%3Fs+skos%3AprefLabel+%3FsLabel+.+FILTER%28regex%28%3FsLabel%2C+%27Senile%27%29%29}&#038;output=html&#038;show_inline=1">62</a> disorders with &#8216;senile&#8217; but only <a href="http://schemes.caregraf.info/snomed/sparql?query=SELECT+COUNT%28%3Fs%29+AS+%3FnoSenileMentalDisorders+WHERE+{%3Fs+skos%3AprefLabel+%3FsLabel+%3B+cgdo%3AbroaderKeyPrimitive+snomed%3A74732009+.+FILTER%28regex%28%3FsLabel%2C+%27Senile%27%29%29}&#038;output=html&#038;show_inline=1">9</a> of those are <em>Mental Disorders</em>. There are problems and then there are problems because you are decrepit.</p>
</aside>
<p>Yep, <a href="http://schemes.caregraf.info/snomed#!39450006">senile cataracts</a> is a disorder, the elderly child of <a href="http://schemes.caregraf.info/snomed#!193570009">cataracts</a>. </p>
<p>Now in lay speak, <em>senile</em> is a favorite pejorative that calls brain function into question. You&#8217;re on your way to <a href="http://schemes.caregraf.info/snomed#!15662003">senile dementia</a> or you&#8217;ve arrived. But let&#8217;s give SNOMED a break and presume there&#8217;s nothing insulting about the word. This is just one more catch-all for <em>old-age</em>, a friend of <em>geriatric</em> and <em>elderly</em> or the softly softly <em>age-related</em>. Adding this six letter word to a disorder just puts its cause down to your decrepitude. How decrepit? Let&#8217;s just go with the flow. Let&#8217;s accept that 65 pensions you off to senility.</p>
<p>The more general problem here is redundancy of expression. After all, &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">pair
    :disease snomed:193570009 # cataracts 
with
    :observable snomed:423493009 # age at diagnosis
    :value &quot;65&quot;   
and you get 
    :disease snomed:39450006 # senile cataracts</pre></div></div>

<p>and I&#8217;d argue that the pairing of your age and your condition trumps a composition that tries to capture both stage in life and condition, at least for machine reasoning where numeric ranging comes into its own.</p>
<p>And such compositions raise a bigger issue for all concept schemes: how much concept-mashing should they go for &#8211; the fancy name is &#8216;pre-coordination&#8217;. How much expression to strive for in a single concept? When you add <em>senile</em> to <em>cataracts</em>, you capture two thoughts, but apply this pattern to all ailments which mainly effect the elderly and rarely strike the young and a scheme would balloon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.caregraf.info/blog/im-senile-therefore-im-sick/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s an Allergen?</title>
		<link>http://www.caregraf.info/blog/whats-an-allergen</link>
		<comments>http://www.caregraf.info/blog/whats-an-allergen#comments</comments>
		<pubDate>Thu, 15 Sep 2011 22:00:48 +0000</pubDate>
		<dc:creator>conor</dc:creator>
				<category><![CDATA[SNOMED]]></category>

		<guid isPermaLink="false">http://www.caregraf.com/?p=1502</guid>
		<description><![CDATA[<p>What is the meaning of the SNOMED concept Allergen which categorizes 6105 substances? Face value would come up with &#8230;</p>
<blockquote><p>
    if a <em>substance</em> CAN BE the cause of an <em>Allergy</em> then it is an <em>Allergen</em>
</p></blockquote>
<p>In other words, <em>Allergen</em> is a grouping concept for substances that can cause allergies. Or is it? </p>
<p>SNOMED disorder axis has 1597&#8230; <a href="http://www.caregraf.info/blog/whats-an-allergen" class="read_more">Read More »</a></p>]]></description>
			<content:encoded><![CDATA[<p>What is the meaning of the SNOMED concept <a href="http://schemes.caregraf.info/snomed#!406455002">Allergen</a> which categorizes 6105 substances? Face value would come up with &#8230;</p>
<blockquote><p>
    if a <em>substance</em> CAN BE the cause of an <em>Allergy</em> then it is an <em>Allergen</em>
</p></blockquote>
<p>In other words, <em>Allergen</em> is a grouping concept for substances that can cause allergies. Or is it? </p>
<p>SNOMED disorder axis has <a href="http://schemes.caregraf.info/snomed/sparql?query=SELECT+DISTINCT+COUNT%28%3Fallergy%29+AS+%3FnoSubstanceAllergies+WHERE+{%3Fallergy+cgdo%3AbroaderKeyPrimitive+snomed%3A106190000+%3B+snomed%3A246075003+%3Fsubstance+.+%3Fsubstance+cgdo%3AbroaderKeyPrimitive+snomed%3A105590001+}&#038;output=html&#038;show_inline=1">1597</a> allergies to substances but only <a href="http://schemes.caregraf.info/snomed/sparql?query=SELECT+DISTINCT+COUNT%28%3Fallergy%29+AS+%3FnoAllergiesToAllergins+WHERE+{%3Fallergy+cgdo%3AbroaderKeyPrimitive+snomed%3A106190000++%3B+snomed%3A246075003+%3Fsubstance+.+%3Fsubstance+cgdo%3AbroaderKeyPrimitive+snomed%3A406455002+}&#038;output=html&#038;show_inline=1">1133</a> of those substances are classed as Allergens. In other words, SNOMED comes with allergies to substances that it doesn&#8217;t consider to be <em>Allergens</em>. Examples include <a href="http://schemes.caregraf.info/snomed#!419342009">Allergy to Oats</a> whose cause, Oats, isn&#8217;t classed as an Allergen.</p>
<aside>
<p>Another arbitrary feature of SNOMED&#8217;s Allergen: why are some allergens coordinated into Allergies while others aren&#8217;t? What&#8217;s the criteria for &#8220;getting an allergy&#8221;?</p>
</aside>
<p>And the choice of what is and what isn&#8217;t an Allergen seems arbitrary. Of <a href="http://schemes.caregraf.info/snomed/sparql?query=SELECT+%3Ffood+%3FfoodLabel+WHERE+{%3Ffood+cgdo%3AbroaderPrimitive+snomed%3A227416001+%3B+cgdo%3AuniqueLabel+%3FfoodLabel+}&#038;output=html&#038;show_inline=1">54</a> fresh fruits, only <a href="http://schemes.caregraf.info/snomed/sparql?query=SELECT+%3Ffood+%3FfoodLabel+WHERE+{%3Ffood+cgdo%3AbroaderPrimitive+snomed%3A227416001+%3B+cgdo%3AuniqueLabel+%3FfoodLabel+%3B+cgdo%3AbroaderKeyPrimitive+snomed%3A406455002}&#038;output=html&#038;show_inline=1">9</a> are said to be allergens. <a href="http://schemes.caregraf.info/snomed/102261002">Strawberries</a> are in, <a href="http://schemes.caregraf.info/snomed/227444000	">Raspberries</a> out. Try a little meat. <a href="http://schemes.caregraf.info/snomed#!226934003">Pork</a> is in, but its peer, <a href="http://schemes.caregraf.info/snomed#!226942002">Lamb</a> is out.</p>
<p>And there&#8217;s more. Allergen itself breaks into <a href="http://schemes.caregraf.info/snomed#!406463001">Drug Allergen</a> and <a href="http://schemes.caregraf.info/snomed#!406465008">Food Allergen</a>. Surely a Food Allergen is a Food and a Drug Allergen, a Drug. But here are <a href="http://schemes.caregraf.info/snomed/sparql?query=SELECT+DISTINCT+%3Fsubstance+%3FsubstanceLabel+WHERE+{%3Fsubstance+cgdo%3AbroaderKeyPrimitive+snomed%3A255620007+%3B+cgdo%3AuniqueLabel+%3FsubstanceLabel+%3B+cgdo%3AbroaderKeyPrimitive+snomed%3A406463001}&#038;output=html&#038;show_inline=1">25</a> foods that make it into Drug Allergen, including that well know drug, the <a href="http://schemes.caregraf.info/snomed#!256310000">Cherry</a>.</p>
<p>All in all, in this condition, neither Allergen nor its specializations are good for anything.</p>
<p><em>Update:</em> So I posted a variation of the above to the <em>Substance Hierarchy Reworking group</em> of SNOMED&#8217;s master, the IHTSDO and here&#8217;s what Matthew Cordell wrote &#8230;</p>
<blockquote cite="Matthew Cordell (ihtsdo AU)"><p>Realistically it&#8217;s impractical/impossible to define the range of substance that &#8220;could&#8221; cause an allergy in &#8220;somebody&#8221;. Consequently such relationships aren&#8217;t really &#8220;defining&#8221; &#8230; defining something as being an &#8220;allergen&#8221; is actually saying a &#8220;a potential allergen&#8221; &#8211; which is circumstantial. &#8230; the allergen categories will most likely be retired</p></blockquote>
<p><q>Circumstantial</q>, not <q>Defining</q>, that says it all. Now, our <a href="http://schemes.caregraf.info/snomed">SNOMED dataset</a> has to reflect this. In general, it needs to do a better job at hiding or downgrading clutter.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.caregraf.info/blog/whats-an-allergen/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Take the Tourists while you&#8217;re at it</title>
		<link>http://www.caregraf.info/blog/take-the-tourists-while-youre-at-it</link>
		<comments>http://www.caregraf.info/blog/take-the-tourists-while-youre-at-it#comments</comments>
		<pubDate>Fri, 09 Sep 2011 01:55:10 +0000</pubDate>
		<dc:creator>conor</dc:creator>
				<category><![CDATA[CCD]]></category>
		<category><![CDATA[Datasets]]></category>

		<guid isPermaLink="false">http://www.caregraf.com/?p=1461</guid>
		<description><![CDATA[<p>In going through how Dr Seuss is passing meaningful-use, I covered what we can call the <em>Nonsense CCD</em>: though official tests pronounce it <em>correct</em>, which should make it <em>meaningful</em> for data exchange, its understood-by-nobody-else codes say otherwise. Its content is meaningless outside the organization that produced it.</p>
<p>Fortunately, <em>Nonsense</em> is only the lowest of three levels of <em>correct</em> CCD. I&#8217;ll&#8230; <a href="http://www.caregraf.info/blog/take-the-tourists-while-youre-at-it" class="read_more">Read More »</a></p>]]></description>
			<content:encoded><![CDATA[<p>In going through how <a href="http://www.caregraf.com/blog/dr-seuss-passes-meaningful-use">Dr Seuss is passing meaningful-use</a>, I covered what we can call the <em>Nonsense CCD</em>: though <a href="http://xreg2.nist.gov/cda-validation/mu.html">official tests</a> pronounce it <em>correct</em>, which should make it <em>meaningful</em> for data exchange, its understood-by-nobody-else codes say otherwise. Its content is meaningless outside the organization that produced it.</p>
<p>Fortunately, <em>Nonsense</em> is only the lowest of three levels of <em>correct</em> CCD. I&#8217;ll talk about the creme de la creme later, but now let me discuss Mr. In Between, what I think of as &#8220;CCDs for Tourists&#8221;.</p>
<p>As always let&#8217;s begin in the weeds, again with good old <em>allergy to strawberries</em> &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">&quot;Allergy&quot; is the disorder and &quot;les fraises&quot; sont la cause</pre></div></div>

<p><em>les fraises</em>? It&#8217;s French for <em>strawberries</em>. But why two languages? Why not just stick to English, say <q>strawberries is the cause</q>? After all, English isn&#8217;t limited to labeling disorders &#8211; such mixing and matching makes the listener focus on the form of expression rather than what&#8217;s being said!</p>
<p>Here&#8217;s CCD markup for this allergy, using concept schemes recommended by the powers that be &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">&lt;code code=&quot;106190000&quot; displayName=&quot;Allergy&quot; codeSystem=&quot;2.16.840.1.113883.6.96&quot; codeSystemName=&quot;SNOMED&quot; /&gt;
...
&lt;value xsi:type=&quot;CD&quot;/&gt;
&lt;participant typeCode=&quot;CSM&quot;&gt;
    &lt;participantRole classCode=&quot;MANU&quot;&gt;
        &lt;playingEntity classCode=&quot;MMAT&quot;&gt;
            &lt;code code=&quot;4J2TY8Y81V&quot; codeSystem=&quot;2.16.840.1.113883.4.9&quot; codeSystemName=&quot;Unique Ingredient Identifier (UNII)&quot; displayName=&quot;strawberry&quot; /&gt;
            &lt;name&gt;strawberry&lt;/name&gt;
        &lt;/playingEntity&gt;
    &lt;/participantRole&gt;
&lt;/participant&gt;</pre></div></div>

<p>We declare the disorder with SNOMED and the cause using the FDA&#8217;s Unique Ingredient Identifier scheme (UNII). Here&#8217;s two different concept schemes or languages if you will. Why two? Why not identity substance with SNOMED too?</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">&lt;code code=&quot;106190000&quot; displayName=&quot;Allergy&quot; codeSystem=&quot;2.16.840.1.113883.6.96&quot; codeSystemName=&quot;SNOMED&quot;&gt;
     &lt;qualifier&gt;
         &lt;name code=&quot;246075003&quot; displayName=&quot;causative agent&quot; /&gt;
         &lt;value code=&quot;102261002&quot; displayName=&quot;strawberry&quot; /&gt;
     &lt;/qualifier&gt;
&lt;/code&gt;</pre></div></div>

<aside>
<p>In CCD standards UNII gets substances, NDF-RT gets Medication class and RxNorm is for Medications. Add SNOMED to designate the disorder as <em>allergy</em> and a CCD reader needs four languages.</p>
</aside>
<p>English and French, SNOMED and UNII, la même chose? Multi-lingual CCDs or <em>CCDs for tourists</em>.</p>
<p>Tourists? Ever waded through street vendors in the face of English, German, local labels and pointing, as you and they try to get your point across? This form of expression works but only for simple communication. It&#8217;s the world of Adam in the garden, labeling one plant after another, without any thought for the overarching concept <em>plant</em>, the world of stand-alone labels, not coherent expression.</p>
<p>Like most who&#8217;ve played with CCDs, I expect meaningful-use 2 to consign the Nonsense to the scrap heap but I&#8217;d go further and throw the Tourists in there too. But perhaps, I&#8217;m being too narrow-minded, too much of the &#8220;English should be our one and only language&#8221;, &#8220;let them eat SNOMED&#8221; sort. Why not live happily in babel? Because I want to do something with these patient-data dumps, damn it and I&#8217;d rather do it without a dictionary in hand.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.caregraf.info/blog/take-the-tourists-while-youre-at-it/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
