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.