Skip to content

How it works

Measure pain. See what it produces.

Position, Area, Intensity, Nature, and Time — captured on an anatomy-classified 3D surface, measured in real square millimetres, and exported as structured records.

The 3D symptom-mapping workspace with the body model ready to turn, zoom, and pan.

The surface

A measured atlas, not a drawing of a body.

Painting happens on a 3D mannequin whose surface is divided into a fixed grid of texels and classified, triangle by triangle, against a reviewed anatomy atlas. Because the grid is fixed and the classification is reviewed rather than estimated, a painted region has a real area in square millimetres and a real anatomical label — and the same region on the same body variant means the same thing in every capture.

  • 676,850 active paint texels across a 1024² atlas — 64.55% coverage.
  • 28,092 individually classified anatomy patches.
  • One engine paints, measures, and persists, so there is no gap between the live view and the saved report.
  • Sampling resolution varies by body variant, because the same atlas wraps bodies of different sizes.
SamplingMaleFemaleYouth / neutral
Resolution1.76mm1.64mm1.53mm
Mean texel area3.09mm²2.70mm²2.35mm²
Body surface area20,920cm²18,280cm²15,880cm²
Reference body1.97 m, 80 kg1.85 m, 65 kg1.65 m, 55 kg
Mannequin figures, not patient measurements. Body surface area is a Mosteller estimate for the reference height and weight shown, and can be overridden by a patient profile. Cite the mannequin variant and version when reporting absolute cm² figures.

The framework

PAINT — five axes of a symptom record.

Four axes describe a symptom. The fifth is the one records almost always lose.

  1. Position

    Anchors each symptom to where it sits on the body — on a 3D model you can pose to match the patient, with that posture recorded alongside the chart.

  2. Area

    Measures how much body surface is involved, in real cm² and percent BSA on the reviewed 3D mannequin.

  3. Intensity

    Keeps symptom strength attached to the painted surface so the PAIN-Index is not flattened into presence versus absence.

  4. Nature

    Preserves the qualitative character of the symptom so burning, aching, pressure, or numbness remain distinguishable.

  5. Time/ Trajectory

    Tracks how a symptom changes across snapshots — whether it persists, spreads, resolves, or recurs — so reassessment asks where it is better, worse, new, or resolved.

The T in PAINT

Time is the letter. Trajectory is the idea.

Each visit is a PAINprint Snapshot. Stack snapshots and you get a PAINprint Timeline — the symptom story over time. Trajectory is how that story moves: spreading, shrinking, intensifying, resolving, or recurring. That is the difference between asking "where does it hurt?" and "where did it hurt, how much, what kind, and what changed?"

Framework

PAINT

The measurement framework: Position, Area, Intensity, Nature, Time.

Single finding

PAINprint

The painted spatial record for one finding at one moment.

Timepoint / visit

PAINprint Snapshot

A time-stamped chart state composed of one or more PAINprints.

Longitudinal New

PAINprint Timeline

An ordered sequence of Snapshots — the symptom story over time.

Impact summary

PAIN-Index

A normalized impact score derived from measured area × reported intensity.

(weighted area / total BSA) × 100

Derived objects

What each capture produces.

Beyond the exports, every capture yields a derived metric panel, a snapshot, and — stacked over time — a PAINprint Timeline. Examples are simulated and de-identified.

Metric Ships today

PAIN-Index panel

PAIN-Index ............ 7.4 / 100
Painted footprint ..... 3.1% BSA
Adjusted local intensity 6.8 / 10
Who
All audiences
Why
Normalized impact: area weighted by reported intensity.
Object Ships today

PAINprint Snapshot

Snapshot · Visit 3 · 2026-05-12
2 findings · right lumbar, right thigh
Replays to the same rendered surface.
Who
Clinicians, researchers
Why
The exact chart state captured at one timepoint.
Object Ships today

PAINprint Timeline

Timeline (3 snapshots)
new · resolved · spread · persistent
PAIN-Index 9.1 → 8.0 → 7.4
Who
Clinicians, researchers
Why
Ordered snapshots — trajectory made visible.

Outputs

Six formats ship today.

Every output derives from one finding-level model. Examples are simulated and de-identified — they show the structure, not real patient data.

HTML Ships today

Encounter HTML

<section class="encounter">
  <h1>Symptom map — visit 3</h1>
  <p>Findings: 2 · PAIN-Index: 7.4</p>
  <figure><img alt="3D body chart"/></figure>
</section>
Who
Clinicians
Why
A readable visit record to attach to the chart.
HTML Ships today

Timeline HTML

Baseline → Visit 2 → Visit 3
PAIN-Index  9.1     8.0     7.4
Area %BSA   4.2     3.6     3.1
Status:  1 finding no longer charted
Who
Clinicians, patients
Why
Visit-to-visit change at a glance.
TXT Ships today

Plain-text clinical note

Patient reports aching, burning pain over
the right lumbar region and posterior thigh.
Area ~3.1% BSA. PAIN-Index 7.4 (was 9.1).
Left arm no longer charted since baseline.
Who
Clinicians
Why
Paste-ready summary for any EMR note field.
CSV Ships today

Research CSV

finding,region,side,nature,area_cm2,pct_bsa,intensity
1,lumbar,right,aching,612,3.1,7
2,thigh,right,burning,344,1.7,6
Who
Researchers
Why
One row per finding for analytics and registries.
JSON Ships today

Canonical JSON

{
  "schema": "painprint/3",
  "snapshot": "2026-05-12T14:08Z",
  "findings": [
    { "id": 1, "nature": "aching",
      "areaCm2": 612, "intensity": 7 }
  ]
}
Who
Integrators
Why
Lossless, versioned source of truth; round-trips.
FHIR R4 Ships today

FHIR R4 DocumentReference

{
  "resourceType": "DocumentReference",
  "status": "current",
  "type": { "text": "Symptom map" },
  "content": [{ "attachment": {
    "contentType": "text/html" } }]
}
Who
Integrators
Why
Vendor-neutral handoff to FHIR-aware servers.

Where the software stops

Every number here is arithmetic, not an opinion.

There is no model in this pipeline, no inference, and no prediction. Each figure is a deterministic transform of what a human put on the chart, and the exact contract that produced it — scoring version, body-model version, every formula, the area threshold, the body-surface-area denominator, the overlap policy — is emitted alongside the structured exports. That is what makes a number from two years ago still readable.

  • Change between two captures is reported as a signed quantity and its direction.
  • Whether that change matters is a clinical judgement, and the software does not offer one.
  • Magnitude bands and detection thresholds are deliberately not shipped — they require minimal-detectable-change studies that have not been done.
  • Given the published contract, any figure can be rederived by hand.

See it on a real chart.

The workspace is free and open, and nothing you draw leaves your device.