i2b2 Working Groups
Space shortcuts
Space Tools

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • I2b2 user interface and its relationship to metadata
    • Describe how metadata provides the bulk of the i2b2 user interface
      • Browsing through folders in the i2b2 user interface literally browses through the rows of installed metadata tables of that i2b2 instance
      • The browsing behavior differs slightly for rows with metadataxml
      • An i2b2 query is created by making selections in the folder browsing interface, each selection is tied to a specific metadata row
      • Describe how metadata provides the bulk of the i2b2 user interface
      • Describe the process i2b2 uses to resolve queries, and how the attributes in metadata are used in that process.
    • Cover metadataxml
      • The payload of c_metadataxml column controls the pop-up behavior in i2b2 webclient (and other interfaces). It is itself an XML document.
      • The purpose of the pop-up behavior is to fine-tune query processing.  For example, a pop-up can allow a user to select a desired range of numeric values.  Once selected, only facts with an associated value in that range are examined by the query.  As an example, this might allow looking for Body temperature values in a particular range.
      • When c_metadataxml is NULL in a metadata row, no pop-up is displayed if that row is selected in the i2b2 folder browsing interface.
      • Sample - metadataxml for Body temperature:
        • <?xml version="1.0"?>
          <ValueMetadata>
            <Version>3.02</Version>
            <CreationDateTime>06/09/2015 12:00:00</CreationDateTime>
            <TestID>8310-5</TestID>
            <TestName>Temperature</TestName>
            <DataType>Integer</DataType>
            <CodeType></CodeType>
            <Loinc></Loinc>
            <Flagstouse></Flagstouse>
            <Oktousevalues>Y</Oktousevalues>
            <MaxStringLength></MaxStringLength>
            <LowofLowValue></LowofLowValue>
            <HighofLowValue></HighofLowValue>
            <LowofHighValue></LowofHighValue>
            <HighofHighValue></HighofHighValue>
            <LowofToxicValue></LowofToxicValue>
            <HighofToxicValue></HighofToxicValue>
            <EnumValues></EnumValues>
            <CommentsDeterminingExclusion>
              <Com></Com>
            </CommentsDeterminingExclusion>
            <UnitValues>
              <NormalUnits>F</NormalUnits>
              <EqualUnits>F</EqualUnits>
              <ExcludingUnits></ExcludingUnits>
              <ConvertingUnits>
                <Units></Units>
                <MultiplyingFactor></MultiplyingFactor>
              </ConvertingUnits>
            </UnitValues>
            <Analysis>
              <Enums /><Counts /><New />
            </Analysis>
          </ValueMetadata>
    • You must create a single string from the above XML by concatenated all lines into a single string.  The reason is that this XML becomes a single column (C_METADATAXML) associated with a single row of metadata.  It must be loaded as a single string.
    • Metadataxml is most commonly used for observations with associated continuous variables such as lab results and vital signs
    • METADATA XML – see the METADATA XML subpage for information on setting the C_METADATAXML column for fine-tuning the associated query to look at data values in the associated Facts
    • Relationship between i2b2 ontology and concept_dimension table
      • C_fullname in i2b2 ontology is the unique identifier of a concept. Individual patient facts in observation_fact table are identified by concept_cd - typically a code_system:code construct, for example, “ICD10CM:E11” for “Type 2 Diabetes Mellitus.”  To enable queries, the concept path in the ontology must be linked with concept code. Concept dimension accomplishes that and provides the link between concept path in the ontology with concept code
      • There is an important nuance which you must be aware of - the naming convention for columns in i2b2’s ontology table(s) differs from that in observation_fact and its dimension tables, including concept_dimension. Column names in the table below illustrate this - each row shows different column names even though they carry the same data. In other words, C_FULLNAME in ontology carries the same information as CONCEPT_PATH in concept_dimension table.

    ...