[
  {
    "session_no": "MS-0818-001",
    "measured_at": "2026-08-18T09:05:00",
    "device_code": "DV-01",
    "member_code_raw": "MB-3001",
    "metric": "grip",
    "value": 34.2,
    "unit": "kg",
    "session_state": "done",
    "robot_state": "online",
    "note": null
  },
  {
    "session_no": "MS-0818-002",
    "measured_at": "2026-08-18T09:20:00",
    "device_code": "DV-01",
    "member_code_raw": "MB-3002",
    "metric": "balance",
    "value": 71,
    "unit": "score",
    "session_state": "done",
    "robot_state": "online",
    "note": null
  },
  {
    "session_no": "MS-0818-003",
    "measured_at": "2026-08-18T09:41:00",
    "device_code": "DV-02",
    "member_code_raw": null,
    "metric": "gait",
    "value": 88,
    "unit": "score",
    "session_state": "done",
    "robot_state": "online",
    "note": "회원 인식 실패"
  },
  {
    "session_no": "MS-0818-004",
    "measured_at": "2026-08-18T10:02:00",
    "device_code": "DV-02",
    "member_code_raw": "MB-3003",
    "metric": "body_fat",
    "value": null,
    "unit": null,
    "session_state": "aborted",
    "robot_state": "online",
    "note": "중간에 내려옴"
  },
  {
    "session_no": "MS-0818-005",
    "measured_at": "2026-08-18T10:30:00",
    "device_code": "DV-03",
    "member_code_raw": "MB-3004",
    "metric": "grip",
    "value": 0,
    "unit": "kg",
    "session_state": "done",
    "robot_state": "offline",
    "note": "기기 통신 끊김 상태"
  },
  {
    "session_no": "MS-0818-006",
    "measured_at": "2026-08-18T11:15:00",
    "device_code": "DV-01",
    "member_code_raw": "mb 3005",
    "metric": "balance",
    "value": 66,
    "unit": "score",
    "session_state": "done",
    "robot_state": "online",
    "note": "회원 코드 표기 흔들림"
  },
  {
    "session_no": "MS-0818-007",
    "measured_at": "2026-08-18T13:00:00",
    "device_code": "DV-03",
    "member_code_raw": "MB-3006",
    "metric": "body_fat",
    "value": 92,
    "unit": "pct",
    "session_state": "done",
    "robot_state": "online",
    "note": "정상 범위를 크게 벗어남"
  },
  {
    "session_no": "MS-0818-008",
    "measured_at": "2026-08-18T13:40:00",
    "device_code": "DV-02",
    "member_code_raw": "MB-9999",
    "metric": "gait",
    "value": 75,
    "unit": "score",
    "session_state": "done",
    "robot_state": "online",
    "note": "회원 목록에 없는 코드"
  },
  {
    "session_no": "MS-0818-009",
    "measured_at": "2026-08-18T14:20:00",
    "device_code": "DV-01",
    "member_code_raw": "MB-3007",
    "metric": "grip",
    "value": 28.7,
    "unit": "kg",
    "session_state": "done",
    "robot_state": "online",
    "note": null
  },
  {
    "session_no": "MS-0818-009",
    "measured_at": "2026-08-18T14:20:00",
    "device_code": "DV-01",
    "member_code_raw": "MB-3007",
    "metric": "grip",
    "value": 28.7,
    "unit": "kg",
    "session_state": "done",
    "robot_state": "online",
    "note": "같은 세션이 두 번 적재됨"
  },
  {
    "session_no": "MS-0818-010",
    "measured_at": "2026-08-18T15:05:00",
    "device_code": "DV-03",
    "member_code_raw": "MB-3008",
    "metric": "balance",
    "value": 79,
    "unit": "score",
    "session_state": "unknown",
    "robot_state": null,
    "note": "종료 신호가 오지 않음"
  },
  {
    "session_no": "MS-0818-011",
    "measured_at": "2026-08-18T16:10:00",
    "device_code": "DV-02",
    "member_code_raw": "MB-3009",
    "metric": "gait",
    "value": 82,
    "unit": "score",
    "session_state": "done",
    "robot_state": "online",
    "note": null
  },
  {
    "session_no": "MS-0818-012",
    "measured_at": "2026-08-18T17:00:00",
    "device_code": "DV-01",
    "member_code_raw": "MB-3010",
    "metric": "body_fat",
    "value": 22.4,
    "unit": "pct",
    "session_state": "done",
    "robot_state": "online",
    "note": null
  }
]