VPREVENT · Confidential Research Protocol
Atrial Fibrillation Remote Monitoring Study
Research protocol, data architecture, cost-effectiveness model, and publication roadmap for a wearable-enabled AF monitoring program.

VinUniversity · CHS Nouslogic RPM Huawei Band 10 Version 1.0 · May 2026

Institution
VinUniversity — CHS
Platform
Nouslogic RPM + Huawei Band 10
Author
Nguyen Viet Hoang
Study instruments
Baseline questionnaire, daily PRO survey, EHRA, CHA₂DS₂-VASc, HAS-BLED, AFEQT, EQ-5D-5L, GAD-7, PHQ-9, and STOP-BANG.
Data architecture
Patient master table linked to daily surveys, ECG records, wearable data, RPM vitals, PRO assessments, costs, and clinical events.
Publication pathway
Three main papers: AI/technology validation, clinical outcomes, and cost-effectiveness, plus a parallel systematic review/meta-analysis.

1 Part 1 — Questionnaires

1.1 Baseline Intake Questionnaire

Bộ câu hỏi đầu vào được thiết kế để thu thập thông tin lâm sàng toàn diện khi bệnh nhân đăng ký tham gia nghiên cứu. Các module dưới đây phục vụ đồng thời cho mô tả đặc điểm nền, phân tầng nguy cơ, đánh giá triệu chứng, chất lượng sống, sức khỏe tâm thần, và các yếu tố nhiễu quan trọng trong nghiên cứu theo dõi rung nhĩ.

1.1.1 Module A — Thông Tin Nhân Khẩu Học & Tiền Sử Bệnh

# Câu hỏi Loại dữ liệu Biến số
A1 Họ và tên Text patient_fullname
A2 Ngày sinh Date (DD/MM/YYYY) dob
A3 Giới tính Categorical: Nam / Nữ / Khác sex
A4 Chiều cao (cm) Numeric continuous height_cm
A5 Cân nặng (kg) Numeric continuous weight_kg
A6 Nghề nghiệp Categorical, mã hóa 8 nhóm occupation_code
A7 Trình độ học vấn Ordinal: Tiểu học / THCS / THPT / ĐH / Sau ĐH education_level
A8 Tình trạng hôn nhân Categorical marital_status
A9 Thu nhập hộ gia đình/tháng (VNĐ) Numeric hoặc ordinal band income_band
A10 Có bảo hiểm y tế không? Binary: Có / Không has_insurance

1.1.2 Module B — Tiền Sử Rung Nhĩ

# Câu hỏi Loại dữ liệu Biến số
B1 Loại AF theo ESC 2020 Paroxysmal / Persistent / Long-persistent / Permanent af_type
B2 Thời gian chẩn đoán AF lần đầu Date af_diagnosis_date
B3 Số lần nhập viện do AF trong 12 tháng qua Numeric count af_hospitalizations_12m
B4 Đã được cardioversion / sốc điện? Binary + Date cardioversion_yn, cardioversion_date
B5 Đã được ablation / đốt điện tim? Binary + Date ablation_yn, ablation_date
B6 Thiết bị cấy ghép: pacemaker, ICD, CRT? Binary + Type device_yn, device_type
B7 Tiền sử đột quỵ / TIA Binary + Date stroke_yn, stroke_date
B8 Tiền sử nhồi máu cơ tim Binary + Date mi_yn, mi_date

1.1.3 Module C — Bệnh Đồng Mắc

# Câu hỏi Coding Biến số
C1 Suy tim Binary + NYHA class I–IV hf_yn, nyha_class
C2 Tăng huyết áp Binary: systolic > 140 mmHg hoặc đang điều trị htn_yn
C3 Đái tháo đường Binary + Type 1 / Type 2 dm_yn, dm_type
C4 Bệnh thận mãn tính Binary + Stage 1–5 ckd_yn, ckd_stage
C5 COPD Binary copd_yn
C6 Rối loạn tuyến giáp Binary + Hypo / Hyper thyroid_yn, thyroid_type
C7 Hội chứng ngưng thở khi ngủ Binary + STOP-BANG score osa_yn, stopbang_score
C8 Bệnh mạch vành Binary + Severity cad_yn
C9 Bệnh van tim Binary + Type valve_yn, valve_type
C10 Hút thuốc lá Không / Cũ / Hiện tại + pack-years smoking_status, pack_years
C11 Uống rượu bia Ordinal, đơn vị/tuần alcohol_units_week
C12 Hoạt động thể chất MET-giờ/tuần physical_activity_met

1.1.4 Module D — Thuốc Hiện Tại

Nhóm thuốc Tên hoạt chất phổ biến Biến số
Anticoagulant Warfarin, Rivaroxaban, Apixaban, Dabigatran anticoag_yn, anticoag_name, anticoag_dose
Rate control Bisoprolol, Metoprolol, Verapamil, Digoxin rate_ctrl_yn, rate_ctrl_name
Rhythm control Amiodarone, Flecainide, Propafenone rhythm_ctrl_yn, rhythm_ctrl_name
Antihypertensive ACE inhibitor, ARB, CCB, Diuretic antihtn_yn, antihtn_class
Statin Atorvastatin, Rosuvastatin statin_yn
Antidiabetic Metformin, Insulin, SGLT2i, GLP1-RA antidiab_yn, antidiab_class

1.1.5 Module E — EHRA Symptom Classification

Nguồn: Kirchhof P, et al. 2016 ESC Guidelines for the management of atrial fibrillation. European Heart Journal. 2016;37(38):2893–2962. DOI: 10.1093/eurheartj/ehw210.

EHRA là thang phân loại mức độ triệu chứng AF, dùng cho phân tầng triệu chứng và theo dõi endpoint lâm sàng.

EHRA score Mô tả Câu hỏi cho bệnh nhân
1 — None Không có triệu chứng Bạn có cảm thấy bất kỳ khó chịu nào liên quan đến tim không?
2a — Mild Triệu chứng nhẹ, sinh hoạt bình thường Bạn vẫn sinh hoạt bình thường dù có triệu chứng?
2b — Moderate Triệu chứng vừa, sinh hoạt bị ảnh hưởng nhẹ Triệu chứng có khiến bạn thay đổi hoạt động hàng ngày không?
3 — Severe Triệu chứng nặng, ảnh hưởng rõ sinh hoạt Bạn có phải dừng hầu hết hoạt động vì triệu chứng tim không?
4 — Disabling Triệu chứng làm mất khả năng sinh hoạt bình thường Bạn có không thể làm gì do triệu chứng tim không?

1.1.6 Module F — CHA₂DS₂-VASc & HAS-BLED Score

Nguồn: Lip GYH, et al. Refining clinical risk stratification for predicting stroke and thromboembolism in atrial fibrillation. Chest. 2010;137(2):263–272. DOI: 10.1378/chest.09-1584.

Tiêu chí Điểm CHA₂DS₂-VASc Điểm HAS-BLED Biến số
Suy tim 1 cha_chf
Tăng huyết áp 1 1 nếu SBP > 160 cha_htn, hbled_htn
Tuổi ≥ 75 2 cha_age75
Tuổi 65–74 1 cha_age65
Đái tháo đường 1 cha_dm
Đột quỵ / TIA 2 cha_stroke
Bệnh mạch máu 1 cha_vasc
Giới nữ 1 cha_female
Suy thận / gan 1–2 hbled_renal, hbled_liver
Đột quỵ tiền sử 1 hbled_stroke
Labile INR 1 hbled_inr
Cao tuổi > 65 1 hbled_elderly
Thuốc / rượu 1–2 hbled_drugs

1.1.7 Module G — AFEQT

Nguồn: Spertus J, et al. Development and Validation of the Atrial Fibrillation Effect on QualiTy-of-Life Questionnaire. Circulation: Arrhythmia and Electrophysiology. 2011;4(1):15–25. DOI: 10.1161/CIRCEP.110.958033.

# Câu hỏi tiếng Việt Subscale Biến số
Q1 Hồi hộp, đánh trống ngực Symptoms afeqt_s1
Q2 Tim đập nhanh Symptoms afeqt_s2
Q3 Khó thở Symptoms afeqt_s3
Q4 Mệt mỏi, thiếu năng lượng Symptoms afeqt_s4
Q5 Chóng mặt, choáng váng Symptoms afeqt_s5
Q6 Tim ngừng đập hoặc bỏ nhịp Symptoms afeqt_s6
Q7 Đau ngực hoặc áp lực ngực Symptoms afeqt_s7
Q8 Đi bộ nhanh hoặc leo cầu thang Daily Activities afeqt_d1
Q9 Đi bộ chậm trên mặt phẳng Daily Activities afeqt_d2
Q10 Làm việc nhà Daily Activities afeqt_d3
Q11 Hoạt động xã hội Daily Activities afeqt_d4
Q12 Làm việc hoặc học tập Daily Activities afeqt_d5
Q13 Tập thể dục hoặc thể thao Daily Activities afeqt_d6
Q14 Quan hệ tình dục Daily Activities afeqt_d7
Q15 Lái xe hoặc sử dụng phương tiện Daily Activities afeqt_d8
Q16 Lo lắng về tác dụng phụ của thuốc Treatment Concern afeqt_t1
Q17 Lo lắng về đột quỵ hoặc biến chứng Treatment Concern afeqt_t2
Q18 Gánh nặng tài chính từ điều trị Treatment Concern afeqt_t3
Q19 Mức độ hài lòng với việc điều trị hiện tại Treatment Satisfaction afeqt_sat1
Q20 Mức độ tin tưởng vào bác sĩ / team điều trị Treatment Satisfaction afeqt_sat2

1.1.8 Module H — EQ-5D-5L

Nguồn: Herdman M, et al. Development and preliminary testing of the new five-level version of EQ-5D. Quality of Life Research. 2011;20(10):1727–1736. DOI: 10.1007/s11136-011-9903-x.

Dimension Mô tả Scale Biến số
Mobility Đi lại No / Slight / Moderate / Severe / Unable eq_mo
Self-Care Tự chăm sóc No / Slight / Moderate / Severe / Unable eq_sc
Usual Activities Hoạt động thường ngày No / Slight / Moderate / Severe / Unable eq_ua
Pain / Discomfort Đau hoặc khó chịu No / Slight / Moderate / Severe / Extreme eq_pd
Anxiety / Depression Lo lắng hoặc trầm cảm No / Slight / Moderate / Severe / Extreme eq_ad
EQ-VAS Sức khỏe tổng thể hôm nay Visual Analogue Scale 0–100 eq_vas

1.1.9 Module I — GAD-7 & PHQ-9

GAD-7 và PHQ-9 được dùng để đánh giá lo âu và trầm cảm. Hai thang này dùng thang điểm Likert 0–3, với tổng điểm lần lượt là 0–21 và 0–27.

Instrument Số item Thang điểm Biến số chính
GAD-7 7 0–3 mỗi item gad7_total, gad7_severity
PHQ-9 9 0–3 mỗi item phq9_total, phq9_severity

1.1.10 Module J — STOP-BANG

Nguồn: Chung F, et al. STOP Questionnaire: A Tool to Screen Patients for Obstructive Sleep Apnea. Anesthesiology. 2008;108(5):812–821. DOI: 10.1097/ALN.0b013e31816d83e4.

# Câu hỏi STOP-BANG Biến số
S Bạn có ngáy to? sb_snore
T Bạn thường xuyên mệt mỏi, buồn ngủ ban ngày? sb_tired
O Ai đó quan sát thấy bạn ngừng thở khi ngủ? sb_observed
P Bạn có cao huyết áp hoặc đang điều trị THA? sb_pressure
B BMI > 35? sb_bmi
A Tuổi > 50? sb_age
N Vòng cổ > 40 cm ở nam hoặc > 35 cm ở nữ? sb_neck
G Giới tính nam? sb_gender

1.2 Daily PRO Survey

Mục tiêu là thu thập triệu chứng hàng ngày để phát hiện sớm AF episode, so sánh ngày có AF và không có AF, và đánh giá medication adherence liên tục. Thiết kế nên giữ dưới 7 câu và hoàn thành trong dưới 90 giây.

# Câu hỏi Scale Biến số Lý do lâm sàng
D1 Tim đập bất thường, hồi hộp, đánh trống ngực? 0–10 NRS daily_palpitation Core AF symptom, EHRA mapping
D2 Mức độ mệt mỏi hôm nay? 0–10 NRS daily_fatigue AF day thường tăng fatigue
D3 Khó thở khi hoạt động nhẹ? Yes / No daily_dyspnea NYHA-linked dyspnea
D4 Chóng mặt hoặc sắp ngất? Yes / No daily_dizziness Safety flag
D5 Chất lượng giấc ngủ đêm qua? 1–5 daily_sleep_quality Sleep quality liên quan HRV và AF
D6 Uống đủ thuốc được kê hôm qua? Full / Partial / Missed daily_adherence Confounder lớn
D7 Mức độ lo lắng về tim hôm nay? 0–10 NRS daily_anxiety Anxiety confound

Lịch đánh giá thêm:

  • AFEQT full: Baseline → Week 4 → Week 12 → Week 24.
  • EQ-5D-5L: Baseline → Month 1 → Month 3 → Month 6.
  • GAD-7 + PHQ-9: Baseline → Month 3 → Month 6.
  • EHRA re-assessment: Baseline → Month 3 → Month 6.

2 Part 2 — Database Schema

Schema dưới đây được thiết kế để hỗ trợ ba hướng bài báo chính: AI/technology validation, clinical outcomes, và cost-effectiveness. Tất cả bảng dùng chung patient_id làm khóa liên kết về bảng patients.

2.1 ERD Summary

  • patients 1 → N daily_surveys
  • patients 1 → N ecg_records
  • patients 1 → N wearable_daily
  • patients 1 → N vitals_rpm
  • patients 1 → N pro_assessments
  • patients 1 → N costs
  • patients 1 → N clinical_events

2.2 Table: patients

CREATE TABLE patients (
  patient_id SERIAL PRIMARY KEY,
  nouslogic_user_id INTEGER UNIQUE NOT NULL,
  enrollment_date DATE NOT NULL,
  study_arm VARCHAR(20),

  fullname VARCHAR(200),
  dob DATE,
  sex VARCHAR(10),
  height_cm NUMERIC(5,1),
  weight_kg NUMERIC(5,1),
  bmi NUMERIC(4,1) GENERATED ALWAYS AS
    (weight_kg / POWER(height_cm / 100.0, 2)) STORED,
  occupation_code SMALLINT,
  education_level SMALLINT,
  income_band SMALLINT,
  has_insurance BOOLEAN,

  af_type VARCHAR(30),
  af_diagnosis_date DATE,
  af_hospitalizations_12m SMALLINT,
  cardioversion_yn BOOLEAN,
  cardioversion_date DATE,
  ablation_yn BOOLEAN,
  ablation_date DATE,
  device_yn BOOLEAN,
  device_type VARCHAR(50),

  cha2ds2vasc_score SMALLINT,
  hasbled_score SMALLINT,
  ehra_class SMALLINT,
  stopbang_score SMALLINT,

  hf_yn BOOLEAN,
  nyha_class SMALLINT,
  htn_yn BOOLEAN,
  dm_yn BOOLEAN,
  dm_type VARCHAR(10),
  ckd_yn BOOLEAN,
  ckd_stage SMALLINT,
  copd_yn BOOLEAN,
  thyroid_yn BOOLEAN,
  thyroid_type VARCHAR(10),
  osa_yn BOOLEAN,
  cad_yn BOOLEAN,
  valve_yn BOOLEAN,
  valve_type VARCHAR(50),
  stroke_yn BOOLEAN,
  stroke_date DATE,
  mi_yn BOOLEAN,
  mi_date DATE,

  anticoag_yn BOOLEAN,
  anticoag_name VARCHAR(50),
  anticoag_dose VARCHAR(30),
  rate_ctrl_yn BOOLEAN,
  rate_ctrl_name VARCHAR(50),
  rhythm_ctrl_yn BOOLEAN,
  rhythm_ctrl_name VARCHAR(50),
  antihtn_yn BOOLEAN,
  antihtn_class VARCHAR(50),
  statin_yn BOOLEAN,
  antidiab_yn BOOLEAN,
  antidiab_class VARCHAR(50),

  created_at TIMESTAMPTZ DEFAULT NOW(),
  updated_at TIMESTAMPTZ DEFAULT NOW()
);

2.3 Table: daily_surveys

CREATE TABLE daily_surveys (
  survey_id BIGSERIAL PRIMARY KEY,
  patient_id INTEGER REFERENCES patients(patient_id) ON DELETE CASCADE,
  survey_date DATE NOT NULL,
  submitted_at TIMESTAMPTZ,
  response_status VARCHAR(20) DEFAULT 'pending',

  daily_palpitation SMALLINT,
  daily_fatigue SMALLINT,
  daily_dyspnea BOOLEAN,
  daily_dizziness BOOLEAN,
  daily_sleep_quality SMALLINT,
  daily_adherence SMALLINT,
  daily_anxiety SMALLINT,

  symptom_composite NUMERIC(4,2) GENERATED ALWAYS AS
    ((daily_palpitation + daily_fatigue + daily_anxiety) / 3.0) STORED,

  UNIQUE (patient_id, survey_date)
);

2.4 Table: ecg_records

CREATE TABLE ecg_records (
  ecg_id BIGSERIAL PRIMARY KEY,
  patient_id INTEGER REFERENCES patients(patient_id),
  nouslogic_ecg_id VARCHAR(100) UNIQUE,
  timestamp_utc TIMESTAMPTZ NOT NULL,
  recording_date DATE GENERATED ALWAYS AS (timestamp_utc::DATE) STORED,

  af_detected BOOLEAN,
  heart_rate_bpm SMALLINT,
  raw_ecg JSONB,
  ecg_quality_score SMALLINT,
  recording_duration_s SMALLINT,
  device_type VARCHAR(30) DEFAULT 'ECG_patch'
);

CREATE INDEX idx_ecg_patient_date
  ON ecg_records(patient_id, recording_date);

CREATE INDEX idx_ecg_af
  ON ecg_records(af_detected, timestamp_utc);

2.5 Table: wearable_daily

CREATE TABLE wearable_daily (
  record_id BIGSERIAL PRIMARY KEY,
  patient_id INTEGER REFERENCES patients(patient_id),
  record_date DATE NOT NULL,

  hr_resting_mean NUMERIC(5,1),
  hr_resting_min SMALLINT,
  hr_resting_max SMALLINT,
  hr_active_mean NUMERIC(5,1),

  hrv_rmssd NUMERIC(6,2),
  hrv_sdnn NUMERIC(6,2),
  hrv_lf_hf_ratio NUMERIC(5,3),

  steps_total INTEGER,
  active_energy_kcal NUMERIC(7,1),
  active_minutes SMALLINT,

  sleep_onset_time TIME,
  sleep_offset_time TIME,
  sleep_duration_min SMALLINT,
  sleep_deep_pct NUMERIC(4,1),
  sleep_rem_pct NUMERIC(4,1),
  sleep_efficiency NUMERIC(4,1),

  spo2_mean NUMERIC(4,1),
  stress_score_mean NUMERIC(4,1),
  skin_temp_celsius NUMERIC(4,1),

  sync_status VARCHAR(20) DEFAULT 'synced',

  UNIQUE (patient_id, record_date)
);

2.6 Table: vitals_rpm

CREATE TABLE vitals_rpm (
  vital_id BIGSERIAL PRIMARY KEY,
  patient_id INTEGER REFERENCES patients(patient_id),
  timestamp_utc TIMESTAMPTZ NOT NULL,
  vital_type VARCHAR(20) NOT NULL,
  value NUMERIC(7,2) NOT NULL,
  unit VARCHAR(10),
  device_source VARCHAR(50),
  quality_flag BOOLEAN DEFAULT TRUE
);

CREATE INDEX idx_vitals_pt_type
  ON vitals_rpm(patient_id, vital_type, timestamp_utc);

2.7 Table: pro_assessments

CREATE TABLE pro_assessments (
  assessment_id BIGSERIAL PRIMARY KEY,
  patient_id INTEGER REFERENCES patients(patient_id),
  assessment_date DATE NOT NULL,
  instrument VARCHAR(20) NOT NULL,
  assessment_type VARCHAR(20),

  afeqt_s1 SMALLINT,
  afeqt_s2 SMALLINT,
  afeqt_s3 SMALLINT,
  afeqt_s4 SMALLINT,
  afeqt_s5 SMALLINT,
  afeqt_s6 SMALLINT,
  afeqt_s7 SMALLINT,
  afeqt_d1 SMALLINT,
  afeqt_d2 SMALLINT,
  afeqt_d3 SMALLINT,
  afeqt_d4 SMALLINT,
  afeqt_d5 SMALLINT,
  afeqt_d6 SMALLINT,
  afeqt_d7 SMALLINT,
  afeqt_d8 SMALLINT,
  afeqt_t1 SMALLINT,
  afeqt_t2 SMALLINT,
  afeqt_t3 SMALLINT,
  afeqt_sat1 SMALLINT,
  afeqt_sat2 SMALLINT,
  afeqt_total_score NUMERIC(5,1),

  eq_mo SMALLINT,
  eq_sc SMALLINT,
  eq_ua SMALLINT,
  eq_pd SMALLINT,
  eq_ad SMALLINT,
  eq_vas SMALLINT,
  eq_utility_index NUMERIC(5,4),

  gad7_q1 SMALLINT,
  gad7_q2 SMALLINT,
  gad7_q3 SMALLINT,
  gad7_q4 SMALLINT,
  gad7_q5 SMALLINT,
  gad7_q6 SMALLINT,
  gad7_q7 SMALLINT,
  gad7_total SMALLINT,
  gad7_severity VARCHAR(15),

  phq9_q1 SMALLINT,
  phq9_q2 SMALLINT,
  phq9_q3 SMALLINT,
  phq9_q4 SMALLINT,
  phq9_q5 SMALLINT,
  phq9_q6 SMALLINT,
  phq9_q7 SMALLINT,
  phq9_q8 SMALLINT,
  phq9_q9 SMALLINT,
  phq9_total SMALLINT,
  phq9_severity VARCHAR(15),

  UNIQUE (patient_id, instrument, assessment_date)
);

2.8 Table: costs

CREATE TABLE costs (
  cost_id BIGSERIAL PRIMARY KEY,
  patient_id INTEGER REFERENCES patients(patient_id),
  cost_date DATE NOT NULL,
  cost_type VARCHAR(40) NOT NULL,

  cost_vnd NUMERIC(15,0),
  cost_usd NUMERIC(10,2),
  quantity NUMERIC(6,1),
  unit_cost_vnd NUMERIC(12,0),
  provider VARCHAR(100),
  payer VARCHAR(30),
  source VARCHAR(30),
  verified BOOLEAN DEFAULT FALSE,
  notes TEXT
);

2.9 Table: clinical_events

CREATE TABLE clinical_events (
  event_id BIGSERIAL PRIMARY KEY,
  patient_id INTEGER REFERENCES patients(patient_id),
  event_date DATE NOT NULL,
  event_type VARCHAR(50) NOT NULL,
  event_severity VARCHAR(20),
  hospital_name VARCHAR(100),
  los_days SMALLINT,
  icu_days SMALLINT,
  related_to_af BOOLEAN,
  adjudicated BOOLEAN DEFAULT FALSE,
  notes TEXT
);

3 Part 3 — Cost-Effectiveness Model

3.1 Analytic Framework

Component Specification
Model type Markov cohort model / state-transition model
Time horizon 5–10 years
Cycle length 3 months
Perspective Healthcare system + societal
Discount rate 3% per year for both costs and QALYs
Comparator Usual care without wearable monitoring

3.2 Markov States

State Description Code Utility
NSR stable Normal sinus rhythm, no AF episode S0 0.81
AF paroxysmal AF episode ending within 7 days S1 0.74
AF persistent AF > 7 days requiring intervention S2 0.68
Stroke acute Acute stroke, first 30 days S3 0.31
Post-stroke Post-stroke disability state S4 0.52
Major bleeding Major bleeding event S5 0.33
Death Absorbing state S6 0.00

3.3 Transition Probabilities

Transition Source Base case PSA distribution Database variable
NSR → AF paroxysmal Registry / literature 0.05 per cycle Beta tp_nsr_afp
AF paroxysmal → NSR This study ECG data TBD Beta tp_afp_nsr
AF paroxysmal → AF persistent Literature 0.03 per cycle Beta tp_afp_afpers
AF → Stroke CHA₂DS₂-VASc × rate 0.01–0.04 per cycle Beta tp_af_stroke
AF → Major bleeding HAS-BLED × rate 0.005–0.02 per cycle Beta tp_af_bleed
Stroke acute → Death Hospital records 0.20 per 30 days Beta tp_stroke_death
Stroke → Post-stroke Literature 0.80 per 30 days Beta tp_stroke_postst
Any state → Death Vietnam life tables Age-specific Deterministic tp_background_mort

3.4 Unit Costs

Cost item Source Variable Unit
Cardiology outpatient visit Hospital / BHYT cost_outpt_vnd VND / visit
AF hospitalization HIS / DRG cost_hosp_af_vnd VND / admission
Acute stroke hospitalization HIS / DRG cost_hosp_stroke_vnd VND / admission
Long-term stroke rehabilitation Literature / BHYT cost_stroke_rehab_vnd VND / year
Cardioversion HIS cost_cardioversion_vnd VND / procedure
Ablation HIS cost_ablation_vnd VND / procedure
Warfarin + INR monitoring Pharmacy + laboratory cost_warfarin_annual_vnd VND / year
NOAC Pharmacy cost_noac_annual_vnd VND / year
Nouslogic platform + ECG patch Nouslogic cost_platform_annual_vnd VND / year
Huawei Band 10 Market cost_band_capital_vnd VND / device
Patient transport Patient survey cost_transport_vnd VND / visit
Productivity loss GDP per capita Vietnam cost_productivity_vnd VND / day

3.5 Retrospective Hospital Data Pull

Variable Description Format Source
AF burden Percent time in AF from Holter Numeric % Holter report
Time in therapeutic range TTR for warfarin users Numeric % INR log
Hospital length of stay Days per admission Integer HIS
ICU admission ICU admission during AF / stroke admission Binary HIS
30-day readmission Readmission within 30 days Binary HIS
In-hospital mortality Mortality by diagnosis Numeric % HIS
mRS at discharge Modified Rankin Scale 0–6 Ordinal Stroke chart
Barthel Index Functional independence 0–100 Numeric Stroke chart
Annual outpatient visits Visits in prior 12 months Integer HIS
Annual ED visits ED visits in prior 12 months Integer HIS
Current medication costs Actual monthly medication cost VND / month Pharmacy receipt

3.6 Sensitivity Analysis

Probabilistic sensitivity analysis should use 10,000 Monte Carlo simulations. Transition probabilities should use beta distributions, costs should use gamma distributions, and utilities should use beta distributions. Deterministic sensitivity analysis should use ±20% variation for each parameter.

Primary outcomes:

  • ICER: incremental cost per QALY.
  • Cost per stroke averted.
  • Net monetary benefit at a Vietnam willingness-to-pay threshold.