Internal · presented to management

รักษาความเย็น ตลอดทาง

ระบบตรวจสอบอุณหภูมิสิ่งส่งตรวจ (cold chain) สำหรับแผนกยานยนต์ BML — ข้อเสนอเข้าเฟสถัดไป

วันที่2 กันยายน 2569
ผู้เสนอทีม IT · แผนกยานยนต์
เวลาอ่าน~ 5 นาที
สถานะDraft v1 · Pilot ตุลาคม 2569
01 สถานการณ์วันนี้

สิ่งที่เกิดขึ้นแล้วในเดือนสิงหาคม

ทีมยานยนต์เริ่มติดเซนเซอร์อุณหภูมิ Bluetooth ในกล่อง cool box ตั้งแต่กลางเดือน — ข้อมูลจริง 3 สัปดาห์แรกอยู่ในตัวเลขนี้

19
แมสเซนเจอร์ที่ใช้เซนเซอร์
26
สายวิ่งประจำสัปดาห์
438
เที่ยวรถบันทึกอุณหภูมิแล้ว

แหล่งข้อมูล: data/trips/*.json · data/registry.json · Python watcher local (17 ส.ค. – 1 ก.ย. 2569)

02 ช่องว่างที่ยังเหลืออยู่

ข้อมูลมีครบ แต่ยังไม่มีใครดูได้ทันเวลา

ระบบปัจจุบัน sync ไฟล์ผ่าน Google Drive → พนักงานธุรการเปิดคอมพิวเตอร์ที่ออฟฟิศ 1 เครื่อง → รัน start_watcher.bat → เข้า dashboard local เท่านั้น เมื่อพนักงานกลับถึงออฟฟิศ อาจล่าช้าถึง 4-6 ชั่วโมง กว่าจะเห็นว่าเที่ยวไหนอุณหภูมิเกินเกณฑ์ ในบางกรณีสิ่งส่งตรวจถูกส่งเข้าแล็บและเริ่มวิเคราะห์แล้ว

สำหรับ ISO 15189 ที่แล็บต้องเก็บบันทึก cold chain ทุกเที่ยวและตรวจย้อนได้ ตอนนี้เรามีบันทึก — แต่ไม่ได้อยู่ในระบบกลางที่ผู้บริหาร ผู้ตรวจ QA และแมสเซนเจอร์เข้าถึงได้พร้อมกัน

สามช่องว่างสำคัญ

03 ตัวเลขที่ระบบใหม่จะแสดงหน้าแรกทุกวัน

Cold-chain compliance · 30 วันที่ผ่านมา

ค่านี้คำนวณจากทุก data point ที่เซนเซอร์อ่านได้ในช่วงเวลาสาย — ในเกณฑ์ 2.0 – 8.0 °C

96.4%
รายละเอียด · 17 ส.ค. – 1 ก.ย.
เที่ยวทั้งหมด
438
เที่ยว PASS
412
เที่ยว DEVIATION
26
Data point รวม
127,548
Point นอกเกณฑ์
4,584
Alert ค้างในระบบ
3
เกณฑ์: 2.0 – 8.0 °C (cold chain มาตรฐาน) ข้อมูล: sensor Bluetooth 4-ch, sync ผ่าน Google Drive
04 แยกตามสายวิ่ง

สายไหนต้องดูแลใกล้ชิด

สายวิ่งจริง 12 สายจาก 26 สาย เรียงตามจำนวนเที่ยว 30 วัน (บาง messenger รับหลายสายในวันเดียว)

PASS
สาย 1
กนกศักดิ์ · BML06
18เที่ยว · 0 deviation
PASS
สาย 3
พันกร · BML05
17เที่ยว · 0 deviation
1 DEVIATION
สาย 5
พิชิต · BML01
15เที่ยว · 1 warm spike
PASS
สาย F
พงศธร · BML13
16เที่ยว · 0 deviation
3 DEVIATION
พระโขนง
หมุนเวียน · multi
21เที่ยว · 3 excursion
PASS
พระราม 2
หมุนเวียน · multi
15เที่ยว · 0 deviation
2 DEVIATION
บางนา
หมุนเวียน · multi
20เที่ยว · 2 warm spike
PASS
นนทบุรี
หมุนเวียน · multi
13เที่ยว · 0 deviation
1 DEVIATION
บางกะปี 11 โมง
พูน · BML02
18เที่ยว · 1 warm spike
PASS
สายพิเศษ
กิตติภพ · BML15
19เที่ยว · 0 deviation
4 DEVIATION
ดิอาร์ท 20:00
กิตติ · BML10
17เที่ยว · 4 excursion
PASS
พหล-จรัญ
หมุนเวียน · multi
14เที่ยว · 0 deviation

แถบสีบนสุด: ■ เช้า · ■ กลางวัน · ■ ประจำ · ■ เย็น

05 กายวิภาคของ 1 เที่ยว

อ่านกราฟอุณหภูมิ 1 เที่ยว

เที่ยวจริงของ BML10 (กิตติ) วันที่ 16 สิงหาคม เส้นสีฟ้าคืออุณหภูมิใน cool box ทุก 1 นาที แถบเขียวคือช่วงปลอดภัย (2–8 °C) เส้นสีแดงคือช่วงที่หลุดออกจากเกณฑ์

รอบดิอาร์ท 20:00 · 16 ส.ค. 2569 Sensor BML10 · MAC 60B7633D1D51 · 202 data points
2.0 – 8.0 °C · SAFE 14 12 10 8 6 4 2 0 19:00 19:45 20:30 21:15 22:00 22:24 peak 11.4 °C · 21:32 เปิดฝา cool box กลับเปิดค้าง ~18 นาที
Min
3.8 °C
Max
11.4 °C
Average
6.2 °C
นอกเกณฑ์
18 นาที
Deviation · 16 ส.ค. 2569 · 21:20

สิ่งที่เกิดขึ้นจริง

ดิอาร์ท 20:00 โดย BML10 · กิตติ — ระหว่างจอดที่จุดรับสิ่งส่งตรวจจุดที่ 3 ผู้ประสานงานที่คลินิกขอตรวจของด้วย เปิดฝา cool box ค้างไว้ประมาณ 18 นาที อุณหภูมิพุ่งจาก 4.6 °C ไปสูงสุด 11.4 °C ก่อนปิดฝากลับ ใช้เวลา ~6 นาทีกว่าจะกลับเข้าเกณฑ์

ระบบตอนนี้ตรวจพบ หลังจาก กลับถึงออฟฟิศตอน 23:15 ห่างจากเหตุ 1 ชั่วโมง 55 นาที — ถ้าเป็นระบบใหม่ที่มี alert real-time ผู้ประสานงานที่แล็บจะได้รับ push notification ทันทีที่ผ่าน 8.0 °C และตัดสินใจว่าจะยอมรับสิ่งส่งตรวจเที่ยวนี้หรือขอเก็บใหม่ได้ก่อนที่พนักงานจะออกจากจุดนั้น

06 เครื่องมือของแมสเซนเจอร์

แอปในมือถือ · ไม่ต้องติดตั้งจาก store

เพราะเป็น PWA — เปิดจากเบราว์เซอร์ในมือถือ กด "Add to Home Screen"

  • ไม่ต้องผ่าน App Store · deploy พร้อมเว็บ อัปเดตทันที ไม่ต้องรอผู้ใช้กดอัปเดต
  • ทำงาน offline ได้ · รอบรถของวันเก็บไว้ในเครื่อง เพิ่งไม่มีเน็ตก็ยังกดสถานะได้ ระบบ sync เมื่อกลับ online
  • เข้ากล้องได้ · ถ่ายรูปเทอร์โมมิเตอร์ / ฉลาก / ใบรับ ส่งขึ้นระบบทันที (เป็น audit trail สำหรับ ISO 15189)
  • GPS ในตัว · ทุกครั้งที่กดสถานะ ระบบเก็บพิกัดพร้อมเวลา ป้องกันการกดปุ่มโดยไม่ได้อยู่หน้างานจริง
  • ประหยัดเวลาพัฒนา 10 เท่า · โค้ดชุดเดียวกับเว็บ ไม่ต้องมี dev iOS + Android แยก
07 ลำดับการทำงาน

6 เฟส · จบใน 12-14 สัปดาห์

แต่ละเฟสส่งของใช้ได้จริง ตรวจได้ก่อนไปเฟสถัดไป — ไม่ใช่ big-bang

01
โครงระบบ + schema

Next.js + Tailwind + Prisma · 13 ตาราง (user, messenger, vehicle, job, temperature, GPS, schedule, fuel, ...) พร้อมใช้

DONE
02
Login + หน้าคิวงาน Coordinator

Auth cookie ตามมาตรฐาน BML · sidebar 5 กลุ่ม · หน้า /transport/queue เห็นรอบรถวันนี้ · จ่ายงานได้

14 วัน
03
Mobile PWA · Temperature log · Specimen

หน้าคิวของแมสเซนเจอร์ในมือถือ · กด "รับเสร็จ" + บันทึกอุณหภูมิ + แนบรูปเทอร์โมมิเตอร์ · ระบบตัดสิน PASS/DEVIATION ทันที

เฟสเป้าหมาย
04
ลูกค้าคลินิก + Google Map

ฐานข้อมูลลูกค้าประจำ + พิกัด · แผนที่รวมทุกจุดรับ · วางแผนเวรรายสัปดาห์แบบลากวาง

21 วัน
05
Live GPS · ค่าน้ำมัน · Alert real-time

Coordinator เห็นตำแหน่งทุกคันบนแผนที่ · Push alert เมื่ออุณหภูมิเกิน · สรุปค่าน้ำมันสัปดาห์อัตโนมัติ

21 วัน
06
Docker deploy · integration กับเว็บหลัก

Deploy on-premise ในสำนักงาน · เข้า sidebar ของ dashboard.bangkok-medical-lab.com เป็นกลุ่มที่ 5

14 วัน
08 ผลที่คาดหวังหลังใช้จริง

ตัวเลขที่จะเปลี่ยนใน 3 เดือน

< 5นาที
Alert จากตอนนี้ 4-6 ชม.
100%
เที่ยวมี audit trail (ISO 15189)
0คน
ต้องเปิดคอมพิวเตอร์เฉพาะที่ออฟฟิศ

ขั้นตอนถัดไป

ขอเห็นชอบเข้าเฟส 3 (Mobile PWA + Temperature log) · pilot กับแมสเซนเจอร์ 2 คน 2 สัปดาห์ก่อน rollout เต็ม

งบประมาณ: ใช้ทรัพยากรที่มีอยู่ · Google Maps API key ~500 บาท/เดือน · hosting Cloudflare Pages ฟรี · ไม่มี license fee

ผู้จัดทำ

ทีม IT · แผนกยานยนต์ BML

เอกสารนี้เป็น web page — เข้าถึงได้ตลอด:
bml-transport.pages.dev

© 2569 Bangkok Medical Lab · Internal use Cold Chain Proposal · v1.0 · 2 ก.ย. 2569