gnumed-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnumed-devel] the WHY: Re: clinicians: coding use case survey - ple


From: Rogerio Luz Coelho
Subject: Re: [Gnumed-devel] the WHY: Re: clinicians: coding use case survey - please respond !
Date: Wed, 4 May 2011 14:25:33 -0300

I preffer the 2nd system.

Is it VERY hard to make dbo choose which system to use?

Rogerio


2011/5/4 Karsten Hilbert <address@hidden>
Here's an explanation of why I am being so specific about
the coding thing:

There's fundamentally two different ways to associate codes
with narrative:

#--------------------------------------------------------------------
1) codes "stand for" (are equivalent to) certain blocks of narrative:

       create table coded_term (
               term text
               code text
       )

       create table episode (
               description
       )

Note how
       - the episode does NOT directly link to coded_term
       - coded_term does NOT have unique(term, code)

With this setup

       - there can be many codes for a term in coded_term
       - GNUmed looks at coded_term.term = episode.description
         whenever it wants codes for the episode name
       - new episodes of previously used descriptions automatically
         "have" codes *in*directly associated with them
       - renaming episodes automatically breaks the previous associated
         codes (and automatically associates other codes if known)
       - you cannot have different code lists for the same term in different patients
               -> you need to be more specific in your naming of episodes
                  to differentiate

(there will be another table holding code/official_term/system
 but this does not have any relevance to the argument
 presented here)

#--------------------------------------------------------------------
2) codes are *linked* to certain structures of the EMR but bear no direct equivalence
  to particular pieces of text within the EMR

       create table code (
               pk serial
               code text
               official_term text
               system text
               unique(official_term, code, text)
       )

       create table episode (
               pk serial
               description
       )

       create table lnk_code2episode (
               fk_code references code(pk)
               fk_episode references episode(pk)
               unique(fk_code, fk_episode)
       )

Note how now
       - each episode IS directly linked to specific codes
       - code DOES have unique(official_term, code, system)

With this setup

       - there can be many codes for a term in code - one per system
       - there can be many codes linked to one episode - but each only once
       - GNUmed looks at lnk_code2episode to find the codes linked to this episode
       - new episodes of previously used descriptions do not *automatically* have any codes
       - renaming episodes carries over the previously linked codes, regardless
               - good for typos
               - bad for semantic changes
       - you can have different code lists for the same episode in different patients
               - you can name *all* episodes alike and still have different codes per patient
               - you can name *all* episodes differently and still link the same codes
                       - this explains that codes do not *stand for* episode.description but
                         are simply linked to the EMR as additional data just like, say, a
                         vaccination - except that the reason for linking is made obvious
                         (namely that the used decided on linking by way of the episode)

#--------------------------------------------------------------------

So, pick your poison :-)

Karsten
--
GPG key ID E4071346 @ gpg-keyserver.de
E167 67FD A291 2BEA 73BD  4537 78B9 A9F9 E407 1346

_______________________________________________
Gnumed-devel mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/gnumed-devel


reply via email to

[Prev in Thread] Current Thread [Next in Thread]