Chronic condition follow-up

Follow-up between visits for long-term conditions.

People living with a long-term condition need contact between appointments, not just at them. A loop checks in on the schedule your care team sets, checks each reading against published reference ranges, and tells your team when one is out of range.
The problem

The gap between appointments

“We see them twice a year.”

Everything that happens between visits goes unrecorded.

“Our nurses spend their day on routine calls.”

The calls that matter wait behind the ones that don’t.

“Readings arrive with no context.”

A number from a home device means more beside the last one and the member’s own words.
How the loop works

How the follow-up loop runs

  1. Your schedule starts it. Your care system starts a check-in at the interval your team sets, or when a home device sends a reading.
  2. Readings meet reference ranges. Blood pressure, resting heart rate, breathing rate and oxygen saturation are checked against published adult ranges, with the source cited.
  3. Context from memory. Each check-in is added to the member’s memory, so the next one knows what changed.
  4. Your team hears about out-of-range readings. Out-of-range readings go to your care team with the reading and its source. In-range readings are simply recorded.
bp-follow-up.tsTypeScript
interface Reading { memberId: string; systolic: number; diastolic: number }

export class HealthLoop extends Workflow {
  async run(event: HealthEvent<Reading>, step: HealthStep) {
    const { memberId, systolic, diastolic } = event.body;

    // Rule-based check against a published adult reference range.
    const bp = await step.do("Check reading", ({ ctx }) =>
      ctx.HEALTH_CALCULATOR.bloodPressure({ systolic, diastolic }),
    );

    await step.do("Remember", async ({ ctx }) => {
      const member = await ctx.USER.getUser({ id: memberId });
      await member.remember(`BP ${systolic}/${diastolic}: ${bp.category}`);
    });

    if (bp.category !== "normal" && bp.category !== "elevated") {
      await step.do("Tell the care team", async () => {
        await fetch(`${this.env.CARE_API}/alerts`, {
          method: "POST",
          body: JSON.stringify({ memberId, systolic, diastolic, ...bp }),
        });
      });
    }

    return bp;
  }
}
Channels and integrations

What the loop works with

Phone calls. Outbound calls to a phone number, or a browser call from your app. Each call ends with a transcript and a summary.
Wellness scans. A phone-camera scan behind a consent screen, with a hosted PDF report. The scan link works from your app, a text message or WhatsApp.
Health reference tools. Published adult reference ranges, public medicine label data, plain-language health topics, packaged-food lookups and nearby care.
Member memory. One record per person, shared by every loop, so each journey starts with what the last one learned.
Your own systems. Loops call your endpoints to read data and send results back. Your systems start loops with one authenticated API call.
Data and compliance

How data is handled

Wellness, not diagnosis. Ollie is a wellness product, not a medical device. Loops do not diagnose, and scan readings are wellness readings, not clinical results.
Sources on every result. Each reference-range check names the published guideline it came from, so your team can see why a reading was flagged.
A record of every run. The trigger, each step and its result, every tool call, every log line and every error are kept for your team to review.
FAQ

Questions

Can Health Loops monitor a chronic condition?

Health Loops runs the check-ins between appointments: regular calls and scans, readings checked against published reference ranges, and your care team told when a reading is out of range. It does not diagnose or manage treatment.

Where do the readings come from?

From a phone-camera wellness scan, or from readings your own systems or home devices send to the loop when they start it.

Does the loop change anyone’s treatment?

No. The loop records and routes. Decisions about care stay with your clinicians.

See this loop run on your own journey.