แผนการเรียนรู้
/
AMMS 302 | Week 10

จริยธรรม & กฎหมายข้อมูลสุขภาพ

Health Information Ethics and Regulations

Data Privacy · Security · PII · PDPA พ.ศ. 2562 · HIPAA · นโยบายคลาวด์กลางสาธารณสุข

🎯 เป้าหมาย (CLO3/CLO4)

  • จำแนก PII/quasi-identifier ใน dataset จริงได้
  • เปรียบเทียบ PDPA (ไทย) vs HIPAA (สากล) ได้
  • ปฏิบัติ de-identification (mask/hash/generalize) ด้วย pandas ได้

สารบัญ

01 · ทำไมข้อมูลสุขภาพ "อ่อนไหว" พิเศษ?

รั่ว = โดนเลิกจ้าง/ถูกเมือง/ถูกปฏิเสธงาน/insurance แพงขึ้น — ความเสียหายไม่จำกัดเวลา ต่างจากเลขบัตรที่เปลี่ยนได้

💸 โจรกรรมข้อมูลแพงสุด

Health record มีมูลค่าตลาดมืดสูงกว่า card data หลายเท่า — ใช้ fraud ประกัน/ยาได้ยาวนาน

🔍 Re-identification

Research: 95% ชาว MA ชี้ตัวได้จาก (ZIP, birthdate, gender) — quasi-identifiers ร้ายกว่าที่คิด

⚖️ กฎหมายเข้ม

PDPA ปรับสูงสุด 5 ล้านบาท + ค่าเสียหายทางแพ่ง · HIPAA ปรับ tier สูงสุด $2.1M/ปี/clause

02 · จำแนกข้อมูลใน patients_data.csv

ColumnClassเหตุผล
NameDirect identifier 🔴ชี้ตัวตรง — ต้อง drop/mask ก่อนแชร์
subject_idDirect (contextual) 🟠hash/pseudonymize ก่อนออกนอกระบบ
Age, gender, admission_dateQuasi-identifier 🟡รวมกัน narrow down ตัวตน → generalize/band
systolic_bp, HbA1cClinical value 🔵ผูก identity = sensitive; แยกขาด = วิเคราะห์ได้อย่างปลอดภัย
risk = f(direct_ids, quasi_combo, external_data)
💡 โจทย์ lab: audit ทุกคอลัมน์ + จัด class ด้วยตัวเองก่อนดูเฉลย

03 · De-identification 3 ระดับ

Masking

'สมชาย'→'สม***'

ซ่อนบางส่วน · ❌ ย้อนไม่ได้ · ใช้ display/log

Pseudonymization

id→SHA256(salt+id)[:12]

token แทนตัวตน · ⚠️ ย้อนได้ถ้ามี key · PDPA ยังนับเป็น personal data

Anonymization

drop ids + band ages + year-only

เป้าหมาย Safe Harbor · ❌ ย้อนไม่ได้ · หลุดจาก scope กฎหมาย

k-anonymity: ทุก record ต้องเหมือน ≥k records อื่นใน quasi-identifier set — lab §3.2 เช็ค k<5 groups
📚 HHS De-identification (official)

04 · PDPA พ.ศ. 2562 (Thailand)

พระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล — GDPR-style · บังคับใช้เต็ม 1 มิ.ย. 2565

บทบาท & หลักสำคัญ

  • Data Controller = กำหนดวัตถุประสงค์ (โรงพยาบาล) · Processor = ทำแทน (IT vendor)
  • ฐานทำการ 6 ข้อ: consent, contract, legal duty, vital interest, public task, legitimate interest
  • ข้อมูลsensitive (สุขภาพ!) = ต้อง explicit consent หรือ exemption เฉพาะ
  • Breach → แจ้ง DPO/สำนักงาน ≤72 ชม.

สิทธิเจ้าของข้อมูล (8 สิทธิ)

  • ถอนความยินยอม / ปฏิเสธ
  • เข้าถึง & ขอสำเนา
  • แก้ไขให้ถูกต้อง
  • ลบ/ทำลาย (right to erasure)
  • คัดค้าน / ระงับใช้
  • โอนย้าย (portability)
โทษ: ปรับ ≤ ฿5M (+2× ถ้าซ้ำ), จำคลุกคลี 6 ปี ฯลฯ
📚 Official: pdpc.or.th — กฎหมาย/คู่มือ/ข่าว (ทางการคณะกรรมการคุ้มครองข้อมูลส่วนบุคคล)

05 · HIPAA (US, 1996)

Health Insurance Portability & Accountability Act — มาตรฐานสากลที่ระบบไทยมักอ้างถึง

  • Privacy Rule: PHI use/disclosure — minimum necessary principle
  • Security Rule: ePHI safeguards — admin/physical/technical (encryption, access control, audit logs)
  • Breach Notification Rule: แจ้ง HHS+ผู้ป่วย ≤60 วัน
  • Covered Entities / Business Associates ≈ controller/processor

PHI = Identifier + Health data

18 identifiers ใต้ Safe Harbor (ชื่อ, geo<state, dates, phone, fax, email, SSN, MRN, health plan#, account#, license#, vehicle, device, URL, IP, biometric, photo, any other unique id)

# ตัวอย่างที่เจอใน course:
# Name ✗ | MRN/HN ✗ | exact date ✗
# age ✓(≤89) | year-only ✓ | state-level geo ✓
📚 Official: hhs.gov/hipaa · Security Rule

06 · Safe Harbor Method — apply กับ dataset เรา

Safe Harbor rulepatients_data.csvAction (lab)
(1) NamesNameDROP / mask
(2) geography < staten/a
(3) dates (except year)admission_dateyear_only
(16) any other unique idsubject_idSHA-256 salt hash
age > 89 aggregationAge (102,114!)band → '89+'
ผลลัพธ์ใน ipynb §4 = patients_deidentified.csv (safe-for-teaching) — จำว่า hashed-id ยังเป็น pseudonymized ตาม PDPA ไม่ใช่ anonymous 100%

07 · PDPA vs HIPAA

ประเด็นPDPA (ไทย)HIPAA (US)
Scopepersonal data ทุกประเภทเฉพาะ PHI (health)
Sensitive healthexplicit consent/exemptiontreatment/payment/ops permitted
RolesController / ProcessorCovered Entity / BA
De-ID standardอิงแนวเดียวกัน (expert/Safe-Harbor-like)Safe Harbor / Expert Determination
Breach notify≤72 ชม. → สำนักงาน PDPC≤60 วัน → HHS + individuals
โทษสูงสุดปรับ ฿5M(+2×) / จำ 6 ปี(คดีอาญาบางมาตรา)$2.1M/yr/clause + jail

08 · นโยบายคลาวด์กลางด้านสาธารณสุข (ไทย)

G-Cloud / Cloud First

  • หน่วยงานราชการใช้คลาวด์ภาครัฐ (G-Cloud) ที่ DGA ให้บริการ ก่อน private cloud/offshore
  • ระดับความปลอดภัยข้อมูล (S0–S3): ข้อมูลสุขภาพ = ระดับสูง → hosting ในประเทศ + เข้ารหัส
  • PDPA §28: โอนข้อมูลออกนอก kingdom ได้เมื่อปลายทางมี protection เทียบเท่า

Implication กับนักศึกษา

  • ❌ upload raw patient file ขึ้น public AI/cloud โดยพลการ
  • ✅ ใช้ synthetic data (PySynthea wk12–13) สำหรับ demo/AI
  • ✅ production ต้อง BAA/DPA + encryption at rest/in-transit
💡 นี่คือเหตุผลที่คอร์สนี้ใช้ synthetic + de-identified data ตลอด!

09 · Lab สัปดาห์ที่ 10 🧪

week10-ethics-pii-audit.ipynb — audit → mask/hash/generalize → export safe CSV

📋 ภารกิจ ↔ §

  1. §1 Audit 7 คอลัมน์ → class Direct/Quasi/Clinical
  2. §2 Masking Name + SHA-256 pseudonymize id (salt)
  3. §3 Age band (89+ per HIPAA) + k-anonymity check k<5
  4. §4 Export patients_deidentified.csv

📝 Homework 10

  • เรียงความ 1 หน้า: PDPA vs HIPAA (consent/rights/penalty) อ้างอิง pdpc.or.th + hhs.gov
  • ส่ง .ipynb + patients_deidentified.csv
  • (Bonus) หา quasi-identifier combo ที่ re-identify ได้ใน class dataset แล้ว propose fix
เกณฑ์: audit ถูก class 50% · de-id ครบ workflow 50%

10 · แหล่งอ้างอิงทางการ

🇹🇭 Thailand

🇺🇸 US / International

🐍 Python

📬 ติดต่อ

ดร.วิชิต สมบัติ — wichit.s@ubu.ac.th

คาบหน้า: Health Care Data Standards (FHIR/OMOP/ICD-10)