i2b2 Developer's Forum
Space shortcuts
Space Tools
Skip to end of metadata
Go to start of metadata

Representing Allergies in Star Schema with modifiers

There is no "set" way to represent any specific concept in i2b2.  However, query results will be easier and more natural for users to understand with some setups, and less intuitive with others.  Allergies have several "parts" to then.  They have the usual attribution to the patient who has the allergy, and the provider that recorded that allergy.  But what are the "observation_facts" for an allergy.  If one has a severe allergy to peanuts which leads to an anaphylactic reaction, how would that be recorded?

Now as always, the source system may lead to a specific representation, but starting with a clean slate, and thinking of how an allergy relates to a patient (like a disease), it is the "anaphylaxis" which is the "main event" for the patient, and is what was actually observed.  Therefore the *substance* that the patient is allergic to, and the *severity* of the patient's allergy, are modifiers to the anaphylaxis.

Referring to SNOMED codes, one could use a schema like this:

The main fact is the SNOMED code for reaction (= disease in a sense)

     SNO:xxxxxxxxx

         in modifier_cd put "@"

         in ValueType put "T"

         in TVal put a "Literal description"

 The modifiers are:

     Severity, in form of a SNOMED CODE SNO:xxxxxxxxx (ignore Title)

         255604002, Title="Mild"

         371923003, Title="Mild to moderate"

         6736007, Title="Moderate"

         371924009, Title="Moderate to severe"

         24484000, Title="Severe"

         399166001, Title="Fatal"

     Substance, in form of a SNOMED CODE SNO:xxxxxxxxx

                in form of a UNII Code UNI:xxxxxxxxx

                in form of NDF-RT Code NDF:xxxxxxxx

         in ValueType put "T"

         in TVal put a "Literal description"

     Category, in in form of a SNOMED CODE SNO:xxxxxxxxx (ignore Title)

         420134006, Title="propensity to adverse reactions"

         418038007, Title="propensity to adverse reactions to substance"

         419511003, Title="propensity to adverse reactions to drug"

         418471000, Title="propensity to adverse reactions to food"

         419199007, Title="allergy to substance"

         416098002, Title="drug allergy"

         414285001, Title="food allergy"

         59037007, Title="drug intolerance"

         235719002, Title="food intolerance"

- may want an "other" category

- Here is a good reference [http://www.ncvhs.hhs.gov/060913lt.htm
]

Example

ROW#1

patient_num      23

encounter_num 5646

instance_num    1

provider_cd     B0034532

start_date         2009-3-23

concept_cd      SNO:39579001

modifier_cd      @

valuetype_cd    T

tval_char          Anaphalactic reaction to peanuts

observation_blob          "Carries Epipen since 2004."

ROW#2

patient_num      23

encounter_num 5646

instance_num    1

provider_cd     B0034532

start_date         2009-3-23

concept_cd      SNO:39579001

modifier_cd      SNO:24484000

valuetype_cd    null

tval_char          null

observation_blob          null

ROW#3

patient_num      23

encounter_num 5646

instance_num    1

provider_cd     B0034532

start_date         2009-3-23

concept_cd      SNO:39579001

modifier_cd      UNI:QE1QX6B99R

valuetype_cd    T

tval_char          Peanut

observation_blob          null

ROW#4

patient_num      23

encounter_num 5646

instance_num    1

provider_cd     B0034532

start_date         2009-3-23

concept_cd      SNO:39579001

modifier_cd      SNO:414285001

valuetype_cd    null

tval_char          null

observation_blob          null

Note that the clinician's "narrative" entry is represented as a text value.  It can be searched as a text value, but is not used in routine queries.  Comments are represented in the observation_blob.

  • No labels