{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "Neuropacket v1-min", "type": "object", "required": [ "version", "packet_id", "ts", "subject_id", "source", "metrics", "state", "quality", "calibration_id", "privacy", "integrity" ], "properties": { "version": { "type": "string", "pattern": "^\\d+\\.\\d+\\.\\d+$" }, "packet_id": { "type": "string" }, "ts": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?Z$" }, "subject_id": { "type": "string" }, "source": { "type": "object", "required": [ "device_id", "sensor_profile" ], "properties": { "device_id": { "type": "string" }, "sensor_profile": { "type": "string" } }, "additionalProperties": false }, "metrics": { "type": "object", "properties": { "hr_bpm": { "type": "number", "minimum": 0, "maximum": 300 }, "hrv_rmssd_ms": { "type": "number", "minimum": 0, "maximum": 500 }, "eda_uS": { "type": "number", "minimum": 0, "maximum": 100 }, "skin_temp_c": { "type": "number", "minimum": 20, "maximum": 45 }, "resp_bpm": { "type": "number", "minimum": 0, "maximum": 60 }, "spo2_pct": { "type": "number", "minimum": 0, "maximum": 100 } }, "additionalProperties": false }, "state": { "type": "object", "required": [ "valence", "arousal", "stress", "cognitive_load", "resilience", "confidence" ], "properties": { "valence": { "type": "number", "minimum": 0, "maximum": 1 }, "arousal": { "type": "number", "minimum": 0, "maximum": 1 }, "stress": { "type": "number", "minimum": 0, "maximum": 1 }, "cognitive_load": { "type": "number", "minimum": 0, "maximum": 1 }, "resilience": { "type": "number", "minimum": 0, "maximum": 1 }, "confidence": { "type": "number", "minimum": 0, "maximum": 1 } }, "additionalProperties": false }, "quality": { "type": "object", "required": [ "artifact_score", "calibrated", "missing" ], "properties": { "artifact_score": { "type": "number", "minimum": 0, "maximum": 1 }, "calibrated": { "type": "boolean" }, "missing": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false }, "calibration_id": { "type": "string" }, "privacy": { "type": "object", "required": [ "consent_token", "retention", "scopes" ], "properties": { "consent_token": { "type": "string" }, "retention": { "type": "string" }, "scopes": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false }, "integrity": { "type": "object", "required": [ "hash", "signature", "key_id" ], "properties": { "hash": { "type": "string" }, "signature": { "type": "string" }, "key_id": { "type": "string" } }, "additionalProperties": false } }, "additionalProperties": false }