- Accueil
- Apps
- Specialized Solutions
- Patient Portal Management
Aperçu illustratifA build-to-order Odoo portal that gives patients secure,
authenticated access to their medical information, appointment history, and downloadable documents.
ECOSIRE scopes, builds, installs, and supports it on your Odoo 17/18/19.
Qu'est-ce que Patient Portal Management ?
A build-to-order Odoo portal that gives patients secure, authenticated access to their medical information, appointment history, and downloadable documents. ECOSIRE scopes, builds, installs, and supports it on your Odoo 17/18/19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Fonctionnalités clés
Fait sur commande, clé en main
Aucune configuration à faire vous-même — une app fonctionnelle conçue, installée et prise en charge par ECOSIRE.
- 1
Vous commandez
Commencez par un prix de développement unique. Nous cadrons le projet avec vous au lancement.
- 2
Nous développons et installons
ECOSIRE la développe, la configure et l'installe sur votre Odoo.
- 3
Mise en ligne + assistance
Vous êtes en ligne en une semaine ouvrée environ, avec deux semaines d’assistance après la mise en production. Les défauts du code que nous livrons sont corrigés gratuitement.
Spécifications techniques
- Compatibilité Odoo
- Odoo 17, Odoo 18, Odoo 19
- Éditions
- Enterprise et Community
- Licence
- Licence à confirmer
- Version Python requise
- Python 3.10+
- Base de données
- PostgreSQL 12+
À propos de ce produit
Healthcare providers on Odoo quickly hit a wall when patients need self-service access to their own records. Odoo's stock website portal (portal.mixin, the /my controllers) was designed around sales orders, invoices, and project tasks — not encounters, clinical documents, lab results, or consent forms. Front-desk staff end up emailing PDFs manually, results get lost in inboxes, and there is no audited, permissioned surface where a patient can log in and see only their own information. The moment you try to expose anything clinical through the native portal you also inherit a data-segregation problem: without carefully written record rules, one patient's portal query can reach another patient's data.
We build a dedicated Patient Portal Management module that extends the Odoo portal into a proper patient-facing surface. On the backend we add clinical models (models.Model) for patient records, encounters, and shareable documents, each linked to res.partner, with computed fields (@api.depends) for status, next appointment, and result-ready flags. The security layer is the heart of the build: granular ir.model.access.csv plus record rules that scope every model to user_partner_id = env.user.partner_id (and its commercial hierarchy where a guardian or caregiver relationship applies), so a logged-in patient can only ever read their own rows — enforced at the ORM level, not just hidden in the UI. Portal pages are delivered as QWeb templates and portal.mixin controllers so they inherit Odoo's breadcrumb, pager, and access-token patterns; document downloads run through controlled ir.attachment routes with signed access checks rather than public URLs. We wire automated actions to notify a patient when a new document or result is published, and expose read-only endpoints over the JSON-RPC/XML-RPC API when you need to sync with an EMR or a booking front end.
Because this is made-to-order, nothing ships as a generic download — we build your version against your Odoo edition and your data model. We confirm which document types patients may see, whether you run Community or Enterprise (Enterprise unlocks tighter approval flows, studio-adjacent extensions, and some sign/document features we can lean on; Community gets a fully equivalent hand-built path), and how patient identity maps to res.partner in your existing database. Delivery is typically one working week from a confirmed scope: we develop on a staging branch, run UAT with your team against real-shaped test data, then deploy to production with a rollback plan and hand over the git repository.
Delivery is a defined path, not an open-ended engagement. After a short scoping call we send a fixed written quote and a milestone plan; you approve the scope, we build on staging, you sign off through UAT, and we cut over to production with a rollback plan and a post-go-live support window. Pricing starts from $999 (indicative, single-company base scope); multi-company hospital groups, EMR/lab-system integrations, additional document workflows, or deeper localization increase the quoted scope. You receive a firm number before any build work begins.
Ce que vous obtenez
- Installable source code for your version of the Patient Portal Management module, matched to your Odoo major version and edition
- Installation and configuration on your environment (staging then production), including access rules and document-type setup
- Technical documentation: data model, record-rule design, controller routes, and API endpoints
- End-user guide plus a live training session for portal administrators and front-desk staff
- Post-go-live support window for defect fixes and configuration questions
- UAT on a staging branch against real-shaped test data, with a documented rollback plan before cutover
- Git repository handover with full commit history and tagged release
- Configuration workbook capturing your document-visibility matrix and identity-mapping decisions
Pour qui c'est
Clinic or hospital operations lead running Odoo
Manages an existing Odoo deployment and needs patients to self-serve their records and documents securely, without staff emailing PDFs by hand. Cares most about data isolation and a clean cutover.
Healthcare IT / systems administrator
Owns the Odoo instance and any EMR/lab integrations. Needs a portal that respects record rules, exposes clean JSON-RPC/XML-RPC endpoints, and ships with docs and a git handover so the team can maintain it.
Practice manager at a multi-clinic group
Coordinates several sites or legal entities on one database. Needs multi-company-aware access, guardian/caregiver handling, and a configurable document-visibility matrix that front-desk staff can operate.
Compliance / data-protection officer
Accountable for who can see which patient data. Needs enforceable row-level segregation, an access audit trail, and consent capture rather than UI-only hiding.
Comment Patient Portal Management se compare
| Critère | ÉCOSIRE | Construction personnalisée | Concurrent | Natif Odoo |
|---|---|---|---|---|
| Patient data isolation | ORM-level record rules scope every row to the logged-in patient's partner | Depends entirely on your developers writing correct rules | Generic access model; clinical segregation often not the focus | Portal built for sales/invoices, not per-patient clinical scoping |
| Fit to your data model | Built against your models, edition, and identity mapping | Fully bespoke but you own all design decisions and risk | Fixed schema you must adapt your process to | No clinical models at all — you build everything |
| Secure document downloads | Signed access-token `ir.attachment` routes with audit logging | Must be designed and hardened by your team | Varies; often basic attachment exposure | Public/portal attachments without clinical access controls |
| Delivery model | Scoped quote, staging build, UAT, cutover with rollback | You manage the whole project and timeline | Instant install, then self-configure and self-support | Included in Odoo but requires full in-house build |
| Version and edition coverage | Built and tested for Odoo 17/18/19, Community or Enterprise | Whatever you build and maintain per version | May lag new Odoo releases or target one edition | Ships with core, no clinical portal capability |
| Support and handover | Post-go-live window, docs, training, git repo handover | Internal knowledge only unless documented yourself | Vendor ticket queue, variable SLA | Community forums / your own team |
| Integration with EMR/lab | JSON-RPC/XML-RPC endpoints and sync jobs, scoped and quoted | Possible but built from scratch | Usually not included or limited | API exists but no clinical mapping provided |
| Total cost predictability | Indicative from $999, firm fixed quote after scoping | Open-ended developer time and maintenance | Low license fee but hidden config/support effort | No license cost but high internal build cost |
Foire aux questions sur Patient Portal Management
Is this an existing app I can download and install today?
No. Patient Portal Management is build-to-order. ECOSIRE builds your version against your Odoo edition and data model, then installs and supports it. There is no instant download — you request a quotation and we scope it with you first.
How long does delivery take?
Typical delivery is one working week from a confirmed scope. After the scoping call we build on a staging branch, run UAT with your team, then deploy to production. Larger scopes such as EMR integration or multi-company groups can extend the timeline, which we state in the written quote.
How does pricing and scoping work?
Pricing starts from $999 as an indicative single-company base figure. After a short scoping call we send a fixed written quote and milestone plan — drivers like multi-company setups, EMR/lab integrations, extra document workflows, or deeper localization adjust the number. You get a firm price before any build work starts.
How is one patient stopped from seeing another patient's data?
Isolation is enforced at the ORM level, not just hidden in the UI. Every clinical model gets record rules scoping rows to the logged-in user's `res.partner`, backed by `ir.model.access.csv`. Document downloads use signed access-token routes rather than public URLs, and all access is audit-logged.
Do I get support and updates after go-live?
Yes. Every build includes a post-go-live support window for defect fixes and configuration questions, plus the full git repository so your team can maintain it. We can also quote an ongoing support or version-upgrade retainer separately.
Which Odoo versions and editions do you support?
We build and test against Odoo 17.0, 18.0, and 19.0, on both Community and Enterprise. Enterprise lets us lean on features like document and sign flows; on Community we hand-build fully equivalent functionality. We confirm your exact version and edition during scoping.
Can it connect to our existing EMR or lab system?
Yes. We expose read-only JSON-RPC/XML-RPC endpoints and can build sync jobs so portal records reflect your EMR, LIMS, or booking front end. Integration depth is a scope driver and is priced in the written quote after we review the external system.
Modules associés

Patient Evaluation
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.

Patient Follow-up
A made-to-order Odoo module that embeds recurring follow-up scheduling, automatic no-show detection, and protocol-driven care recalls directly into your patient and appointment records. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17/18/19 instance.

Pharmacy Management for Odoo
A build-to-order hospital pharmacy solution for Odoo 17/18/19 that pairs a dispensing-aware POS with a full prescription workflow and clinical drug alerts. ECOSIRE scopes, builds, installs, and supports it around your formulary and dispensing rules.

Pharmacy & Retail Pharmacy POS
Build-to-order Odoo pharmacy POS with batch/expiry FEFO, controlled-drug register, prescription dispensing and insurance co-pay.
Patient Portal Management
A build-to-order Odoo portal that gives patients secure, authenticated access to their medical information, appointment history, and downloadable documents. ECOSIRE scopes, builds, installs, and supports it on your Odoo 17/18/19.
- Dedicated patient portal surface built on Odoo's `portal.mixin` and `/my` controller pattern, inheriting native breadcrumbs, pagers, and access-token flows
- Clinical `models.Model` records (patient profile, encounters, documents, results) each related to `res.partner` for a single source of identity
- Row-level data segregation via `ir.model.access.csv` plus record rules scoping every model to `user_partner_id = env.user.partner_id`
- Guardian / caregiver access mapping through the partner commercial hierarchy so an authorized carer sees a dependant's records without breaking isolation