Data Dictionary
Last updated
Last updated
The data dictionary for entities which store the SanteDB concept dictionary are illustrated below.
The concept class table stores a complete list of concept classifications.
Property | Type | Description |
ConceptClassId [1..1] | UUID | Represents a unique identifier for the concept classification. |
Name [1..1] | VARCHAR | Represents a human readable name for the concept classification. Example: Class Codes |
Mnemonic [1..1] | VARCHAR | Represents a system mnemonic for the concept class. The mnemonic does not change even if the human readable Name column does. |
The Concept table stores the key data related to a concept. The Concept table represents immutable concept properties that cannot be changed once a concept is created.
Property | Type | Description |
ConceptId [1..1] | UUID | A unique identifier for the concept. |
IsSystemConcept [1..1] = false | BIT | An indicator which identifies whether the concept is a system concept (i.e. no further versions can be created, cannot be obsoleted, etc.). |
The concept version table is used to store mutable properties of a concept. All edits to a concept’s attributes result in a new version being created in the ConceptVersion table.
Property | Type | Description |
ConceptVersionId [1..1] | UUID | A unique identifier for the concept version. |
VersionSequenceId [1..1] | INT | A sequence identifier for the version which allows for establishing a time-independent record of version order. |
ConceptId [1..1] | UUID | The concept to which the version applies. |
CreationTime [1..1] | DATETIME | The instant in time when the concept version became active (was created). Should default to the current database timestamp. |
CreatedBy [1..1] | UUID | The user who was responsible for the creation of the version, or the system user if the installation process created the concept version. |
ObsoletionTime [0..1] ? (> CreationTime) | DATETIME | When present, identifies the time when the concept version did become obsolete. This is used whenever a new version is created, the old version is obsoleted. |
ObsoletedBy [0..1] ?(ObsoletionTime) | UUID | Indicates the user who was responsible for the obsoletion of the record. |
ReplacesVersionId [0..1] | UUID | Identifies the concept version that the current version of the concept replaces. |
ConceptClassId [1..1] = Other | UUID | Identifies the classification of the concept as of the version tuple. |
Mnemonic [0..1] | VARCHAR | A unique mnemonic used by the system to lookup the concept. The system mnemonic is primarily used for validation purposes where a concept’s identifier does not represent a consistent identifier across deployments. |
The concept set entity is used to represent logical groupings of concepts which are related in some manner. These typically are used to drive validation (i.e. gender field must be bound to a concept in the gender concept set) or data-entry fields.
Property | Type | Description |
ConceptSetId [1..1] | UUID | A unique identifier for the concept set |
Mnemonic [1..1] | VARCHAR | The codified name of the concept set (without spaces) used to reference the concept set in queries and paths. |
Name [1..1] | VARCHAR | The human readable name of the concept set. |
Url [1..1] | VARCHAR | The URL which defines the concept set. |
Oid [1..1] | VARCHAR | The OID which defines the concept set. |
The concept name table represents a series of human readable names for the concept at a particular version. This facilitates searches as well as translation.
Property | Type | Description |
ConceptNameId [1..1] | UUID | A unique identifier for the concept name |
ConceptId [1..1] | UUID | The concept to which the concept name applies. |
EffectiveVersionSequenceId [1..1] | UUID | The version of the concept when the name did become active. |
ObsoleteVersionSequenceId [0..1] | UUID | The version of the concept when the concept name was obsoleted. |
Name [1..1] | VARCHAR | The human readable display name for the concept. |
LanguageCode [1..1] ~ ISO639-2 = en | CHAR | The ISO639-2 language code for the concept display name. |
PhoneticCode [0..1] | VARCHAR | The phonetic code for the display name. This is used for phonetic “sounds-like” searches of concepts. |
PhoneticAlgorithmId [0..1] ?(PhoneticCode) | UUID | The phonetic algorithm used to generate the phonetic code. This allows deployments to use METAPHONE, SOUNDEX or custom phonetic algorithms appropriate for the language used. |
The concept relationship table is used to link concepts to one another. Concept relationships can represent equivalency between concepts, parent/child relationships, etc.
Property | Type | Description |
ConceptRelationshipId [1..1] | UUID | The unique identifier for the relationship. |
SourceConceptId [1..1] | UUID | The concept that represents the source of the relationship. |
TargetConceptId [1..1] | UUID | The concept which represents the target of the relationship |
EffectiveVerisonId [1..1] | UUID | Identifies the version of the source concept where the relationship did become active. |
ObsoleteVersionSequenceId [0..1] | UUID | Identifies the version of the source concept where the relationship is no longer active. |
RelationshipTypeId [1..1] | UUID | Identifies the type of relationship the concepts have. |
The concept relationship type represents allowed types of relationships that a concept can have.
Property | Type | Description |
ConceptRelationshipTypeId [1..1] | UUID | The unique identifier for the concept relationship |
Name [1..1] | VARCHAR | The human readable name of the concept relationship type. |
Mnemonic [1..1] | VARCHAR | An invariant value that represents the type of relationship typically used by software components. |
A reference term represents a wire level code that can be used to represent the concept.
Property | Type | Description |
ReferenceTermId [1..1] | UUID | A unique identifier for the reference term. |
CodeSystemId [1..1] | UUID | The code system in which the reference term belongs. |
Mnemonic [1..1] | VARCHAR | The wire level code mnemonic for the reference term. |
An associative entity that links a concept to one or more reference terms and indicates the strength of the map.
Property | Type | Description |
ConceptReferenceTermId [1..1] | UUID | A unique identifier for the concept reference term map |
ConceptId [1..1] | UUID | The concept to which the reference term is linked. |
EffectiveVersionSequenceId [1..1] | UUID | The version of the concept where the reference term map became effective. |
ObsoleteVersionSequenceId [0..1] | UUID | The version of the concept where the reference term map became obsolete. |
ReferenceTermId [1..1] | UUID | The reference term which is associated with the concept. |
RelationshipTypeId [1..1] | UUID | Identifies the relationship (or strength) that the reference term has with the concept. For example: SAME_AS, NARROWER_THAN, etc. |
The code system table represents a master list of all code systems from which a reference term can be drawn.
Property | Type | Description |
CodeSystemId [1..1] | UUID | A unique identifier for the code system entry. |
Name [1..1] | VARCHAR | A human readable name for the code system. For example: ICD10 |
Oid [1..1] | VARCHAR | The object identifier that identifies the code system in an interoperable manner. |
Authority [1..1] | VARCHAR | The unique assigning authority of the particular code system. Example CVX or SNOMEDCT |
CreationTime [1..1] | DATETIME | The time when the code system entry was created. Default to the current timestamp in the RDBMS. |
CreatedBy [1..1] | UUID | The user that was responsible for the creation of the code system. |
ObsoletionTime [0..1] ? (>CreationTime) | DATETIME | When populated, indicates the time when the code system record is obsolete. |
ObsoletedBy [0..1] ?(ObsoletionTime) | UUID | Identifies the user who was responsible for obsoleting the record. |
ObsoletionReason [0..1] ?(ObsoletionReason) | VARCHAR | The textual description as to why the record was obsoleted. |
Url [1..1] | VARCHAR | A URI that uniquely identifies the code system. This is primarily used when exposing the code system over REST interfaces. |
Version [0..1] | VARCHAR | A textual description of the version of the code system that this record represents. |
Like the ConceptName table, the reference term display name table is used to identify human readable display names associated with the reference term.
Property | Type | Description |
ReferenceTermDisplayNameId [1..1] | UUID | The unique identifier for the reference term. |
ReferenceTermId [1..1] | UUID | The reference term to which the display name applies. |
LanguageCode [1..1] ~ ISO639-2 = en | CHAR | The ISO639-2 language code that identifies the language in which the display name is represented. |
DisplayName [0..1] | VARCHAR | The human readable name for the reference term. |
CreationTime [1..1] | DATETIME | The time when the display name became active. |
CreatedBy [1..1] | UUID | Identifies the user that was responsible for the creation of the reference term display name. |
ObsoletionTime [0..1] ?(>CreationTime) | DATETIME | When present, identifies the time when the record should no longer be used. |
ObsoletedBy [0..1] ?(CreationTime) | UUID | Identifies the user that was responsible for obsoleting the display name. |
ObsoletionReason [0..1] ?(CreationTime) | VARCHAR | A textual description as to why the display name was obsoleted. |
PhoneticCode [0..1] | VARCHAR | Represents a phonetic code that can be used in “sounds-like” queries. |
PhoneticAlgorithmId [0..1] ?(PhoneticCode) | UUID | Identifies the phonetic algorithm that was used to generate the phonetic code. This allows METAPHONE or SOUNDEX or some other custom language appropriate phonetic algorithm to be used. |