Get data and events out
Understand what is available in the data repository
To use the data from the Awell platform, it's essential to understand some Awell terminology first.
Below, we explain the terminology that you'll find back in the data schema. If you have any further questions about this, please contact your Awell Customer Success Manager.
In the Awell domain, a care flow definition is a care flow template designed in the Awell Studio, representing the general structure and components of a care plan without being tied to any specific patient.
A care flow on the other hand is a patient-specific instance derived from a care flow definition that tracks and manages an individual patient's care journey. For example, if you created the care flow definition "post-operative follow-up" in Awell Studio, all your patients that get included in this care flow definition will have an individual care flow.
Similar to care flow definitions and care flows, a data point definition is a care flow component as designed in Awell Studio while a data point is the patient-specific instance of that data point definition. For example, if you collect the weight of a patient in a care flow, the data point for a specific patient could be 80 kg (or 176lbs).
To avoid having to work with randomly generated IDs for data point definitions, we allow users to define a human-readable identifier in Awell Studio for all data point definitions. In the data repository, we combine this human-readable identifier with the source to form a 'key'. Let's imagine that you are building a patient form to collect the patient's weight and height, with the intent of calculating a BMI score. You set the form key to bmi, and set the question keys to height and weight respectively. This will result in data point definitions with the following keys:
In Awell Studio you can see the list of published versions for a given care flow definition with an auto incremented version number. This version number is only used for display purposes. Behind the scenes we assign a unique release identifier to each published version, which you can retrieve through the Get published pathway definitions query.
The release identifier is guaranteed to be globally unique so it can be safely used as input to build analytics query on the data set.
The data repository contains three different types of data: data points, orchestration data and patient data.
Data points refers to any atomic piece of data collected from a user or system in care flows (e.g. form responses, calculation results, etc.). These are the datapoints that you can find in the data catalog in Awell Studio and that you can use to build care flows.
Orchestration data refers to data generated by the orchestration of the care flow itself, i.e. data about which actions were orchestrated when in care flows.
Patient data refers to the data you explicitly provide on the patients you enroll in your care flows. When using anonymous patients this only contains identifiers.
The data points are stored in two tables: data_points
and data_point_definitions
. The data_points
table uses a normalized structure to handle the fact that atomic data can have different value types (string, boolean, numeric, date etc), and can come from many different sources (forms, calculations, Extensions, etc.).
Table name: data_points
.
Column | Type | Description |
---|---|---|
id | STRING | Unique identifier. |
care_flow_id | STRING | Identifier of the care flow in which the data point was collected. Refers to the `id` column in the `care_flows` table. |
care_flow_definition_id | STRING | Identifier of the care flow definition the related care flow was instantiated from. |
release_id | STRING | Identifier of the published version of the care flow definition. |
activity_id | STRING | Identifier of the activity in which the data point was collected. Refers to the `id` column in the `activities` table. |
definition_id | STRING | Version agnostic identifier of the underlying data point definition component. Refers to the `definition_id` column in the `data_point_definitions` table. |
value_raw | STRING | Serialised value of the data point. |
value_boolean | BOOLEAN | Typed value of the data point. This column is only populated for rows with a value type of `boolean`. |
value_numeric | NUMERIC | Typed value of the data point. This column is only populated for rows with a value type of `number`. |
value_date | TIMESTAMP | Typed value of the data point. This column is only populated for rows with a value type of `date`. |
value_type | STRING | Primitive type of the value before serialisation (boolean, date, number, string). |
date | TIMESTAMP | Collection date (UTC). |
Table name: data_point_definitions
.
Column | Type | Description |
---|---|---|
id | STRING | Unique identifier. |
definition_id | STRING | Version agnostic identifier. |
release_id | STRING | Identifier of the published version of the care flow definition. |
category | STRING | Identifies how the data point is collected. Examples: `form`, `calculation`. |
key | STRING | Human readable qualified key which defines the meaning of the collected data. |
value_type | STRING | Expected primitive type for the collected data (boolean, date, number, string). |
Table name: care_flows
.
Column | Type | Description |
---|---|---|
id | STRING | Unique identifier. |
patient_id | STRING | Identifier of the patient enrolled in that care flow. Refers to the `id` column in the `patients` table. |
definition_id | STRING | Identifier of the care flow definition the related care flow was instantiated from. |
release_id | STRING | Identifier of the published version of the care flow definition. |
title | STRING | Title of the care fow definition. |
status | STRING | Status of the care flow. One of `starting`, `active`, `stopped`, `completed`. |
start_date | TIMESTAMP | Recorded start date of the care flow (UTC). |
stop_date | TIMESTAMP | Recorded stop date of the care flow (UTC). Only populated for stopped care flows. |
complete_date | TIMESTAMP | Recorded completion date of the care flow (UTC). Only populated for completed care flows. |
Table name: activities
.
Activities use a generic structure to be able to describe any action that needs to be performed by a human or system.
Go to the Domain Model reference to find more information about how activities are structured, including examples.
Column | Type | Description |
---|---|---|
id | STRING | Unique identifier. |
care_flow_id | STRING | Identifier of the care flow in which the data point was collected. Refers to the `id` column in the `care_flows` table. |
care_flow_definition_id | STRING | Identifier of the care flow definition the related care flow was instantiated from. |
status | STRING | Activity status. One of: `active`, `done`, `failed`, `canceled`, `expired`. |
date | TIMESTAMP | Creation date of the activity (UTC). |
scheduled_date | TIMESTAMP | Scheduled activation date of the activity (UTC). |
object_type | STRING | Type of object this activity relates to. Examples: `action`, `form`, `step`. |
object_name | STRING | Name of the related object. |
indirect_object_type | STRING | Type of indirect object this activity relates to. Examples: `patient`, `stakeholder`. |
indirect_object_name | STRING | Name of the related indirect object. |
step_name | STRING | Name of the step this activity belongs to. |
Table name: patients
Column | Type | Description |
---|---|---|
id | STRING | Unique identifier. |
profile_id | STRING | Unique identifier of the associated profile. Refers to the `id` property in the `patient_profiles` table. |
Table name: patient_profiles
Column | Type | Description |
---|---|---|
id | STRING | Unique identifier. |
first_name | STRING | First name of the patient. |
last_name | STRING | Last name of the patient. |
name | STRING | Concatenation of the first name and last name. |
STRING | Email address of the patient. | |
birth_date | DATE | Birth date of the patient. |
sex | STRING | Sex of the patient in ISO_IEC-5218 standard. One of `0` (Not known), `1` (Male), `2` (Female). |
national_registry_number | STRING | National registry number of the patient. |
patient_code | STRING | Arbitrary identifier associated to the patient. You can use this to facilitate the reconciliation of patient records between Awell and your domain. |
phone | STRING | Phone number in the E164 format. |
mobile_phone | STRING | Phone number in the E164 format. |
address_street | STRING | |
address_city | STRING | |
address_zip | STRING | |
address_state | STRING | |
address_country | STRING |
You need a service account to access your Big Query dataset. Please contact your Awell Customer Success Manager to receive your account details.