MMC Gait Assessment API (1.0.0)

Download OpenAPI specification:

MMC Gait Project – API Documentation

This API defines the services powering the MMC Gait Assessment System, which supports full patient flow through a walk test involving photogates, synchronized Orbbec cameras, and real-time processing.

🧭 System Components

🖥️ Kiosk (Patient-Facing)

  • QR/manual ID input
  • Sends ID to Relay (for tagging)
  • Displays system readiness + instructions
  • Begins test after first photogate triggers
  • Shows raw output after test

🧠 Relay Server (Coordinator)

  • Starts/stops cameras
  • Tracks photogates via DAQ
  • Orchestrates system state
  • Sends/receives data from Kiosk + Visionary

🧬 Visionary Server (Processor)

  • Processes raw gait footage
  • Sends back structured gait data

✅ Demo Flow

  1. Check-in via Kiosk
  2. Relay arms system
  3. Cameras + DAQ capture triggered by photogates
  4. Visionary processes gait
  5. Relay returns output to Kiosk

📦 API Domains

  • Kiosk: Assessment check-in, state display, data receipt
  • Relay: Start/stop coordination, central status tracking
  • Visionary: Raw data ingestion and analytics

Kiosk

Patient-facing interface and display

Store local assessment data

Request Body schema: application/json
required
id
string <uuid>
patient_id
required
string <uuid>
required
object

Responses

Request samples

Content type
application/json
{
  • "id": "111e8400-e29b-41d4-a716-446655440abc",
  • "patient_id": "550e8400-e29b-41d4-a716-446655440000",
  • "data": { }
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string"
}

Update the current status of an in-progress assessment on the kiosk

Request Body schema: application/json
required
assessment_id
required
string <uuid>
state
required
string
Enum: "not_ready" "ready" "waiting_for_trigger" "capturing" "analyzing" "complete" "error"

Represents the current state of the assessment. Can indicate progress or failure.

error_message
string

Optional message to include if state is 'error'

Responses

Request samples

Content type
application/json
{
  • "assessment_id": "111e8400-e29b-41d4-a716-446655440abc",
  • "state": "capturing",
  • "error_message": "Camera connection lost during capture"
}

Response samples

Content type
application/json
{
  • "updated": true
}

Relay

Central coordinator of assessment hardware

Prepare for patient assessment coordination

Request Body schema: application/json
required
patient_id
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "patient_id": "550e8400-e29b-41d4-a716-446655440000"
}

Response samples

Content type
application/json
{
  • "prepared": true,
  • "next_step": "string"
}

Store assessment after processing (from Visionary)

Request Body schema: application/json
required
id
string <uuid>
patient_id
required
string <uuid>
required
object

Responses

Request samples

Content type
application/json
{
  • "id": "111e8400-e29b-41d4-a716-446655440abc",
  • "patient_id": "550e8400-e29b-41d4-a716-446655440000",
  • "data": { }
}

Response samples

Content type
application/json
{
  • "success": true,
  • "stored_at": "2019-08-24T14:15:22Z"
}

Visionary

Handles camera data processing and result return

Process camera-based assessment (e.g., gait analysis)

Request Body schema: application/json
required
patient_id
required
string <uuid>
csn
string
required
object

Responses

Request samples

Content type
application/json
{
  • "patient_id": "550e8400-e29b-41d4-a716-446655440000",
  • "csn": "string",
  • "camera_data": { }
}

Response samples

Content type
application/json
{
  • "id": "111e8400-e29b-41d4-a716-446655440abc",
  • "patient_id": "550e8400-e29b-41d4-a716-446655440000",
  • "data": { }
}