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)
- INSURANCE_TYPE - ประเภทสิทธิการรักษา → Check List Master Data - ระบบตรวจสอบสิทธิ
- RIGHTS_VALIDATION - การยืนยันสิทธิออนไลน์
➡️ ระบบห้องตรวจแพทย์ (1.2.3)
- QUEUE_MANAGEMENT - การจัดการคิวรายละเอียด → Check List Master Data - ระบบห้องตรวจแพทย์
- EXAM_RESULT - ผลการตรวจและรายละเอียด
หมายเหตุ: ระบบเวชระเบียนหลักจะเชื่อมต่อกับระบบเหล่านี้ผ่าน 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 (สำหรับระบบเวชระเบียนหลัก)
- Master Data สำหรับระบบเวชระเบียนควรเก็บใน JSON ที่แยกกัน
- ใช้
idหรือcodeเป็น Primary Key - เชื่อมต่อต้องมีชื่อภาษาไทย (
name_th) และอังกฤษ (name_en) - มี
display_orderสำหรับการเรียงลำดับการแสดงผล - มี
is_activeflag สำหรับ enable/disable รายการ
การแยกระบบและ API Integration
การปรับปรุงนี้เน้นให้ระบบเวชระเบียนมีหน้าที่เฉพาะเป็น Core System ที่จัดการข้อมูลผู้ป่วยหลักและเชื่อมต่อกับระบบเฉพาะทางอื่นๆ ผ่าน API Integration เพื่อ:
- ลดการซ้ำซ้อน - ข้อมูลที่ซ้ำกันในหลายระบบ
- เพิ่มประสิทธิภาพ - การเชื่อมต่อและแบ่งปันข้อมูล
- ง่ายต่อการพัฒนา - ระบบเฉพาะทางบางอย่างไม่จำเป็นต้องพัฒนาใหม่
- เพิ่มความเสถียร - ลด Single Point of Failure
- ให้ครอบคลุมตาม TOR - แต่ละระบบมีหน้าที่ชัดเจน
Best Practices (สำหรับระบบเวชระเบียนหลัก)
- Version Control สำหรับ JSON files และ API configurations
- Validate JSON structure ก่อน deploy
- Cache frequently used data ใน Redis หรือ Memory
- Log การเปลี่ยนแปลงทุกครั้งใน SYSTEM_INTEGRATION_LOG
- Monitor API response times และ error rates
- Implement circuit breaker pattern สำหรับ API calls
เอกสารนี้จัดทำขึ้นเพื่อใช้ในการพัฒนาระบบเวชระเบียนหลัก (Core Medical Record System) สำหรับโรงพยาบาลค่ายธนรัชน์ และต้องได้รับการอนุมัติจากผู้มีอำนาจก่อนนำไปใช้ในการพัฒนาระบบ