{
  "cases": [
    {
      "caseId": "ecg-case-01-normal-sinus",
      "labelEn": "Case 01 · Normal Sinus Rhythm Ambulatory Holter (Real 360 Hz MLII)",
      "labelKo": "증례 01 · 정상 동리듬 활동형 패치 심전도 (실측 360Hz MLII 파형)",
      "metrics": {
        "detectedBeatsInWindow": 5,
        "ectopicBurdenPct": 0.04,
        "snrDb": 19.4,
        "ventricularBeatsInWindow": 0
      },
      "summaryEn": "Clean ambulatory sinus rhythm with narrow QRS morphology, regular RR intervals, SNR 19.4 dB, and negligible ectopic burden (0.04%).",
      "summaryKo": "좁은 QRS군과 규칙적 RR 간격을 보이는 고신호대잡음비(19.4 dB) 정상 동리듬 실측 파형 (심실기외수축 부담 0.04%).",
      "verdict": "PASS",
      "viz": {
        "beatLabels": [
          "N",
          "N",
          "N",
          "N",
          "N"
        ],
        "ectopicBurdenPct": 0.04,
        "kind": "patch_ecg",
        "leadMv": [
          -0.405,
          -0.405,
          -0.405,
          -0.395,
          -0.43,
          -0.465,
          -0.43,
          -0.295,
          -0.285,
          -0.27,
          -0.28,
          -0.295,
          -0.295,
          -0.31,
          -0.305,
          -0.3,
          -0.305,
          -0.295,
          -0.235,
          -0.205,
          -0.21,
          -0.19,
          -0.31,
          -0.305,
          -0.425,
          0.25,
          0.935,
          -0.42,
          -0.385,
          -0.38,
          -0.365,
          -0.375,
          -0.37,
          -0.37,
          -0.37,
          -0.395,
          -0.385,
          -0.26,
          -0.245,
          -0.235,
          -0.24,
          -0.265,
          -0.27,
          -0.285,
          -0.295,
          -0.29,
          -0.3,
          -0.29,
          -0.275,
          -0.215,
          -0.195,
          -0.175,
          -0.265,
          -0.32,
          -0.33,
          -0.55,
          0.74,
          0.89,
          -0.385,
          -0.385,
          -0.38,
          -0.39,
          -0.375,
          -0.385,
          -0.385,
          -0.375,
          -0.39,
          -0.39,
          -0.27,
          -0.26,
          -0.245,
          -0.265,
          -0.27,
          -0.285,
          -0.3,
          -0.31,
          -0.31,
          -0.315,
          -0.265,
          -0.205,
          -0.21,
          -0.205,
          -0.27,
          -0.365,
          -0.37,
          -0.565,
          0.795,
          -0.185,
          -0.42,
          -0.41,
          -0.41,
          -0.42,
          -0.425,
          -0.425,
          -0.42,
          -0.45,
          -0.45,
          -0.445,
          -0.305,
          -0.3,
          -0.3,
          -0.31,
          -0.3,
          -0.36,
          -0.355,
          -0.365,
          -0.37,
          -0.36,
          -0.315,
          -0.23,
          -0.23,
          -0.255,
          -0.37,
          -0.39,
          -0.405,
          -0.555,
          0.85,
          -0.485,
          -0.42,
          -0.44,
          -0.43,
          -0.43,
          -0.44,
          -0.44,
          -0.43,
          -0.465,
          -0.49,
          -0.455,
          -0.375,
          -0.305,
          -0.31,
          -0.315,
          -0.36,
          -0.37,
          -0.37,
          -0.365,
          -0.365,
          -0.355,
          -0.275,
          -0.22,
          -0.23,
          -0.225,
          -0.365,
          -0.38,
          -0.485,
          0.76,
          0.905,
          -0.41,
          -0.405,
          -0.41
        ],
        "rPeakIndices": [
          26,
          57,
          86,
          116,
          146
        ],
        "snrDb": 19.4,
        "timeSec": [
          0.0083,
          0.0389,
          0.0611,
          0.0944,
          0.1278,
          0.1444,
          0.175,
          0.2194,
          0.2361,
          0.2528,
          0.2861,
          0.3194,
          0.3361,
          0.3722,
          0.4028,
          0.4167,
          0.4694,
          0.4861,
          0.5222,
          0.5361,
          0.5694,
          0.5861,
          0.6361,
          0.6389,
          0.6917,
          0.7194,
          0.7306,
          0.75,
          0.7778,
          0.8083,
          0.8583,
          0.8806,
          0.8944,
          0.9306,
          0.9611,
          0.9944,
          1.0,
          1.0528,
          1.0694,
          1.0833,
          1.1167,
          1.1389,
          1.1861,
          1.2056,
          1.2222,
          1.2528,
          1.3028,
          1.3194,
          1.3556,
          1.3861,
          1.4,
          1.4361,
          1.4444,
          1.4889,
          1.5,
          1.5528,
          1.5806,
          1.5861,
          1.6306,
          1.6472,
          1.6778,
          1.7111,
          1.7472,
          1.775,
          1.7944,
          1.8111,
          1.8417,
          1.8611,
          1.9139,
          1.9194,
          1.9556,
          1.9722,
          2.0028,
          2.0389,
          2.0556,
          2.0861,
          2.1222,
          2.1556,
          2.1917,
          2.2194,
          2.2222,
          2.2667,
          2.2833,
          2.3278,
          2.3444,
          2.3778,
          2.4056,
          2.4167,
          2.4444,
          2.4778,
          2.525,
          2.5417,
          2.5583,
          2.5944,
          2.6111,
          2.6611,
          2.6778,
          2.6944,
          2.7361,
          2.7528,
          2.7861,
          2.8056,
          2.8361,
          2.875,
          2.8889,
          2.9306,
          2.9444,
          2.9806,
          3.0194,
          3.0528,
          3.0556,
          3.0917,
          3.125,
          3.1611,
          3.1917,
          3.2083,
          3.2361,
          3.2556,
          3.2778,
          3.3278,
          3.3389,
          3.3778,
          3.4111,
          3.4278,
          3.4472,
          3.4944,
          3.5111,
          3.5278,
          3.5611,
          3.5861,
          3.6194,
          3.6528,
          3.6778,
          3.6972,
          3.7444,
          3.7583,
          3.7778,
          3.8083,
          3.8528,
          3.8861,
          3.8889,
          3.9194,
          3.9472,
          3.9944,
          4.025,
          4.0528,
          4.0583,
          4.1028,
          4.1111,
          4.1444
        ]
      }
    },
    {
      "caseId": "ecg-case-02-bigeminy-pvc",
      "labelEn": "Case 02 · Frequent Ventricular Ectopy / Bigeminy Alert (Burden 31.8%)",
      "labelKo": "증례 02 · 빈발성 심실기외수축(PVC)·이단맥 고위험 경보 (부담률 31.8%)",
      "metrics": {
        "detectedBeatsInWindow": 6,
        "ectopicBurdenPct": 31.76,
        "snrDb": 16.2,
        "ventricularBeatsInWindow": 2
      },
      "summaryEn": "Real DS2 holdout ambulatory ECG exhibiting wide-QRS premature ventricular contractions with full SA-node non-reset compensatory pauses.",
      "summaryKo": "실제 DS2 검증 홀터 파형에서 넓은 QRS 조기수축과 완전 대상성 휴지기 패턴을 포착하여 빈발성 심실부정맥 경보 발령.",
      "verdict": "PASS",
      "viz": {
        "beatLabels": [
          "N",
          "N",
          "N",
          "V",
          "N",
          "V"
        ],
        "ectopicBurdenPct": 31.76,
        "kind": "patch_ecg",
        "leadMv": [
          -0.225,
          -0.195,
          -0.155,
          -0.055,
          0.01,
          0.1,
          0.19,
          0.15,
          0.1,
          0.06,
          0.015,
          0.02,
          0.01,
          0.085,
          0.09,
          0.01,
          0.015,
          -0.01,
          -0.01,
          0.415,
          1.265,
          0.87,
          -0.05,
          -0.165,
          -0.08,
          -0.05,
          -0.05,
          -0.01,
          0.12,
          0.12,
          0.085,
          -0.005,
          -0.06,
          -0.07,
          -0.175,
          -0.02,
          -0.035,
          -0.035,
          -0.095,
          -0.09,
          -0.08,
          0.81,
          1.075,
          -0.35,
          -0.32,
          -0.26,
          -0.225,
          -0.195,
          -0.175,
          -0.03,
          0.03,
          0.06,
          0.015,
          -0.03,
          -0.21,
          -0.215,
          -0.21,
          -0.255,
          -0.25,
          -0.285,
          -0.26,
          -0.18,
          -0.19,
          -0.205,
          -0.2,
          -0.21,
          -0.245,
          0.04,
          0.92,
          0.84,
          -0.45,
          -0.35,
          -0.325,
          -0.31,
          -0.285,
          -0.25,
          -0.18,
          -0.065,
          -0.08,
          -0.215,
          -0.225,
          -0.23,
          -0.27,
          -0.25,
          -0.25,
          -0.18,
          0.16,
          -1.07,
          -2.025,
          -1.615,
          -0.835,
          -0.45,
          0.255,
          0.48,
          0.645,
          0.735,
          0.77,
          0.66,
          0.43,
          0.145,
          0.005,
          -0.075,
          -0.055,
          -0.095,
          -0.16,
          -0.17,
          -0.205,
          -0.155,
          -0.15,
          -0.195,
          -0.195,
          -0.235,
          -0.22,
          -0.27,
          1.085,
          1.015,
          -0.35,
          -0.37,
          -0.32,
          -0.3,
          -0.28,
          -0.265,
          -0.19,
          -0.15,
          -0.155,
          -0.16,
          -0.065,
          -0.195,
          -0.195,
          -0.045,
          -0.335,
          -2.2,
          -2.14,
          -1.04,
          -0.55,
          0.255,
          0.405,
          0.575,
          0.645,
          0.64,
          0.53,
          0.285,
          0.065,
          -0.21,
          -0.225,
          -0.25,
          -0.245,
          -0.285,
          -0.325,
          -0.32
        ],
        "rPeakIndices": [
          20,
          42,
          68,
          88,
          114,
          131
        ],
        "snrDb": 16.2,
        "timeSec": [
          0.0139,
          0.0389,
          0.0639,
          0.0917,
          0.1333,
          0.1639,
          0.1861,
          0.1944,
          0.2222,
          0.2528,
          0.2889,
          0.3222,
          0.3417,
          0.3861,
          0.3889,
          0.4417,
          0.4444,
          0.475,
          0.525,
          0.5528,
          0.575,
          0.5833,
          0.6139,
          0.6389,
          0.6667,
          0.7111,
          0.7472,
          0.775,
          0.8028,
          0.8056,
          0.8361,
          0.8611,
          0.8972,
          0.9417,
          0.95,
          0.9917,
          1.025,
          1.0278,
          1.075,
          1.0917,
          1.1361,
          1.1639,
          1.1722,
          1.2,
          1.2306,
          1.25,
          1.2833,
          1.3083,
          1.3556,
          1.3861,
          1.4139,
          1.4194,
          1.4444,
          1.4944,
          1.525,
          1.5278,
          1.5806,
          1.5944,
          1.6167,
          1.6528,
          1.6667,
          1.7028,
          1.7472,
          1.7639,
          1.8,
          1.8139,
          1.85,
          1.8861,
          1.9139,
          1.9167,
          1.9444,
          1.975,
          2.0,
          2.0278,
          2.0556,
          2.0833,
          2.1111,
          2.1556,
          2.1667,
          2.2139,
          2.2361,
          2.2528,
          2.2833,
          2.3056,
          2.3333,
          2.3611,
          2.4139,
          2.4417,
          2.4583,
          2.4722,
          2.5,
          2.5278,
          2.5806,
          2.6083,
          2.6361,
          2.6583,
          2.6722,
          2.6944,
          2.7222,
          2.75,
          2.7778,
          2.8056,
          2.8389,
          2.8611,
          2.9139,
          2.9361,
          2.9472,
          2.9722,
          3.025,
          3.05,
          3.0639,
          3.1,
          3.1306,
          3.15,
          3.1917,
          3.1944,
          3.2472,
          3.25,
          3.2806,
          3.3111,
          3.3333,
          3.3639,
          3.3889,
          3.4167,
          3.4694,
          3.475,
          3.5222,
          3.55,
          3.5694,
          3.6083,
          3.6361,
          3.6611,
          3.6667,
          3.6944,
          3.7222,
          3.775,
          3.8028,
          3.8306,
          3.8556,
          3.8611,
          3.8889,
          3.9167,
          3.9444,
          3.9972,
          4.0,
          4.05,
          4.0639,
          4.1083,
          4.1167,
          4.1639
        ]
      }
    },
    {
      "caseId": "ecg-case-03-polymorphic-ectopy",
      "labelEn": "Case 03 · Polymorphic Ventricular Couplets & Fusion Rhythm (Burden 33.6%)",
      "labelKo": "증례 03 · 다형성 심실연발(Couplet)·융합수축 고위험 파형 (부담률 33.6%)",
      "metrics": {
        "detectedBeatsInWindow": 7,
        "ectopicBurdenPct": 33.57,
        "snrDb": 14.8,
        "ventricularBeatsInWindow": 3
      },
      "summaryEn": "High-burden polymorphic ventricular ectopy and fusion complexes accurately separated from supraventricular premature beats.",
      "summaryKo": "다형성 심실기외수축 연발 및 융합수축 구간을 심방조기수축(APC)과 정밀 구분하여 중증 부정맥 위험군으로 분류.",
      "verdict": "PASS",
      "viz": {
        "beatLabels": [
          "V",
          "N",
          "F",
          "V",
          "N",
          "F",
          "V"
        ],
        "ectopicBurdenPct": 33.57,
        "kind": "patch_ecg",
        "leadMv": [
          1.67,
          1.48,
          1.02,
          -0.51,
          -0.605,
          -0.705,
          -0.805,
          -0.86,
          -0.875,
          -0.765,
          -0.515,
          -0.24,
          -0.225,
          -0.24,
          -0.2,
          -0.125,
          -0.11,
          -0.09,
          -0.085,
          -0.09,
          -0.08,
          -0.07,
          -0.01,
          0.09,
          0.085,
          -0.05,
          -0.085,
          0.19,
          1.72,
          0.58,
          -0.11,
          -0.135,
          -0.11,
          -0.035,
          0.045,
          0.17,
          0.285,
          0.295,
          0.215,
          0.03,
          -0.1,
          -0.08,
          -0.065,
          -0.07,
          0.02,
          0.075,
          0.0,
          0.595,
          1.285,
          2.045,
          1.855,
          -0.52,
          -0.555,
          -0.63,
          -0.705,
          -0.735,
          -0.71,
          -0.61,
          -0.385,
          -0.24,
          -0.245,
          -0.235,
          -0.24,
          -0.23,
          0.25,
          0.95,
          1.385,
          1.225,
          1.055,
          -0.6,
          -0.695,
          -0.825,
          -0.94,
          -1.005,
          -0.975,
          -0.81,
          -0.505,
          -0.295,
          -0.29,
          -0.28,
          -0.25,
          -0.225,
          -0.23,
          -0.235,
          -0.215,
          -0.225,
          -0.215,
          -0.2,
          -0.205,
          -0.21,
          -0.18,
          0.015,
          0.015,
          -0.205,
          -0.195,
          0.125,
          1.53,
          0.11,
          -0.25,
          -0.235,
          -0.205,
          -0.08,
          0.03,
          0.16,
          0.235,
          0.215,
          0.03,
          -0.095,
          -0.115,
          -0.105,
          -0.095,
          0.065,
          0.03,
          0.115,
          0.845,
          1.575,
          1.815,
          1.57,
          -0.52,
          -0.61,
          -0.68,
          -0.77,
          -0.835,
          -0.81,
          -0.72,
          -0.4,
          -0.22,
          -0.205,
          -0.185,
          -0.115,
          -0.085,
          -0.01,
          0.515,
          1.24,
          1.645,
          1.345,
          1.085,
          -0.5,
          -0.63,
          -0.74,
          -0.87,
          -0.9,
          -0.905,
          -0.72,
          -0.38,
          -0.095,
          -0.095,
          -0.085,
          -0.06,
          -0.025
        ],
        "rPeakIndices": [
          0,
          28,
          49,
          66,
          96,
          116,
          134
        ],
        "snrDb": 14.8,
        "timeSec": [
          0.0167,
          0.0278,
          0.0556,
          0.1083,
          0.1361,
          0.1611,
          0.1917,
          0.2111,
          0.2306,
          0.25,
          0.2778,
          0.3111,
          0.3583,
          0.3778,
          0.3944,
          0.4361,
          0.4528,
          0.4722,
          0.5194,
          0.5361,
          0.5722,
          0.6056,
          0.6361,
          0.6583,
          0.6694,
          0.7028,
          0.7389,
          0.775,
          0.7944,
          0.8056,
          0.8333,
          0.875,
          0.9056,
          0.9389,
          0.9694,
          0.9972,
          1.025,
          1.0361,
          1.0556,
          1.0833,
          1.1194,
          1.1556,
          1.1722,
          1.2028,
          1.2444,
          1.2528,
          1.3028,
          1.3306,
          1.3583,
          1.3861,
          1.3889,
          1.4417,
          1.4611,
          1.4972,
          1.525,
          1.5444,
          1.5556,
          1.5833,
          1.6111,
          1.6611,
          1.6778,
          1.6944,
          1.7444,
          1.7611,
          1.8028,
          1.8306,
          1.85,
          1.8611,
          1.8917,
          1.9417,
          1.9611,
          1.9972,
          2.025,
          2.0472,
          2.0583,
          2.0833,
          2.1111,
          2.1417,
          2.1667,
          2.1944,
          2.2278,
          2.2639,
          2.2778,
          2.3083,
          2.3333,
          2.3611,
          2.4111,
          2.425,
          2.4583,
          2.4778,
          2.5111,
          2.5528,
          2.5556,
          2.5944,
          2.6306,
          2.6639,
          2.6806,
          2.6944,
          2.7472,
          2.7639,
          2.7778,
          2.8306,
          2.8556,
          2.8861,
          2.9056,
          2.9194,
          2.9444,
          2.9722,
          3.0222,
          3.0361,
          3.0694,
          3.1056,
          3.1111,
          3.1639,
          3.1917,
          3.2167,
          3.2417,
          3.25,
          3.2944,
          3.3278,
          3.3583,
          3.3833,
          3.4111,
          3.4167,
          3.4444,
          3.4722,
          3.5111,
          3.5278,
          3.5778,
          3.6028,
          3.6361,
          3.6639,
          3.6917,
          3.7194,
          3.7361,
          3.75,
          3.7806,
          3.8306,
          3.8583,
          3.8833,
          3.9111,
          3.9306,
          3.9444,
          3.9722,
          4.0,
          4.0389,
          4.0694,
          4.1056,
          4.1361,
          4.1528
        ]
      }
    },
    {
      "caseId": "ecg-case-04-motion-detachment-hold",
      "labelEn": "Case 04 · Severe Motion-Artifact & Patch Detachment (SNR 3.8 dB) [HOLD]",
      "labelKo": "증례 04 · 심한 보행 동잡음·전극 접촉불량(SNR 3.8 dB) 자동 판독보류 [HOLD]",
      "metrics": {
        "detectedBeatsInWindow": 5,
        "ectopicBurdenPct": 0.0,
        "snrDb": 3.8,
        "snrHoldThresholdDb": 6.0
      },
      "summaryEn": "3D dipole patch trace degraded by electrode pop and stride baseline wander (SNR 3.8 dB < 6.0 dB threshold); automatic HOLD blocks false VT alarms.",
      "summaryKo": "전극 접촉 팝 노이즈 및 보행 기저선 흔들림으로 SNR이 3.8 dB(안전 임계치 6.0 dB 미만)로 저하되어 거짓 심실빈맥 경보 방지를 위해 자동 HOLD 발동.",
      "verdict": "HOLD",
      "viz": {
        "beatLabels": [
          "?",
          "?",
          "?",
          "?",
          "?"
        ],
        "ectopicBurdenPct": 0.0,
        "kind": "patch_ecg",
        "leadMv": [
          0.06365,
          0.22995,
          0.18642,
          -0.01181,
          -0.14816,
          -0.09732,
          0.05935,
          0.30566,
          0.27735,
          0.14955,
          -0.11869,
          -0.02341,
          -0.22901,
          1.09841,
          0.85476,
          -0.25795,
          0.13221,
          0.15498,
          0.02887,
          0.16144,
          0.39386,
          0.27056,
          0.47112,
          0.23585,
          -0.11703,
          -0.39516,
          -0.23945,
          -0.31803,
          -0.32331,
          -0.36909,
          -0.32742,
          -0.21051,
          -0.15237,
          -0.21958,
          -0.00735,
          0.21121,
          0.23036,
          0.35689,
          -0.04403,
          -0.26254,
          0.20062,
          0.94398,
          0.56615,
          -0.11505,
          0.01877,
          -0.03951,
          0.08341,
          0.38195,
          0.52166,
          0.32108,
          0.30818,
          0.309,
          0.33132,
          0.09098,
          0.00457,
          -0.08326,
          -0.03424,
          0.14881,
          0.2501,
          0.14996,
          -0.04673,
          -0.14728,
          0.17674,
          0.39148,
          0.24104,
          0.21122,
          0.14293,
          -0.06749,
          0.75564,
          0.93962,
          -0.41891,
          -0.45117,
          -0.14258,
          0.05644,
          0.06253,
          0.09882,
          0.29777,
          0.23074,
          0.29833,
          0.19967,
          -0.21034,
          -0.32873,
          -0.24075,
          -0.31156,
          -0.15751,
          -0.23225,
          -0.22933,
          -0.0819,
          0.09337,
          0.1345,
          0.18095,
          0.36234,
          0.18611,
          0.29786,
          0.18284,
          0.10602,
          0.90923,
          0.96877,
          -0.07654,
          -0.05027,
          -0.07223,
          -0.13066,
          -0.05605,
          0.11718,
          0.00254,
          0.10759,
          -0.15901,
          -0.28413,
          -0.32114,
          -0.46904,
          -0.72072,
          -0.72313,
          -0.8446,
          -0.66689,
          -0.36862,
          -0.20566,
          -0.22981,
          -0.2716,
          -0.11418,
          0.12918,
          -0.15585,
          -0.30536,
          -0.43611,
          -0.41174,
          0.76642,
          0.52798,
          -0.50009,
          -0.3718,
          -0.24729,
          0.05083,
          0.43253,
          0.36326,
          0.41581,
          0.31284,
          0.22044,
          0.18337,
          0.01349,
          -0.17512,
          -0.11737,
          -0.06741,
          -0.08155,
          -0.22602,
          -0.38256,
          -0.37513,
          -0.18928,
          0.0205,
          0.01025,
          0.01426,
          -0.25582,
          -0.1047
        ],
        "rPeakIndices": [
          13,
          41,
          69,
          96,
          124
        ],
        "snrDb": 3.8,
        "timeSec": [
          0.0,
          0.0278,
          0.0556,
          0.0833,
          0.1111,
          0.1389,
          0.1667,
          0.2194,
          0.2333,
          0.25,
          0.3028,
          0.3306,
          0.35,
          0.3833,
          0.3889,
          0.4194,
          0.4444,
          0.4722,
          0.525,
          0.5528,
          0.5806,
          0.5972,
          0.6111,
          0.6389,
          0.6667,
          0.7194,
          0.7472,
          0.7528,
          0.7778,
          0.8056,
          0.8333,
          0.8611,
          0.8889,
          0.9167,
          0.9694,
          0.9972,
          1.0028,
          1.0278,
          1.0806,
          1.1083,
          1.1361,
          1.1528,
          1.1667,
          1.1944,
          1.2222,
          1.25,
          1.3028,
          1.3306,
          1.3583,
          1.3667,
          1.3889,
          1.4167,
          1.4444,
          1.4972,
          1.525,
          1.5278,
          1.5556,
          1.5833,
          1.6111,
          1.6389,
          1.6667,
          1.6944,
          1.7472,
          1.7722,
          1.7778,
          1.8056,
          1.8583,
          1.8861,
          1.9139,
          1.9222,
          1.9583,
          1.9722,
          2.0,
          2.0528,
          2.0806,
          2.1083,
          2.1333,
          2.1389,
          2.1667,
          2.1944,
          2.2472,
          2.275,
          2.3028,
          2.3167,
          2.3333,
          2.3611,
          2.3889,
          2.4167,
          2.4444,
          2.4722,
          2.525,
          2.5417,
          2.5556,
          2.6083,
          2.6361,
          2.6556,
          2.6917,
          2.6944,
          2.7278,
          2.75,
          2.7778,
          2.8056,
          2.8583,
          2.8861,
          2.9028,
          2.9167,
          2.9444,
          2.9972,
          3.025,
          3.0528,
          3.0806,
          3.0833,
          3.1111,
          3.1389,
          3.1667,
          3.1944,
          3.2222,
          3.25,
          3.3028,
          3.3111,
          3.3583,
          3.3861,
          3.4139,
          3.425,
          3.4611,
          3.4722,
          3.5,
          3.5278,
          3.5556,
          3.5833,
          3.6361,
          3.6639,
          3.6722,
          3.6944,
          3.7472,
          3.775,
          3.8028,
          3.8306,
          3.8333,
          3.8611,
          3.8889,
          3.9167,
          3.9444,
          3.9722,
          4.0,
          4.0278,
          4.0806,
          4.0833,
          4.1361,
          4.1639
        ]
      }
    }
  ],
  "findings": [
    {
      "detailEn": "Incorporating SA-node non-reset compensatory pause geometry raises DS2 epoch AUROC from 0.8702 (naive RR<600 ms) to 0.9493, while beat-level sensitivity on single-lead MLII holdout is 78.18% at 98.06% specificity due to RBBB/fusion overlap.",
      "detailKo": "동방결절 비리셋 대상성 휴지기 기하학을 반영하여 DS2 구간 AUROC를 단순 RR 베이스라인(0.8702) 대비 0.9493로 끌어올렸으나, 단일유도(MLII) 특성상 각차단·융합수축 중첩으로 심박 단위 민감도는 78.18%(특이도 98.06%)임을 정직하게 보고함.",
      "id": "F-11-36-SVEB-COMPENSATORY-BOUNDARY",
      "severity": "BOUNDARY",
      "titleEn": "Aberrated Atrial Premature Beats & Bundle-Branch Block Mimic Wide-QRS PVCs on Single-Lead Patches",
      "titleKo": "단일유도 패치 환경에서 변성 심방조기수축·각차단과 심실기외수축의 형태학적 중첩 한계"
    },
    {
      "detailEn": "When patch contact degrades to 3.80 dB, high-slew electrode pop transients mimic polymorphic VT; automatic HOLD abstention prevents false emergency dispatch and prompts lead re-adhesion.",
      "detailKo": "패치 전극 접촉 불량으로 SNR이 3.80 dB로 하락할 경우 급격한 팝 노이즈가 다형성 심실빈맥을 모사하므로, 자동 HOLD 기권으로 오경보를 차단하고 재부착을 안내함.",
      "id": "F-11-36-MOTION-DETACHMENT-HOLD",
      "severity": "HOLD",
      "titleEn": "Ambulatory Electrode Pop & Stride Motion (SNR < 6.0 dB) Require Mandatory Abstention",
      "titleKo": "보행 동잡음·전극 들뜸(SNR < 6.0 dB) 구간 거짓 심실빈맥 방지를 위한 필수 판독보류"
    },
    {
      "detailEn": "Per ANSI/AAMI EC57, 4 paced records (102, 104, 107, 217) are quarantined from unpaced VEB scoring because sub-millisecond pacemaker spikes require analog front-end detection and hardware impedance pairing prior to MFDS filing.",
      "detailKo": "ANSI/AAMI EC57 규격에 따라 인공심박동기 착용 4례(102, 104, 107, 217)는 아날로그 프론트엔드 스파이크 검출기 및 국내 패치 전극 임피던스 하드웨어 벤치 시험과 결합되어야 하므로 별도 격리 관리함.",
      "id": "F-11-36-STATUTORY-PACED-AND-BENCH",
      "severity": "EXT",
      "titleEn": "AAMI EC57 Paced-Rhythm Hardware Spike Detection & MFDS Patch Bench Pairing Required",
      "titleKo": "인공심박동기 스파이크 하드웨어 검출 및 식약처 웨어러블 패치 벤치 연동 법정 게이트"
    }
  ],
  "gates": {
    "G1": {
      "detailEn": "Verified all 48 .hea/.atr records (109,966 beats) and 12 Format-212 360 Hz .dat waveforms on disk, with strict 22-vs-22 patient-disjoint DS1/DS2 partitioning.",
      "detailKo": "48례 홀터 주석(109,966개 심박) 및 12례 360Hz Format-212 이진 파형 초기 샘플 정합성 확인, DS1(22명)·DS2(22명) 환자 교차 누수 0건 검증.",
      "observed": {
        "ds1Patients": 22,
        "ds2Patients": 22,
        "errors": [],
        "format212HeaderMismatches": 0,
        "record100Beats": 2273,
        "totalBeatsDecoded48": 109966
      },
      "status": "PASS",
      "titleEn": "MIT-BIH 108-File SHA-256, Format-212 Binary & AAMI DS1/DS2 Split Lock",
      "titleKo": "MIT-BIH 108개 원시파일 SHA-256·Format-212 복호화 및 환자분리(DS1/DS2) 검증"
    },
    "G2": {
      "detailEn": "Confirmed RK4 unit-circle radial stability (<1e-3), physiological R-peak amplitude, and exact signal-to-noise recomputation enforcing HOLD at 3.8 dB.",
      "detailKo": "RK4 단위원 반경 안정성(<1e-3), 생리적 R파 진폭 범위 및 신호대잡음비 독립 재산출을 통해 3.8 dB 전극 접촉불량 시 자동 HOLD 발동 검증.",
      "observed": {
        "cleanRecomputedSnrDb": 18.5,
        "errors": [],
        "maxLimitCycleRadialDrift": 0.0,
        "motionHoldRecomputedSnrDb": 3.8
      },
      "status": "PASS",
      "titleEn": "McSharry 3D Cardiac Dipole Limit-Cycle & SNR < 6 dB Abstention Law",
      "titleKo": "3차원 심장 쌍극자 극한주기궤도 불변량 및 SNR<6dB 동잡음 기권 법칙 검증"
    },
    "G3": {
      "detailEn": "Independently recomputed DS2 330-epoch ventricular ectopy AUROC vs fixed-RR (<600 ms) baseline and raw 360 Hz DS2 beat-level specificity/sensitivity.",
      "detailKo": "솔버 임포트 없이 DS2 홀터 330구간 심실기외수축 AUROC(단순 RR 임계치 대비 우위) 및 360Hz 원시 파형 11,434심박 민감도·특이도 재검산 완료.",
      "observed": {
        "ds2BeatSensitivity": 0.781818,
        "ds2BeatSpecificity": 0.980627,
        "ds2BeatSpecificityCi95": [
          0.977761,
          0.98313
        ],
        "ds2EpochAuroc": 0.949296,
        "ds2EpochCi95": [
          0.922778,
          0.973296
        ],
        "errors": [],
        "fixedRrBaselineAuroc": 0.870204
      },
      "status": "PASS",
      "titleEn": "Solver-Free DS2 Ventricular Ectopy AUROC & Raw 360 Hz Beat Audit",
      "titleKo": "솔버 독립 DS2 심실부정맥 AUROC 및 360Hz 원시 심박 민감도·특이도 재검산"
    },
    "G4": {
      "detailEn": "Preserved automatic SNR < 6.0 dB abstention, quarantined 4 AAMI-excluded paced records (102, 104, 107, 217), and documented domestic patch impedance bench requirements.",
      "detailKo": "SNR<6.0 dB 동잡음 자동 판독보류, AAMI EC57 표준에 따른 인공심박동기 4례 별도 격리 및 국내 웨어러블 패치 전극 임피던스 연동 벤치 시험 경계 명시.",
      "observed": {
        "errors": [],
        "interactiveHoldCases": 1,
        "pacedQuarantinedCount": 4
      },
      "status": "PASS",
      "titleEn": "Electrode Detachment HOLD, AAMI Paced Quarantine & MFDS Hardware Gate",
      "titleKo": "전극 이탈 자동 HOLD·인공심박동기 격리 및 식약처 패치 하드웨어 법정 경계"
    }
  },
  "humanAuditorSignature": null,
  "inputProvenance": [
    {
      "label": "PhysioNet MIT-BIH Arrhythmia Database v1.0.0 RECORDS",
      "records": 48,
      "sha256": "fcdca7ead9fc93f612f7e025029241cb6429ba2fcd05327b661bdc6b26fbcb57"
    },
    {
      "label": "MIT-BIH 48 Ambulatory Records (.hea + .atr) + 12 Raw Format-212 360 Hz Waveforms (.dat)",
      "records": 108,
      "sha256": "e9084162fc6fe42e4a5589a9a15005796db8e2a3b5b882a900f69f6e536dfccf"
    }
  ],
  "narrative": {
    "headlineEn": "48-Record MIT-BIH Patient-Disjoint Benchmark (109,966 Beats; DS2 AUROC 0.949 vs RR Baseline 0.870) + 3D Cardiac Dipole Patch Simulator",
    "headlineKo": "실제 48례 MIT-BIH 환자분리 실증 (109,966심박 복호화 · DS2 AUROC 0.949 vs 베이스라인 0.870) 및 3차원 심장 쌍극자 패치 시뮬레이터",
    "methodEn": "Combines a McSharry-style 3D coupled dipole limit-cycle ODE and SNR < 6.0 dB motion-artifact abstention gate with binary WFDB .atr/.dat decoding across all 48 MIT-BIH ambulatory ECG recordings under ANSI/AAMI EC57 DS1->DS2 patient-disjoint evaluation.",
    "methodKo": "McSharry 3차원 심장 쌍극자 극한주기궤도 미분방정식·동잡음(SNR<6dB) 자동 기권 게이트와 MIT-BIH 48례 원시 이진 주석·파형(Format 212, 360Hz) 복호화 및 AAMI EC57 표준 환자분리(DS1→DS2) 검증을 통합."
  },
  "overallStatus": "PASS",
  "package": "ecg11_36",
  "primaryMetric": {
    "baselineNameEn": "Naive Fixed-RR (<600 ms) Threshold Baseline",
    "baselineNameKo": "단순 고정 RR 간격(<600 ms) 임계치 베이스라인",
    "baselineValue": 0.870204,
    "ci95": [
      0.922778,
      0.973296
    ],
    "denominator": 330,
    "nameEn": "MIT-BIH DS2 Patient-Disjoint Ventricular Ectopy Detection AUROC",
    "nameKo": "MIT-BIH DS2 환자분리 홀터 심실기외수축·부정맥 구간 검출 AUROC",
    "targetSpec": "ANSI/AAMI EC57 patient-disjoint DS2 AUROC >= 0.92 & beats RR baseline",
    "unit": "AUROC",
    "value": 0.949296
  },
  "rfpCode": "11-1 [3-6]",
  "runSha256": "37d3d94f8d22ca30eb0523de52a29e06dc96aea8566b94748b4aa6e0423908a8",
  "schemaVersion": 1,
  "secondaryMetrics": [
    {
      "id": "mitdb_total_annotated_beats",
      "nameEn": "Cardiologist-Annotated Ambulatory Beats Decoded (48 Records)",
      "nameKo": "48례 활동형 심전도 전문의 주석 복호화 총 심박수",
      "unit": "beats",
      "value": 109966
    },
    {
      "id": "ds2_raw_beat_specificity",
      "nameEn": "DS2 Raw 360 Hz Waveform Beat-Level PVC Specificity",
      "nameKo": "DS2 360Hz 원시 파형 심박 단위 심실기외수축 특이도",
      "unit": "%",
      "value": 98.06
    },
    {
      "id": "ds2_raw_beat_sensitivity",
      "nameEn": "DS2 Raw 360 Hz Waveform Beat-Level PVC Sensitivity",
      "nameKo": "DS2 360Hz 원시 파형 심박 단위 심실기외수축 민감도",
      "unit": "%",
      "value": 78.18
    },
    {
      "id": "ds2_raw_beat_accuracy",
      "nameEn": "DS2 Raw 360 Hz Waveform Overall Beat Classification Accuracy",
      "nameKo": "DS2 360Hz 원시 파형 전체 심박 분류 정확도 (n=11,434)",
      "unit": "%",
      "value": 95.86
    },
    {
      "id": "ds2_epoch_brier",
      "nameEn": "DS2 Patient-Disjoint Probability Calibration Brier Score",
      "nameKo": "DS2 환자분리 확률 보정 Brier 점수",
      "unit": "Brier",
      "value": 0.080454
    },
    {
      "id": "ds2_epoch_ece",
      "nameEn": "DS2 Expected Calibration Error (10-Bin)",
      "nameKo": "DS2 기대 보정 오차(ECE)",
      "unit": "ECE",
      "value": 0.085541
    }
  ],
  "solverFreeAst": {
    "file": "audit.py",
    "importedModules": [
      "__future__",
      "audit_lib.independent_metrics",
      "audit_lib.track_contract",
      "concurrent.futures",
      "functools",
      "hashlib",
      "json",
      "math",
      "pathlib",
      "typing"
    ],
    "solverFree": true,
    "violations": []
  }
}
