Skip to main content
Clinical Telemedicine — A made-to-order Odoo telemedicine layer that turns appointments into secure paid video visits — with  — 1/1Illustrative preview

A made-to-order Odoo telemedicine layer that turns appointments into secure paid video visits

— with pre-consult intake, a virtual waiting room, in-call notes, e-prescriptions, and everything filed into the patient's EMR timeline.

ECOSIRE scopes, builds, installs and supports it for your practice.

What is Clinical Telemedicine?

A made-to-order Odoo telemedicine layer that turns appointments into secure paid video visits — with pre-consult intake, a virtual waiting room, in-call notes, e-prescriptions, and everything filed into the patient's EMR timeline. ECOSIRE scopes, builds, installs and supports it for your practice. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Dedicated telemedicine appointment type that, on confirmation, auto-generates a secure single-use meeting link via a server action rather than a static URL
Integration hooks (`_get_meeting_url()` override point) to drive Odoo Discuss WebRTC, a self-hosted Jitsi room, or an external provider URL without touching core
Pay-before-consult enforcement: a `payment.transaction` in `done` state flips `is_call_unlocked` and only then does the QWeb portal render the join button
Pre-consultation intake form (OWL/website form) persisted onto the encounter so the clinician opens the room already briefed
Virtual waiting room with a `waiting` encounter state and real-time indicator so the doctor sees the moment a patient joins
`telemedicine.encounter` model with a state machine (`draft` → `waiting` → `in_progress` → `done`) driven by guarded ORM transition methods
In-call encounter note plus e-prescription creation (`prescription.line`: drug, dose, frequency, duration) during the live session
QWeb PDF prescription and visit summary auto-emailed post-consult through a versioned `mail.template`
Recording-consent capture as a required, timestamped checkbox that gates room start and is logged to the chatter
Follow-up appointment scheduled directly from the encounter, pre-filling patient and clinician
Encounters merged into the patient EMR timeline via `clinical-core-his-emr`, visible as a chronological `mail.thread` history
`ir.model.access.csv` plus record rules so patients see only their own encounters in the portal and clinicians see their assigned load
Automated actions for join reminders, no-show flagging, and stale-`draft` cleanup
XML-RPC/JSON-RPC exposure of booking, payment status, and encounter data for an external site or mobile app

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

Most clinics that start offering remote consultations end up stitching the workflow together by hand: a video link pasted into an email, a payment chased after the call, prescriptions typed into a separate document, and no clean record of what happened landing back in the patient file. Odoo's native calendar and appointment tools can book a slot and even attach a videoconference URL, but they treat a telemedicine visit like any other meeting — there is no concept of paying before the link goes live, no structured intake completed ahead of time, no waiting-room signal to the doctor, and no clinical encounter or prescription tied to the patient's EMR. The result is revenue leakage from unpaid no-shows, compliance gaps as consent and records scatter across tools, and a patchy experience for both clinician and patient.

Clinical Telemedicine is a build-to-order Odoo application we design and develop for your practice on top of base, calendar, portal, payment, mail, and our clinical-core-his-emr foundation. We introduce a dedicated telemedicine appointment type whose confirmation triggers a secure, auto-generated meeting link — wired through integration hooks so it can drive Odoo Discuss WebRTC, a self-hosted Jitsi room, or an external meeting URL depending on your infrastructure. A new telemedicine.encounter model (extending our clinical encounter) carries the whole visit: it is created in a draft state, moves to waiting when the patient joins, in_progress when the clinician opens the room, and done when the note is signed — each transition driven by ORM methods and surfaced through @api.depends computed fields on the doctor's kanban.

Technically, the flow is enforced rather than assumed. The portal payment step uses Odoo's payment provider stack; a payment.transaction reaching done is what flips a boolean like is_call_unlocked and renders the join button in the QWeb portal template — no payment, no link. Before the call, the patient completes an intake form built as an OWL/website form persisting to the encounter, so the clinician opens the room already briefed. During the session the doctor writes the encounter note and creates an e-prescription (prescription.line records with drug, dose, duration), and on sign-off an ir.actions.report QWeb PDF of the prescription and visit summary is emailed via mail.template. Recording-consent capture is a required checkbox logged with a timestamp before the room can start, and a follow-up appointment can be scheduled straight from the encounter. Access is governed by ir.model.access.csv plus record rules so a patient sees only their own encounters through the portal, and every state change is auditable in the mail.thread chatter. Automated actions handle reminders and stale-draft cleanup, and the whole surface is reachable over XML-RPC/JSON-RPC if you integrate an external booking site or mobile app.

Because this is build-to-order, nothing ships until we agree scope. After a short scoping call we produce a fixed-scope statement, build your version against Odoo 17.0, 18.0, or 19.0 (Community or Enterprise — we confirm which fields, like the Enterprise appointment engine, are available on your edition), and deliver it on a staging environment for UAT before go-live. Typical delivery is one working week from confirmed scope. Pricing starts from $999 (indicative, single-company base scope); additional integrations such as a specific video provider, e-prescription regulatory formatting, multi-company or multi-branch setup, and depth of EMR data migration increase the quoted scope.

What you get

  • Installable source code for your version of the module, targeting your chosen Odoo edition and version (17.0/18.0/19.0)
  • Installation and configuration on your environment, including payment provider and video/meeting integration wiring
  • Technical documentation: model/field reference, security matrix, and the meeting-URL integration hook
  • User guide plus a live training session for reception, clinicians, and administrators
  • Post-go-live support window for defect fixes and configuration questions
  • UAT on a staging environment with a documented rollback plan before production cutover
  • Git repository handover with full commit history and tagged release
  • Configured demo data and test telemedicine encounters to validate the end-to-end flow

Who this is for

Multi-clinician outpatient clinic

Runs hybrid in-person and remote consultations and needs paid video visits that book cleanly, collect payment up front, and file the encounter and prescription back into each patient's EMR without double entry.

Solo specialist or consultant

A dermatologist, psychiatrist, or physician offering private paid video visits who wants a professional booking-to-prescription flow — intake before the call, payment enforced, PDF prescription emailed after — without buying a separate telehealth platform.

Clinic operations / practice manager

Owns the workflow and the numbers, and needs enforced pay-before-call to stop no-show revenue leakage, recording-consent captured for compliance, and an auditable trail of every remote encounter.

Telehealth program lead in a larger group

Standardizing remote care across branches on Odoo and needs configurable appointment types, record-rule-scoped access per site, and XML-RPC endpoints to feed a patient-facing website or app.

How Clinical Telemedicine Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Pay-before-call enforcementPayment transaction gates the join link natively in the portalPossible but you build and test the payment-to-link gate yourselfOften books first, chases payment later or not at allNo link/payment coupling; appointments and payments are separate
Video integrationHook for Discuss WebRTC, self-hosted Jitsi, or external URLWhatever you code, from scratch each timeUsually locked to one bundled providerCan attach a videoconference URL but no telemedicine flow
EMR / encounter linkageEncounters merge into the patient EMR timeline via clinical coreDepends entirely on your own data modelMay store visits separately from any clinical recordNo clinical encounter or EMR concept at all
E-prescribingIn-call prescription lines plus auto-emailed QWeb PDF summaryBuild the model, report, and email pipeline yourselfVaries; often a free-text note, not structured linesNone
Pre-consult intake + waiting roomStructured intake form and a real waiting-room state signalBuildable with effort; forms and states are your jobInconsistent; waiting-room signal often missingNo intake capture or waiting-room concept
Fit to your workflowBuilt to your scope on your Odoo edition and versionFully bespoke but you carry all design decisionsFixed feature set; you adapt to itGeneric meeting behavior only
Support and ownershipPost-go-live support window plus full git repo handoverOnly what your developer or team providesVendor support tiers; source rarely handed overCommunity/Enterprise support, no telemedicine coverage
Total cost profileIndicative from $999, fixed quote after scopingUnbounded developer time and maintenance riskLow list price but gaps you fill with extra toolsIncluded in Odoo but functionally incomplete for telehealth

Frequently Asked Questions about Clinical Telemedicine

Is this an existing app I can download and install today?

No. Clinical Telemedicine is build-to-order. ECOSIRE designs, builds, installs, and supports it for your specific Odoo setup after you request a quotation and we agree scope. It is not an off-the-shelf apps.odoo.com download.

How long does delivery take?

Typical delivery is one working week from confirmed scope. Simple single-company builds land at the shorter end; multi-branch setups, a specific video provider, regulated prescription formatting, or EMR data migration push toward the longer end. We give you a firm timeline in the fixed-scope statement after the scoping call.

How does pricing and scoping work?

Pricing starts from $999 as an indicative single-company base figure. It is not a fixed price — after a short scoping call we issue a fixed-quote statement of work. Drivers that raise the quote include the video/meeting provider you want integrated, e-prescription regulatory depth, multi-company or multi-branch needs, and how much EMR data we migrate.

Which video platform does it use?

Your choice. We build against an integration hook, so the encounter's meeting link can drive Odoo Discuss WebRTC, a self-hosted Jitsi room, or an external meeting URL from a provider you already use. We confirm the target during scoping and wire it during the build.

Do you support Odoo 17, 18, and 19, Community and Enterprise?

Yes. We build for Odoo 17.0, 18.0, or 19.0 on Community or Enterprise. During scoping we confirm which edition-specific features (such as the Enterprise appointment engine) are available on your instance and design around them so the module installs cleanly on your edition.

How does the pay-before-call enforcement actually work?

The patient pays through Odoo's portal payment flow. Only when the `payment.transaction` reaches a `done` state does the encounter unlock — a boolean flips and the QWeb portal renders the join button. Until payment clears, the meeting link is simply not available, which closes the unpaid no-show gap.

What about updates and ongoing support after go-live?

You receive a post-go-live support window for defect fixes and configuration questions, plus the full git repository so your team owns the code. Longer-term maintenance, feature additions, and version upgrades (for example moving from Odoo 18 to 19) are available as a separate support engagement.

Request a quote

Clinical Telemedicine

A made-to-order Odoo telemedicine layer that turns appointments into secure paid video visits — with pre-consult intake, a virtual waiting room, in-call notes, e-prescriptions, and everything filed into the patient's EMR timeline. ECOSIRE scopes, builds, installs and supports it for your practice.

  • Dedicated telemedicine appointment type that, on confirmation, auto-generates a secure single-use meeting link via a server action rather than a static URL
  • Integration hooks (`_get_meeting_url()` override point) to drive Odoo Discuss WebRTC, a self-hosted Jitsi room, or an external provider URL without touching core
  • Pay-before-consult enforcement: a `payment.transaction` in `done` state flips `is_call_unlocked` and only then does the QWeb portal render the join button
  • Pre-consultation intake form (OWL/website form) persisted onto the encounter so the clinician opens the room already briefed

Request a Quotation

Tell us about your Clinical Telemedicine requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.