ระดับความวิกฤตของเครื่องมือแพทย์¶
โมดูล ระดับความวิกฤตของเครื่องมือแพทย์ (roots_hemms_criticality) เพิ่ม การจำแนกแบบสองมิติ — ระดับมูลค่า × ระดับความเสี่ยง — ให้กับทุก ระเบียนของ maintenance.equipment เมทริกซ์ขนาด 3 × 3 ที่ตายตัวจะคำนวณ สีระดับความวิกฤต (เขียว / เหลือง / แดง) ซึ่งแสดงผลเป็นป้ายสัญญาณไฟ ในมุมมองฟอร์ม รายการ คัมบัง (kanban) และการค้นหา
นี่เป็นหนึ่งในโมดูลที่เล็กที่สุดของ HEMMS เมื่อนับจากจำนวนบรรทัด แต่เป็นหนึ่งใน โมดูลที่ถูกใช้งานมากที่สุด ทั้งขั้นตอนการซ่อม PM การตรวจสอบพัสดุ อะไหล่ และ HA Annual PM Report ต่างก็อ่านฟิลด์ระดับความวิกฤตที่โมดูลนี้เพิ่มเข้ามา
คุณสมบัติหลัก¶
1. ฟิลด์ selection แบบกำหนดเองสองฟิลด์¶
maintenance.equipment ทุกชิ้นจะได้รับฟิลด์ selection ที่จำเป็นต้องกรอกสองฟิลด์ ซึ่งทั้งคู่มีค่าเริ่มต้นเป็น medium เพื่อไม่ให้ระเบียนถูกจำแนกผิดอย่างเงียบ ๆ:
roots_value_tier— มูลค่าต่ำ / มูลค่าปานกลาง / มูลค่าสูง (มุมมองด้านการเงิน / ต้นทุนการทดแทน)roots_risk_tier— ความเสี่ยงต่ำ / ความเสี่ยงปานกลาง / ความเสี่ยงสูง (มุมมอง ด้านความเสี่ยงทางคลินิก — จะเกิดอะไรขึ้นกับผู้ป่วยหากเครื่องมือแพทย์ขัดข้อง)
ทั้งสองฟิลด์ตั้งค่า tracking=True ดังนั้นทุกการเปลี่ยนแปลงจะถูกบันทึกลงใน chatter ของเครื่องมือแพทย์พร้อมการเปลี่ยนผ่านจากค่าเก่า → ค่าใหม่
2. เมทริกซ์ระดับความวิกฤตขนาด 3 × 3¶
roots_criticality_color เป็นฟิลด์ที่คำนวณได้ จัดเก็บ และมีดัชนี การจับคู่ ถูกกำหนดตายตัวในโค้ดและผู้ใช้แก้ไขไม่ได้:
| มูลค่า ↓ ความเสี่ยง → | ความเสี่ยงต่ำ | ความเสี่ยงปานกลาง | ความเสี่ยงสูง |
|---|---|---|---|
| มูลค่าสูง | 🟡 เหลือง | 🔴 แดง | 🔴 แดง |
| มูลค่าปานกลาง | 🟢 เขียว | 🟡 เหลือง | 🔴 แดง |
| มูลค่าต่ำ | 🟢 เขียว | 🟢 เขียว | 🟡 เหลือง |
ความเสี่ยงเป็นตัวนำ: สิ่งใดก็ตามที่ความเสี่ยงสูงและไม่ได้มูลค่าต่ำจะเป็นสีแดง เมทริกซ์นี้ถูกออกแบบให้ระมัดระวังอย่างจงใจ — สำหรับโรงพยาบาลแล้ว การจำแนก เครื่องกระตุกหัวใจ (defibrillator) ให้วิกฤตเกินไปยังปลอดภัยกว่าการจำแนกต่ำเกินไป
3. ป้ายสองภาษา¶
ฟิลด์ Char roots_criticality_label ที่ไม่จัดเก็บและรับรู้บริบท จะแสดงผล ป้ายสองภาษาโดยใช้ภาษาของผู้ใช้ปัจจุบัน:
| สี | ป้าย |
|---|---|
| 🟢 เขียว | ปกติ (Normal) |
| 🟡 เหลือง | เฝ้าระวัง (Watch) |
| 🔴 แดง | วิกฤต (Critical) |
ฟิลด์นี้ไม่จัดเก็บ (โดยตั้งใจ — การจัดเก็บ Char ที่ถูกแปลแล้วจะตรึงค่าไว้กับ ภาษาที่ทำการคำนวณครั้งแรก) ป้ายจะแสดงผลใหม่ในภาษาที่ผู้ใช้กำลังดูระเบียนนั้นอยู่
4. การตกแต่งสีระดับแถวในมุมมองรายการ¶
มุมมองรายการเครื่องมือแพทย์สืบทอดคุณลักษณะการตกแต่งสี ดังนั้น ทั้งแถว จะกลายเป็นสีเขียว / เหลือง / แดง — ไม่ใช่แค่คอลัมน์ป้ายเท่านั้น เมื่อกวาดสายตา ดูรายการเครื่องมือแพทย์ของหอผู้ป่วย สายตาจะถูกดึงไปที่แถวสีแดงทันที
5. ป้ายบนการ์ดคัมบัง¶
มุมมองคัมบังของเครื่องมือแพทย์เพิ่มป้ายสีให้กับการ์ดทุกใบ เมื่อรวมกับ การตกแต่งสีระดับแถวในมุมมองรายการและป้ายในมุมมองฟอร์ม ระดับความวิกฤต จะมองเห็นได้ในทุกระดับการซูม
6. ตัวกรองการค้นหาและการจัดกลุ่ม (Group By)¶
แผงการค้นหาเพิ่ม:
- เฉพาะที่วิกฤต —
roots_criticality_color = red - เฝ้าระวัง —
roots_criticality_color = yellow - ปกติ —
roots_criticality_color = green - มูลค่าสูง —
roots_value_tier = high - ความเสี่ยงสูง —
roots_risk_tier = high
และส่วน Group By สำหรับ ระดับความวิกฤต ระดับมูลค่า และระดับความเสี่ยง — มีประโยชน์ สำหรับรายงานสำมะโนเครื่องมือแพทย์ (ดู การรายงาน)
ทำไมระดับความวิกฤตจึงสำคัญ¶
ระดับความวิกฤตเป็นมิติเดียวที่โมดูลอื่นอ่านเพื่อตัดสินใจจัดลำดับความสำคัญ:
| โมดูล | สิ่งที่อ่าน | สิ่งที่ทำกับมัน |
|---|---|---|
roots_hemms_workflow | equipment.roots_criticality_color ผ่านฟิลด์ related ที่จัดเก็บ | แสดงจุดสีบนการ์ดคัมบังของคำขอเพื่อให้ช่างคัดกรองงานสีแดงก่อน |
roots_hemms_spare_parts | equipment.roots_criticality_color == 'red' | ตั้งธงให้ทุกบรรทัดอะไหล่บนเครื่องมือแพทย์ที่วิกฤตสีแดงเป็นอะไหล่วิกฤตโดยอัตโนมัติ |
roots_hemms_asset_inspection | snapshot ของ roots_criticality_color บนแต่ละบรรทัด ณ ขณะที่เพิ่มเครื่องมือแพทย์ | รายงานการตรวจสอบ ปจป. แสดงระดับความวิกฤต ณ เวลาที่ตรวจสอบ แม้ว่าเครื่องมือแพทย์นั้นจะถูกจำแนกใหม่ภายหลัง |
roots_hemms_ha_report | ประกาศ dependency กับ roots_hemms_criticality | แสดงระดับความวิกฤตข้างระดับความเสี่ยงของ MoPH บน HA Annual PM Report |
สิ่งที่ระดับความวิกฤต ไม่ได้ ทำโดยตรง:
- ไม่ได้ กำหนด SLA SLA เป็นค่าต่อขั้นบน
maintenance.stage.roots_sla_hoursไม่ใช่ต่อระดับความวิกฤต - ไม่ได้ เปลี่ยนความถี่ของ PM ความถี่อยู่ในฟิลด์
maintenance.plan.interval(OCAmaintenance_plan) - ไม่ได้ จัดเส้นทางคำขอแตกต่างกัน การจัดเส้นทางตามขั้นเป็นหน้าที่ของ โมดูลขั้นตอนการซ่อม
ระดับความวิกฤตเป็น สัญญาณ ไม่ใช่ตัวควบคุม โมดูลอื่นเป็นผู้เลือกว่าจะ ทำอะไรกับสัญญาณนั้น
สถาปัตยกรรม¶
Layer 3 — roots_hemms_criticality (this module)
• adds 2 selection fields + 1 stored computed color + 1 non-stored label
• inherits 4 views: form / list / kanban / search
↓
Layer 2 — maintenance_equipment_tags (OCA) ← independent tagging vocabulary
↓
Layer 1 — maintenance.equipment (Odoo base)
โมดูลนี้ไม่ได้นิยาม โมเดลใหม่ — เพียงแค่ _inherit จาก maintenance.equipment ดังนั้นจึง ไม่มี ACL CSV และสืบทอดสิทธิ์การเข้าถึง ตาม record-rule จากโมดูล maintenance ต้นทาง
ข้อมูลโมดูล¶
| ด้าน | รายละเอียด |
|---|---|
| Module ID | roots_hemms_criticality |
| ระดับความสมบูรณ์ | Alpha |
| ผู้พัฒนา | Trinity Roots Co., Ltd. |
| สัญญาอนุญาต | LGPL-3 |
| ขึ้นกับ | maintenance, maintenance_equipment_tags (OCA) |
| โมเดล | ใหม่ 0 (เพียง _inherit จาก maintenance.equipment) |
| ฟิลด์ใหม่ | 4 (roots_value_tier, roots_risk_tier, roots_criticality_color, roots_criticality_label) |
ไปต่อที่ไหน¶
- เริ่มต้นใช้งาน — ตั้งค่า มูลค่า × ความเสี่ยง บนเครื่องมือแพทย์ชิ้นแรกของคุณ
- การตั้งค่า — คำแนะนำเฉพาะโรงพยาบาลว่าเครื่องมือแพทย์ ประเภทใดมักจัดอยู่ในระดับใด
- ขั้นตอนการทำงาน — โมดูลปลายน้ำทั้งสี่ตัวใช้งานระดับความวิกฤต อย่างไร
- การรายงาน — สำมะโนเครื่องมือแพทย์ที่กรองและจัดกลุ่มตามระดับความวิกฤต