{ "$schema":                "https://json-schema.org/draft/2020-12/schema",
  "$id":                    "https://schemas.mpai.community/TFA/V1.5/data/PhysiologicalSignalQualifier.json",
  "title":                  "Physiological Signal Qualifier V1.5",
                            "description": "Specifies Sub-Types, Formats, ans Attributes of of physiological signals.",
                            "type": "object", "additionalProperties": false, "required": ["SubTypes", "Formats", "GroupMap"],
                            "properties": {

    "SubTypes":             { "type": "object", "required": ["ECG", "PPG", "EMG", "EOG", "Respiration", "GSR / EDA", "Blood Pressure Waveform"],
                              "additionalProperties": false, "properties": {
      "ECG":                { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, 
                              "default": [ "Resting 12‑lead ECG", "Exercise / Stress ECG", "Signal‑Averaged ECG (SAE)",
                              "Heart Rate Variability (HRV)", "Ambulatory ECG (Holter)", "Wearable ECG" ] },
      "PPG":                { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, 
                              "default": [ "Reflective PPG", "Transmissive PPG", "Multi‑wavelength PPG", "Wearable PPG" ] },
      "EMG":                { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, 
                              "default": [ "Surface EMG (sEMG)", "Intramuscular EMG", "High‑density EMG" ] },
      "EOG":                { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, 
                              "default": [ "Horizontal/vertical EOG", "Blink detection EOG", "Saccade tracking EOG" ] },
      "Respiration":        { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, 
                              "default": [ "Airflow", "Respiratory effort (thoracic/abdominal belts)",
                              "Capnography (CO₂ waveform)" ] },
      "GSR / EDA":          { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, 
                              "default": [ "Skin conductance", "Skin resistance", "Tonic/phasic EDA" ] },
      "Blood Pressure Waveform": { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, 
                              "default": [ "Arterial pressure waveform", "Pulse transit time waveform", 
                              "Continuous non‑invasive BP waveform" ] } } },

    "Formats":              { "type": "object",  "required": [ "ECG Formats", "PPG Formats", "EMG Formats", "EOG Formats", 
                              "Respiration Formats", "GSR / EDA Formats", "Blood Pressure Waveform Formats" ] },
                              "additionalProperties": false, "properties": {
      "ECG Formats":        { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, "default": [ 
                              "HL7 aECG (Annotated ECG)", "SCP‑ECG (Standard Communications Protocol for Computer‑Assisted Electrocardiography)",
                              "DICOM‑ECG (DICOM Waveform for ECG)", "ecgML (XML‑based ECG format)", "mECGML (Mobile ECG Markup Language)",
                              "ML‑ECG (Machine Learning ECG format)", "MFER (Medical Waveform Format Encoding Rules)", "Philips XML (Philips ECG XML format)",
                              "ecgAware (ECG markup for ambulatory monitoring)", "EDF / EDF+ (General biosignal format)", "BDF (BioSemi Data Format)",
                              "WFDB (PhysioNet waveform format)" ] },
      "PPG Formats":        { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, "default": [
                              "OpenSignals (Biosignal format used by BITalino and wearables)", "EDF / EDF+", "BDF", "WFDB",
                              "HDF5 (Large biosignal datasets)", "PPG‑BDF (BioSemi PPG variant)", "PPG‑CSV/TSV (Common export formats)" ] },
      "EMG Formats":        { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, "default": [
                              "SENIAM‑compatible CSV/TSV (Standard EMG electrode placement & data conventions)", "EDF / EDF+", "BDF",
                              "WFDB", "OpenSignals", "HDF5", "EMG‑MAT (MATLAB‑based EMG format)" ] }, 
      "EOG Formats":        { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, "default": [
                              "EDF / EDF+", "BDF", "WFDB", "OpenSignals", "HDF5", "EOG‑MAT" ] },
      "Respiration Formats":{ "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, "default": [
                              "EDF / EDF+", "WFDB", "DICOM‑Waveform (for capnography)", "HDF5", "Resp‑CSV/TSV" ] },
      "GSR / EDA Formats":  { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, "default": [
                              "OpenSignals", "EDF / EDF+", "WFDB", "HDF5", "EDA‑CSV/TSV" ] },
      "Blood Pressure Waveform Formats": { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, "default": [
                              "DICOM‑Waveform", "WFDB", "EDF / EDF+", "HDF5", "BP‑CSV/TSV" ] } },
    "GroupMap":             { "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": {
                              "subTypeGroup": { "type": "string" }, "formatGroup": { "type": "string" } },
                              "required": ["subTypeGroup", "formatGroup"] }, "minItems": 1, "default": [
      { "subTypeGroup": "Resting 12‑lead ECG",                 "formatGroup": "ECG Formats" },
      { "subTypeGroup": "Exercise / Stress ECG",               "formatGroup": "ECG Formats" },
      { "subTypeGroup": "Signal‑Averaged ECG (SAE)",            "formatGroup": "ECG Formats" },
      { "subTypeGroup": "Heart Rate Variability (HRV)",         "formatGroup": "ECG Formats" },
      { "subTypeGroup": "Ambulatory ECG (Holter)",              "formatGroup": "ECG Formats" },
      { "subTypeGroup": "Wearable ECG",                         "formatGroup": "ECG Formats" },

      { "subTypeGroup": "Reflective PPG",                       "formatGroup": "PPG Formats" },
      { "subTypeGroup": "Transmissive PPG",                     "formatGroup": "PPG Formats" },
      { "subTypeGroup": "Multi‑wavelength PPG",                 "formatGroup": "PPG Formats" },
      { "subTypeGroup": "Wearable PPG",                         "formatGroup": "PPG Formats" },

      { "subTypeGroup": "Surface EMG (sEMG)",                   "formatGroup": "EMG Formats" },
      { "subTypeGroup": "Intramuscular EMG",                    "formatGroup": "EMG Formats" },
      { "subTypeGroup": "High‑density EMG",                     "formatGroup": "EMG Formats" },

      { "subTypeGroup": "Horizontal/vertical EOG",              "formatGroup": "EOG Formats" },
      { "subTypeGroup": "Blink detection EOG",                  "formatGroup": "EOG Formats" },
      { "subTypeGroup": "Saccade tracking EOG",                 "formatGroup": "EOG Formats" },

      { "subTypeGroup": "Airflow",                               "formatGroup": "Respiration Formats" },
      { "subTypeGroup": "Respiratory effort (thoracic/abdominal belts)", "formatGroup": "Respiration Formats" },
      { "subTypeGroup": "Capnography (CO₂ waveform)",            "formatGroup": "Respiration Formats" },

      { "subTypeGroup": "Skin conductance",                      "formatGroup": "GSR / EDA Formats" },
      { "subTypeGroup": "Skin resistance",                       "formatGroup": "GSR / EDA Formats" },
      { "subTypeGroup": "Tonic/phasic EDA",                      "formatGroup": "GSR / EDA Formats" },

      { "subTypeGroup": "Arterial pressure waveform",            "formatGroup": "Blood Pressure Waveform Formats" },
      { "subTypeGroup": "Pulse transit time waveform",           "formatGroup": "Blood Pressure Waveform Formats" },
      { "subTypeGroup": "Continuous non‑invasive BP waveform",   "formatGroup": "Blood Pressure Waveform Formats" } ] },

    "Attributes":           { "type": "object", "additionalProperties": false, "properties": {
      "ChannelNames":       { "type": "array", "items": { "type": "string" }, "minItems": 1 },
      "Units":              { "type": "array", "items": { "type": "string" }, "minItems": 1 },
      "SamplingRateHz":     { "type": "number", "minimum": 0 },
      "SensorPlacement":    { "type": "string" },
      "LeadConfiguration":  { "type": "string", "description": "For ECG (e.g., Mason-Likar, Einthoven, Frank)." },
      "ElectrodePlacement": { "type": "string", "description": "For EMG/EOG placement conventions (e.g., SENIAM)." },
      "Device":             { "type": "string" },
      "RecordingContext":   { "type": "string" } } },

    "DataExchangeMetadata":      {"$ref": "https://schemas.mpai.community/AIF/V3.0/data/DataExchangeMetadata.json" },
    "Trace":                     { "$ref": "https://schemas.mpai.community/AIF/V3.0/data/Trace.json" },
    "DescrMetadata":             { "type": "string", "maxLength": 2048 } } }