[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gnumed-devel] GNUmed support for coding systems
From: |
Karsten Hilbert |
Subject: |
Re: [Gnumed-devel] GNUmed support for coding systems |
Date: |
Wed, 4 May 2011 13:30:32 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Wed, May 04, 2011 at 01:05:07PM +0200, Eric MAEKER wrote:
> Some codes (ICD10) are interdependent:
>
> - some needs others
> - some associations are mandatory
> - some associations are simply not possible (exclusions)
> - codes have a date of release (for update calculations)
> - some codes includes multiple labels
> - association order is important (dag first, star associated)
Sure, but those are *rules* upon the *usage* of the codes,
not facts (as in codes) themselves.
Hence they are best expressed at the level of usage, not at
the level of fact storage.
Such rules typically depend on the amount of jet lag a WHO
executive comes under when travelling from Cairo to Delhi.
Oh, maybe the thickness of butter on the sandwich plays a
role, too.
If one really wants to enforce such rules at the database
level the enforcement must be:
- dependant on some configuration item
- at the level of actually linking EMR items
(narrative, episodes, RFE, AOE, issues) to
individual codes
Those tables weren't even mentioned in the ones I attached
(see below).
That's also why I thought GNUmed could use FreeCodeBrowser
as a helper application:
- hand it a term
- return a set of codes conceptually consistent
with application of a certain set of rules
Karsten
> > Sure. Our structure for storing reference data on coding
> > systems goes like this:
> >
> > create table ref.data_source (
> > pk serial
> > primary key,
> > name_long text
> > not null,
> > name_short text
> > not null,
> > version text
> > not null,
> > description text,
> > source text
> > not null,
> > unique(version, name_long),
> > unique(version, name_short)
> > ) inherits (audit.audit_fields);
> >
> >
> > create table ref.coding_system_root (
> > pk_coding_system serial
> > primary key,
> > code text
> > not null,
> > term text
> > not null,
> > fk_data_source integer
> > not null
> > references ref.data_source(pk)
> > on update cascade
> > on delete restrict,
> > comment text,
> > unique(fk_data_source, code),
> > unique(fk_data_source, term)
> > );
> >
> > -> all coding system tables inherit from this one
--
GPG key ID E4071346 @ gpg-keyserver.de
E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346