{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://nightscout.github.io/schemas/capability-snapshot.schema.json", "title": "CapabilitySnapshot", "description": "Point-in-time snapshot of what the controller can actually do right now", "type": "object", "required": ["snapshotId", "controllerInstanceId", "snapshotAt"], "properties": { "snapshotId": { "type": "string", "format": "uuid", "description": "Unique identifier for this snapshot" }, "controllerInstanceId": { "type": "string", "description": "Reference to ControllerInstanceRegistration" }, "connectivity": { "type": "object", "description": "Current connectivity status", "properties": { "pumpConnected": { "type": "boolean", "description": "Is pump currently connected" }, "pumpLastContact": { "type": "string", "format": "date-time", "description": "Last successful communication with pump" }, "pumpRSSI": { "type": "integer", "description": "Pump radio signal strength" }, "cgmConnected": { "type": "boolean", "description": "Is CGM currently connected" }, "cgmLastReading": { "type": "string", "format": "date-time", "description": "Timestamp of last CGM reading" }, "internetConnected": { "type": "boolean", "description": "Is device online" } } }, "automationState": { "type": "object", "description": "Current automation status", "properties": { "closedLoopEnabled": { "type": "boolean", "description": "Is closed-loop automation active" }, "suspended": { "type": "boolean", "description": "Is insulin delivery suspended" }, "suspendReason": { "type": "string", "description": "Why suspended (if applicable)" }, "lastLoopTime": { "type": "string", "format": "date-time", "description": "When loop algorithm last ran" }, "lastEnactTime": { "type": "string", "format": "date-time", "description": "When last delivery was enacted" } } }, "effectiveLimits": { "type": "object", "description": "Current safety limits in effect", "properties": { "maxBasal": { "type": "number", "description": "Maximum basal rate allowed (U/hr)" }, "maxBolus": { "type": "number", "description": "Maximum bolus allowed (U)" }, "maxIOB": { "type": "number", "description": "Maximum IOB allowed (U)" }, "minBG": { "type": "number", "description": "Minimum target BG" } } }, "health": { "type": "object", "description": "Device health indicators", "properties": { "reservoirUnits": { "type": "number", "description": "Remaining insulin units in reservoir" }, "reservoirLevel": { "type": "string", "enum": ["full", "adequate", "low", "critical"], "description": "Reservoir level category" }, "batteryPercent": { "type": "integer", "minimum": 0, "maximum": 100, "description": "Pump battery percentage" }, "phoneBatteryPercent": { "type": "integer", "minimum": 0, "maximum": 100, "description": "Controller device battery" }, "podAge": { "type": "integer", "description": "Hours since pod was activated (for pod pumps)" }, "podExpires": { "type": "string", "format": "date-time", "description": "When pod expires" }, "cgmCalibrationStatus": { "type": "string", "enum": ["ok", "needed", "overdue", "na"], "description": "CGM calibration status" }, "sensorAge": { "type": "integer", "description": "Hours since sensor was started" }, "timeSyncHealth": { "type": "string", "enum": ["good", "drift", "unknown"], "description": "Clock synchronization status" } } }, "degradedCapabilities": { "type": "array", "description": "Capabilities that are currently degraded or unavailable", "items": { "type": "object", "properties": { "capability": { "type": "string", "description": "Which capability is affected" }, "reason": { "type": "string", "description": "Why it's degraded" }, "since": { "type": "string", "format": "date-time" } } } }, "snapshotAt": { "type": "string", "format": "date-time", "description": "When this snapshot was taken" }, "validFor": { "type": "integer", "description": "How long this snapshot is valid (seconds)" } } }