ข้ามไปที่เนื้อหา

Check List Master Data

ระบบเวชระเบียนหลัก (Core Medical Record System)


เอกสารเลขที่: SRS-1.2.1-MASTERDATA
เวอร์ชัน: 2.0
วันที่: 4 ตุลาคม 2568
ผู้จัดทำ: ทีมพัฒนาระบบ
การปรับปรุง: แยก Master Data ตามหน้าที่ระบบ เน้น Shared Data


📊 รายการข้อมูล Master Data สำหรับระบบเวชระเบียนหลัก

👥 Shared Master Data (ใช้ร่วมกับระบบอื่น)

ข้อมูลที่ระบบเวชระเบียนจัดการและแบ่งปันให้ระบบอื่นๆ ใช้:

👤 ข้อมูลผู้ป่วยหลัก

  • PATIENT - ข้อมูลผู้ป่วยหลัก
  • PATIENT_ADDRESS - ที่อยู่ผู้ป่วย
  • PATIENT_CONTACT - ผู้ติดต่อฉุกเฉิน

🌏 ข้อมูลภูมิศาสตร์

  • REGION, PROVINCE, DISTRICT, SUBDISTRICT - ข้อมูลการปกครอง

🧬 ข้อมูลทางการแพทย์ (มาตรฐานสากล)

  • ICD-10 - รหัสโรคอย่างเป็นทางการ
  • ICD-9-CM - รหัสหัตถการทางการแพทย์

🔍 System-Specific Master Data (เฉพาะระบบเวชระเบียน)

ข้อมูลที่จัดการโดยระบบเวชระเบียนเท่านั้น:

📁 ข้อมูลการจัดการแฟ้ม

  • CHART_BORROWING - การยืม-คืนแฟ้มเวชระเบียน
  • CHART_LOCATION - ตำแหน่งแฟ้มเวชระเบียน

📅 ข้อมูลการนัดหมาย

  • APPOINTMENT - การนัดหมายผู้ป่วย
  • APPOINTMENT_TYPE - ประเภทการนัดหมาย

🔗 ข้อมูล API Integration

  • SYSTEM_INTEGRATION_LOG - บันทึกการเชื่อมต่อระบบ
  • API_ENDPOINTS - จุดเชื่อมต่อ API

� Master Data ที่ย้ายไประบบอื่น (แล้ว)

ข้อมูล Master Data ดังต่อไปนี้ได้ถูกย้ายไปจัดการในระบบเฉพาะทางแล้ว:

➡️ ระบบเภสัชกรรม (1.2.13)

  • DRUG_ALLERGY - ประวัติการแพ้ยา
  • PRESCRIPTION_TEMPLATE - แบบฟอร์มการสั่งยา
  • DRUG_INTERACTION - ข้อมูลการตรวจสอบอันตรกริยายา

➡️ ระบบตรวจสอบสิทธิ (1.2.15)

➡️ ระบบห้องตรวจแพทย์ (1.2.3)

หมายเหตุ: ระบบเวชระเบียนหลักจะเชื่อมต่อกับระบบเหล่านี้ผ่าน API Integration เพื่อแบ่งปันข้อมูลที่จำเป็น

1. ข้อมูลส่วนบุคคล (Personal Information)

คำนำหน้า (Title/Prefix)

{
  "titles": [
    {"id": "001", "code": "MR", "name_th": "นาย", "name_en": "Mr.", "gender": "M", "category": "general"},
    {"id": "002", "code": "MRS", "name_th": "นาง", "name_en": "Mrs.", "gender": "F", "category": "general"},
    {"id": "003", "code": "MS", "name_th": "นางสาว", "name_en": "Miss", "gender": "F", "category": "general"},
    {"id": "004", "code": "BOY", "name_th": "ด.ช.", "name_en": "Master", "gender": "M", "category": "general"},
    {"id": "005", "code": "GIRL", "name_th": "ด.ญ.", "name_en": "Miss", "gender": "F", "category": "general"},
    {"id": "006", "code": "DR", "name_th": "นพ.", "name_en": "Dr.", "gender": "U", "category": "medical"},
    {"id": "007", "code": "DRFEM", "name_th": "พญ.", "name_en": "Dr.", "gender": "F", "category": "medical"},
    {"id": "008", "code": "DENT", "name_th": "ทพ.", "name_en": "Dr.", "gender": "M", "category": "medical"},
    {"id": "009", "code": "DENTFEM", "name_th": "ทพญ.", "name_en": "Dr.", "gender": "F", "category": "medical"},
    {"id": "010", "code": "PHARM", "name_th": "ภก.", "name_en": "Pharm.", "gender": "M", "category": "medical"},
    {"id": "011", "code": "PHARMFEM", "name_th": "ภญ.", "name_en": "Pharm.", "gender": "F", "category": "medical"},
    {"id": "012", "code": "PROF", "name_th": "ศ.", "name_en": "Prof.", "gender": "U", "category": "academic"},
    {"id": "013", "code": "ASSOC", "name_th": "รศ.", "name_en": "Assoc.Prof.", "gender": "U", "category": "academic"},
    {"id": "014", "code": "ASST", "name_th": "ผศ.", "name_en": "Asst.Prof.", "gender": "U", "category": "academic"},
    {"id": "015", "code": "PROFDR", "name_th": "ศ.นพ.", "name_en": "Prof.Dr.", "gender": "M", "category": "academic_medical"},
    {"id": "016", "code": "PROFDRFEM", "name_th": "ศ.พญ.", "name_en": "Prof.Dr.", "gender": "F", "category": "academic_medical"},
    {"id": "017", "code": "ASSOCDR", "name_th": "รศ.นพ.", "name_en": "Assoc.Prof.Dr.", "gender": "M", "category": "academic_medical"},
    {"id": "018", "code": "ASSOCDRFEM", "name_th": "รศ.พญ.", "name_en": "Assoc.Prof.Dr.", "gender": "F", "category": "academic_medical"},
    {"id": "019", "code": "ASSTDR", "name_th": "ผศ.นพ.", "name_en": "Asst.Prof.Dr.", "gender": "M", "category": "academic_medical"},
    {"id": "020", "code": "ASSTDRFEM", "name_th": "ผศ.พญ.", "name_en": "Asst.Prof.Dr.", "gender": "F", "category": "academic_medical"},
    {"id": "021", "code": "ML", "name_th": "ม.ล.", "name_en": "M.L.", "gender": "U", "category": "royal"},
    {"id": "022", "code": "MR", "name_th": "ม.ร.ว.", "name_en": "M.R.", "gender": "U", "category": "royal"},
    {"id": "023", "code": "MC", "name_th": "ม.จ.", "name_en": "M.C.", "gender": "U", "category": "royal"},
    {"id": "024", "code": "KUN", "name_th": "คุณ", "name_en": "Khun", "gender": "U", "category": "nobility"},
    {"id": "025", "code": "KUNY", "name_th": "คุณหญิง", "name_en": "Khunying", "gender": "F", "category": "nobility"},
    {"id": "026", "code": "TAN", "name_th": "ท่าน", "name_en": "Than", "gender": "U", "category": "nobility"},
    {"id": "027", "code": "TANPUY", "name_th": "ท่านผู้หญิง", "name_en": "Thanphuying", "gender": "F", "category": "nobility"},
    {"id": "028", "code": "POL1", "name_th": "พล.ต.อ.", "name_en": "Pol.Gen.", "gender": "U", "category": "police"},
    {"id": "029", "code": "POL2", "name_th": "พล.ต.ท.", "name_en": "Pol.Lt.Gen.", "gender": "U", "category": "police"},
    {"id": "030", "code": "POL3", "name_th": "พล.ต.ต.", "name_en": "Pol.Maj.Gen.", "gender": "U", "category": "police"},
    {"id": "031", "code": "POL4", "name_th": "พ.ต.อ.", "name_en": "Pol.Col.", "gender": "U", "category": "police"},
    {"id": "032", "code": "POL5", "name_th": "พ.ต.ท.", "name_en": "Pol.Lt.Col.", "gender": "U", "category": "police"},
    {"id": "033", "code": "POL6", "name_th": "พ.ต.ต.", "name_en": "Pol.Maj.", "gender": "U", "category": "police"},
    {"id": "034", "code": "POL7", "name_th": "ร.ต.อ.", "name_en": "Pol.Capt.", "gender": "U", "category": "police"},
    {"id": "035", "code": "POL8", "name_th": "ร.ต.ท.", "name_en": "Pol.Lt.", "gender": "U", "category": "police"},
    {"id": "036", "code": "POL9", "name_th": "ร.ต.ต.", "name_en": "Pol.Sub.Lt.", "gender": "U", "category": "police"},
    {"id": "037", "code": "ARM1", "name_th": "พล.อ.", "name_en": "Gen.", "gender": "U", "category": "army"},
    {"id": "038", "code": "ARM2", "name_th": "พล.ท.", "name_en": "Lt.Gen.", "gender": "U", "category": "army"},
    {"id": "039", "code": "ARM3", "name_th": "พล.ต.", "name_en": "Maj.Gen.", "gender": "U", "category": "army"},
    {"id": "040", "code": "ARM4", "name_th": "พ.อ.", "name_en": "Col.", "gender": "U", "category": "army"},
    {"id": "041", "code": "ARM5", "name_th": "พ.ท.", "name_en": "Lt.Col.", "gender": "U", "category": "army"},
    {"id": "042", "code": "ARM6", "name_th": "พ.ต.", "name_en": "Maj.", "gender": "U", "category": "army"},
    {"id": "043", "code": "ARM7", "name_th": "ร.อ.", "name_en": "Capt.", "gender": "U", "category": "army"},
    {"id": "044", "code": "ARM8", "name_th": "ร.ท.", "name_en": "Lt.", "gender": "U", "category": "army"},
    {"id": "045", "code": "ARM9", "name_th": "ร.ต.", "name_en": "Sub.Lt.", "gender": "U", "category": "army"},
    {"id": "046", "code": "NAV1", "name_th": "พล.ร.อ.", "name_en": "Adm.", "gender": "U", "category": "navy"},
    {"id": "047", "code": "NAV2", "name_th": "พล.ร.ท.", "name_en": "V.Adm.", "gender": "U", "category": "navy"},
    {"id": "048", "code": "NAV3", "name_th": "พล.ร.ต.", "name_en": "R.Adm.", "gender": "U", "category": "navy"},
    {"id": "049", "code": "NAV4", "name_th": "น.อ.", "name_en": "Capt.", "gender": "U", "category": "navy"},
    {"id": "050", "code": "NAV5", "name_th": "น.ท.", "name_en": "Cdr.", "gender": "U", "category": "navy"},
    {"id": "051", "code": "NAV6", "name_th": "น.ต.", "name_en": "Lt.Cdr.", "gender": "U", "category": "navy"},
    {"id": "052", "code": "AF1", "name_th": "พล.อ.อ.", "name_en": "ACM", "gender": "U", "category": "airforce"},
    {"id": "053", "code": "AF2", "name_th": "พล.อ.ท.", "name_en": "AVM", "gender": "U", "category": "airforce"},
    {"id": "054", "code": "AF3", "name_th": "พล.อ.ต.", "name_en": "Air V.Marshal", "gender": "U", "category": "airforce"},
    {"id": "055", "code": "AF4", "name_th": "น.อ.", "name_en": "Gp.Capt.", "gender": "U", "category": "airforce"},
    {"id": "056", "code": "AF5", "name_th": "น.ท.", "name_en": "Wg.Cdr.", "gender": "U", "category": "airforce"},
    {"id": "057", "code": "AF6", "name_th": "น.ต.", "name_en": "Sqn.Ldr.", "gender": "U", "category": "airforce"},
    {"id": "058", "code": "REV", "name_th": "พระ", "name_en": "Phra", "gender": "M", "category": "religious"},
    {"id": "059", "code": "NOVICE", "name_th": "สามเณร", "name_en": "Novice", "gender": "M", "category": "religious"}
  ]
}

เพศ (Gender)

{
  "genders": [
    {"code": "M", "name_th": "ชาย", "name_en": "Male", "display_order": 1},
    {"code": "F", "name_th": "หญิง", "name_en": "Female", "display_order": 2},
    {"code": "U", "name_th": "ไม่ระบุ", "name_en": "Unknown", "display_order": 3},
    {"code": "O", "name_th": "อื่นๆ", "name_en": "Other", "display_order": 4}
  ]
}

หมู่โลหิต (Blood Group)

{
  "blood_groups": [
    {"id": "1", "group": "A", "rh": "+", "display": "A+", "name_th": "เอบวก", "name_en": "A Positive"},
    {"id": "2", "group": "A", "rh": "-", "display": "A-", "name_th": "เอลบ", "name_en": "A Negative"},
    {"id": "3", "group": "B", "rh": "+", "display": "B+", "name_th": "บีบวก", "name_en": "B Positive"},
    {"id": "4", "group": "B", "rh": "-", "display": "B-", "name_th": "บีลบ", "name_en": "B Negative"},
    {"id": "5", "group": "AB", "rh": "+", "display": "AB+", "name_th": "เอบีบวก", "name_en": "AB Positive"},
    {"id": "6", "group": "AB", "rh": "-", "display": "AB-", "name_th": "เอบีลบ", "name_en": "AB Negative"},
    {"id": "7", "group": "O", "rh": "+", "display": "O+", "name_th": "โอบวก", "name_en": "O Positive"},
    {"id": "8", "group": "O", "rh": "-", "display": "O-", "name_th": "โอลบ", "name_en": "O Negative"},
    {"id": "9", "group": "U", "rh": "U", "display": "Unknown", "name_th": "ไม่ทราบ", "name_en": "Unknown"}
  ]
}

สถานภาพสมรส (Marital Status)

{
  "marital_status": [
    {"code": "S", "name_th": "โสด", "name_en": "Single"},
    {"code": "M", "name_th": "สมรส", "name_en": "Married"},
    {"code": "W", "name_th": "หม้าย", "name_en": "Widowed"},
    {"code": "D", "name_th": "หย่าร้าง", "name_en": "Divorced"},
    {"code": "P", "name_th": "แยกกันอยู่", "name_en": "Separated"},
    {"code": "U", "name_th": "ไม่ระบุ", "name_en": "Unknown"}
  ]
}

ศาสนา (Religion)

{
  "religions": [
    {"id": "01", "name_th": "พุทธ", "name_en": "Buddhist"},
    {"id": "02", "name_th": "คริสต์", "name_en": "Christian"},
    {"id": "03", "name_th": "อิสลาม", "name_en": "Islam"},
    {"id": "04", "name_th": "ฮินดู", "name_en": "Hindu"},
    {"id": "05", "name_th": "ซิกข์", "name_en": "Sikh"},
    {"id": "99", "name_th": "อื่นๆ", "name_en": "Other"},
    {"id": "00", "name_th": "ไม่นับถือศาสนา", "name_en": "No Religion"}
  ]
}

2. ข้อมูลที่อยู่และภูมิศาสตร์ (Geographic Data)

ภูมิภาค (Region)

{
  "regions": [
    {"id": "1", "name_th": "ภาคเหนือ", "name_en": "Northern"},
    {"id": "2", "name_th": "ภาคกลาง", "name_en": "Central"},
    {"id": "3", "name_th": "ภาคตะวันออกเฉียงเหนือ", "name_en": "Northeastern"},
    {"id": "4", "name_th": "ภาคตะวันออก", "name_en": "Eastern"},
    {"id": "5", "name_th": "ภาคตะวันตก", "name_en": "Western"},
    {"id": "6", "name_th": "ภาคใต้", "name_en": "Southern"}
  ]
}

3. สัญชาติและเชื้อชาติ (Nationality & Ethnicity)

สัญชาติ (Nationality)

{
  "nationalities": [
    {"code": "TH", "name_th": "ไทย", "name_en": "Thai", "iso3": "THA"},
    {"code": "CN", "name_th": "จีน", "name_en": "Chinese", "iso3": "CHN"},
    {"code": "MM", "name_th": "พม่า", "name_en": "Myanmar", "iso3": "MMR"},
    {"code": "LA", "name_th": "ลาว", "name_en": "Lao", "iso3": "LAO"},
    {"code": "KH", "name_th": "กัมพูชา", "name_en": "Cambodian", "iso3": "KHM"},
    {"code": "00", "name_th": "ไร้สัญชาติ", "name_en": "Stateless", "iso3": "XXX"}
  ]
}

4. การศึกษาและอาชีพ (Education & Occupation)

ระดับการศึกษา (Education Level)

{
  "education_levels": [
    {"code": "00", "name_th": "ไม่ได้รับการศึกษา", "name_en": "No Education", "order": 1},
    {"code": "01", "name_th": "อนุบาล", "name_en": "Kindergarten", "order": 2},
    {"code": "02", "name_th": "ประถมศึกษา", "name_en": "Primary", "order": 3},
    {"code": "03", "name_th": "มัธยมศึกษาตอนต้น", "name_en": "Lower Secondary", "order": 4},
    {"code": "04", "name_th": "มัธยมศึกษาตอนปลาย/ปวช.", "name_en": "Upper Secondary", "order": 5},
    {"code": "05", "name_th": "อนุปริญญา/ปวส.", "name_en": "Diploma", "order": 6},
    {"code": "06", "name_th": "ปริญญาตรี", "name_en": "Bachelor", "order": 7},
    {"code": "07", "name_th": "ปริญญาโท", "name_en": "Master", "order": 8},
    {"code": "08", "name_th": "ปริญญาเอก", "name_en": "Doctorate", "order": 9}
  ]
}

กลุ่มอาชีพ (Occupation Group)

{
  "occupation_groups": [
    {"code": "01", "name_th": "ข้าราชการ/พนักงานรัฐวิสาหกิจ", "name_en": "Government Officer"},
    {"code": "02", "name_th": "พนักงานบริษัท", "name_en": "Company Employee"},
    {"code": "03", "name_th": "ธุรกิจส่วนตัว/ค้าขาย", "name_en": "Business Owner"},
    {"code": "04", "name_th": "เกษตรกรรม", "name_en": "Farmer"},
    {"code": "05", "name_th": "รับจ้างทั่วไป", "name_en": "Laborer"},
    {"code": "06", "name_th": "นักเรียน/นักศึกษา", "name_en": "Student"},
    {"code": "07", "name_th": "พระภิกษุ/นักบวช", "name_en": "Monk/Clergy"},
    {"code": "08", "name_th": "ว่างงาน", "name_en": "Unemployed"},
    {"code": "09", "name_th": "แม่บ้าน", "name_en": "Housewife"},
    {"code": "10", "name_th": "เกษียณ", "name_en": "Retired"}
  ]
}

5. ประเภทผู้ป่วย (Patient Type)

ประเภทผู้ป่วย

{
  "patient_types": [
    {"code": "OPD", "name_th": "ผู้ป่วยนอก", "name_en": "Outpatient"},
    {"code": "IPD", "name_th": "ผู้ป่วยใน", "name_en": "Inpatient"},
    {"code": "ER", "name_th": "ผู้ป่วยฉุกเฉิน", "name_en": "Emergency"},
    {"code": "ACC", "name_th": "ผู้ป่วยอุบัติเหตุ", "name_en": "Accident"},
    {"code": "CHK", "name_th": "ตรวจสุขภาพ", "name_en": "Check-up"}
  ]
}

ประเภทการมารับการรักษา

{
  "visit_types": [
    {"code": "N", "name_th": "ใหม่", "name_en": "New"},
    {"code": "F", "name_th": "เก่า", "name_en": "Follow-up"},
    {"code": "A", "name_th": "นัดหมาย", "name_en": "Appointment"},
    {"code": "W", "name_th": "Walk-in", "name_en": "Walk-in"}
  ]
}

6. ข้อมูลการแพทย์ (Medical Information) - ส่วนที่เหลือ

หมายเหตุ: ข้อมูลการแพ้ยาได้ถูกย้ายไประบบเภสัชกรรม (1.2.13) แล้ว

6. ความสัมพันธ์ (Relationship)

ความสัมพันธ์กับผู้ป่วย

{
  "relationships": [
    {"code": "FA", "name_th": "บิดา", "name_en": "Father"},
    {"code": "MO", "name_th": "มารดา", "name_en": "Mother"},
    {"code": "SP", "name_th": "คู่สมรส", "name_en": "Spouse"},
    {"code": "CH", "name_th": "บุตร/ธิดา", "name_en": "Child"},
    {"code": "SIB", "name_th": "พี่/น้อง", "name_en": "Sibling"},
    {"code": "GP", "name_th": "ปู่/ย่า/ตา/ยาย", "name_en": "Grandparent"},
    {"code": "REL", "name_th": "ญาติ", "name_en": "Relative"},
    {"code": "FR", "name_th": "เพื่อน", "name_en": "Friend"},
    {"code": "EMP", "name_th": "นายจ้าง", "name_en": "Employer"},
    {"code": "OTH", "name_th": "อื่นๆ", "name_en": "Other"}
  ]
}

7. การมารับการรักษา (Visit/Admission)

ช่องทางการมา (Arrival Mode)

{
  "arrival_modes": [
    {"code": "SELF", "name_th": "มาเอง", "name_en": "Walk-in"},
    {"code": "AMB", "name_th": "รถพยาบาล", "name_en": "Ambulance"},
    {"code": "REF", "name_th": "ส่งต่อจาก รพ.อื่น", "name_en": "Referred"},
    {"code": "POL", "name_th": "ตำรวจส่ง", "name_en": "Police"},
    {"code": "OTH", "name_th": "อื่นๆ", "name_en": "Other"}
  ]
}

สาเหตุจำหน่าย (Discharge Type)

{
  "discharge_types": [
    {"code": "HOME", "name_th": "กลับบ้าน", "name_en": "Discharge Home"},
    {"code": "TRANS", "name_th": "ย้าย รพ.", "name_en": "Transfer"},
    {"code": "ESC", "name_th": "หนี", "name_en": "Escape"},
    {"code": "AMA", "name_th": "ขอกลับ", "name_en": "Against Medical Advice"},
    {"code": "DEATH", "name_th": "เสียชีวิต", "name_en": "Death"},
    {"code": "REF", "name_th": "ส่งต่อ", "name_en": "Refer"}
  ]
}

8. ระบบนัดหมาย (Appointment)

ประเภทการนัด

{
  "appointment_types": [
    {"code": "FU", "name_th": "นัดตรวจ", "name_en": "Follow-up", "color": "#2196F3"},
    {"code": "MED", "name_th": "นัดรับยา", "name_en": "Medication", "color": "#4CAF50"},
    {"code": "PROC", "name_th": "นัดทำหัตถการ", "name_en": "Procedure", "color": "#FF9800"},
    {"code": "SURG", "name_th": "นัดผ่าตัด", "name_en": "Surgery", "color": "#F44336"},
    {"code": "VAC", "name_th": "นัดฉีดวัคซีน", "name_en": "Vaccination", "color": "#9C27B0"},
    {"code": "LAB", "name_th": "นัดตรวจแล็บ", "name_en": "Lab Test", "color": "#00BCD4"}
  ]
}

สถานะการนัด

{
  "appointment_status": [
    {"code": "PEN", "name_th": "รอยืนยัน", "name_en": "Pending", "color": "#FFC107"},
    {"code": "CON", "name_th": "ยืนยันแล้ว", "name_en": "Confirmed", "color": "#4CAF50"},
    {"code": "ARR", "name_th": "มาตามนัด", "name_en": "Arrived", "color": "#2196F3"},
    {"code": "NS", "name_th": "ไม่มาตามนัด", "name_en": "No Show", "color": "#F44336"},
    {"code": "CAN", "name_th": "ยกเลิก", "name_en": "Cancelled", "color": "#9E9E9E"},
    {"code": "RES", "name_th": "เลื่อน", "name_en": "Rescheduled", "color": "#FF9800"}
  ]
}

9. หน่วยงาน/แผนก (Department/Clinic)

แผนกผู้ป่วยนอก

{
  "opd_departments": [
    {"code": "MED", "name_th": "อายุรกรรม", "name_en": "Internal Medicine"},
    {"code": "SUR", "name_th": "ศัลยกรรม", "name_en": "Surgery"},
    {"code": "OBG", "name_th": "สูติ-นรีเวชกรรม", "name_en": "Obstetrics & Gynecology"},
    {"code": "PED", "name_th": "กุมารเวชกรรม", "name_en": "Pediatrics"},
    {"code": "ORT", "name_th": "ออร์โธปิดิกส์", "name_en": "Orthopedics"},
    {"code": "OPH", "name_th": "จักษุ", "name_en": "Ophthalmology"},
    {"code": "ENT", "name_th": "หู คอ จมูก", "name_en": "ENT"},
    {"code": "DEN", "name_th": "ทันตกรรม", "name_en": "Dental"},
    {"code": "PSY", "name_th": "จิตเวช", "name_en": "Psychiatry"},
    {"code": "REH", "name_th": "เวชศาสตร์ฟื้นฟู", "name_en": "Rehabilitation"}
  ]
}

หอผู้ป่วย (Ward)

{
  "wards": [
    {"code": "MW1", "name_th": "หอผู้ป่วยอายุรกรรมชาย", "name_en": "Male Medical Ward"},
    {"code": "FW1", "name_th": "หอผู้ป่วยอายุรกรรมหญิง", "name_en": "Female Medical Ward"},
    {"code": "SW1", "name_th": "หอผู้ป่วยศัลยกรรม", "name_en": "Surgical Ward"},
    {"code": "OBW", "name_th": "หอผู้ป่วยสูติกรรม", "name_en": "Obstetric Ward"},
    {"code": "PW", "name_th": "หอผู้ป่วยกุมารเวชกรรม", "name_en": "Pediatric Ward"},
    {"code": "ICU", "name_th": "หอผู้ป่วยวิกฤต", "name_en": "Intensive Care Unit"},
    {"code": "CCU", "name_th": "หอผู้ป่วยหัวใจวิกฤต", "name_en": "Cardiac Care Unit"},
    {"code": "NICU", "name_th": "หอผู้ป่วยทารกแรกเกิดวิกฤต", "name_en": "Neonatal ICU"},
    {"code": "VIP", "name_th": "หอผู้ป่วยพิเศษ", "name_en": "VIP Ward"}
  ]
}

10. ประเภทเอกสาร (Document Type)

เอกสารผู้ป่วย

{
  "patient_documents": [
    {"code": "ID", "name_th": "บัตรประจำตัวประชาชน", "name_en": "National ID Card"},
    {"code": "HR", "name_th": "ทะเบียนบ้าน", "name_en": "House Registration"},
    {"code": "PP", "name_th": "หนังสือเดินทาง", "name_en": "Passport"},
    {"code": "DL", "name_th": "ใบขับขี่", "name_en": "Driver License"},
    {"code": "BC", "name_th": "สูติบัตร", "name_en": "Birth Certificate"},
    {"code": "MC", "name_th": "ทะเบียนสมรส", "name_en": "Marriage Certificate"},
    {"code": "DC", "name_th": "ใบมรณบัตร", "name_en": "Death Certificate"}
  ]
}

เอกสารการแพทย์

{
  "medical_documents": [
    {"code": "MC", "name_th": "ใบรับรองแพทย์", "name_en": "Medical Certificate"},
    {"code": "REF", "name_th": "ใบส่งตัว", "name_en": "Referral Letter"},
    {"code": "LAB", "name_th": "ผลตรวจแล็บ", "name_en": "Lab Result"},
    {"code": "XR", "name_th": "ผล X-Ray", "name_en": "X-Ray Result"},
    {"code": "OR", "name_th": "รายงานผ่าตัด", "name_en": "Operation Report"},
    {"code": "NR", "name_th": "บันทึกการพยาบาล", "name_en": "Nursing Record"},
    {"code": "DS", "name_th": "ใบสรุปการรักษา", "name_en": "Discharge Summary"}
  ]
}

🔗 Check List สำหรับ API Integration

API Endpoints Configuration

  • ตั้งค่า URL ของระบบต่างๆ:
  • 1.2.3 ระบบห้องตรวจแพทย์
  • 1.2.13 ระบบเภสัชกรรม
  • 1.2.14 ระบบการเงิน
  • 1.2.15 ระบบตรวจสอบสิทธิ
  • กำหนด Authentication และ Authorization
  • ตั้งค่า Timeout และ Retry Configuration
  • ทดสอบการเชื่อมต่อของทุก Endpoint

Data Sharing Configuration

  • กำหนด Shared Database Schema สำหรับข้อมูลผู้ป่วย
  • สร้าง Database Views สำหรับระบบอื่น
  • กำหนด Data Synchronization Schedule
  • ทดสอบ Data Consistency ระหว่างระบบ

Error Handling & Monitoring

  • ตั้งค่า Error Logging และ Alerting
  • สร้าง Health Check Endpoints
  • กำหนด Performance Monitoring
  • ทดสอบ Failover และ Recovery Procedures

Security & Compliance

  • สร้าง API Security Tokens
  • กำหนด Rate Limiting
  • เข้ารหัสข้อมูล (Encryption at rest and in transit)
  • ตรวจสอบ Data Privacy Compliance

การนำเข้าและการรักษา Master Data

Check List การนำเข้า

  • ตรวจสอบและนำเข้ารหัสโรค ICD-10 ทุก 6 เดือน
  • นำเข้ารหัสหัตถการ ICD-9-CM ตามประกาศกระทรวง
  • ปรับปรุงรายการยาตามบัญชียาหลักแห่งชาติ
  • นำเข้าข้อมูลจังหวัด/อำเภอ/ตำบล ตามกรมการปกครอง
  • ตรวจสอบ Version นำมาตรฐาน HL7 FHIR

Check List การตรวจสอบ

  • Validate รหัสไปรษณีย์กับข้อมูลไปรษณีย์ไทย
  • ตรวจสอบความถูกต้องของข้อมูล
  • สร้าง Foreign Key Constraints
  • ตรวจสอบ Data Integrity
  • Validate JSON Schema

Check List Backup และ Recovery

  • Backup Master Data ทุกวัน
  • ทดสอบ Recovery Process ทุกเดือน
  • เก็บ Version History ของการเปลี่ยนแปลง
  • ใช้ Audit Trail สำหรับการแก้ไข Master Data

มาตรฐานการเชื่อมโยงข้อมูล

รหัสมาตรฐานที่ต้องเชื่อมต่อ

  • ICD-10 - International Classification of Diseases
  • ICD-9-CM - หัตถการทางการแพทย์
  • TMT - Thai Medicines Terminology
  • LOINC - Lab Result Code
  • SNOMED CT - Clinical Terms
  • HL7 FHIR - Healthcare Data Exchange

Check List การ Mapping

  • Map รหัสภายในกับรหัสมาตรฐาน
  • สร้างตาราง Cross-reference Table
  • ใช้ Data Dictionary
  • จัดทำ Documentation การ Mapping

Check List การติดตั้ง Master Data

Initial Setup

  • Import ข้อมูลจังหวัด/อำเภอ/ตำบล การปกครอง
  • Import รหัส ICD-10 ฉบับล่าสุด
  • Import รหัส ICD-9-CM ตามกระทรวง
  • Setup คำนำหน้าชื่อตามมาตรฐานราชการ
  • จัดทำ Default Values สำหรับ Required Fields
  • Load JSON files ของ Master Data

Data Validation Rules

  • เลขบัตรประชาชน 13 หลัก (Check Digit)
  • รูปแบบหมายเลขโทรศัพท์ (0xx-xxx-xxxx)
  • รูปแบบ Email Address (regex validation)
  • วันเดือนปีเกิด (ไม่เกินวันที่ปัจจุบัน)
  • ความสัมพันธ์ระหว่างจังหวัด-อำเภอ-ตำบล-รหัสไปรษณีย์

Performance Optimization

  • สร้างตาราง Index สำหรับ Lookup Fields
  • Implement Caching สำหรับ Static Data
  • Lazy Loading สำหรับ Large Datasets
  • Pagination สำหรับ List Views
  • Minify JSON files for production

หมายเหตุ

การใช้งาน JSON Files (สำหรับระบบเวชระเบียนหลัก)

  1. Master Data สำหรับระบบเวชระเบียนควรเก็บใน JSON ที่แยกกัน
  2. ใช้ id หรือ code เป็น Primary Key
  3. เชื่อมต่อต้องมีชื่อภาษาไทย (name_th) และอังกฤษ (name_en)
  4. มี display_order สำหรับการเรียงลำดับการแสดงผล
  5. มี is_active flag สำหรับ enable/disable รายการ

การแยกระบบและ API Integration

การปรับปรุงนี้เน้นให้ระบบเวชระเบียนมีหน้าที่เฉพาะเป็น Core System ที่จัดการข้อมูลผู้ป่วยหลักและเชื่อมต่อกับระบบเฉพาะทางอื่นๆ ผ่าน API Integration เพื่อ:

  1. ลดการซ้ำซ้อน - ข้อมูลที่ซ้ำกันในหลายระบบ
  2. เพิ่มประสิทธิภาพ - การเชื่อมต่อและแบ่งปันข้อมูล
  3. ง่ายต่อการพัฒนา - ระบบเฉพาะทางบางอย่างไม่จำเป็นต้องพัฒนาใหม่
  4. เพิ่มความเสถียร - ลด Single Point of Failure
  5. ให้ครอบคลุมตาม TOR - แต่ละระบบมีหน้าที่ชัดเจน

Best Practices (สำหรับระบบเวชระเบียนหลัก)

  1. Version Control สำหรับ JSON files และ API configurations
  2. Validate JSON structure ก่อน deploy
  3. Cache frequently used data ใน Redis หรือ Memory
  4. Log การเปลี่ยนแปลงทุกครั้งใน SYSTEM_INTEGRATION_LOG
  5. Monitor API response times และ error rates
  6. Implement circuit breaker pattern สำหรับ API calls

เอกสารนี้จัดทำขึ้นเพื่อใช้ในการพัฒนาระบบเวชระเบียนหลัก (Core Medical Record System) สำหรับโรงพยาบาลค่ายธนรัชน์ และต้องได้รับการอนุมัติจากผู้มีอำนาจก่อนนำไปใช้ในการพัฒนาระบบ