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

Act Data Model

Acts in the OpenIZ data model represent actions taken by entities to other entities. In this lens, we can say that an act represents everything that “happens” to entities. This mechanism of storage allows the OpenIZ data model to adapt to different countries with relative ease.

There are five different types of acts that are supported by the default OpenIZ schema:

  • Patient Encounters: Represent an act whereby a patient presents, or is intended to present for care.
  • Observations: Represent an act whereby an entity observes something. Observations can include codified observations such as diagnoses, textual values such as a free-text description of an event, or a quantity such as weight or heartrate.
  • Substance Administrations: A substance administration is representing an act whereby a substance, such as a vaccine is administered to a patient.
  • Transfer Order: An order is a special type of stock act and represents a request by an entity to transfer stock from one place to another.

Acts are classified into one of these four types based upon their ClassConcept code. This dictates what type of Act the particular tuple in the database represents. Additionally, Acts are classified by Mood via the MoodConceptId. The mood of an act identifies the mood or method of operation of the act, moods include:

  • Proposal: A proposal to perform the act, typically a forecaster or some automated DSS process will create acts with this mood code.
  • Intent: Represents an intent to perform the act. These represent a human entering an intent to attend an encounter, or perform an observation.
  • Event: Represents an act that actually occurred. This represents an action taken by a human.
  • Request: Represents a request by one human to another human perform the action. Examples may be requesting a transfer order or requesting an encounter be done (i.e. referral).

Often time acts are related to one another via the ActRelationship entity. Act relationships are important, as typically acts cannot be standalone. For example, one cannot simply “Observe” something without having an encounter. An example of several types of interactions within OpenIZ are described below:

  • Patient Presents to receive an Immunization:
    In this use case the primary act is a PatientEncounter whereby participants include the clinician performing the vaccination (performer), the patient (record target), the clinic (service delivery location). The patient may be weighed prior to receiving the immunization that represents a component act of type Observation, and the administration of the vaccine represents a substance administration with relations to one or materials administered.
  • Scheduling a second dose of an antigen:
    In this use case the primary act is a PatientEncounter with mood of Intent (i.e. I intend to have an encounter) and date in the future. The PatientEncounter may have one or more substance administrations with mood of Intent that represent the vaccinations that are intended to be given at the appointment.
  • Forecasted vaccination:
    In this use case a decision support system identifies a patient which needs to receive a vaccine. The forecasting engine may create a PatientEncounter with mood of Proposed that indicates that a computer system is proposing an action to occur. When the patient presents for their vaccination the clinician creates a new PatientEncounter with mood of Event that fulfills the PatientEncounter with mood of Proposed (i.e. the clinician is saying “I am acting on your proposal”).

image

Table

Column

Type

Description

Act

(None)

N/A

The act table is represents the immutable attributes of an act.

ActId

UUID

A unique identifier for the act.

ClassConceptId

UUID

Identifies a concept that classifies the act. This determines the type of act, for example an Observation, PatientEncounter, etc.

MoodConceptId

UUID

Identifies the mood, or method of the act’s performance.

ActTag

(None)

N/A

A table for storing tags related to acts. A tag represents a version independent piece of data attached to a tag.

ActTagId

UUID

A unique identifier for the tag.

ActId

UUID

Identifies the act to which the tag is applied.

Key

VARCHAR

A unique key identifier for the type of tag. A tag’s key is used to convey the type of data.

Value

VARBINARY

Contains the binary data of the tag.

CreationTime

DATETIME

Identifies the time when the tag became active, or was created.

CreatedBy

UUID

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

ObsoletionTime

DATETIME

When present, identifies the time that the tag data is no longer valid.

ObsoletedBy

UUID

Identifies the user who obsoleted the act tag.

ActVersion

(None)

N/A

Act events are versioned. The act version table is used to track mutable data.

ActVersionId

UUID

A unique identifier for the version.

ActId

UUID

Identifies the act to which the version data applies.

CreationTime

DATETIME

Identifies the time when the act version became active (was created)

CreatedBy

UUID

Identifies the user that was responsible for creating the version.

ObsoletionTime

DATETIME

When present, identifies the time when the version of the act is no longer active.

ObsoletedBy

UUID

Identifies the user who was responsible for the obsoletion of the version.

NegationInd

BIT

When present, indicates that the act’s value is not true. For example, when attempting to convey that a vaccine was not given, the negationInd would be set to true.

TypeConceptId

UUID

Identifies the type of act. This is a type that is a subclass within the major classification. For example, if the class is a substance administration, the type concept may represent an Immunization.

StatusConceptId

UUID

Identifies the status of the act as of the current version.

ActStartTime

DATETIME

Identifies the start time of the act.

ActStopTime

DATETIME

Identifies the stop time of the act.

ActRelationship

(None)

N/A

The act relationship table is used to track the relationship of acts to one another.

ActRelationshipId

UUID

Uniquely identifies the act relationship.

SourceActId

UUID

Identifies the source act of the relationship.

TargetActId

UUID

Identifies the target act of the relationship.

EffectiveVersionId

UUID

Identifies the version of the source act where this relationship did become active.

ObsoleteVersionId

UUID

Identifies the version of the source act where this relationship is no longer active.

RelationshipTypeConceptId

UUID

Identifies the type of relationship that the two acts have to one another.

ActParticipation

(None)

N/A

The ActParticipation table is used to track how entities participate in a particular act.

ActParticipationId

UUID

Uniquely identifies the act participation.

EntityVersionId

UUID

Identifies the version of the entity that was active when the entity participated in the act participation.

EffectiveVersionId

UUID

Identifies the version of the act when the participation is active.

ObsoleteVersionId

UUID

When present, identifies the version of the act when the participation is no longer active.

RoleConceptId

UUID

Qualifies what role the entity played in the carrying out of the act.

QuantifiedActParticipation

(None)

N/A

The quantified act participation table is a specialization of an act participation whereby a number of the same entity play the same role in the act.

ActParticipationId

UUID

Identifies the act participation which this quantified act participation extends.

Quantity

INT

Identifies the number of entities that are included in the playing of the role.

ActIdentifier

(None)

N/A

The act identifier table is used to store alternate identifiers for the act. This may include vaccine event identifiers, external order identifiers, etc.

ActIdentifierId

UUID

Uniquely identifies the alternate act identifier.

IdentifierTypeId

UUID

Identifies the type of identifier this particular identifier instance represents (order #, etc.)

AssigningAuthorityId

UUID

Identifies the authority that assigned the identifier.

IdentifierValue

VARCHAR

The actual external identifier value.

EffectiveVersionId

UUID

Identifies the version of the act where the alternate identifier became active.

ObsoleteVersionId

UUID

When present, identifies the version of the act whereby the alternate identifier is no longer active.

ActExtension

(None)

N/A

The act extension table is used to store extensions attached to acts.

ActExtensionId

UUID

A unique identifier for the act extension.

ExtensionTypeId

UUID

Identifies the type of extension represented. This includes information on how the extension should be serialized to/from the ExtensionValue column.

ExtensionValue

VARBINARY

Carries the value of the extension.

ExtensionDisplay

VARCHAR

A human comprehendible display value for the extension.

EffectiveVersionId

UUID

Indicates the version of the act where this extension became active.

ObsoleteVersionId

UUID

When present, indicates the version of the act where the extension is no longer active.

Observation

(None)

N/A

The observation table is used to store extended values related to observation act types.

ActVersionId

UUID

Identifies the act version to which this extended data applies.

InterpretationConceptId

UUID

Identifies the concept that represents the interpretation of the observation.

QuantityObservation

(None)

N/A

The quantity observation table is used to store extended information related to the observations that carry quantified values.

ActVersionId

UUID

Identifies the observation act version to which the quantified observation data applies.

Quantity

DECIMAL

A decimal value that contains the value of the observation quantity.

QuantityPrecision

INT

Identifies the precision of the Quantity field.

UnitOfMeasureConceptId

UUID

Identifies the concept that identifies the units of measurement.

TextObservation

(None)

N/A

The text observation table is used to store additional information related to a text valued observation.

ActVersionId

UUID

Identifies the observation version id that this text observation data is attached to.

TextValue

TEXT

A textual field that contains the observation data.

CodedObservation

(None)

N/A

The coded observation table is used to store additional data related to observations that are coded. Problems and Allergies would qualify as coded observations.

ActVersionId

UUID

Identifies the version of the observation that this coded observation value data applies.

ConceptValueId

UUID

Identifies the concept that represents the value of observation.

SubstanceAdministration

 

 

 

 

 

 

(None)

N/A

The substance administration table is used to store data related to substance administrations to a patient. This include vaccines or any type of Epupin injections for

ActVersionId

UUID

Identifies the act version to which the substance administration data applies.

RouteConceptId

UUID

Identifies the concept that describes the route that was taken to administer the substance. This may be drawn from the default route if not supplied.

DoseQuantity

DECIMAL

Identifies the dosage that was given to the patient.

DoseQuantityPrecision

INT

Identifies the precision of the dose quantity.

DoseUnitConceptId

INT

Identifies the dose unit of measure that was given to the patient.

SequenceId

INT

Identifies the sequence of this dose if it is a part of a sequence of doses.

PatientEncounter

 

 

(None)

N/A

The patient encounter table is used to store additional data related to an act that represents a patient encounter.

ActVersionId

UUID

Identifies the act to which the extended patient encounter data applies.

DischargeDispositionConceptId

UUID

Identifies the disposition in which the patient left the encounter.

ActNote

(None)

N/A

The act note table is used to store notes associated with an act.

ActNoteId

UUID

A unique identifier for the note.

EffectiveVersionId

UUID

The version whereby the note became effective

ObsoleteVersionId

UUID

When populated, indicates the version of the act where the note is no longer active.

AuthorEntityId

UUID

The identifier of the entity that wrote the note.

NoteText

TEXT

The textual content of the note.

Last edited Jan 13, 2016 at 7:53 PM by jf03cg, version 2