mirror of
https://github.com/bckelley/cgm-remote-monitor.git
synced 2026-08-24 03:14:12 -05:00
Create a new RFC document and associated JSON schemas defining an agentic control plane for automated insulin delivery systems, including event envelopes, capabilities models, delivery tracking, and conflict rules. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 06715f81-f852-4156-8ab0-cf9e0aa3564d Replit-Commit-Checkpoint-Type: intermediate_checkpoint Replit-Commit-Event-Id: 010cdc4a-2c86-4d2e-9768-bf2769a89953 Replit-Helium-Checkpoint-Created: true
118 lines
3.5 KiB
JSON
118 lines
3.5 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://nightscout.github.io/schemas/controller-kind-definition.schema.json",
|
|
"title": "ControllerKindDefinition",
|
|
"description": "Declared capabilities and schema for a type of AID controller (Loop, Trio, AAPS, etc.)",
|
|
"type": "object",
|
|
"required": ["kindId", "name", "version"],
|
|
"properties": {
|
|
"kindId": {
|
|
"type": "string",
|
|
"description": "Unique identifier for this controller type",
|
|
"examples": ["loop", "trio", "aaps", "openaps", "tidepool-loop"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Human-readable name"
|
|
},
|
|
"version": {
|
|
"type": "string",
|
|
"description": "Version of this controller definition"
|
|
},
|
|
"vendor": {
|
|
"type": "string",
|
|
"description": "Organization or project responsible"
|
|
},
|
|
"supportedFeatures": {
|
|
"type": "object",
|
|
"description": "Feature flags for this controller type",
|
|
"properties": {
|
|
"tempBasal": {
|
|
"type": "boolean",
|
|
"description": "Can set temporary basal rates"
|
|
},
|
|
"microBolus": {
|
|
"type": "boolean",
|
|
"description": "Uses micro-bolus (SMB) strategy"
|
|
},
|
|
"suspend": {
|
|
"type": "boolean",
|
|
"description": "Can suspend insulin delivery"
|
|
},
|
|
"overrides": {
|
|
"type": "boolean",
|
|
"description": "Supports override presets"
|
|
},
|
|
"autoSens": {
|
|
"type": "boolean",
|
|
"description": "Has autosensitivity detection"
|
|
},
|
|
"dynamicISF": {
|
|
"type": "boolean",
|
|
"description": "Supports dynamic ISF adjustments"
|
|
},
|
|
"dynamicCR": {
|
|
"type": "boolean",
|
|
"description": "Supports dynamic carb ratio adjustments"
|
|
},
|
|
"smbWithCOB": {
|
|
"type": "boolean",
|
|
"description": "Allows SMB when carbs on board"
|
|
},
|
|
"uam": {
|
|
"type": "boolean",
|
|
"description": "Supports unannounced meals detection"
|
|
},
|
|
"profileSwitching": {
|
|
"type": "boolean",
|
|
"description": "Supports switching between profiles"
|
|
},
|
|
"remoteCommands": {
|
|
"type": "boolean",
|
|
"description": "Can accept remote commands"
|
|
}
|
|
}
|
|
},
|
|
"supportedPumps": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"description": "List of compatible pump types"
|
|
},
|
|
"supportedCGMs": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"description": "List of compatible CGM types"
|
|
},
|
|
"algorithmType": {
|
|
"type": "string",
|
|
"enum": ["oref0", "oref1", "dosing-decision", "custom"],
|
|
"description": "Core algorithm family"
|
|
},
|
|
"eventCapabilities": {
|
|
"type": "object",
|
|
"description": "What events this controller can emit",
|
|
"properties": {
|
|
"canEmitNativeEvents": {
|
|
"type": "boolean",
|
|
"description": "Whether it can emit canonical events directly"
|
|
},
|
|
"minimalEventSet": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"description": "Minimum set of event types it can emit"
|
|
},
|
|
"deviceStatusFields": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"description": "Fields available in devicestatus uploads"
|
|
}
|
|
}
|
|
},
|
|
"documentation": {
|
|
"type": "string",
|
|
"format": "uri",
|
|
"description": "Link to controller documentation"
|
|
}
|
|
}
|
|
}
|