A made-to-order Odoo Laboratory Information System that runs your diagnostic lab end to end — from test order and sample collection through result validation to a branded, reference-ranged report. ECOSIRE builds, installs, and supports it against your test catalog and workflow. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $499.00 USD; request a quote for a scoped proposal.

A made-to-order Odoo Laboratory Information System that runs your diagnostic lab end to end — from test order and sample collection through result validation to a branded, reference-ranged report. ECOSIRE builds, installs, and supports it against your test catalog and workflow.
今すぐのお支払いはありません。これはチームへの見積もり依頼を送信します。価格と次のステップをメールでご案内します。
Diagnostic labs bleed time and trust in the gap between an ordered test and a released, defensible result. Requisitions arrive on paper or in a spreadsheet, samples get relabelled by hand, technicians key values into one system while the pathologist signs off in another, and the final report is a Word template someone maintains privately. Odoo out of the box has no concept of an analyte, a reference range, a specimen, or a two-step technician-then-pathologist release — product can hold a "test" as a sellable line and account can invoice it, but nothing models the clinical result, flags an abnormal or critical value, tracks turnaround time, or stops an unvalidated result from reaching a patient. That is exactly the road Odoo native runs out of, and where a purpose-built Laboratory Information System belongs.
Configurable test catalog as new ORM models with per-test analytes, units, sex/age-banded reference ranges, and a linked `product.product` for pricing
Test panels/profiles (CBC, LFT, RFT, etc.) defined once and auto-expanded into component analytes on order via compute methods with `@api.depends`
Lab order raised directly from a `clinical-core-his-emr` encounter or as a standalone requisition, with patient and clinician context carried through
Sample-collection step that generates barcode/label data per specimen and tracks container type, collection time, and specimen status
Result-entry grid (XML/OWL) that compares each value against its reference range on save and auto-flags normal / abnormal / critical
Two-step release state machine: technician entry then pathologist validation, with the approve/release right enforced via `ir.model.access.csv` and record rules
ECOSIRE builds the clinical-lab-lis module on top of base, mail, product, account, our clinical-core-his-emr, and web. At its core sit new ORM models (models.Model) for the test catalog, analytes, panels/profiles, lab orders, samples, and results. A configurable test carries its analytes, unit of measure, reference ranges (by sex and age band where you need it), and a price that links to a product.product so billing stays native. Panels such as CBC or LFT are defined once and expand into their component analytes automatically when ordered — implemented with compute methods and @api.depends so the order line, the result grid, and the invoice always agree. A lab order is raised straight from an EMR encounter (through the clinical-core-his-emr link) or as a standalone requisition, then moves through a sample-collection step that generates barcode labels and tracks each specimen by container and status.
Result entry happens in a purpose-designed grid (XML/OWL views) where every value is compared against its reference range on save and automatically flagged normal, abnormal, or critical. Release is gated by a two-step state machine: a technician enters and submits, and only a user with the pathologist/validation role — enforced through ir.model.access.csv and record rules — can approve and release. Turnaround time is computed per test from order to release, with overdue items highlighted on a worklist dashboard filtered by department and status. On release, the validated result is pushed back into the patient's EMR encounter timeline, a branded cumulative report is rendered as a QWeb PDF (analytes, units, reference ranges, and flags laid out for the clinician), and delta comparison against the patient's prior values is available for review. Ordered tests post to the patient invoice automatically through the account hook, and automated actions can chase overdue samples or notify on a critical flag. Everything is reachable over Odoo's XML-RPC/JSON-RPC API for analyzer middleware or portal integration, and the build targets Odoo 17.0, 18.0, and 19.0 on both Community and Enterprise (Enterprise-only features such as advanced studio views or approvals are only assumed when your edition supports them).
Because this is build-to-order, nothing is a shrink-wrapped download. We start with a short scoping call, confirm your test catalog, reference-range policy, report layout, and any analyzer or EMR touchpoints, then build against your Odoo version and edition, review with you on a staging database, and hand over installable source, documentation, and a git repository. Typical delivery is 2–4 weeks from confirmed scope. Pricing starts from $499 (indicative, single-company base scope); analyzer/instrument middleware integration, multi-branch or multi-company labs, deeper localization, and larger historical-result data migration increase the quoted scope. The from-price is indicative only — you receive a fixed quote after the scoping call.
Needs order-to-result throughput, a pending-samples worklist, and TAT visibility so no requisition falls through the cracks, with billing posted automatically rather than reconciled by hand.
Wants a hard two-step gate so only they can release results, plus reference-range flags and delta checks against prior values to sign off defensibly and fast.
Needs the LIS to sit inside the same Odoo instance as the EMR, push validated results into the encounter timeline, and expose an API for analyzer middleware — not a separate system to reconcile.
Wants a fast result-entry grid with automatic abnormal/critical flagging and barcode-labelled samples, so data entry is quick and mistakes surface immediately.
ecosire.com でライセンスを購入し、アカウント ダッシュボードから Clinical Lab — Laboratory Information System (LIS) モジュールの ZIP をダウンロードします。
ZIP をサーバー上の Odoo カスタム アドオン フォルダーに抽出します (または、[アプリ] > [Odoo.sh / runbot のファイルからインストール] を介してアップロードします)。
開発者モードをアクティブにし、アプリを開き、「アプリリストの更新」をクリックして、「Clinical Lab — Laboratory Information System (LIS)」を検索し、「インストール」を押します。
新しいメニューを開き、ECOSIRE ライセンス キーを貼り付け、外部認証情報 (Shopify、Amazon、Stripe など) を接続して保存します。
組み込みの接続テストを実行し、最初の 10 レコードを同期し、定期的な cron をスケジュールします。何か問題が発生した場合はサポートにお問い合わせください。
| 基準 | エコシエール | カスタムビルド | 競合他社 | オドゥー ネイティブ |
|---|---|---|---|---|
| Analytes & reference ranges | Modelled natively with sex/age bands and auto-flagging | Possible but you design the data model from zero | Often fixed ranges, hard to tailor per lab | |
| Two-step technician→pathologist release | Enforced via state machine + record rules | Build it yourself and maintain the security | Varies; sometimes single-step only | |
| Panels/profiles (CBC, LFT) | Defined once, auto-expand into analytes on order | Custom compute logic to be written | Usually supported but rigid | |
| EMR encounter integration | Results pushed into the patient timeline via clinical-core | Integration effort on top of the build | Standalone; EMR link often absent | |
| Branded QWeb lab report | Cumulative report with ranges, flags, your branding | Report template built to spec, added cost | Generic template, limited branding | |
| Turnaround-time tracking | Computed per test with overdue worklist highlighting | Requires custom compute + dashboard | Sometimes basic timestamps only | |
| Billing hook to invoice | Ordered tests post to `account` automatically | Wire the account link yourself | Integration quality varies | |
| Support & handover | Install, training, support window, git repo handover | Depends on the developer engaged | Vendor support tiers, no source control of your logic |
No. This is a build-to-order module. ECOSIRE builds it against your test catalog, reference-range policy, report layout, and Odoo version/edition, then installs and supports it. There is no instant download — you request a quotation and we build it for you.
Typical delivery is 2–4 weeks from confirmed scope. The clock starts once we've agreed the test catalog, workflow, report design, and any analyzer/EMR integrations on the scoping call. Larger data migrations or instrument middleware can extend that, and we tell you before you commit.
Pricing starts from $499 (indicative, single-company base scope). That figure is a starting point, not a fixed price — analyzer integration, multi-branch/multi-company labs, deeper localization, and historical-result migration increase scope. After a short scoping call you receive a fixed written quote for your exact requirements.
Every build includes a post-go-live support window for defect fixes and configuration questions, plus the git repository so your own team can maintain it. Version upgrades to a newer Odoo release, new tests/panels, or added integrations are quoted as follow-on work.
We build for Odoo 17.0, 18.0, and 19.0 on both Community and Enterprise. The module is built against your specific version and edition; Enterprise-only capabilities are only assumed where your edition provides them.
Yes. The module links results into the patient encounter through our clinical-core-his-emr layer, and exposes Odoo's XML-RPC/JSON-RPC API so analyzer middleware or a lab portal can push orders and pull results. Specific instrument protocols are scoped and quoted per integration.
Release is gated by a two-step state machine. A technician enters and submits, and only a user holding the pathologist/validation role can approve and release — enforced with Odoo access rights (`ir.model.access.csv`) and record rules, so unvalidated results never reach a patient.
A made-to-order Odoo Laboratory Information System that runs your diagnostic lab end to end — from test order and sample collection through result validation to a branded, reference-ranged report. ECOSIRE builds, installs, and supports it against your test catalog and workflow.