For laboratories

An interpretation layer for your laboratory panels

STRUCTA MED turns a panel of results into a structured, explainable reading for the clinician: what is outside range, which findings belong together, and what to review first. Rule-based, with the reasoning shown for every finding.

What your laboratory gets

Multi-biomarker interpretation across more than 500 markers, with units normalised and physiologically impossible values rejected rather than interpreted.
Cross-marker patterns, for example iron, thyroid, renal, inflammatory and cardiometabolic groupings, presented as suggestions for review.
Prioritised findings and suggested next steps, so the clinician sees what matters first.
Longitudinal trends against earlier panels, judged by distance to the range rather than by the direction of change.
Your own reference ranges respected: when your range is sent, it is used instead of ours.
Nothing dropped silently: rows that cannot be matched or graded are reported back as unrecognised.

Integration

Send structured results as JSON to a REST endpoint, POST /api/v1/analyze, with your API key. You receive the interpretation as JSON: findings with their reasoning, patterns, next steps, trends and the list of unrecognised rows. Branded PDF reports are available in the web application. POST /api/v1/report returns a branded PDF report. Results can also be sent with LOINC codes (214 supported codes): rows are routed by code, with name matching as a fallback.

Request
POST /api/v1/analyze
Authorization: Bearer sm_live_...

{
  "patient": { "sex": "male", "age": 45 },
  "results": [
    { "name": "ApoB", "value": 1.32, "unit": "g/L",
      "ref_low": 0.6, "ref_high": 1.0 },
    { "name": "ALT", "value": 22, "unit": "U/L", "ref_high": 50 }
  ]
}
Response (abridged)
{
  "engine_version": "structamed-engine/2026-10",
  "counts": { "received": 2, "graded": 2, "abnormal": 1 },
  "findings": [
    { "name": "ApoB", "value": 1.32, "unit": "g/L",
      "ref_source": "partner", "status": "high",
      "severity": "warning", "rationale": [ ... ] },
    ...
  ],
  "patterns": [ ... ],
  "next_steps": { "urgency": "routine", "steps": [ ... ] },
  "unrecognized": []
}

Your name on the report

PDF reports carry your laboratory's logo and display name in one of 12 colour palettes, and the StructaMed branding can be removed; the clinician disclaimer always stays. Set this in your partner profile for the API, or under Settings, PDF export in the web application.

Clinical governance and data

  • A deterministic, rule-based engine: the same input always produces the same output.
  • Every finding carries its reasoning: which markers, values and thresholds led to it, so a clinician can verify it.
  • AI-written text exists only in the web application, where it is visibly labelled as AI-generated. The partner API makes no AI calls.
  • The partner API does not store submitted results. It processes the request and keeps only a per-key count of calls for billing.
  • Report text and individual result values are not written to production server logs.
  • The server runs in Germany (Frankfurt) and the database in Switzerland (Zurich). Data is encrypted in transit and at rest.
  • We recommend sending de-identified data only: an internal ID, sex, age and the results.

STRUCTA MED is decision support for clinicians. It does not diagnose and does not replace clinical judgement.

Start with a paid pilot on your panel

Choose one of your own panels, run it through the engine, and let your clinicians check the output against their own judgement. Tell us about your laboratory and we will agree the scope of the pilot together.

Contact us about a pilot