Data Dictionary
Last updated
Last updated
The SanteDB entity model represents a series of tables which are responsible for the tracking of entities within the SanteDB data model. Entities represent people, places, organizations, things, etc. and are responsible for participating within acts in some capacity.
The entity table is responsible for the storage of immutable attributes of an entity.
Column | Type | Description |
EntityId [1..1] | UUID | Uniquely identifies the entity within the context of the SanteDB implementation. |
TemplateDefinitionId [0..1] | UUID | Identifies the template which the entity instance implements. |
ClassConceptId [1..1] ~EntityClassConcept | UUID | Identifies the concept that classifies the entity by a type. The classifier is used to determine “WHAT TYPE” of entity the tuple represents such as a person, material, manufactured material, organization, place, etc. |
DeterminerConceptId [1..1] ~EntityDeterminerConcept | UUID | Identifies the concept that classifies or determines the type of entity. This is either an INSTANCE or CLASS concept identifier. |
The entity tag table is used to store version independent tags associated with an entity. A tag does not result in new versions of the entity and is used to track additional data related to security and/or workflow related metadata.
Column | Type | Description |
EntityTagId [1..1] | UUID | Uniquely identifies the entity tag. |
EntityId [1..1] | UUID | Identifies the entity to which the tag is associated. |
Key [1..1] | VARCHAR | Qualifies the type of tag associated with the entity. That is to say, type of tag is represented in the tuple of the determiner. |
Value [1..1] | VARCHAR | A value that carries the data associated with the tag value. |
CreationTime [1..1] | DATETIME | Indicates the date/time at which time the tag was created. |
CreatedBy [1..1] | UUID | Identifies the user that was responsible for the creation of the tag. |
ObsoletionTime [0..1] ?(>CreationTime) | DATETIME | When populated, indicates the time when the tag is no longer associated with the entity. |
ObsoletedBy [0..1] ?(ObsoletionTime) | UUID | Identifies the user that was responsible for obsoleting the tag. |
The entity version table is used to store the mutable attributes of an entity, that is to say, any fields associated with an entity that may evolve over the lifespan of the entity are tracked in this table.
Column | Type | Description |
EntityVersionId [1..1] | UUID | Uniquely identifies the version of the entity represented in the tuple. |
EntityId [1..1] | UUID | Identifies the entity to which this version applies. |
ReplacesVersionId [0..1] | UUID | Identifies the version of the entity that the current tuple is responsible for replacing. |
StatusConceptId [1..1] ~EntityStatusConcept | UUID | Identifies the status of the entity as of the version represented in the tuple. |
CreationTime [1..1] | DATETIME | Indicates the time when the entity was created. |
CreatedBy [1..1] | UUID | Identifies the user that was responsible for the creation of the entity. |
ObsoletionTime [0..1] ?(>CreationTime) | DATETIME | When populated, indicates the time when the entity version became obsolete. |
ObsoletedBy [0..1] ?(ObsoletionTime) | UUID | Identifies the user that was responsible for the obsoleting of the record. |
TypeConceptId [0..1] | UUID | Indicates the concept that classifies the subtype of entity. For example, an entity may be a provider; however, the sub-type may be a “physiotherapist”. |
The entity association table is used to associate two or more entities together. An association is made between a source entity and a target entity.
Column | Type | Description |
EntityRelationshipId [1..1] | UUID | Uniquely identifies the entity association. |
SourceEntityId [1..1] | UUID | Identifies the source of the entity association. |
TargetEntityId [1..1] | UUID | Identifies the target of the entity association. |
EffectiveVersionSequenceId [1..1] | UUID | Indicates the version of the source entity at which time this entity association was created or became effective. |
ObsoleteVersionSequenceId [0..1] | UUID | When populated, indicates that the entity association is no longer active, and indicates the version of the source entity where the association ceased to be applicable. |
RelationshipTypeConceptId [1..1] ~EntityRelationshipType | UUID | Classifies the relationship between the two entities. Can indicate ownership roles such as “Place OWNS Material”, or relationship “Patient CHILD OF Person”. |
Quantity [1..1] = 1 | INT | Indicates the quantity of target entities contained within the source entity. |
The entity note table is used to store textual notes related to an entity.
Column | Type | Description |
EntityNoteId [1..1] | UUID | Uniquely identifies the note. |
EffectiveVersionSequenceId [1..1] | UUID | Identifies the version of the entity to which the note applies. |
ObsoleteVersionSequenceId [0..1] | UUID | When populated, indicates the version of the entity where the note is no longer relevant. |
AuthorEntityId [1..1] | UUID | Identifies the entity that was responsible for the authoring of the note. |
NoteText [1..1] | TEXT | Indicates the textual content of the note. |
The entity address table is used to store address information (physical addresses) related to an entity.
Column | Type | Description |
EntityAddressId [1..1] | UUID | Uniquely identifies the entity address. |
EffectiveVersionSequenceId [1..1] | UUID | Identifies the version of the entity whereby the address information became active. |
ObsoleteVersionSequenceId [0..1] | UUID | When populated, indicates the version of the entity whereby the address is no longer applicable. |
AddressUseConceptId [1..1] ~AddressUseType | UUID | Indicates the desired use of the address. Examples include physical visit, vacation home, contact, mailing, etc. |
The entity address component table is used to store the address components associated with a particular entity address.
Column | Type | Description |
EntityAddressComponentId [1..1] | UUID | Uniquely identifies the entity address component. |
Value [1..1] | VARCHAR | Identifies the value of the of the address component |
ComponentTypeConceptId [1..1] ~NameComponentType | UUID | Classifies the type of address component represented in the value field. For example: street name, city, country, postal code, etc. |
EntityAddressId [1..1] | UUID | Identifies the entity address to which the entity address component applies. |
The entity name table is used to store master list of names associated with an entity.
Column | Type | Description |
EntityNameId [1..1] | UUID | Uniquely identifies the entity name. |
EntityNameUseId [1..1] | UUID | Classified the intended use of the entity name. Examples: maiden name, legal name, license name, artist name, etc. |
EffectiveVersionSequenceId [1..1] | UUID | Identifies the version of the entity when this name became active. |
ObsoleteVersionSequenceId [0..1] | UUID | When populated, identifies the version of the entity where the name is no longer active. |
The entity name component table is responsible for the storage of name components that comprise an entity name.
Column | Type | Description |
NameComponentId [1..1] | UUID | Uniquely identifies the name component. |
ValueId [1..1] | UUID | Indicates the phonetic value tuple that stores the name value. |
NameComponentTypeConceptId [1..1] ~EntityComponentType | UUID | Classifies the type of name component represented. Examples: first name, title, family name, etc. |
EntityNameId [1..1] | UUID | Indicates the entity name to which the name component applies. |
The entity identifier is table is responsible for the storage of alternate identifies associated with the entity.
Column | Type | Description |
EntityIdentifierId [1..1] | UUID | Uniquely identifies the entity identifier. |
IdentifierTypeId [1..1] | UUID | Classifies the type of identifier that is represented by the entity identifier. Examples: business identifier, mrn, primary identifier, etc. |
EffectiveVersionSequenceId [1..1] | UUID | Indicates the version of the entity when the identifier became active. |
ObsoleteVersionSequenceId [0..1] | UUID | When populated, indicates the version of the entity where the identifier is no longer active. |
AssigningAuthorityId [1..1] | UUID | Identifies the authority that was responsible for the assigning of the identifier. |
IdentifierValue [1..1] | VARCHAR | Indicates the value of the entity identifier. |
The entity extension table is used to store additional, clinically relevant, versioned data attached to an entity that cannot be stored in the native data model.
Column | Type | Description |
EntityExtensionId [1..1] | UUID | Uniquely identifies the extension. |
EffectiveVersionSequenceId [1..1] | UUID | Indicates the version of the entity when the extension data did become active. |
ObsoleteVersionSequenceId [0..1] | UUID | When populated, indicates the version of the entity where the extension value is no longer applicable. |
ExtensionTypeId [1..1] | UUID | Indicates the type, or handler, for the extension data. |
ExtensionData [1..1] | VARBINARY | Serialized data that contains the raw value of the extension (serialized and de-serialized by the handler). |
ExtensionDisplay [1..1] | VARCHAR | A textual, human readable expression of the extension value which can be displayed on reports, etc. |
The entity telecommunications address table is used to store data related to telecommunications addresses (email, fax, phone, etc.) for an entity.
Column | Type | Description |
EntityTelecomId [1..1] | UUID | Uniquely identifies the telecommunications address. |
TelecomAddressType [1..1] ~TelecomAddressType | UUID | Classifies the type of address represented (example: phone, fax, email, etc.) |
TelecomAddress [1..1] | VARCHAR | The value of the telecommunications address in RFC-2396 format. |
TelecomUseConceptId [0..1] ~TelecomAddressUse | UUID | Identifies the intended use of the telecom address. (Example: home, work, etc.) |
EffectiveVersionSequenceId [1..1] | UUID | Identifies the version of the entity whereby the telecom address became effective. |
ObsoleteVersionSequenceId [0..1] | UUID | When populated, identifies the version of the entity where the telecom address is no longer valid. |
The place table represents a specialization of the Entity table which is used to represent physical places such as clinics, outreach activity sites, etc.
Column | Type | Description |
EntityVersionId [1..1] | UUID | Identifies the version of the entity to which the place data applies. |
MobileInd [1..1] = False | BIT | Indicator that is used to identify that a place is mobile. |
Lat [0..1] | FLOAT | The latitudinal position of the place expressed in degrees latitude. |
Lng [0..1] | FLOAT | The longitudinal position of the place expressed in degrees longitude. |
The place service table is used to identify the services that are provided at a particular place. Services may include stocking, transfer depots, immunization.
Column | Type | Description |
PlaceServiceId [1..1] | UUID | A unique identifier for the place service. |
EffectiveVersionSequenceId [1..1] | UUID | The version of the place entity where the service entry is active. |
ObsoleteVersionSequenceId [0..1] | UUID | When populated, indicates the version of the place entity where the service entry is no longer valid. |
ServiceConceptId [1..1] ~ServiceType | UUID | Indicates a concept that describes the service offered. |
ServiceSchedule [0..1] | XML | An XML expression of the service schedule. |
ServiceScheduleType [0..1] | VARCHAR | Identifies the type of data stored in the service schedule column (iCal, GTS, etc.) |
The application entity table is used to store entity data related to an application. An application is a software program that runs on a device. This differs from a security application, in that an application may be referenced clinically without needing access to the SanteDB system. For example: The patient uses MyPHR
Column | Type | Description |
EntityVersionId [1..1] | UUID | Identifies the version of the entity to which the application data applies. |
SoftwareName [0..1] | VARCHAR | Identifies the name of the software package (“EMR Package” is an example) |
VersionName [0..1] | VARCHAR | Identifies the version of the software (example: “1.0”) |
VendorName [0..1] | VARCHAR | The name of the vendor which distributes the software application (example: “ABC Corp”) |
ApplicationId [0..1] | UUID | When populated, links the application entity to a security application. |
The device table is used to store clinical information related to a physical device. Like an application entity, this table is used to describe the clinical attributes of a device used in the provisioning of care. Example: Bob’s Insulin Pump. The insulin pump itself may have no security device as it doesn’t require access to SanteDB.
Column | Type | Description |
EntityVersionId [1..1] | UUID | Indicates the version of the entity to which the device data applies. |
ManufacturerModel [0..1] | VARCHAR | Indicates the name of the manufacturer of the device. |
OperatingSystemName [0..1] | VARCHAR | Indicates the name of the operating system installed on the device. |
DeviceId [0..1] | UUID | When populated, identifies the security device associated with the device entity. |
A material represents a physical thing (syringe, drug, etc.) which participates in an act or is assigned to a person.
Column | Type | Description |
EntityVersionId [1..1] | UUID | Identifies the version of the entity to which the material data applies. |
ExpiryTime [1..1] | DATETIME | Indicates the time when the material will expire. |
ExpiryTimePrecision [1..1] | CHAR | Indicates the precision that the expiry time has. |
FormConceptId [0..1] ~MaterialForm | UUID | Identifies a concept that denotes the form that the material takes. Examples: capsule, injection, nebulizer, etc. For drugs and vaccines, the form will imply the route of administration. |
QuantityConceptId [0..1] ~UnitOfMeasure | UUID | Indicates the unit of measure for a single unit of the material. Examples: dose, mL, etc. |
Quantity [0..1] = 1 | NUMERIC | Indicates the reference quantity in UOM. For example, BCG MMAT is 5 mL of BCG Antigen |
IsAdministrative [1..1] = false | BIT | An indicator that is used to identify whether the material is a real material or an administrative material for the purpose of management. |
A manufactured material is a specialization of a material that is manufactured.
Column | Type | Description |
EntityVersionId [1..1] | UUID | Indicates the version of the material to which the specialized data applies. |
LotNumber [1..1] | VARCHAR | Indicates the manufacturer lot for the material. |
A person is a specialization of Entity that is used to represent a human.
Column | Type | Description |
EntityVersionId [1..1] | N/A | The version of the entity to which the person data applies. |
DateOfBirth [0..1] | DATE | Indicates the date on which the person entity was born. |
DateOfBirthPrecision [0..1] | CHAR | Indicates the precision of the date of birth field. |
The person language communication table is used to store information related to the person’s language preferences. This can be used by the user interface to determine which language to display, however is also clinically relevant to indicate the language in which a patient wishes to receive communciations.
Column | Type | Description |
PersonLanaugeCommunication Id [1..1] | UUID | Uniquely identifies the language of communication. |
EffectiveVersionSequenceId [1..1] | UUID | Indicates the version of the person entity whereby the language of communication is effective. |
ObsoleteVersionSequenceId [0..1] | UUID | When present, indicates the version of the person entity where the language of communication is no longer effective. |
LanguageCommunication [1..1] ~ISO639-2 | VARCHAR | An ISO-639-2 language code indicating the language preference. |
PreferenceIndicator [0..1] = False | BIT | Indicates whether the person prefers the language for communications. |
The organization table represents a specialization of an entity representing a logical organization.
Column | Type | Description |
EntityVersionId [1..1] | UUID | Indicates the version of the entity to which the organization specialization applies. |
IndustryConceptId [0..1] ~IndustryConcept | UUID | Indicates the industry in which the organization operates. Examples: logistics, healthcare, etc. |
A provider is a specialization of the Person table which is used to store provider related information about a person.
Column | Type | Description |
EntityVersionId [1..1] | UUID | Indicates the version of the entity to which the provider specialization applies. |
SpecialtyConceptId [1..1] | UUID | Indicates the primary specialty of the provider at this version of the record. |
The patient entity is a specialization of the Person table which is used to track primary attributes related to a patient.
Column | Type | Description |
EntityVersionId [1..1] | UUID | Indicates the version of the entity to which the patient specialization applies. |
GenderConceptId [1..1] ~AdministrativeGender | UUID | Identifies the logical gender concept of the patient. These values are drawn from the administrative gender concept set. |
DeceasedTime [0..1] | DATETIME | When populated, indicates the date/time that the patient was indicated as deceased. |
DeceasedTimePrecision [0..1] | INT | When populated, controls the precision of the value in DeceasedTime |
MultipleBirthOrder [0..1] | INT | When populated, indicates the order of the patient in a multiple birth. A non-null value in this column (0 or -1) indicates special indicators that the exact order is unknown, however the patient is part of a multi-birth. |
MaritalStatusConceptId [0..1] ~MaritalStatus | UUID | The codified status of the patient's marital state (example: single, married, divorced, etc.). Drawn from the MaritalStatus concept set. |
EducationLevelConceptId [0..1] ~EducationLevel | UUID | The codified value indicating the patient's highest level of education obtained (college, high school, etc.) |
LivingArrangementConceptId [0..1] ~LivingArrangement | UUID | The codified value indicating the patient's living arrangement (cohabitating, supervised care, etc.) |
ReligionConceptId [0..1] ~Religion | UUID | The codified value indicating the patient's religion. Note that the religion concept may be blocked based on national profiles and local legislation. |
EthnicGroupConceptId [0..1] ~EthnicGroup | UUID | The codified value indicating the patient's ethnicity. |