VinUniversity · CHS Nouslogic RPM Huawei Band 10 Version 1.0 · May 2026
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ĩ.
| # | 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 |
| # | 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 |
| # | 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 |
| 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 |
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? |
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 |
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 |
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 |
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 |
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 |
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:
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.
patients 1 → N daily_surveyspatients 1 → N ecg_recordspatients 1 → N wearable_dailypatients 1 → N vitals_rpmpatients 1 → N pro_assessmentspatients 1 → N costspatients 1 → N clinical_eventsCREATE 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()
);
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)
);
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);
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)
);
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);
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)
);
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
);
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
);
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
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: