Case study · Health and wellness

How Nova House Turned Clinical Follow-up into an Operating System

A real medical aesthetics case study: 1,540 clinical follow-ups generated in 56 days, with human review before contacting any patient. Draft-first applied to the relationship with those who trust the clinic.

An aesthetic treatment does not end on the day it is applied. Botox calls for a check-up two weeks later. Microneedling responds at ten days. A radiofrequency cycle works better if the clinic reminds the patient that the booster session has a window. On paper, everyone knows this. In the daily operation of the clinic, forgetting wins. The patient leaves happy, the schedule moves on, and the next follow-up call never happens.

This article describes how Nova House, a Mexican medical aesthetics clinic, stopped losing that follow-up without falling into the opposite trap, which is spam dressed up as care. The solution is not magic. It is a system built on Odoo, with clear rules and a human being who approves each message before it goes out. At the time of writing, the system has generated 1,540 follow-ups over a span of 56 days, with half of them in the same-day window and a clinical review before any message is sent.

The problem. What gets lost between sessions

An aesthetics clinic lives on a long clinical relationship. The patient does not buy a single unit; they buy a series of decisions about their skin, body, or wellbeing, spread over time. The commercial consequence is simple: if the clinic does not accompany that time, the patient ends that relationship with whoever does.

The reasons why follow-up fails are the same across every clinic we have seen:

  1. Nobody remembers at the right moment. The booster session has no operational reminder; it depends on someone entering it by hand.
  2. Mass channels sound like spam. The generic "don't forget your treatment" email burns bridges as much as not writing at all.
  3. The log lives in the doctor's head. When the team grows, that memory does not transfer.
  4. The decision to contact is clinical, not commercial. Not every patient deserves the same message on the same day. That is something a professional knows, not a cron job.

The system that Nova House ran with Transgenia starts by accepting those four facts, not denying them.

The thesis of the case. Draft-first in the clinical relationship

The same hierarchy we apply internally to run AI agents translates here without modification, adapted to the clinic's vocabulary:

The system proposes. The doctor approves. The log records. The clinic learns.

A custom Odoo module generates follow-up events whenever a treatment falls within its corresponding window. Each event starts in the pending review state; nothing is sent until a member of the clinical team explicitly says yes. The rule is the same one our AI agents must follow before writing to Odoo, or that a content agent must follow before publishing an article. In medical aesthetics, the same protocol protects what matters most: patient trust.

Draft-first cycle diagram at Nova House: sale triggers rule, rule generates event, clinical team reviews, system sends or cancels, log records everything
The complete follow-up cycle. No arrow reaches the patient without passing through human review.

The architecture of the system, told without jargon

The system has three components, all built inside Odoo, with no parallel platforms.

1. Rules by treatment

Each treatment that requires follow-up has a dedicated rule. At the time of writing there are fifteen active rules, one per clinically relevant treatment: Botox, EMSCULP, Radiesse, Halo, BBL, Votiva, Morpheus, NCTF, Powershape, Hydrafacial, NovaCeroCed, Casmara, Microneedling, Sculptra, and Emsella. The rule is the unit of clinical knowledge in the system: it does not live in anyone's head, it lives in an Odoo record that can be edited and audited.

2. Contact windows

Each event belongs to a specific time window. At Nova House the three windows are clear:

The distribution observed across the 1,540 events generated is as follows:

Window Events Share
Ten days before 378 24.5 %
Five days before 378 24.5 %
Same day as the interaction 784 50.9 %
Total 1,540 100 %

The same-day window representing half is not a configuration error. It is a reading of the business: most events are generated at the time of the treatment, and the system then projects them forward.

Bar chart: distribution by contact window at Nova House. Same day: 784 events. Five days before: 378. Ten days before: 378.
The same-day window generates twice as many events as each anticipation window. The two anticipation windows are identical to each other.

3. Event states

Each event has a lifecycle state. Over the 56 days observed, the distribution is as follows:

State Events Share Reading
Pending review 938 60.9 % System proposes, human has not reviewed
Under review with clinical team 289 18.8 % Human took it, has not decided yet
Approved for contact 0 0 % Transient state; skips directly to sending
Email sent 58 3.8 % Actually contacted
Cancelled 248 16.1 % Explicit clinical discard
Needs attention 7 0.5 % Flagged technical incident
Total 1,540 100 %

What these numbers say honestly is this: the system proposes far more than it sends. That is the discipline. The automation is not the decision-maker; the clinical team is. The 16 % cancellation rate is good news, not bad: those are explicit human decisions of "this patient does not need this message right now." Without the system, that decision would not have existed at all, because the follow-up would never have reached the table.

Horizontal bars of draft-first cycle states at Nova House. Pending 938 (60.9%). Under review 289 (18.8%). Cancelled 248 (16.1%). Email sent 58 (3.8%). Needs attention 7 (0.5%).
State distribution: the system proposes vastly more than it actually sends.
Pareto of 1,540 events sorted by volume. Bars: Pending 938, Under review 289, Cancelled 248, Sent 58, Needs attention 7, Approved 0. Amber cumulative line: 60.9, 79.7, 95.8, 99.5, 100 percent.
Pareto confirms: three states hold 95.8% of the volume. The first two (system proposals) represent 79.7%.

The complete flow, step by step

A flowchart replaces a thousand paragraphs.

flowchart LR
    A[Sale / consultation<br/>in Odoo] -->|Product has rule| B[Rules engine<br/>15 treatments]
    B -->|Window 10d / 5d / same day| C[Event generated<br/>x_treatment_followup_event]
    C -->|Initial state| D{Pending review}
    D -->|Clinical team takes it| E[Under review]
    E -->|Proceed| F[Email sent<br/>to patient]
    E -->|Do not proceed| G[Cancelled<br/>with reason]
    E -->|Technical failure| H[Needs attention]
    F -->|Patient log| I[History in Odoo]
    G --> I
    H --> I
    I -->|Lessons| B

    classDef propone fill:#1e1b4b,stroke:#818cf8,stroke-width:1px,color:#e2e8f0;
    classDef humano fill:#052e16,stroke:#34d399,stroke-width:1px,color:#e2e8f0;
    classDef registra fill:#3d1a00,stroke:#fbbf24,stroke-width:1px,color:#e2e8f0;

    class A,B,C,D propone
    class E,F,G,H humano
    class I registra

Diagram: purple boxes are what the system proposes; green boxes are what the human decides; the amber box is what the clinic records. No event jumps from purple to green without a human decision.

Visual funnel: 1,540 events generated reduce to 1,227 in the active queue (79.7%), then 289 under clinical review (18.8%), finally 58 emails sent (3.8%). 313 events resolved without sending.
The draft-first funnel: the system proposes broadly; the human filters; only what is validated reaches the patient.

The observable operational benefits

Nothing that follows involves revenue figures or rounded ROI numbers. These are verifiable mechanisms that exist because the system exists.

Dashboard with four verified KPIs: 1,540 total events, 27.5 events per day average, 3.8 percent real send rate, 16.1 percent active clinical decision not to contact.
Four exact indicators, read directly from Nova House's Odoo instance. No rounding, no estimation.

Systematic coverage. The fifteen treatments with the highest clinical weight each have a dedicated rule. Before the system, follow-up coverage depended on the team's memory. Now there is a list, it is editable, and it can be audited.

A funnel with human decision-making. The clinical team sees, in a single list, all proposed follow-ups ordered by suggested date. The decision to contact is explicit: approve, cancel, or leave in review. The conversation with the patient never fires on its own.

Traceability per patient. Each event is linked to the original sale, the treatment applied, the suggested date, the person responsible for follow-up, the email sent if there was one, and the delivery status in Odoo. When the patient returns, the history is in a single view, not spread across three folders.

Zero cold campaigns. The distinction is key. This system does not send promotions. It sends personalized clinical follow-up to the right person at the right moment in their cycle. The "zero fabrication" discipline we apply to our internal agent team translates here as "zero message without a patient file behind it."

An auditable log. The full record is accessible from Odoo by any authorized person. If the clinic ever wants to review why a certain patient was not contacted, the answer is in a record, not in a lost WhatsApp conversation.

A learning curve that actually accumulates. Each cancellation has a reason. Each send has a date. After three months the clinical team can read patterns that previously lived only in intuition: which treatments generate the most false positives, which window works best by treatment, at which point in the cycle a certain patient profile tends to continue or drop off.

What other clinics can take from this

Nova House's experience is transferable. If your clinic, pharmacy, or outpatient facility is thinking about a similar system, here are six concrete steps:

  1. Write the list of treatments that require clinically relevant follow-up. Not the commercial list. The clinical one. It is shorter than it seems; at Nova House it is fifteen.
  2. Set the contact windows per treatment. Do not adopt a single global window. Ten, five, and zero days are three distinct cadences serving three distinct decisions.
  3. Model the lifecycle states before writing any code. Pending, under review, approved, sent, cancelled, flagged. That vocabulary is half the system.
  4. Place the human gate at the center. Nothing goes to the patient without someone on the clinical team approving it. The discipline is not optional; it is the system.
  5. Keep the log in the same place where the sale lives. At Nova House that is Odoo. It could be another ERP, but not a separate spreadsheet. Traceability breaks at the technology handoff.
  6. Measure cancellations as much as sends. A good follow-up system does not maximize sends. It maximizes explicit clinical decisions.

Closing. From intuitive care to operated care

In an aesthetics clinic, "operational care" is a real concept. It is the right message to the right person at the right moment. Before a system like this, that care depended on the mood of the team on a Monday morning. After the system, it still depends on the team, but with a list waiting for them each day, with dates already calculated, with the clinical window already suggested, with the human gate intact.

The clinic does not hand the relationship over to software. The software gives back to the clinic the time that was going into remembering who needed to be contacted and why. The patient receives genuine follow-up, not disguised promotion. And the clinic accumulates, session after session, a log that can be read tomorrow.

If your clinic is thinking about building something similar, the conversation starts at [email protected]. We bring the system and the protocol. You bring the clinical practice.


Note on accuracy and privacy

The figures published in this article (1,540 events, 56 days, distribution by state and by window, fifteen active rules) were read directly from Nova House's Odoo instance at the time of writing, July 8, 2026. No figure was rounded or estimated. No patient name, email, address, or personal data was read or cited; only aggregates. This article is published with the commercial consent of Nova House to name the clinic.

Verifiable case references:

← Back to Blog