This project has moved. For the latest updates, please go here.

Entity Data Model

The OpenIZ entity model represents a series of tables which are responsible for the tracking of entities within the OpenIZ data model. Entities represent people, places, organizations, things, etc. and are responsible for participating within acts in some capacity.

Entities are classified by their class code and determiner code. The determiner code of an entity is responsible from differentiating a type of an entity (i.e. antigen, dose number, material type, etc.) and an instance or series of instances of an entity (an actual vial of vaccine, a box of syringes, etc.). Most entities within the OpenIZ system are expected to be stored as instances of entities, classes of entities will primarily be restricted to materials whereby a class of antigens (OPV for example) will have both instances (vials of OPV) and sub-classes of representing dose numbers (OPV0 – OPV3).

image

 

Table

Column

Type

Description

Entity

(None)

N/A

The entity table is responsible for the storage of immutable attributes of an entity.

EntityId

UUID

Uniquely identifies the entity within the context of the OpenIZ implementation.

ClassConceptId

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

UUID

Identifies the concept that classifies or determines the type of entity. This is either an INSTANCE or CLASS concept identifier.

EntityTag

(None)

N/A

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.

EntityTagId

UUID

Uniquely identifies the entity tag.

EntityId

UUID

Identifies the entity to which the tag is associated.

Key

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

VARCHAR

A value that carries the data associated with the tag value.

CreationTime

DATETIME

Indicates the date/time at which time the tag was created.

CreatedBy

UUID

Identifies the user that was responsible for the creation of the tag.

ObsoletionTime

DATETIME

When populated, indicates the time when the tag is no longer associated with the entity.

ObsoletedBy

UUID

Identifies the user that was responsible for obsoleting the tag.

EntityVersion

(None)

N/A

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.

EntityVersionId

UUID

Uniquely identifies the version of the entity represented in the tuple.

EntityId

UUID

Identifies the entity to which this version applies.

ReplacesVersionId

UUID

Identifies the version of the entity that the current tuple is responsible for replacing.

StatusConceptId

UUID

Identifies the status of the entity as of the version represented in the tuple.

CreationTime

DATETIME

Indicates the time when the entity was created.

CreatedBy

UUID

Identifies the user that was responsible for the creation of the entity.

ObsoletionTime

DATETIME

When populated, indicates the time when the entity version became obsolete.

ObsoletedBy

UUID

Identifies the user that was responsible for the obsoleting of the record.

TypeConceptId

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”.

EntityAssociation

(none)

N/A

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.

EntityAssociationId

UUID

Uniquely identifies the entity association.

SourceEntityId

UUID

Identifies the source of the entity association.

TargetEntityId

UUID

Identifies the target of the entity association.

EffectiveVersionId

UUID

Indicates the version of the source entity at which time this entity association was created or became effective.

ObsoleteVersionId

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.

AssociationTypeConceptId

UUID

Classifies the relationship between the two entities. Can indicate ownership roles such as “Place OWNS Material”, or relationship “Patient CHILD OF Person”.

QuantifiedEntityAssociation

(None)

N/A

A specialization of the entity association that contains a quantity of target entities within the source entity.

EntityAssociationId

UUID

Identifies the EntityAssociation to which the extended information applies.

Quantity

INT

Indicates the quantity of target entities contained within the source entity.

EntityNote

 

 

 

 

 

(None)

N/A

The entity note table is used to store textual notes related to an etity.

EntityNoteId

UUID

Uniquely identifies the note.

EffectiveVersionId

UUID

Identifies the version of the entity to which the note applies.

ObsoleteVersionId

UUID

When populated, indicates the version of the entity where the note is no longer relevant.

AuthorEntityId

UUID

Identifies the entity that was responsible for the authoring of the note.

NoteText

TEXT

Indicates the textual content of the note.

EntityAddress

 

 

 

 

(None)

N/A

The entity address table is used to store address information (physical addresses) related to an entity.

EntityAddressId

UUID

Uniquely identifies the entity address.

EffectiveVersionId

UUID

Identifies the version of the entity whereby the address information became active.

ObsoleteVersionId

UUID

When populated, indicates the version of the entity whereby the address is no longer applicable.

AddressUseConceptId

UUID

Indicates the desired use of the address. Examples include physical visit, vacation home, contact, mailing, etc.

EntityAddressComponent

 

 

 

 

(None)

N/A

The entity address component table is used to store the address components associated with a particular entity address.

EntityAddressComponentId

UUID

Uniquely identifies the entity address component.

Value

VARCHAR

Identifies the value of the of the address component

ComponentTypeConceptId

UUID

Classifies the type of address component represented in the value field. For example: street name, city, country, postal code, etc.

EntityAddressId

UUID

Identifies the entity address to which the entity address component applies.

EntityName

 

 

 

 

(None)

N/A

The entity name table is used to store master list of names associated with an entity.

EntityNameId

UUID

Uniquely identifies the entity name.

EntityNameUseId

UUID

Classified the intended use of the entity name. Examples: maiden name, legal name, license name, artist name, etc.

EffectiveVersionId

UUID

Identifies the version of the entity when this name became active.

ObsoleteVersionId

UUID

When populated, identifies the version of the entity where the name is no longer active.

EntityNameComponent

 

 

 

 

(None)

N/A

The entity name component table is responsible for the storage of name components that comprise an entity name.

NameComponentId

UUID

Uniquely identifies the name component.

ValueCode

UUID

Indicates the phonetic value tuple that stores the name value.

NameComponentTypeConceptId

UUID

Classifies the type of name component represented. Examples: first name, title, family name, etc.

EntityNameId

UUID

Indicates the entity name to which the name component applies.

EntityIdentifier

(None)

N/A

The entity identifier is table is responsible for the storage of alternate identifies associated with the entity.

EntityIdentifierId

UUID

Uniquely identifies the entity identifier.

IdentifierTypeId

UUID

Classifies the type of identifier that is represented by the entity identifier. Examples: business identifier, mrn, primary identifier, etc.

EffectiveVersionId

UUID

Indicates the version of the entity when the identifier became active.

ObsoleteVersionId

UUID

When populated, indicates the version of the entity where the identifier is no longer active.

AssigningAuthorityId

UUID

Identifies the authority that was responsible for the assigning of the identifier.

IdentifierValue

VARCHAR

Indicates the value of the entity identifier.

Place

(None)

N/A

The place table represents a specialization of the Entity table which is used to represent physical places such as clinics, outreach activity sites, etc.

EntityVersionId

UUID

Identifies the version of the entity to which the place data applies.

MobileInd

BIT

Indicator that is used to identify that a place is mobile.

Lat

FLOAT

The latitudinal position of the place expressed in degrees latitude.

Lng

FLOAT

The longitudinal position of the place expressed in degrees longitude.

PlaceService

(None)

N/A

The place service table is used to identify the services that are provided at a particular place. Services may include stocking, transfer depots, immunization.

PlaceServiceId

UUID

A unique identifier for the place service.

EffectiveVersionId

UUID

The version of the place entity where the service entry is active.

ObsoleteVersionId

UUID

When populated, indicates the version of the place entity where the service entry is no longer valid.

ServiceConceptId

UUID

Indicates a concept that describes the service offered.

ServiceSchedule

XML

An XML expression of the service schedule.

ServiceScheduleType

VARCHAR

Identifies the type of data stored in the service schedule column (iCal, GTS, etc.)

ApplicationEntity

 

(None)

N/A

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.

EntityVersionId

UUID

Identifies the version of the entity to which the application data applies.

SoftwareName

VARCHAR

Identifies the name of the software package (“EMR Package” is an example)

VersionName

VARCHAR

Identifies the version of the software (example: “1.0”)

VendorName

VARCHAR

The name of the vendor which distributes the software application (example: “ABC Corp”)

ApplicationId

UUID

When populated, links the application entity to a security application.

EntityExtension

(None)

N/A

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.

EntityExtensionId

UUID

Uniquely identifies the extension.

EffectiveVersionId

UUID

Indicates the version of the entity when the extension data did become active.

ObsoleteVersionId

UUID

When populated, indicates the version of the entity where the extension value is no longer applicable.

ExtensionTypeId

UUID

Indicates the type, or handler, for the extension data.

ExtensionData

VARBINARY

Serialized data that contains the raw value of the extension (serialized and de-serialized by the handler).

ExtensionDisplay

VARCHAR

A textual, human readable expression of the extension value which can be displayed on reports, etc.

EntityTelecomAddress

 

(None)

N/A

The entity telecommunications address table is used to store data related to telecommunications addresses (email, fax, phone, etc.) for an entity.

EntityTelecomId

UUID

Uniquely identifies the telecommunications address.

TelecomAddressType

UUID

Classifies the type of address represented (example: phone, fax, email, etc.)

TelecomAddress

VARCHAR

The value of the telecommunications address in RFC-2396 format.

TelecomUseConceptId

UUID

Identifies the intended use of the telecom address. (Example: home, work, etc.)

EffectiveVersionId

UUID

Identifies the version of the entity whereby the telecom address became effective.

ObsoleteVersionId

UUID

When populated, identifies the version of the entity where the telecom address is no longer valid.

DeviceEntity

 

 

 

 

(None)

N/A

The device table is used to store device information.

EntityVersionId

UUID

Indicates the version of the entity to which the device data applies.

ManufacturerModel

VARCHAR

Indicates the name of the manufacturer of the device.

OperatingSystemName

VARCHAR

Indicates the name of the operating system installed on the device.

DeviceId

UUID

When populated, identifies the security device associated with the device entity.

Material

 

 

 

 

 

 

(None)

N/A

A material represents a physical thing (syringe, drug, etc.) which participates in an act or is assigned to a person.

EntityVersionId

UUID

Identifies the version of the entity to which the material data applies.

ExpiryTime

DATETIME

Indicates the time when the material will expire.

ExpiryTimePrecision

CHAR

Indicates the precision that the expiry time has.

FormConceptId

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

UUID

Indicates the unit of measure for a single unit of the material. Examples: dose, mL, etc.

IsKit

BIT

An indicator that is used to identify whether the material is a real material or an administrative material for the purpose of management.

ManufacturedMaterial

 

 

(None)

N/A

A manufactured material is a specialization of a material that is manufactured.

EntityVersionId

UUID

Indicates the version of the material to which the specialized data applies.

LotNumber

VARCHAR

Indicates the manufacturer lot for the material.

Person

 

 

 

(None)

N/A

Person represents a specialization of Entity representing a person.

EntityVersionId

N/A

The version of the entity to which the person data applies.

DateOfBirth

DATE

Indicates the date on which the person entity was born.

DateOfBirthPrecision

CHAR

Indicates the precision of the date of birth field.

PersonLanguage
Communication

 

 

 

 

 

(None)

N/A

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.

PersonLanaugeCommunication
Id

UUID

Uniquely identifies the language of communication.

EffectiveVersionId

UUID

Indicates the version of the person entity whereby the language of communication is effective.

ObsoleteVersionId

UUID

When present, indicates the version of the person entity where the language of communication is no longer effective.

LanguageCommunication

VARCHAR

An ISO-639-2 language code indicating the language preference.

PreferenceIndicator

BIT

Indicates whether the person prefers the language for communications.

Organization

 

 

(None)

N/A

The organization table represents a specialization of an entity representing a logical organization.

EntityVersionId

UUID

Indicates the version of the entity to which the organization specialization applies.

IndustryConceptId

UUID

Indicates the industry in which the organization operates. Examples: logistics, healthcare, etc.

 

Last edited Jan 13, 2016 at 8:06 PM by jf03cg, version 2