diff --git a/content/awell-orchestration/docs/data/bigquery/data-schema.mdx b/content/awell-orchestration/docs/data/bigquery/data-schema.mdx index 1aa41454..1ef82ab7 100644 --- a/content/awell-orchestration/docs/data/bigquery/data-schema.mdx +++ b/content/awell-orchestration/docs/data/bigquery/data-schema.mdx @@ -93,6 +93,41 @@ Table name: `activities`. + + +

Following tables extract specific objects from the activities table, allowing for easier and more detailed analytics:

+ +
+ + + + +#### Actions +Table name: `actions`. + +The `actions` table captures data about orchestrated actions within care flows. It consolidates information including action definition ID and type, final state of the action, primary object details (e.g., form name), associations with care flows, steps, and tracks, and timing information. + + + +#### Steps +Table name: `steps`. + +The `steps` table captures data about orchestrated steps within care flows. It contains information about each step's definition ID, start and completion times, current status, and its associations with care flows and tracks. This table allows for detailed analysis of step execution and progression within care flows. + + + + +#### Tracks +Table name: `tracks`. + +The `tracks` table captures data about orchestrated tracks within care flows. It includes information about each track's definition ID, start and completion times, current status, and its association with the care flow it's a part of. This table enables analysis of track progression and helps in understanding the structure and execution of care flows at a higher level. + + + ### Patient data #### Patients @@ -106,3 +141,4 @@ Table name: `patients` Table name: `patient_profiles` + diff --git a/src/components/DataRepository/ActionsTableSpecs.tsx b/src/components/DataRepository/ActionsTableSpecs.tsx new file mode 100644 index 00000000..6806c09f --- /dev/null +++ b/src/components/DataRepository/ActionsTableSpecs.tsx @@ -0,0 +1,45 @@ +import { actions } from '@/config/bq-tables' + +export const ActionsTableSpecs = () => { + return ( +
+ + + + + + + + + + {actions.map(({ property, type, description }) => ( + + + + + + ))} + +
+ Column + + Type + + Description +
+ {property} + + {type} + + {description} +
+
+ ) +} + diff --git a/src/components/DataRepository/StepsTableSpecs.tsx b/src/components/DataRepository/StepsTableSpecs.tsx new file mode 100644 index 00000000..e3e8bf07 --- /dev/null +++ b/src/components/DataRepository/StepsTableSpecs.tsx @@ -0,0 +1,45 @@ +import { steps } from '@/config/bq-tables' + +export const StepsTableSpecs = () => { + return ( +
+ + + + + + + + + + {steps.map(({ property, type, description }) => ( + + + + + + ))} + +
+ Column + + Type + + Description +
+ {property} + + {type} + + {description} +
+
+ ) +} + diff --git a/src/components/DataRepository/TracksTableSpecs.tsx b/src/components/DataRepository/TracksTableSpecs.tsx new file mode 100644 index 00000000..90dd3857 --- /dev/null +++ b/src/components/DataRepository/TracksTableSpecs.tsx @@ -0,0 +1,45 @@ +import { tracks } from '@/config/bq-tables' + +export const TracksTableSpecs = () => { + return ( +
+ + + + + + + + + + {tracks.map(({ property, type, description }) => ( + + + + + + ))} + +
+ Column + + Type + + Description +
+ {property} + + {type} + + {description} +
+
+ ) +} + diff --git a/src/components/DataRepository/index.ts b/src/components/DataRepository/index.ts index e2a1c30a..ed36781b 100644 --- a/src/components/DataRepository/index.ts +++ b/src/components/DataRepository/index.ts @@ -1,3 +1,4 @@ +export * from './ActionsTableSpecs' export * from './ActivityIndexSpecs' export * from './ActivityTableSpecs' export * from './CareFlowTableSpecs' @@ -8,4 +9,6 @@ export * from './PathwayIndexSpecs' export * from './PatientProfileTableSpecs' export * from './PatientTableSpecs' export * from './StepIndexSpecs' +export * from './StepsTableSpecs' +export * from './TracksTableSpecs' diff --git a/src/config/bq-tables.ts b/src/config/bq-tables.ts index 6afd0b3b..d5165303 100644 --- a/src/config/bq-tables.ts +++ b/src/config/bq-tables.ts @@ -215,110 +215,112 @@ export const activities: BQTableType = [ { property: 'care_flow_id', type: 'STRING', - description: - 'Identifier of the care flow associated with the activity. Refers to the `id` column in the `care_flows` table, serving as a foreign key to the `care_flows` table.', + description: 'Identifier of the care flow associated with the activity. Refers to the `id` column in the `care_flows` table, serving as a foreign key to the `care_flows` table.', }, { property: 'care_flow_definition_id', type: 'STRING', - description: - 'Identifier of the care flow definition (designed care flow template) from which the care flow was instantiated. Refers to the `definition_id` in the `care_flows` table.', + description: 'Identifier of the care flow definition (designed care flow template) from which the care flow was instantiated. Refers to the `definition_id` in `care_flows` and `published_careflows` tables.', }, { property: 'status', type: 'STRING', - description: - 'The current activity status. One of: `active`, `done`, `failed`, `canceled`, `expired`. Status done indicates complete resolution of the activity, such as a sent message being read or a form being fully completed. Done refers to completed activity.', - }, - { - property: 'resolution', - type: 'STRING', - description: - 'An internal system status reflecting the outcome of executing the activity, indicating `success`, `failure` (e.g., if a plugin call fails), or `NULL` for activities yet to be resolved or not applicable.', + description: 'The current (last) activity status. One of: `active`, `done`, `failed`, `canceled`, `expired`. Status `done` indicates complete resolution of the activity, such as a sent message being read or a form being fully completed. Done refers to completed activity.', }, { property: 'date', type: 'TIMESTAMP', - description: - 'The creation date of the activity (UTC). Usually refers to start date.', + description: 'The date of the activity (UTC).', + }, + { + property: 'action', + type: 'STRING', + description: 'Type of the last activity occurred on the primary object. One of: `added`, `activate`, `assigned`, `scheduled`, `postponed`, `send`, `complete`, `delegated`, `generated`, `stopped`, `discarded`.', }, { property: 'scheduled_date', type: 'TIMESTAMP', - description: - 'The date when the scheduled activity is set to start (UTC). Relevant only for scheduled activities.', + description: 'The date when the scheduled activity is set to start (UTC). Relevant only for scheduled activities.', }, { property: 'completion_date', type: 'TIMESTAMP', - description: - 'Completion date of `done` activities.', + description: 'Completion date of `done` activities.', }, { - property: 'action', + property: 'action_component_name', type: 'STRING', - description: - '', + description: 'The name of the action component holding the primary object, such as a message, form, api_call, calculation. In care flow design, this is typically referred to simply as an action.', }, { - property: 'action_component_name', + property: 'action_definition_id', type: 'STRING', - description: - 'The name of the action component holding the primary object, such as a message, form, api_call, calculation. In care flow design, this is typically referred to simply as an action.', + description: 'Identifier of the action component definition from which the action was instantiated.', }, { - property: 'object_type', + property: 'orchestrated_instance_id', type: 'STRING', - description: - 'Type of primary object this activity relates to. Example values: action, api_call, calculation, form, message, pathway, plugin_action, reminder, step, track.', + description: 'Unique identifier of the orchestrated instance (could be an action, step, or track). Can be used to merge with `actions`, `steps`, and `tracks` tables using the `id` field.', + }, + { + property: 'orchestrated_track_id', + type: 'STRING', + description: 'Unique identifier of the orchestrated track associated with the activity. Present only for objects within a track (steps, actions, etc.).', + }, + { + property: 'orchestrated_step_id', + type: 'STRING', + description: 'Unique identifier of the orchestrated step associated with the activity. Present only for objects within a step (actions, etc.).', }, { property: 'object_name', type: 'STRING', - description: - 'The name of the primary object the activity is associated with. For messages, this is the subject; for forms the form name.', + description: 'The name of the primary object the activity is associated with. For messages, this is the subject; for forms the form name.', + }, + { + property: 'object_type', + type: 'STRING', + description: 'Type of primary object this activity relates to. Example values: action, api_call, calculation, form, message, pathway, plugin_action, reminder, step, track.', }, { property: 'object_id', type: 'STRING', - description: - 'Id of the primary object.', + description: 'Id of the primary object.', }, { property: 'indirect_object_type', type: 'STRING', - description: - 'Type of indirect/secondary object this activity relates to. Examples: `patient`, `stakeholder`, `plugin`.', + description: 'Type of indirect/secondary object this activity relates to. Examples: `patient`, `stakeholder`, `plugin`.', }, { property: 'indirect_object_name', type: 'STRING', - description: - 'The name of the related indirect/secondary object the activity relates to. It points to who should engage with or is targeted by the activity. It could be a system (for example plugin name) or a human (for example care provider name).', + description: 'The name of the related indirect/secondary object the activity relates to. It points to who should engage with or is targeted by the activity. It could be a system (for example plugin name) or a human (for example care provider name).', }, { property: 'step_name', type: 'STRING', - description: - 'Name of the step the activity belongs to. [IMPORTANT NOTE] Relevant only for activities within steps. If the `object_type` is step, this value will be NULL and step name will be in `object_name` field.', + description: 'Name of the step the activity belongs to. [IMPORTANT NOTE] Relevant only for activities within steps. If the `object_type` is step, this value will be NULL and step name will be in `object_name` field.', }, { property: 'track_name', type: 'STRING', - description: - 'Name of the track the activity belongs to. [IMPORTANT NOTE] Relevant only for activities within track. If the `object_type` is track, this value will be NULL and track name will be in `object_name` field.', + description: 'Name of the track the activity belongs to. [IMPORTANT NOTE] Relevant only for activities within track. If the `object_type` is track, this value will be NULL and track name will be in `object_name` field.', }, { property: 'track_id', type: 'STRING', - description: - 'Identifier of the track the activity belongs to. [IMPORTANT NOTE] Relevant only for activities within track. If the `object_type` is track, this value will be NULL.', + description: 'Identifier of the track the activity belongs to. [IMPORTANT NOTE] Relevant only for activities within track. If the `object_type` is track, this value will be NULL.', + }, + { + property: 'resolution', + type: 'STRING', + description: 'An internal system status reflecting the outcome of executing the activity, indicating `success`, `failure` (e.g., if a plugin call fails), or `NULL` for activities yet to be resolved or not applicable.', }, { property: 'last_synced_at', type: 'TIMESTAMP', - description: - '[IRRELEVANT FOR ANALYSIS] Recorded timestamp of importing data to BigQuery.', + description: '[IRRELEVANT FOR ANALYSIS] Recorded timestamp of importing data to BigQuery.', }, ] @@ -439,3 +441,227 @@ export const patient_profiles: BQTableType = [ description: 'Indicates patient status within the system. Currently, `active_record` is the only available value, indicating that patient is present/not deleted.', }, ] + +export const actions: BQTableType = [ + { + property: 'id', + type: 'STRING', + description: 'Unique identifier.', + }, + { + property: 'name', + type: 'STRING', + description: 'Name of the action (action component name).', + }, + { + property: 'object_name', + type: 'STRING', + description: 'Name of the primary object associated with the action (e.g., form name).', + }, + { + property: 'definition_id', + type: 'STRING', + description: 'Identifier of the action definition (template) from which the action was instantiated.', + }, + { + property: 'object_definition_id', + type: 'STRING', + description: 'Identifier of the underlying object (message, form, ...) definition (template) from which the object was instantiated.', + }, + { + property: 'object_type', + type: 'STRING', + description: 'Type of the primary object associated with the action (e.g., `form`, `message`, `calculation`).', + }, + { + property: 'care_flow_definition_id', + type: 'STRING', + description: 'Identifier of the care flow definition associated with the action. Refers to the `definition_id` in the `care_flows` table.', + }, + { + property: 'care_flow_id', + type: 'STRING', + description: 'Identifier of the care flow in which the action exists. Refers to the `id` column in the `care_flows` table.', + }, + { + property: 'track_id', + type: 'STRING', + description: 'Identifier of the track the action belongs to. Refers to the `id` column in the `tracks` table.', + }, + { + property: 'step_id', + type: 'STRING', + description: 'Identifier of the step the action belongs to. Refers to the `id` column in the `steps` table.', + }, + { + property: 'started_at', + type: 'TIMESTAMP', + description: 'Timestamp indicating when the action was started (UTC).', + }, + { + property: 'completed_at', + type: 'TIMESTAMP', + description: 'Timestamp indicating when the action was completed (UTC). Null if the action is not completed.', + }, + { + property: 'duration_in_seconds', + type: 'INTEGER', + description: 'Duration of the action in seconds, calculated as the difference between `completed_at` and `started_at`. Zero if negative or not applicable.', + }, + { + property: 'scheduled_at', + type: 'TIMESTAMP', + description: 'The date and time when the action is scheduled to start (UTC). Relevant only for scheduled actions.', + }, + { + property: 'indirect_object_id', + type: 'STRING', + description: 'Identifier of the indirect or secondary object associated with the action.', + }, + { + property: 'indirect_object_type', + type: 'STRING', + description: 'Type of the indirect object (e.g., `patient`, `stakeholder`, `plugin`).', + }, + { + property: 'indirect_object_name', + type: 'STRING', + description: 'Name of the indirect object associated with the action.', + }, + { + property: 'resolution', + type: 'STRING', + description: 'An internal system status reflecting the outcome of executing the action, indicating `success`, `failure` (e.g., if a plugin call fails), or `NULL` for actions yet to be resolved or not applicable.', + }, + { + property: 'status', + type: 'STRING', + description: 'Current status of the action. Possible values: `active`, `done`, `canceled`, `expired`, `deleted`, or other statuses derived from actions.', + }, + { + property: 'last_synced_at', + type: 'TIMESTAMP', + description: '[IRRELEVANT FOR ANALYSIS] Recorded timestamp of importing data to BigQuery.', + }, +] + +export const steps: BQTableType = [ + { + property: 'id', + type: 'STRING', + description: 'Unique identifier of the step.', + }, + { + property: 'name', + type: 'STRING', + description: 'Name of the step.', + }, + { + property: 'definition_id', + type: 'STRING', + description: 'Identifier of the step definition (template) from which the step was instantiated.', + }, + { + property: 'care_flow_definition_id', + type: 'STRING', + description: 'Identifier of the care flow definition associated with the step. Refers to the `definition_id` in the `care_flows` table.', + }, + { + property: 'care_flow_id', + type: 'STRING', + description: 'Identifier of the care flow in which the step exists. Refers to the `id` column in the `care_flows` table, serving as a foreign key.', + }, + { + property: 'track_id', + type: 'STRING', + description: 'Identifier of the track the step belongs to. Refers to the `id` column in the `tracks` table.', + }, + { + property: 'started_at', + type: 'TIMESTAMP', + description: 'Timestamp indicating when the step was started (UTC).', + }, + { + property: 'completed_at', + type: 'TIMESTAMP', + description: 'Timestamp indicating when the step was completed (UTC). Null if the step is not completed.', + }, + { + property: 'duration_in_seconds', + type: 'INTEGER', + description: 'Duration of the step in seconds, calculated as the difference between `completed_at` and `started_at`. Zero if negative or not applicable.', + }, + { + property: 'scheduled_at', + type: 'TIMESTAMP', + description: 'The date and time when the step is scheduled to start (UTC). Relevant only for scheduled steps.', + }, + { + property: 'status', + type: 'STRING', + description: 'Current status of the step. Possible values: `active`, `completed`, `stopped`, `deleted`, or other statuses derived from actions.', + }, + { + property: 'last_synced_at', + type: 'TIMESTAMP', + description: '[IRRELEVANT FOR ANALYSIS] Recorded timestamp of importing data to BigQuery.', + }, +] + +export const tracks: BQTableType = [ + { + property: 'id', + type: 'STRING', + description: 'Unique identifier of the track.', + }, + { + property: 'name', + type: 'STRING', + description: 'Name of the track.', + }, + { + property: 'definition_id', + type: 'STRING', + description: 'Identifier of the track definition (template) from which the track was instantiated.', + }, + { + property: 'care_flow_definition_id', + type: 'STRING', + description: 'Identifier of the care flow definition associated with the track. Refers to the `definition_id` in the `care_flows` table.', + }, + { + property: 'care_flow_id', + type: 'STRING', + description: 'Identifier of the care flow in which the track exists. Refers to the `id` column in the `care_flows` table, serving as a foreign key.', + }, + { + property: 'started_at', + type: 'TIMESTAMP', + description: 'Timestamp indicating when the track was started (UTC).', + }, + { + property: 'completed_at', + type: 'TIMESTAMP', + description: 'Timestamp indicating when the track was completed (UTC). Null if the track is not completed.', + }, + { + property: 'duration_in_seconds', + type: 'INTEGER', + description: 'Duration of the track in seconds, calculated as the difference between `completed_at` and `started_at`. Zero if negative or not applicable.', + }, + { + property: 'scheduled_at', + type: 'TIMESTAMP', + description: 'The date and time when the track is scheduled to start (UTC). Relevant only for scheduled steps.', + }, + { + property: 'status', + type: 'STRING', + description: 'Current status of the track. Possible values: `active`, `completed`, `stopped`, `deleted`, or other statuses derived from actions.', + }, + { + property: 'last_synced_at', + type: 'TIMESTAMP', + description: '[IRRELEVANT FOR ANALYSIS] Recorded timestamp of importing data to BigQuery.', + }, +] diff --git a/src/config/mdx.tsx b/src/config/mdx.tsx index 7e3103e2..bf74e903 100644 --- a/src/config/mdx.tsx +++ b/src/config/mdx.tsx @@ -3,6 +3,7 @@ import rehypeSlug from 'rehype-slug' import { Alert } from '@/components/Alert' import { CodeTabs } from '@/components/CodeTabs' import { + ActionsTableSpecs, ActivityIndexSpecs, ActivityTableSpecs, CareFlowTableSpecs, @@ -13,6 +14,8 @@ import { PatientProfileTableSpecs, PatientTableSpecs, StepIndexSpecs, + StepsTableSpecs, + TracksTableSpecs } from '@/components/DataRepository' import { Code, CustomH2, CustomH3 } from '@/components/Docs/atoms' import { FAQ } from '@/components/FAQ' @@ -63,4 +66,7 @@ export const mdxComponents = { ActivityIndexSpecs, CodeTabs, Properties, + ActionsTableSpecs, + StepsTableSpecs, + TracksTableSpecs, } diff --git a/src/types/generated/api.types.ts b/src/types/generated/api.types.ts index fc334bd7..4f18262f 100644 --- a/src/types/generated/api.types.ts +++ b/src/types/generated/api.types.ts @@ -13,6 +13,7 @@ export type Scalars = { Boolean: { input: boolean; output: boolean; } Int: { input: number; output: number; } Float: { input: number; output: number; } + JSON: { input: any; output: any; } SafeDate: { input: any; output: any; } }; @@ -68,6 +69,7 @@ export type Activity = { indirect_object?: Maybe; isUserActivity: Scalars['Boolean']['output']; label?: Maybe; + metadata?: Maybe; object: ActivityObject; public?: Maybe; reference_id: Scalars['String']['output']; @@ -134,6 +136,7 @@ export enum ActivityObjectType { Calculation = 'CALCULATION', Checklist = 'CHECKLIST', ClinicalNote = 'CLINICAL_NOTE', + Decision = 'DECISION', EmrReport = 'EMR_REPORT', EmrRequest = 'EMR_REQUEST', EvaluatedRule = 'EVALUATED_RULE', @@ -185,6 +188,19 @@ export type ActivityTrack = { title: Scalars['String']['output']; }; +export type AddActivityMetadataInput = { + activity_id: Scalars['String']['input']; + metadata: Scalars['JSON']['input']; + note?: InputMaybe; +}; + +export type AddActivityMetadataPayload = Payload & { + __typename?: 'AddActivityMetadataPayload'; + activity: Activity; + code: Scalars['String']['output']; + success: Scalars['Boolean']['output']; +}; + export type AddIdentifierToPatientInput = { identifier: IdentifierInput; patient_id: Scalars['String']['input']; @@ -443,6 +459,8 @@ export enum ConditionOperator { IsInRange = 'IS_IN_RANGE', IsLessThan = 'IS_LESS_THAN', IsLessThanOrEqualTo = 'IS_LESS_THAN_OR_EQUAL_TO', + IsLessThanXDaysAgo = 'IS_LESS_THAN_X_DAYS_AGO', + IsMoreThanXDaysAgo = 'IS_MORE_THAN_X_DAYS_AGO', IsNoneOf = 'IS_NONE_OF', IsNotEmpty = 'IS_NOT_EMPTY', IsNotEqualTo = 'IS_NOT_EQUAL_TO', @@ -492,6 +510,18 @@ export type CurrentUserPayload = Payload & { user: CurrentUser; }; +export type DataPoint = { + __typename?: 'DataPoint'; + activity_id?: Maybe; + data_point_definition_id: Scalars['String']['output']; + data_set_id: Scalars['String']['output']; + date: Scalars['String']['output']; + id: Scalars['ID']['output']; + key: Scalars['String']['output']; + serialized_value?: Maybe; + valueType: DataPointValueType; +}; + export type DataPointDefinition = { __typename?: 'DataPointDefinition'; category: DataPointSourceType; @@ -521,6 +551,15 @@ export type DataPointMetaDataItem = { value: Scalars['String']['output']; }; +export type DataPointPayload = PaginationAndSortingPayload & { + __typename?: 'DataPointPayload'; + code: Scalars['String']['output']; + dataPoints: Array; + pagination?: Maybe; + sorting?: Maybe; + success: Scalars['Boolean']['output']; +}; + export type DataPointPossibleValue = { __typename?: 'DataPointPossibleValue'; label?: Maybe; @@ -532,6 +571,7 @@ export enum DataPointSourceType { ApiCallStatus = 'API_CALL_STATUS', Calculation = 'CALCULATION', DataPoint = 'DATA_POINT', + Decision = 'DECISION', ExtensionAction = 'EXTENSION_ACTION', ExtensionWebhook = 'EXTENSION_WEBHOOK', Form = 'FORM', @@ -564,6 +604,13 @@ export type DateFilter = { lte?: InputMaybe; }; +export type DecisionOutputsPayload = Payload & { + __typename?: 'DecisionOutputsPayload'; + code: Scalars['String']['output']; + outputs: Scalars['String']['output']; + success: Scalars['Boolean']['output']; +}; + export type DeletePathwayInput = { pathway_id: Scalars['String']['input']; }; @@ -572,6 +619,12 @@ export type DeletePatientInput = { patient_id: Scalars['String']['input']; }; +export type EmrRequest = { + __typename?: 'EMRRequest'; + id?: Maybe; + status?: Maybe; +}; + export type Element = { __typename?: 'Element'; activity_type?: Maybe; @@ -728,10 +781,6 @@ export type FilterPathwayDataPointDefinitionsParams = { value_type?: InputMaybe; }; -export type FilterPathwayDefinitionsParams = { - search?: InputMaybe; -}; - export type FilterPathways = { pathway_definition_id?: InputMaybe; patient_id?: InputMaybe; @@ -795,12 +844,6 @@ export type FormResponsePayload = Payload & { success: Scalars['Boolean']['output']; }; -export type FormattedText = { - __typename?: 'FormattedText'; - content: TranslatedText; - format: Scalars['String']['output']; -}; - export type FormsPayload = Payload & { __typename?: 'FormsPayload'; code: Scalars['String']['output']; @@ -808,6 +851,13 @@ export type FormsPayload = Payload & { success: Scalars['Boolean']['output']; }; +export type GenerateRetoolEmbedUrlPayload = Payload & { + __typename?: 'GenerateRetoolEmbedUrlPayload'; + code: Scalars['String']['output']; + success: Scalars['Boolean']['output']; + url?: Maybe; +}; + export type GeneratedClinicalNote = { __typename?: 'GeneratedClinicalNote'; context: Array; @@ -911,6 +961,13 @@ export type IdentifierSystem = { system: Scalars['String']['output']; }; +export type IdentityVerificationPayload = Payload & { + __typename?: 'IdentityVerificationPayload'; + code: Scalars['String']['output']; + is_verified: Scalars['Boolean']['output']; + success: Scalars['Boolean']['output']; +}; + export type MarkMessageAsReadInput = { activity_id: Scalars['String']['input']; }; @@ -965,6 +1022,7 @@ export type MultipleSelectConfig = { export type Mutation = { __typename?: 'Mutation'; + addActivityMetadata: AddActivityMetadataPayload; addIdentifierToPatient: AddIdentifierToPatientPayload; addTrack: AddTrackPayload; completeExtensionActivity: CompleteExtensionActivityPayload; @@ -1000,10 +1058,17 @@ export type Mutation = { submitFormResponse: SubmitFormResponsePayload; unscheduleTracks: CancelScheduledTracksPayload; updateBaselineInfo: EmptyPayload; + updateEmrReportStatus: UpdateEmrReportStatusPayload; updatePatient: UpdatePatientPayload; /** Update which patient was created after import request for logging purposes */ updatePatientDemographicsQuery: UpdatePatientDemographicsQueryPayload; updatePatientLanguage: UpdatePatientLanguagePayload; + verify_identity: IdentityVerificationPayload; +}; + + +export type MutationAddActivityMetadataArgs = { + input: AddActivityMetadataInput; }; @@ -1024,7 +1089,6 @@ export type MutationCompleteExtensionActivityArgs = { export type MutationCreatePatientArgs = { input?: InputMaybe; - mycare?: InputMaybe; }; @@ -1168,6 +1232,11 @@ export type MutationUpdateBaselineInfoArgs = { }; +export type MutationUpdateEmrReportStatusArgs = { + input: UpdateEmrReportStatusInput; +}; + + export type MutationUpdatePatientArgs = { input: UpdatePatientInput; }; @@ -1182,8 +1251,9 @@ export type MutationUpdatePatientLanguageArgs = { input: UpdatePatientLanguageInput; }; -export type MyCareOptions = { - password?: InputMaybe; + +export type MutationVerify_IdentityArgs = { + input: VerifyIdentityInput; }; export type NumberArrayFilter = { @@ -1252,6 +1322,7 @@ export type PaginationParams = { offset: Scalars['Int']['input']; }; +/** A care flow, also including any activities or swimlanes. Otherwise, it should be almost identical to the PathwaySummary, which is returned when retrieving a list of care flows. */ export type Pathway = { __typename?: 'Pathway'; /** @@ -1260,7 +1331,6 @@ export type Pathway = { */ activities?: Maybe>; complete_date?: Maybe; - dashboards?: Maybe; id: Scalars['ID']['output']; /** Activities, sorted by date in descending order. For larger care flows, only the most recent 1000 activities are included. To see a complete list of activities, please use the `activity` query and appropriate filters. */ latestActivities: Array; @@ -1272,7 +1342,6 @@ export type Pathway = { status: PathwayStatus; status_explanation?: Maybe; stop_date?: Maybe; - swimlanes: Swimlanes; title: Scalars['String']['output']; tracks: Array; version?: Maybe; @@ -1287,13 +1356,6 @@ export type PathwayContext = { track_id?: Maybe; }; -export type PathwayDashboard = { - __typename?: 'PathwayDashboard'; - cumulio_auth_id: Scalars['String']['output']; - cumulio_auth_token: Scalars['String']['output']; - dashboard_ids: Array; -}; - export type PathwayDataPointDefinitionsPayload = Payload & { __typename?: 'PathwayDataPointDefinitionsPayload'; code: Scalars['String']['output']; @@ -1331,6 +1393,7 @@ export enum PathwayStatus { Stopped = 'stopped' } +/** A summary of a pathway instance, excluding any activities. Useful for list views. */ export type PathwaySummary = { __typename?: 'PathwaySummary'; complete_date?: Maybe; @@ -1514,12 +1577,14 @@ export type Query = { calculationResults: CalculationResultsPayload; checklist: ChecklistPayload; clinicalNote: ClinicalNotePayload; + decisionOutputs: DecisionOutputsPayload; emrReport: EmrReportPayload; extensionActivityRecord: ExtensionActivityRecordPayload; filterStakeholders: StakeholdersPayload; form: FormPayload; formResponse: FormResponsePayload; forms: FormsPayload; + generateRetoolEmbedUrl: GenerateRetoolEmbedUrlPayload; getOrchestrationFactsFromPrompt: OrchestrationFactsPromptPayload; getStatusForPublishedPathwayDefinitions: PublishedPathwayDefinitionsPayload; hostedPagesLink: HostedPagesLinkPayload; @@ -1527,11 +1592,13 @@ export type Query = { hostedSessionActivities: HostedSessionActivitiesPayload; message: MessagePayload; myActivities: ActivitiesPayload; + /** @deprecated Use the `pathways` query instead. */ myPathways: PathwaysPayload; myPendingActivities: ActivitiesPayload; pathway: PathwayPayload; pathwayActivities: ActivitiesPayload; pathwayDataPointDefinitions: PathwayDataPointDefinitionsPayload; + pathwayDataPoints: DataPointPayload; pathwayElements: ElementsPayload; pathwayFacts: OrchestrationFactsPayload; pathwayStepActivities: ActivitiesPayload; @@ -1542,7 +1609,6 @@ export type Query = { patientPathways: PatientPathwaysPayload; patients: PatientsPayload; publishedPathwayDefinitions: PublishedPathwayDefinitionsPayload; - publishedPathwayDefinitionsDashboard: PublishedPathwayDefinitionsPayload; scheduledSteps: ScheduledStepsPayload; scheduledTracksForPathway: ScheduledTracksPayload; searchPatientsByNationalRegistryNumber: SearchPatientsPayload; @@ -1611,6 +1677,12 @@ export type QueryClinicalNoteArgs = { }; +export type QueryDecisionOutputsArgs = { + activity_id: Scalars['String']['input']; + pathway_id: Scalars['String']['input']; +}; + + export type QueryEmrReportArgs = { id: Scalars['String']['input']; }; @@ -1645,6 +1717,13 @@ export type QueryFormsArgs = { }; +export type QueryGenerateRetoolEmbedUrlArgs = { + groupIds: Array; + landingPageUuid: Scalars['String']['input']; + userInfo: UserInfoParams; +}; + + export type QueryGetOrchestrationFactsFromPromptArgs = { pathway_id: Scalars['String']['input']; prompt: Scalars['String']['input']; @@ -1693,6 +1772,15 @@ export type QueryPathwayDataPointDefinitionsArgs = { }; +export type QueryPathwayDataPointsArgs = { + activity_id?: InputMaybe; + data_point_definition_id?: InputMaybe; + pagination?: InputMaybe; + pathway_id: Scalars['String']['input']; + sorting?: InputMaybe; +}; + + export type QueryPathwayElementsArgs = { pathway_id: Scalars['String']['input']; }; @@ -1742,13 +1830,6 @@ export type QueryPatientsArgs = { }; -export type QueryPublishedPathwayDefinitionsDashboardArgs = { - filters?: InputMaybe; - pagination?: InputMaybe; - sorting?: InputMaybe; -}; - - export type QueryScheduledStepsArgs = { pathway_id: Scalars['String']['input']; }; @@ -2296,58 +2377,6 @@ export type SubscriptionWebhookCallUpdatedArgs = { pathway_id: Scalars['String']['input']; }; -export type Swimlane = { - __typename?: 'Swimlane'; - id: Scalars['ID']['output']; - title: Scalars['String']['output']; -}; - -export type SwimlaneItem = { - __typename?: 'SwimlaneItem'; - category: SwimlaneItemCategory; - column_index: Scalars['Float']['output']; - date?: Maybe; - documentation?: Maybe; - id: Scalars['ID']['output']; - info?: Maybe; - lane_id: Scalars['ID']['output']; - row_index: Scalars['Float']['output']; - title: Scalars['String']['output']; - track_id?: Maybe; - type: SwimlaneItemType; -}; - -export enum SwimlaneItemCategory { - Action = 'ACTION', - PathwayEnd = 'PATHWAY_END', - PathwayStart = 'PATHWAY_START', - Step = 'STEP', - Track = 'TRACK', - TrackEnd = 'TRACK_END', - TrackStart = 'TRACK_START' -} - -export enum SwimlaneItemType { - Active = 'active', - Completed = 'completed', - Pending = 'pending', - Possible = 'possible' -} - -export type SwimlaneLink = { - __typename?: 'SwimlaneLink'; - destination_id: Scalars['ID']['output']; - id: Scalars['ID']['output']; - origin_id: Scalars['ID']['output']; -}; - -export type Swimlanes = { - __typename?: 'Swimlanes'; - items: Array; - lanes: Array; - links: Array; -}; - export type Tenant = { __typename?: 'Tenant'; accent_color: Scalars['String']['output']; @@ -2398,6 +2427,19 @@ export type UpdateBaselineInfoInput = { pathway_id: Scalars['String']['input']; }; +export type UpdateEmrReportStatusInput = { + reason: Scalars['String']['input']; + request_id: Scalars['String']['input']; + status: Scalars['String']['input']; +}; + +export type UpdateEmrReportStatusPayload = Payload & { + __typename?: 'UpdateEmrReportStatusPayload'; + code: Scalars['String']['output']; + request?: Maybe; + success: Scalars['Boolean']['output']; +}; + export type UpdatePatientDemographicsQueryInput = { /** Index from the array returned from the PDQ response, which was used to create the patient */ created_patient_entry_index: Scalars['Float']['input']; @@ -2445,6 +2487,13 @@ export type User = { tenant_id: Scalars['String']['output']; }; +export type UserInfoParams = { + email: Scalars['String']['input']; + firstName: Scalars['String']['input']; + id: Scalars['String']['input']; + lastName: Scalars['String']['input']; +}; + export type UserProfile = { __typename?: 'UserProfile'; address?: Maybe
; @@ -2466,6 +2515,7 @@ export type UserProfile = { export enum UserQuestionType { Date = 'DATE', Description = 'DESCRIPTION', + Email = 'EMAIL', LongText = 'LONG_TEXT', MultipleChoice = 'MULTIPLE_CHOICE', MultipleChoiceGrid = 'MULTIPLE_CHOICE_GRID', @@ -2478,6 +2528,11 @@ export enum UserQuestionType { YesNo = 'YES_NO' } +export type VerifyIdentityInput = { + dob?: InputMaybe; + pathway_id: Scalars['String']['input']; +}; + export type WebhookCall = { __typename?: 'WebhookCall'; created_at: Scalars['String']['output'];