/* VietCanThi — Software page /phan-mem (Bước 3) */
const { useState: pmS } = React;
function PSection({ id, alt, eyebrow, title, lead, children, head = true }) {
return (
{head && (eyebrow || title) && (
{eyebrow &&
{eyebrow}}
{title &&
{title}
}
{lead &&
{lead}
}
)}
{children}
);
}
/* clean percentile chart — navy line, sky percentile band, amber 'now' point, coral threshold (brand §6.6) */
function ALChart() {
// x: 380 wide plot from 50..400 ; y: 210 tall plot from 30..210
const xs = [50, 120, 190, 260, 330, 400];
const ages = ['6', '8', '10', '12', '14', '16'];
// patient AL line (mm) mapped to y (higher mm -> higher up)
const pts = [180, 160, 138, 120, 108, 100];
const p95 = [150, 132, 116, 102, 92, 84];
const p50 = [196, 182, 168, 156, 146, 138];
const path = (arr) => arr.map((y, i) => `${i ? 'L' : 'M'}${xs[i]},${y}`).join(' ');
const band = `M${xs[0]},${p95[0]} ${xs.slice(1).map((x, i) => `L${x},${p95[i + 1]}`).join(' ')} L${xs[xs.length - 1]},${p50[p50.length - 1]} ${[...p50].reverse().map((y, i) => `L${[...xs].reverse()[i]},${y}`).join(' ')} Z`;
return (
AL bệnh nhân
Dải percentile
Hiện tại
Ngưỡng cảnh báo
);
}
function UspMedia({ kind, label }) {
if (kind === 'chart') return ;
if (kind === 'report') return (
Báo cáo
Phụ huynh
Chiều dài trục nhãn cầu24.1 mm
Đúng lộ trình
Tăng trưởng đang chậm lại — tuyệt vời!
{label}
);
// rules
const rows = [['Thấp / An toàn', '#22A06B', 'percentile AL < 50'], ['Trung bình / Theo dõi', '#E8A93C', 'AL/CR 3.0–3.2'], ['Cao', '#E8703A', '≥ 0.3 mm/năm'], ['Rất cao', '#D7263D', 'AL/CR > 3.2']];
return (
{rows.map(([t, c, s]) => (
{t}
{s}
§ nguồn
))}
{label}
);
}
function FaqItem({ q, a }) {
const [open, setOpen] = pmS(false);
return (
);
}
function PhanMem() {
const S = window.SITE;
return (
Phần mềm VietCanThi MCP
Phần mềm Quản lý & Kiểm soát Cận thị
Hồ sơ sinh trắc theo thời gian · Phân tầng nguy cơ tự động · Báo cáo phụ huynh mang thương hiệu phòng khám.
Chuẩn lâm sàng, dẫn nguồn
Không hộp đen
Tuân thủ NĐ 13/2023
{S.MODULES.map((m) => (
{m.status === 'avail'
? Có sẵn
: Sắp ra mắt}
{m.title}
{m.desc}
{m.phase}
))}
{S.USPS.map((u) => (
{u.eyebrow}
{u.title}
{u.desc}
))}
Hạng mục
Sổ giấy / Excel
VietCanThi
{S.COMPARE.map((r) => (
))}
{S.SECURITY.map((s) => (
))}
Giá
Miễn phí trong giai đoạn trải nghiệm
Phòng khám đối tác dùng miễn phí khi tham gia giai đoạn trải nghiệm. Bảng giá chính thức sẽ liên hệ báo giá theo quy mô.
{S.SW_FAQ.map((f) => )}
Công cụ hỗ trợ quyết định lâm sàng, không thay thế chẩn đoán của bác sĩ.
);
}
Object.assign(window, { PhanMem });