Metriport · Arazzo Workflow

Metriport Wearables Connect

Version 1.0.0

Create a devices user, mint a Connect Widget session token, then pull the user's activity and biometrics data from connected wearables.

1 workflow 1 source API 1 provider
View Spec View on GitHub HealthcareMedical RecordsFHIRHealth DataWearablesOpen SourceArazzoWorkflows

Provider

metriport

Workflows

wearables-connect
Create a devices user, mint a connect token, then pull activity and biometrics data.
Implements the Metriport devices sequence end to end: devices user creation, Connect Widget token generation, and activity and biometrics retrieval.
4 steps inputs: appUserId outputs: activity, biometrics, connectToken, userId
1
createUser
createDevicesUser
Create a Metriport devices user mapped to the application user identifier.
2
getToken
getConnectToken
Generate a Connect Widget session token so the user can link wearable providers.
3
getActivity
getActivity
Retrieve the aggregated activity data across the user's connected wearables.
4
getBiometrics
getBiometrics
Retrieve the aggregated biometrics data across the user's connected wearables.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Metriport Wearables Connect
  summary: Create a devices user, mint a Connect Widget session token, then pull the user's activity and biometrics data from connected wearables.
  description: >-
    The canonical Metriport devices flow for wearable and consumer health data. A
    devices user is created from an application user id, a Connect Widget session
    token is generated so the user can link providers, and the aggregated activity
    and biometrics datasets are retrieved across the connected wearables. Every
    step inlines its request so the flow is self-contained.
  version: 1.0.0
sourceDescriptions:
- name: metriportApi
  url: ../openapi/metriport-openapi.yml
  type: openapi
workflows:
- workflowId: wearables-connect
  summary: Create a devices user, mint a connect token, then pull activity and biometrics data.
  description: >-
    Implements the Metriport devices sequence end to end: devices user creation,
    Connect Widget token generation, and activity and biometrics retrieval.
  inputs:
    type: object
    required:
    - appUserId
    properties:
      appUserId:
        type: string
        description: Application-side user identifier mapped to a Metriport devices user.
  steps:
  - stepId: createUser
    description: Create a Metriport devices user mapped to the application user identifier.
    operationId: createDevicesUser
    parameters:
    - name: appUserId
      in: query
      value: $inputs.appUserId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      userId: $response.body#/userId
  - stepId: getToken
    description: Generate a Connect Widget session token so the user can link wearable providers.
    operationId: getConnectToken
    parameters:
    - name: userId
      in: query
      value: $steps.createUser.outputs.userId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      connectToken: $response.body#/token
  - stepId: getActivity
    description: Retrieve the aggregated activity data across the user's connected wearables.
    operationId: getActivity
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      activity: $response.body
  - stepId: getBiometrics
    description: Retrieve the aggregated biometrics data across the user's connected wearables.
    operationId: getBiometrics
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      biometrics: $response.body
  outputs:
    userId: $steps.createUser.outputs.userId
    connectToken: $steps.getToken.outputs.connectToken
    activity: $steps.getActivity.outputs.activity
    biometrics: $steps.getBiometrics.outputs.biometrics