Preventive Maintenance¶
The Preventive Maintenance module (roots_hemms_pm) wraps OCA's maintenance_plan engine with hospital-specific configuration:
- 3 seeded maintenance kinds for common hospital PM categories
- A dedicated "PM Scheduled" stage that PM-generated requests enter on creation — kept visually and operationally separate from corrective requests
- Bilingual labels (English + Thai) on every kind
- In-app help explaining how admins add their own kinds
At a glance¶
| Aspect | Detail |
|---|---|
| Module ID | roots_hemms_pm |
| Depends on | maintenance_plan (OCA), roots_hemms_workflow, roots_hemms_asset_master |
| Maturity | Alpha |
| Adds | 3 maintenance kinds + 1 stage + bilingual + routing override |
| Initial stage for PM | "PM Scheduled (ตามแผนบำรุงรักษา)" — sequence 5, SLA 72 hours |
How it fits in the stack¶
This module is a Layer 3 (hospital lens) extension on top of:
- Layer 1 Odoo base
maintenance— providesmaintenance.request,maintenance.equipment,maintenance.stage - Layer 2 OCA
maintenance_plan— addsmaintenance.plan+maintenance.kind+ daily cron that auto-creates PM requests by interval
See Architecture for the full layer model.
What it does NOT do (yet)¶
- ❌ Meter-based PM (e.g., every 1000 operating hours) — calendar-based only via OCA. Tracked on the Roadmap as Q1.5.
- ❌ Mobile/offline PM completion — desktop-only for now.
- ❌ AI-suggested PM frequency — admin manually sets
intervalper plan. - ❌ IoT sensor → trigger PM — not in scope; future Q3+ work.
Quick navigation¶
- Get Started — Enable the module, create your first PM plan
- Configuration — Add custom kinds, configure stages
- Workflows — How a PM request flows from creation to completion
- Reporting — SLA dashboards + PM coverage metrics