Greens Health · Clinical Care Platform

Clinical Care Ingest API

Send RPM, CCM, clinical notes, payer verifications, and scoreboard snapshots into the dashboard database.

Authentication

All ingest endpoints require an API key. Sign in, open /admin, generate a key, and send it as a header:

curl -X POST https://<your-domain>/api/public/ingest/health \
  -H "x-api-key: ccm_..."

Endpoints

  • /api/public/ingest/members
    Upsert members (by external_id).
  • /api/public/ingest/rpm-events
    RPM readings (event_at, reading_type, value, unit).
  • /api/public/ingest/ccm-time
    CCM time entries (entry_date, minutes, billable).
  • /api/public/ingest/clinical-notes
    Notes (note_at, author, note_type, content).
  • /api/public/ingest/payer-verifications
    Elation-verified payer/AR snapshots.
  • /api/public/ingest/scoreboard
    Program scoreboard rows (snapshot_date, metric, current, target, status).
  • /api/public/ingest/member-status
    Per-member daily status (compliance %, time minutes, alerts, tier, lane).
  • /api/public/ingest/call-logs
    RingCentral call records (call_id, call_datetime, duration_sec, direction, result, recording_uri).
  • /api/public/ingest/sms-messages
    RingCentral SMS records (message_id, message_datetime, direction, body, read_status).
  • /api/public/ingest/billing-records
    Elation billing records (bill_id, service_date, cpt_codes, billing_status, billed/paid amounts).
  • /api/public/ingest/billing-tasks
    Computed billing tasks (task_id, last_billed_date, suggested_cpt_codes, ai_billing_summary, status).
  • /api/public/ingest/era-results
    Elation ERA results (bill_id, era_received_date, payment_status, paid_amount, denial_code, resubmit_deadline).
  • /api/public/ingest/sync-log
    OpenClaw run logs (source, run_at, status, summary, error_detail, records counts).
  • /api/public/ingest/health
    GET — verify your API key works.

All POST endpoints accept either a single object or{ "records": [ ... ] }for batch ingest. Reference members by member_external_id or member_id.

Example payloads

POST /api/public/ingest/members
{ "external_id": "rogers-thomas",
  "full_name": "Thomas Rogers",
  "primary_payer": "Medicare Part B",
  "ar_balance": 23103.51,
  "priority": "P1-CRITICAL" }

POST /api/public/ingest/scoreboard
{ "snapshot_date": "2026-06-05",
  "metric": "RPM Compliant (≥0%)",
  "current_value": 9, "target_value": 16, "status": "RED" }

POST /api/public/ingest/member-status
{ "snapshot_date": "2026-06-05",
  "member_external_id": "rogers-thomas",
  "compliance_pct": 100, "time_minutes": 40,
  "alerts": 31, "tier": "TOP TIER", "lane": "GREEN" }