← บันทึกการใช้งาน

delete · ok

2026-10-14 22:07:29 · เครื่อง 127.0.0.1 · งาน #8

คำขอ / คำสั่ง

สวัสดี

รายละเอียด

{
 "in_ehp": false,
 "name": "CUSTOM-EHP-REPORT-AI-\u0e2a\u0e27\u0e31\u0e2a\u0e14\u0e35"
}

prompt ที่ส่งให้ AI (2 ครั้ง ใน 3 นาทีก่อนหน้า)

2026-10-14 22:07:17 · draft · 4.7 วินาที · prompt 10,334 ตัวอักษร

messages

[{"role": "system", "content": "คุณเขียน SQL (MySQL 8) สำหรับรายงาน HOSxP/EHP จากคำขอภาษาไทย\n- SELECT เดียว ห้ามมี ; ห้ามแก้ข้อมูล\n- ถ้ามีช่วงวันที่ ใช้ parameter :date1 และ :date2 เท่านั้น\n- ใช้เฉพาะตาราง/คอลัมน์ที่อยู่ในรายการ \"ตาราง/คอลัมน์ที่มีจริง\" ด้านล่าง (อ่านคำอธิบายตารางก่อนเลือก)\n- ตัวอย่างรายงานจริงใช้ดูรูปแบบ join/เงื่อนไขเท่านั้น\n- ทุกคอลัมน์ต้องมี alias เป็นภาษาอังกฤษ a-z0-9_ เท่านั้น (ห้าม alias ภาษาไทย ห้ามใส่ quote)\n- columns: field = alias ทุกตัวใน select (ตามลำดับ) พร้อมหัวคอลัมน์ (caption) ภาษาไทยสั้นๆ\n- ถ้า SELECT เดียวทำไม่ได้ (เช่น วนทุกหน่วยบริการในจังหวัดแล้วนับในฐานข้อมูลของแต่ละหน่วย หรือแต่ละแถวต้องคิวรี่แยก)\n  ให้ทำแบบ *clientdataset: sql = รายการแถว และต้องมีคอลัมน์รอค่าไว้ก่อน (0 as visits / 0.00 as price / '' as note),\n  per_row = ขั้นที่เติมค่าทีละแถว {field, kind: integer|double|string, sql: SELECT ที่คืนค่าเดียว}\n  ใน sql ของ per_row ใช้ {ชื่อคอลัมน์} แทนค่าจากแถวนั้น เช่น select count(*) from {db_name}.ovst where vstdate between :date1 and :date2\n  ค่าข้อความต้องครอบ quote เอง เช่น where pttype = '{pttype}' (ชื่อฐานข้อมูล/ตาราง เช่น {db_name}.ovst ไม่ต้องครอบ)\n  รายชื่อหน่วยบริการทั้งจังหวัดอยู่ที่ ehp_report.ehp_hospcode (HospitalCode, HospitalName, TableSchema = ชื่อฐานข้อมูลของหน่วย,\n  amppart, amppart_name, chwpart) จังหวัดของเราคือ (select chwpart from hospcode where hospcode = (select hospitalcode from opdconfig))\n  ห้ามเปลี่ยน ehp_report.ehp_hospcode เป็นตารางอื่น ; รายงานทั่วไปให้ per_row = []\n- ช่องให้ผู้ใช้กรอกตอนพิมพ์ (เช่น คำค้นชื่อยา): inputs = [{name: a-z0-9_ เช่น keyword, label: ข้อความถามภาษาไทย, sample: ค่าตัวอย่าง}]\n  ใน SQL ใช้ :name นอก quote เท่านั้น เช่น drugitems.name like concat('%', :keyword, '%')\n  ห้ามเขียน '%:keyword%' (อยู่ใน quote จะไม่ถูกแทนค่า) ; ไม่มีช่องกรอกให้ inputs = []\nตัวอย่างรายงานจริง:\n-- CUSTOM-EHP-REPORT-PCU-สปภ 02-1 - การให้บริการ(ทุกประเภท)\nselect * from tempreport limit 0\r\n\n\n-- CUSTOM-EHP-REPORT-รายงานสปภ 02-1 การให้บริการจำแนกตามสิทธิการรักษา-(ระบุแยกในนอกทั้งหมด)\nselect * from tempreport limit 0\r\n\n\n-- CUSTOM-EHP-REPORT-สปภ 02-1(ทั้งหมด.)\nSELECT *\r\nFROM pcode\r\n\n\nตาราง/คอลัมน์ที่มีจริง:\ntempreport(reportname, id, name, name1, name2, name3, name4, name5, name6, name7, name8, name9, date1, date2, date3, date4, mon, mon1, mon2, mon3, mon4, mon5, mon6, mon7, mon8, mon9, mon10, mon11, mon12, mon13, mon14, mon15, mon16, mon17, mon18, mon19, mon20, num, num1, num2)\npcode(code, name, age_min, age_max, hos_guid, hos_guid_ext)\novst(hos_guid, vn, hn, an, vstdate, vsttime, doctor, hospmain, hospsub, oqueue, ovstist, ovstost, pttype, pttypeno, rfrics, rfrilct, rfrocs, rfrolct, spclty, rcpt_disease, hcode, cur_dep, cur_dep_busy, last_dep, cur_dep_time, rx_queue, diag_text, pt_subtype, main_dep, main_dep_queue, finance_summary_date, visit_type, node_id, contract_id, waiting, rfri_icd10, o_refer_number, has_insurance, i_refer_number, refer_type)\nvn_stat(vn, hn, pdx, gr504, lastvisit, accident_code, dx_doctor, dx0, dx1, dx2, dx3, dx4, dx5, sex, age_y, age_m, age_d, aid, moopart, count_in_month, count_in_year, pttype, income, paid_money, remain_money, uc_money, item_money, dba, spclty, vstdate, op0, op1, op2, op3, op4, op5, rcp_no, print_count, print_done, pttype_in_region)\npatient(hos_guid, hn, pname, fname, lname, occupation, citizenship, birthday, addrpart, moopart, tmbpart, amppart, chwpart, bloodgrp, clinic, deathday, drugallergy, familyno, fathername, firstday, hometel, informaddr, informname, informrelation, informtel, marrystatus, mathername, hn_int, nationality, opdlocation, pttype, religion, sex, spsname, truebirthday, workaddr, worktel, hcode, cid, hid)\nperson(person_id, house_id, cid, pname, fname, lname, pcode, sex, nationality, citizenship, education, occupation, religion, marrystatus, house_regist_type_id, birthdate, has_house_regist, chronic_disease_list, club_list, village_id, blood_group, current_age, death_date, hos_guid, income_per_year, home_position_id, family_position_id, drug_allergy, last_update, death, pttype, pttype_begin_date, pttype_expire_date, pttype_hospmain, pttype_hospsub, father_person_id, mother_person_id, pttype_no, sps_person_id, birthtime)\npttype(pttype, name, editmask, isuse, pcode, requirecode, doctor_fee, fee_code, discount, contract, paidst, in_region, uc, require_hcode, oldcode, fee_code2, price_type, debtor, noexpire, hipdata_code, min_age, max_age, bill_sss, bill_type, hipdata_pttype, use_contract_id, yearly_charge, yearly_charge_icode1, yearly_charge_icode2, region_type, pttype_group1, pttype_group2, pttype_guid, max_debt_money, allow_finance_edit, print_csmb_statement, pttype_information, fee_code_paidst, fee_code2_paidst, debt_due_day)\nopdscreen(hos_guid, vn, hn, vstdate, vsttime, begintime, outtime, endtime, bpd, bps, bw, cc, hr, pe, pulse, temperature, note, rr, cc_begin_date, cc_cause_of_visit, cc_sign, cc_duration, cc_position, cc_note, his_begin_date, his_frequency, his_severity, his_cause, his_expand, his_cause_increase, his_cause_decrease, his_related_sign, height, screen_dep, waiting, fbs, help1, help2, help3, help4)\novstdiag(ovst_diag_id, vn, icd10, hn, vstdate, vsttime, diagtype, icd103, hcode, doctor, episode, ext_code, hos_guid, dep_flag, ovst_oper_type, staff, dx_guid, lock_dx, dx_code_note, ovstdiag_severe_type_id, diag_no, update_datetime, confirm, confirm_staff, opi_guid, sct_id, icd11)\nicd101(code, name, spclty, tname, code3, code4, code5, sex, ipd_valid, icd10compat, icd10tmcompat, active_status, hos_guid, hos_guid_ext)\nspclty(spclty, name, depcode, ovstostlink, spname, shortname, ill_visit, spclty_guid, no_service_charge, no_service_charge_doctor, oldcode, nhso_code, operation, provis_code, hos_guid, no_export_43, display_order, allow_online_appointment, active_status)\ndoctor(code, name, shortname, licenseno, department, jobposition, active, force_diagnosis, oldcode, search_keyword, cid, position_id, addrpart, moopart, zoipart, roadpart, tmbpart, amppart, chwpart, nationality, doctor_guid, allow_df_edit, force_icd_diagnosis, ename, spclty, clinic, doctor_department_id, name_soundex, chronic_staff, hos_guid, provider_type_code, sex, council_code, birth_date, start_date, finish_date, move_from_hospcode, move_to_hospcode, update_datetime, pname)\n\nเอกสารออกแบบ HOSxP (ความหมายของตาราง/คอลัมน์):\n[คู่มือการใช้ระบบงานเวชระเบียนและสถิติ.ocr.md]\n06:34 น. * สิทธิการรักษา: ผู้ป่วยการ, ห้อง 002, ต้องตรวจโควิด 2 * ข้อมูลสัญญาณชีพ: * อุณหภูมิ: 38.5 °C * น้ำหนัก: 35.0 กก. * ส่วนสูง: 134.0 ซม. * BMI: 19.5 kg/m² * ความดันโลหิต: 166 / 103 mmHg * ชีพจร: 98 bpm * O2sat: 97 * Qrisk3: (ว่าง) * AST: 274 U/L, ALT: 249 U/L **ส่วนเมนูและการนำทาง (ด้านซ้ายและกลาง):** * แถบเมนูด้านซ้ายมีรายการต่างๆ เช่น การรับผู้ป่วย, การรับ Admit, Progress note, การสั่งยา, Med Profile, การส่ง Lab, และอื่นๆ * แถบแท็บด้านบนของพื้นที่ทำงานหลักประกอบด้วย: ข้อมูลการ Admit, การรับผู้ป่วย, การตรวจวินิจฉัยโรค, การสั่ง Admit, การสั่งตรวจ, การรับคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา, การส่งคืนยา,"}, {"role": "user", "content": "สวัสดี"}]

คำตอบ

{"title": "สวัสดี", "sql": "select 'สวัสดี' as greeting", "columns": [{"field": "greeting", "caption": "คำทักทาย"}]}
2026-10-14 22:06:57 · rerank · 1.4 วินาที · prompt 725 ตัวอักษร

messages

[{"role": "system", "content": "เลือกรายงานที่ตรงกับคำขอที่สุด ตอบเป็นเลขลำดับ"}, {"role": "user", "content": "คำขอ: สวัสดี\n0. CUSTOM-EHP-REPORT-PCU-สปภ 02-1 - การให้บริการ(ทุกประเภท) — PCU-สปภ 02-1 - การให้บริการ(ทุกประเภท)\n1. CUSTOM-EHP-REPORT-รายงานสปภ 02-1 การให้บริการจำแนกตามสิทธิการรักษา-(ระบุแยกในนอกทั้งหมด) — รายงาน สปภ 02/1 การให้บริการจำแนกตามสิทธิการรักษา-(ระบุแยกในนอกทั้งหมด)\n2. CUSTOM-EHP-REPORT-สปภ 02-1(ทั้งหมด.) — สปภ 02-1(ทั้งหมด)\n3. CUSTOM-รายงานความครอบคลุมหลักประกันสุขภาพของประชาชน รายหมู่บ้าน — รายงานความครอบคลุมหลักประกันสุขภาพของประชาชน รายหมู่บ้าน\n4. CUSTOM-EHP-REPORT-ข้อมูลการนัดหมาย ตามช่วงวันที่นัด แสดงรายละเอียดการนัดหมาย — ข้อมูลการนัดหมาย ตามช่วงวันที่นัด แสดงรายละเอียดการนัดหมาย"}]

คำตอบ

{"best": 0}