Using Terminology Concepts Mapped By Rosetta
Tables in the Unified Model have several columns that represent coded terminology concepts. These concepts are integrated from the originating data source using coded references in a terminology code system that is provided by the data source. After integration into HIEBus, these concepts are mapped to reference terminologies by the Rosetta Terminology Service. A complex schema in the HIEBus Model retains all information about the coded representation and terminology used by the source system as well as multiple mappings and value set references that are determined by Rosetta.
Terminology in the Unified Data Model
The Unified Model attempts to simplify this terminology representation for common analytics use cases. Most terminology concepts are represented in the Unified Model with a primary mapped term using the following pattern:
- code: Exactly one code from a reference code system to represent the preferred, mapped terminology concept. The Rosetta Terminology Service determines this mapped concept. If the concept remains unmapped, the original code provided by the source system is used. If Rosetta determines multiple mapped concepts, a single preferred concept is selected using a prioritization algorithm in order to retain a simple 1:1 mapping for analytics use cases.
- display: The description for the selected code. This column is denormalized from terminology tables in order to avoid a join and simplify analytics use cases.
- termid: An internal identifier (named with the pattern *termid) for the original term provided by the source system. If the denormalized primary mapped code and description are insufficient for a use case, this termid reference can join to tables in the Terminology Model in order to determine all information about the source term, all mappings determined by Rosetta, and all related value sets.
Examples of this pattern:
The condition table has the following columns:
- code: Coded value to describe the diagnosis. This represents a primary mapped term in a reference code system such as ICD10.
- display: Human-readable label to describe the diagnosis. This represents a primary mapped term in a reference code system such as ICD10.
- termid: Link to tables in the Terminology Model. This represents the term that describes the coded value acquired from the data source (e.g. an EHR).
The encounter table has the following columns:
- classcode: Coded value to describe the encounter patient class. This represents a primary mapped term in a reference code system.
- class: Human-readable label to describe the patient class. This represents a primary mapped term in a reference code system.
- classtermid: Link to tables in the Terminology Model. This represents the term that describes the coded value acquired from the data source (e.g. an ADT interface from a hospital).
Common Joins Using *termid Columns
The following usage patterns join a *termid column to another table.
- Obtain value sets related to the termid by joining termid to valueset.termid. This table relates termid to value sets that contain the term or reference terms to which the term is mapped.
- Obtain all term mappings related to the termid by joining the termid to reftermmap.sourcetermid. This table contains the preferred mapping revealed in the code and display columns as well as additional mappings if present.
- Obtain additional properties about the termid (such as usage counts and last mapping date) by joining the termid to term.termid.