A build-to-order Odoo clinical assessment module that captures structured vital signs, drives a triage workflow, and turns each encounter into a reportable clinical record. Scoped, built, installed and supported by ECOSIRE. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $299.00 USD; request a quote for a scoped proposal.

A build-to-order Odoo clinical assessment module that captures structured vital signs, drives a triage workflow, and turns each encounter into a reportable clinical record. Scoped, built, installed and supported by ECOSIRE.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Clinics running Odoo quickly discover that patient intake and clinical assessment fall through the cracks. Vitals get typed into free-text notes on a contact or a helpdesk ticket, triage priority lives in someone's head, and there is no structured record you can audit, report on, or hand to the next clinician. Odoo core has no clinical model at all — there is no hr.hospital.patient, no encounter object, no vitals table — so teams end up bending Contacts, CRM, or Appointments into shapes they were never designed for. The moment you need computed values (BMI, MAP), a triage acuity score, or a nurse-vs-doctor access boundary, native fields and generic modules run out of road.
New `ecosire.patient.evaluation` model linked to the patient record, one row per encounter with full audit trail via Odoo chatter (`mail.thread`)
Structured vital-sign fields: temperature, pulse, respiratory rate, systolic/diastolic BP, SpO₂, height, weight and pain score with unit handling
`@api.depends` compute fields for BMI, Mean Arterial Pressure and other derived indices that recalculate live and are never hand-entered
Configurable triage engine mapping vitals to an acuity level (e.g. 5-level ESI-style scale) via compute method plus editable thresholds
`@api.constrains` clinical-range validation that blocks physiologically impossible readings from being saved
State-machine workflow `draft → in_triage → assessed → closed` with button-driven transitions and status bar
We build a dedicated Patient Evaluation module for your Odoo database. At its core is a new ecosire.patient.evaluation model (models.Model) linked to the patient record, with typed fields for every vital sign — temperature, pulse, respiratory rate, blood pressure (systolic/diastolic), SpO₂, height, weight and pain score. Derived clinical values such as BMI and Mean Arterial Pressure are @api.depends compute fields so they recalculate the instant an input changes and are never entered by hand. A configurable triage step maps the captured vitals to an acuity level (for example a 5-level ESI-style scale) via a compute method plus editable threshold configuration, and out-of-range readings are flagged with @api.constrains validation so a clinically impossible entry can't be saved silently.
The workflow is a proper state machine — draft → in_triage → assessed → closed — surfaced through purpose-built views: an OWL/XML form for bedside data entry, a kanban triage board colour-coded by acuity, and filtered list/search views for the waiting queue. Role separation is enforced with ir.model.access.csv plus record rules so front-desk, nursing and clinician groups see and edit only what their role permits. Each completed evaluation renders a clean QWeb PDF assessment summary for the chart or referral, automated actions (base.automation) can escalate a high-acuity case or notify the on-call clinician, and everything is reachable over the XML-RPC/JSON-RPC API so labs, devices or a patient portal can push and pull readings programmatically. It ships against Odoo 17.0, 18.0 and 19.0 and runs on Community or Enterprise — we flag any capability (such as Studio-style tweaks or advanced portal features) that depends on Enterprise before we build.
Because this is build-to-order, nothing is downloaded from a marketplace and switched on. We start with a scoping call, agree the exact vitals set, triage rules, roles and reports for your practice, then build, test on a staging copy of your database, run UAT with your team, and deploy with a rollback plan. Typical delivery is 2–4 weeks from confirmed scope. Pricing starts from $299 (indicative, single-company base scope); additional clinics or multi-company setups, deeper localization of clinical terminology, device/lab integrations, and migration of historical patient data increase the quoted scope.
Runs a practice on Odoo and needs intake, vitals and triage captured as structured, auditable data instead of free-text notes — with role separation so front-desk, nurses and doctors each see the right thing.
Wants a fast bedside entry form and a colour-coded acuity board that computes triage level from the vitals automatically, flags out-of-range readings, and escalates high-acuity patients without manual chasing.
Owns the Odoo deployment and needs a maintainable, permissioned module with clean access rules, an API for devices and labs, and a documented git handover that survives the next version upgrade.
Needs defensible clinical records, printable assessment summaries for referrals, and a predictable build-and-support engagement rather than an untested marketplace download.
Buy the license on ecosire.com and download the Patient Evaluation module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for Patient Evaluation, and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Clinical data model | Dedicated evaluation model with typed vitals and encounter history | Whatever your developer builds from scratch | Fixed model you can't reshape to your workflow | |
| Triage & acuity scoring | Configurable compute-based acuity with editable thresholds | Possible but you specify and pay to build all logic | Often absent or a hard-coded scale | |
| Derived values (BMI, MAP) | `@api.depends` compute fields, recalculated live | Depends on developer skill and time | Rarely computed; often free-text | |
| Role-based access | Front-desk / nurse / clinician split via access rules + record rules | Must be designed and tested by you | Generic groups, limited granularity | |
| Reports & referrals | Purpose-built QWeb assessment summary PDF | Built to order at extra cost | Generic or no clinical report | |
| Fit to your workflow | Scoped to your exact vitals, rules and roles | Fully bespoke but slow and costly | Take-it-as-is, limited configuration | |
| Support & handover | Support window, training, git repo and docs | Depends on the contractor's terms | Vendor tickets, no source control | |
| Odoo version coverage | Built and tested for 17.0 / 18.0 / 19.0 | Only the versions you commission | Varies; upgrades often lag |
No. Patient Evaluation is build-to-order. We scope it to your clinical workflow, then build, test and install it on your Odoo database. Nothing is auto-downloaded and switched on — you receive a module built for your practice, plus the source code and support.
Typical delivery is 2–4 weeks from confirmed scope. After the scoping call we agree the exact vitals set, triage rules, roles and reports, then build on a branch, test on a staging copy of your database, run UAT with your team, and deploy with a rollback plan. Larger multi-clinic or integration work extends that timeline, which we state up front.
Pricing starts from $299 as an indicative single-company base scope. The exact figure is fixed only after a short scoping call, because drivers like multiple clinics, multi-company setups, device/lab integrations, localization depth and historical-data migration change the effort. You get a fixed written quote before any build begins.
We build against Odoo 17.0, 18.0 and 19.0 on both Community and Enterprise. Core clinical capture, triage, security and QWeb reports work on Community; anything that depends on Enterprise-only features is flagged during scoping so there are no surprises.
Every engagement includes a post-go-live support window for defect fixes and configuration adjustments, and you receive the full git repository so your own team or ours can maintain it. When you migrate to a newer Odoo version we can quote a version-bump migration separately using the documented upgrade notes we hand over.
Yes. The module exposes its data over Odoo's XML-RPC/JSON-RPC API, so external devices, lab systems or a portal can push readings in and pull evaluations out. Specific integrations are scoped as part of the quote since each endpoint and mapping adds build effort.
No. It is a clinical data-capture and workflow tool inside your Odoo ERP — it structures vitals, computes derived values and drives triage routing. It does not make diagnostic decisions; clinical judgement and any regulatory certification of your processes remain with your practice.
A build-to-order Odoo clinical assessment module that captures structured vital signs, drives a triage workflow, and turns each encounter into a reportable clinical record. Scoped, built, installed and supported by ECOSIRE.