🩺

เข้าสู่ระบบ Family Health

กรุณาเลือกชื่อผู้ใช้งานและกรอกรหัส PIN ประจำตัวเพื่อเริ่มบันทึกข้อมูล

🔐 เข้าใช้งานครั้งแรก — กรุณาตั้งรหัส PIN ประจำตัว

กำหนดรหัสส่วนตัว 4 หลัก เพื่อใช้เข้าสู่ระบบอย่างปลอดภัยในครั้งถัดไป

⚠️ {{ loginError }}
⚠️ {{ loginError }}
{{ toast.icon }} {{ toast.message }}
🩺

Family Health Tracker

Local Test · ไม่ส่ง Cloud Supabase Synced {{ cloudSyncStatus === 'connecting' ? 'Connecting…' : 'Syncing…' }}{{ pendingSyncCount ? ` · รอ ${pendingSyncCount}` : '' }} Sync failed{{ pendingSyncCount ? ` · รอ ${pendingSyncCount}` : '' }} Local Mode{{ pendingSyncCount ? ` · รอ ${pendingSyncCount}` : '' }}

ระบบติดตามสุขภาพครอบครัว & แจ้งเตือน LINE อัตโนมัติ

{{ currentUser.role === 'admin' ? '👑' : '👤' }}
{{ currentUser.display_name }}
{{ currentUser.role === 'admin' ? 'ผู้ดูแลระบบ (Admin)' : 'ผู้บันทึกข้อมูล' }}
{{ currentPatient.icon }}
2. บันทึกสุขภาพ: {{ currentPatient.name }}

{{ currentPatient.frequency_desc }} ({{ currentPatient.enabled_metrics?.length || 0 }} รายการตรวจ)

ผู้บันทึก: {{ currentUser?.display_name }}
: น.
⚡ เวลาลัด:
💬 เชื่อมต่อ LINE กลุ่มเรียบร้อย — หากมีค่าหลุดเกณฑ์ ระบบจะส่งเตือนเข้ากลุ่ม Family ทันที
📋
งานสำคัญประจำวัน

ส่งรายงาน LINE กลุ่ม Caretakers

{{ getDailyLogsCount() > 0 ? getDailyLogsCount() + ' รายการพร้อมส่ง' : 'ยังไม่มีข้อมูล' }}

วันที่ที่เลือกคือวันสิ้นสุดรอบ · สรุปข้อมูลตั้งแต่ 08:00 ของวันก่อนหน้า ถึง 07:59 ของวันที่เลือก

ผู้ป่วย:
ช่วงเวลา:
ถึง
จำนวนบันทึก
{{ filteredLogs.length }} ครั้ง
รายการหลุดเกณฑ์
{{ abnormalCount }} ครั้ง
ความดันเฉลี่ย
{{ avgBP }} mmHg
SpO2 เฉลี่ย
{{ avgSpO2 }} %

📈 กราฟแสดงแนวโน้มสุขภาพ (Trend Chart)

รองรับทุกเบราว์เซอร์ (Microsoft Edge, Chrome, Safari)

พื้นที่สีจาง = ช่วงปกติของ {{ getPatientName(dashboardPerson) }} {{ range.label }} {{ range.min }}–{{ range.max }} {{ range.unit }} ยังไม่ได้กำหนดช่วงปกติสำหรับกราฟนี้

🚨 รายการที่ตรวจพบค่าสูง/ต่ำกว่าเกณฑ์มาตรฐาน

{{ getPatientIcon(item.person) }}
{{ getPatientName(item.person) }} — 📅 {{ item.date }} เวลา {{ item.time }} น.
⚠️ {{ reason }}
ค่าที่วัดได้: ความดัน {{ item.bp_sys }}/{{ item.bp_dia }} mmHg, SpO2 {{ item.spo2 }}%, หัวใจ {{ item.heart_rate }} bpm, ไข้ {{ item.temp }}°C, หายใจ {{ item.respiration_rate }} ครั้ง/น., น้ำหนัก {{ item.weight }} kg
💬 หมายเหตุ: "{{ item.notes }}"
ผู้บันทึก: {{ item.recorded_by }}

📋 รายงานสรุปสุขภาพ & การพยาบาลประจำวัน

{{ getPatientName(dailyReportPatient) }} · {{ getDailyReportRangeLabel() }} · {{ getDailyLogsCount() }} รายการ

{{ generateDailyReportText() }}
🔒

จำกัดสิทธิ์เฉพาะผู้ดูแลระบบ (Admin Only)

ผู้บันทึกข้อมูลทั่วไปไม่มีสิทธิ์เข้าถึงหรือแก้ไขการตั้งค่าระบบและเกณฑ์มาตรฐาน

👥 จัดการผู้รับการตรวจวัด / ผู้ป่วย (Patients Manager)

กดปุ่ม "✏️ แก้ไขข้อมูล & ธีมสี & จัดเรียงลำดับฟิลด์" เพื่อเลือกรายการตรวจ สลับลำดับช่องกรอก (⬆️ ⬇️) และเลือกสีธีมประจำตัว

{{ p.icon }}
{{ p.name }}
{{ p.frequency_desc }}
{{ getThemeName(p.theme) }} {{ p.is_active ? 'ใช้งาน' : 'ปิดใช้งาน' }}
ลำดับรายการตรวจวัด ({{ (p.enabled_metrics||[]).length }} รายการ):
{{ mIdx + 1 }}. {{ getMetricMeta(m).icon }} {{ getMetricMeta(m).name }}

📊 คลังตัวชี้วัดและกิจกรรมการดูแล (Metric Catalog)

มีไอคอนสุขอนามัย เคาะปอด และกายภาพ (🧽 🫁 👏 🫳 💆 🧘 🦵 🩼) พร้อมเปิดช่อง Remark ได้

{{ m.icon }}
{{ m.name }} +Remark
{{ m.type }} หน่วย: {{ m.unit }} ({{ m.options_list.length }} ตัวเลือก)

👤 จัดการผู้ใช้งาน & สิทธิ์การเข้าถึง (User Management)

สามารถแก้ไขชื่อ, Reset รหัส PIN, เปลี่ยนบทบาท และระงับสิทธิ์ผู้ใช้ที่ลาออกได้

{{ u.role === 'admin' ? '👑' : '👤' }}
{{ u.display_name }} {{ u.is_active ? 'ปกติ' : 'ระงับสิทธิ์ (ลาออก - ซ่อนจาก Login)' }}
บทบาท: {{ u.role === 'admin' ? 'ผู้ดูแลระบบ (Admin)' : 'ผู้บันทึกข้อมูล (Recorder)' }} | รหัส PIN: 🔐 รอตั้งรหัสครั้งแรก{{ u.pin_code }}

⚙️ ตั้งค่าเกณฑ์มาตรฐานสุขภาพเฉพาะบุคคล (Custom Thresholds)

สามารถกดปุ่ม "+ เพิ่มเกณฑ์" หรือกดปุ่ม ✕ เพื่อลบเกณฑ์ที่ไม่ใช้ออกได้อย่างอิสระ

{{ p.icon }}

เกณฑ์มาตรฐานของ {{ p.name }}

{{ p.frequency_desc }}

ถึง {{ metric.unit || getMetricMeta(mKey).unit }}

⚡ การเชื่อมต่อ Supabase & แยก 2 กลุ่ม LINE Alert

รับการแจ้งเตือนสัญญาณชีพหลุดเกณฑ์ทันทีที่มีการบันทึก
รับรายงานสรุปสุขภาพและการพยาบาลประจำวัน

☁️ การตั้งค่า LINE ชุดนี้ใช้ร่วมกันทุกเครื่องผ่าน Supabase Cloud

โควตา LINE Push เดือนนี้ {{ lineQuota.used }} / {{ lineQuota.limit }}

โควตาใกล้หมดหรือหมดแล้ว แนะนำใช้ “แชร์ผ่าน LINE” จากรายงานประจำวัน

ตัวนับโควตาอัตโนมัติจะเปิดใช้งานหลังเชื่อมระบบส่ง LINE บน VPS

📱 กำหนดข้อมูลจากอุปกรณ์หลัก

ใช้ครั้งเดียวบนมือถือเครื่องที่มีประวัติถูกต้อง ระบบจะเก็บข้อมูลจากเครื่องนี้และนำข้อมูลส่วนเกินจากอุปกรณ์อื่นออกจาก Cloud

สำเนาข้อมูลเดิมในอุปกรณ์นี้: {{ deviceBackupCount }} รายการ

{{ modalMetric.isEdit ? '✏️ แก้ไขตัวชี้วัด' : '➕ สร้างตัวชี้วัดใหม่' }}

ไอคอนที่เลือก:

เช่น เมื่อเลือกดูดเสมหะ จะมีช่องพิมพ์ระบุ "ดูดออกได้ 5 ml" หรือระบุข้างที่ทำ

แตะข้อความในแต่ละบรรทัดเพื่อแก้ไข · มีผลกับตัวเลือกใหม่ ข้อมูลที่บันทึกไว้แล้วจะคงข้อความเดิม

{{ modalPatient.isEdit ? '✏️ แก้ไขข้อมูลผู้ป่วย & ธีมสี & จัดเรียงลำดับฟิลด์' : '➕ เพิ่มผู้รับการตรวจวัดใหม่' }}

{{ slot }} น.

กดปุ่ม ⬆️ หรือ ⬇️ เพื่อจัดเรียงลำดับฟิลด์ตามการตรวจจริง หน้าฟอร์มจะแสดงผลเรียงตามลำดับนี้ทันที

{{ mIndex + 1 }}. {{ getMetricMeta(mKey).icon }} {{ getMetricMeta(mKey).name }}

{{ modalUser.isEdit ? '✏️ แก้ไขผู้ใช้งาน & Reset PIN' : '➕ เพิ่มผู้ใช้งานใหม่' }}

➕ เพิ่มเกณฑ์สุขภาพให้ {{ modalThreshold.patientName }}