Onsite health checks

Health days that end with follow-up, not a spreadsheet.

Employees scan at a kiosk or on their own phone. A loop takes consent, files each report under the employee, checks readings against published reference ranges and marks anyone due for follow-up.
The problem

Why health days fade

“Queues kill attendance.”

A health day that needs a nurse per check only reaches the first few people in line.

“Results go home on paper.”

Nobody knows who needed a follow-up, let alone whether they got one.

“Staff don’t trust the process.”

Without clear consent and limits, people skip the check.
How the loop works

How the health-day loop runs

  1. Consent first. Each scan opens on a consent screen, then a short intake with only the fields you choose.
  2. The scan. A phone-camera wellness scan at the kiosk or on the employee’s own phone.
  3. A report for the employee. A wellness snapshot on screen and a hosted PDF report.
  4. Follow-up marked. Readings outside the reference ranges mark the employee for a follow-up with your health team.
onsite-check.tsTypeScript
interface Check { employeeId: string; site: string }

export class HealthLoop extends Workflow {
  async run(event: HealthEvent<Check>, step: HealthStep) {
    const { employeeId, site } = event.body;

    await step.do("Open kiosk scan", async ({ ctx }) => {
      const employee = await ctx.USER.getUser({ id: employeeId });
      await ctx.FACIAL_SCAN.create({
        user: employee,
        singleDevice: true,
        steps: {
          consent: true,
          intake: { fields: ["age", "gender", "heightCm", "weightKg"] },
          results: true,
        },
        metadata: { site },
      });
    });

    const scan = await step.waitForScan({ timeout: "30 minutes" });
    const report = await step.do("Report link", () => scan.pdfUrl());

    // Your occupational health team decides who is due a follow-up.
    await step.do("File with occupational health", async () => {
      await fetch(`${this.env.OH_API}/checks`, {
        method: "POST",
        body: JSON.stringify({ employeeId, site, report, ...scan.results }),
      });
    });
  }
}
Channels and integrations

What the loop works with

Kiosks and phones. The same scan runs on an onsite kiosk or the employee’s own phone, behind a consent screen.
Health reference tools. Published adult reference ranges, public medicine label data, plain-language health topics, packaged-food lookups and nearby care.
Phone calls. Outbound calls to a phone number, or a browser call from your app. Each call ends with a transcript and a summary.
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.
Consent first. Every scan starts on a consent screen, and the intake asks only for the fields you choose.
Aggregates for the employer. Individual reports go to the employee and your health team. Build employer reports from totals.
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

How does an onsite health check work with Health Loops?

Employees scan at a kiosk or on their own phone after a consent screen and a short intake. The loop files a wellness snapshot and PDF report under the employee, and marks anyone due for follow-up for your health team.

What does the scan measure?

It gives a wellness snapshot from a phone camera, including readings such as heart rate, breathing rate and stress. It is not a diagnosis or a clinical measurement.

Do we need a nurse at every kiosk?

No. The scan runs on its own after consent. Your health team handles the follow-ups the loop marks.

See this loop run on your own journey.