User GuideAPI Reference
ProductUse CasesResource CenterFAQAbout UsBook a DemoSign Up - It's Free
User Guide

Analytics DB Structure

Once the Analytics DB is active, it will include tables for all of your available templates. This encompasses templates for usage sessions and commands. The default tables created are as follows:

Template NameEntity TypeAnalytics DB Table NameCan be deleted
ClinicianCaregiverClinician_caregiverYes
DeviceType1DeviceDeviceType1_deviceYes
Device Log FileGeneric EntitydeviceLogFile_generic-entityYes
PatientPatientPatient_patientNo
BioT SupportOrganization UserBioTSupport_organization-userNo
Organization OperatorOrganization UserOrganizationOperator_organization-userYes
Organization AdminOrganization UserOrganizationAdmin_organization-userNo
Manufacturer OperatorOrganization UserManufacturerOperator_organization-userYes
Manufacturer AdminOrganization UserManufacturerAdmin_organization-userNo
OrganizationOrganizationOrganization_organizationNo
Registration CodeRegistration CodeRegistrationCode_registration-codeNo
MonitoringUsage SessionMonitoring_usage-session_DeviceType1_deviceYes
RebootCommandReboot_command_DeviceType1_deviceYes
ObservationsN/AObservations_Patient_patientYes

📘

Observations Table

When you add any observation field to the “Patient” template, the corresponding observations table will be created.

The table Observations_Patient_patient is created only once; there are no multiple observations tables.

Tables Naming Convention

For a parent template, the table name structure will be {templateName}_{entityTypeName}_{parentTemplateName}_{parentEntityType}, for example: Monitoring_usage-session_DeviceType1_device.

For each new template, a new table will be created in the Analytics DB. Additionally, modifying templates may create child templates, which will result in the creation of additional tables, such as:

ActionTemplate nameAnalytics DB Table Name
New device command - "command1" for "DeviceType1"DeviceType1command1_command_DeviceType1_device
New device alert - "alert1" for "DeviceType1"DeviceType1alert1_device-alert_DeviceType1_device
New patient alert - "alert2" for PatientPatientalert2_patient-alert_Patient_patient

The attributes in each template will be converted into columns as follows:

Attribute typeAttribute name in templateAttribute name in Analytics DB TableNumber of columns created
Regular_email_email1
Object_address_address.address1,_address.address2,_address.city, _address.countryCode, _address.state, _address.zipCode6
Objectfilefile.id, file.size, file.name, file.mimeType4
Objectimage1image.id, image.size, image1.name, image1.mimeType4
Reference_patient_patient.id, _patient.templateName2

Each table will have the additional columns of "_id" and "_templateName" except for the Observations_Patient_patient table.

Tables Structure

There are 12 different types of tables created in the Analytics DB.

Below is a list of all columns and their data types for each table:

Organization User

Column NameData Type
_idtext
_address.address1text
_address.address2text
_address.citytext
_address.countryCodetext
_address.statetext
_address.zipCodetext
_creationTimetimestamp
_dateOfBirthdate
_descriptiontext
_emailtext
_employeeIdtext
_enabledtext
_gendertext
_lastModifiedTimetimestamp
_localetext
_mfa.enabledbool
_mfa.expirationInMinutesnumeric
_name.firstNametext
_name.lastNametext
_ownerOrganization.idtext
_ownerOrganization.templateNametext
_phonetext
_templateNametext

Caregiver

The Caregiver table is identical to the Organization User table, with the addition of a "_degree" column, which has a text data type.

Device

Column NameData Type
_idtext
_creationTimetimestamp
_descriptiontext
_lastModifiedTimetimestamp
_ownerOrganization.idtext
_ownerOrganization.templateNametext
_patient.idtext
_patient.templateNametext
_registrationCode.idtext
_registrationCode.templateNametext
_status._bootTimetimestamp
_status._certificateStatustext
_status._connection._connectedbool
_status._connection._ipAddresstext
_status._connection._lastConnectedTimetimestamp
_status._fwVersiontext
_status._hwVersiontext
_status._operational._messagetext
_status._operational._statustext
_templateNametext

Generic Entity

Column NameData Type
_idtext
_creationTimetimestamp
_lastModifiedTimetimestamp
_nametext
_ownerOrganization.idtext
_ownerOrganization.templateNametext
_templateNametext

The default columns for generic entities are listed above. However, when using a generic entity, you should always modify and add more fields. For example, the default deviceLogFile_generic_entity table includes the following additional columns:

Column NameData Type
device.idtext
device.templateNametext
endTimetimestamp
file.idUUID
file.mimeTypetext
file.nametext
file.sizenumeric
startTimetimestamp

Organization

Column NameData Type
_idtext
_creationTimetimestamp
_descriptiontext
_headquarters.address1text
_headquarters.address2text
_headquarters.citytext
_headquarters.countryCodetext
_headquarters.statetext
_headquarters.zipCodetext
_lastModifiedTimetimestamp
_localetext
_nametext
_phonetext
_primaryAdministrator.idtext
_primaryAdministrator.templateNametext
_templateNametext
_timezonetext

Patient

Column NameData Type
_idtext
_additionalPhonetext
_address.address1text
_address.address2text
_address.citytext
_address.countryCodetext
_address.statetext
_address.zipCodetext
_canLoginbool
_caregiver.idtext
_caregiver.templateNametext
_creationTimetimestamp
_dateOfBirthdate
_descriptiontext
_emailtext
_enabledtext
_gendertext
_lastModifiedTimetimestamp
_localetext
_mfa.enabledbool
_mfa.expirationInMinutesnumeric
_name.firstNametext
_name.lastNametext
_nationalIdtext
_ownerOrganization.idtext
_ownerOrganization.templateNametext
_phonetext
_registrationSourcetext
_templateNametext
_usernametext

Registration Code

Column NameData Type
_idtext
_codetext
_creationTimetimestamp
_lastModifiedTimetimestamp
_ownerOrganization.idtext
_ownerOrganization.templateNametext
_templateNametext

Usage Session

Column NameData Type
_idtext
_creationTimetimestamp
_device.idtext
_device.templateNametext
_endTimetimestamp
_initiatortext
_lastModifiedTimetimestamp
_nametext
_ownerOrganization.idtext
_ownerOrganization.templateNametext
_patient.idtext
_patient.templateNametext
_startTimetimestamp
_statetext
_summary._stopReasontext
_summary._stopReasonCodetext
_templateNametext

Command

Column NameData Type
_idtext
_creationTimetimestamp
_device.idtext
_device.templateNametext
_endTimetimestamp
_errorMessagetext
_lastModifiedTimetimestamp
_nametext
_ownerOrganization.idtext
_ownerOrganization.templateNametext
_startTimetimestamp
_statetext
_templateNametext

Patient Alert

Column NameData Type
_idtext
_clearDateTimetimestamp
_clearNotestext
_clearTriggertext
_clearedBy.idtext
_clearedBy.templateNametext
_creationTimetimestamp
_lastModifiedTimetimestamp
_nametext
_ownerOrganization.idtext
_ownerOrganization.templateNametext
_patient.idtext
_patient.templateNametext
_setDateTimetimestamp
_severitytext
_statetext
_templateNametext

Device Alert

Column NameData Type
_idtext
_clearDateTimetimestamp
_clearNotestext
_clearTriggertext
_clearedBy.idtext
_clearedBy.templateNametext
_creationTimetimestamp
_device.idtext
_device.templateNametext
_lastModifiedTimetimestamp
_nametext
_ownerOrganization.idtext
_ownerOrganization.templateNametext
_setDateTimetimestamp
_severitytext
_statetext
_templateNametext

Observations

The observations table will be created only after you have added any observations to the “Patient” template.

The JSON name for an observation field will correspond to the column name representing its data in the table.

These fields can have data types of text, numeric, or bool. The default columns, besides these, are:

Column NameData Type
patientIdtext
sessionIdtext
sourceEntityIdtext
timestamptimestamp
patientTemplateNametext
_ownerOrganization.idtext
sessionTemplateNametext
sourceEntityTemplateNametext
  • A new column will be created for each observation defined under the patient.
  • int, double, and waveform (all types) observations are saved as numeric.
  • Waveform measurements are decoded, and each value is saved in a separate row.
  • The timestamp is adjusted based on the frequency and size of the waveform.
  • Boolean observations are saved as boolean.