Selected work

VOICE DOCUMENTATION / INTEROPERABILITY

Vital Mapper

Voice → structured clinical data → FHIR

A speech-assisted nursing documentation platform that turns spoken observations into grounded, reviewable clinical structure and forwards approved records through a versioned interoperability gateway.

IMPLEMENTED PROTOTYPE · HUMAN REVIEW REQUIRED
How can unstructured clinical language become structured, interoperable data without losing human oversight?

01 / Problem

The clinical signal begins in natural language.

Nursing notes contain observations that matter to the care context, but spoken language is not automatically structured, coded, or ready to cross a system boundary. The engineering challenge is to preserve the statement, expose uncertainty, and give a clinician the final say.

  • Vital signs and fluid intake
  • Pain, symptoms, mobility and observations
  • Nursing interventions and contextual qualifiers

02 / Architecture

A model proposes; approved data crosses a controlled contract.

The implementation separates local speech and language processing from a typed clinical extraction, grounding checks, review, and a versioned gateway contract. Vital Mapper does not write directly to HAPI FHIR; the monitoring system owns the authoritative FHIR, LOINC and UCUM mapping.

  1. 01
    Voice inputExplicit microphone action
  2. 02
    Encrypted audio storeProtected recording persistence
    implemented
  3. 03
    faster-whisperLocal speech-to-text service
    implemented
  4. 04
    Ollama extractionLocal structured proposal
    implemented
  5. 05
    Grounding + canonical modelUnsupported facts are rejected
  6. 06
    Human approvalCorrection before submission
  7. 07
    Interop gatewayMonitoring contract and FHIR boundary
    implemented
The language model is not a FHIR authoring authority. It is a constrained extraction assistant.

03 / Data flow

Human review is a gate, not a footnote.

The source transcript remains visible next to the extracted information and FHIR proposal. A nurse can confirm, correct, or reject every proposed element before any persistence step.

  1. 01Transcript
  2. 02Extracted information
  3. 03FHIR proposal
  4. 04Nurse review
  5. 05Confirm / correct / reject
  6. 06Persist through a controlled API

This case study models assistance, not autonomous clinical decision-making.

04 / Clinical data model

From an utterance to a grounded clinical model.

The implemented extraction keeps source-grounding and missing information visible. Intermediate structure lets laterality, mobility and measurement units be reviewed before the approved report and vital values are submitted to the monitoring contract.

SYNTHETIC NURSING INPUT
“The patient has had pain in the right knee since this morning. Mobility is impaired. Temperature: 37.8 °C.”
Symptom
Knee pain
Laterality
Right
Mobility
Impaired
Temperature
37.8 °C
Monitoring-side FHIR representation · synthetic example

After approval, the gateway forwards grounded vital values to Monitoring Pflege. That backend deterministically maps measurement types to an Observation; approved narrative is stored as a Composition with an active Encounter context.

{
  "resourceType": "Observation",
  "status": "preliminary",
  "subject": { "reference": "Patient/synthetic-1042" },
  "encounter": { "reference": "Encounter/synthetic-enc-37" },
  "code": { "text": "Body temperature" },
  "valueQuantity": {
    "value": 37.8, "unit": "°C",
    "system": "http://unitsofmeasure.org", "code": "Cel"
  }
}

05 / Interoperability

Interoperability is more than valid JSON.

FHIR resource choice depends on the documented fact, care workflow, local profiles and the receiving system. The model therefore proposes a typed clinical fact first; the mapper applies rules for the agreed integration contract.

01

Observation

Measurements and selected findings, with units and references.

02

Condition

May fit a clinically maintained problem, subject to workflow and governance.

03

ClinicalImpression

Can carry an assessment context where appropriate.

04

Composition

Can represent a structured document context when the implementation calls for it.

05

Provenance

Can record creation and review context without replacing the source note.

FHIR / terminologyTerminology is a separate semantic layer: UCUM can normalize units; LOINC and SNOMED CT are conceptual integration targets where a governed value set and licensing context exist. This case study does not claim a completed terminology service.

06 / Security

Privacy and trust boundaries are implemented in the path.

Vital Mapper uses a server-side OIDC BFF session, encrypted Redis-backed tokens, role- and patient-level checks, encrypted audio storage and audit logging. Local faster-whisper and Ollama services reduce external model data transfer in the development architecture.

01

Audio

Recordings are encrypted at rest; the frontend keeps audio out of browser persistent storage.

02

AI processing

faster-whisper and Ollama run as local/on-premises-capable services in the Compose architecture.

03

API access

Keycloak/OIDC, server-side sessions and RBAC protect API and patient access.

04

Integration

Approved data travels through the gateway; direct HAPI access is intentionally quarantined.

Implemented controls are not a certification or a claim of production clinical deployment.

07 / Engineering decisions

Key engineering decisions

  1. 01

    Grounded extraction before integration

    Unsupported values are rejected instead of being completed by the model.

  2. 02

    Review before persistence

    Every proposal remains editable clinical documentation, not an autonomous conclusion.

  3. 03

    Gateway, not direct FHIR access

    Vital Mapper sends approved information through a versioned gateway; Monitoring Pflege applies the authoritative FHIR mapping.

Open engineering challenges
  • Representing negation, uncertainty, timing and attribution without flattening the spoken statement.
  • Choosing resource profiles and terminology bindings that fit the target workflow rather than a generic demo.
  • Making corrections traceable without exposing unnecessary clinical content in logs.

08 / State & direction

Current state

IMPLEMENTED PROTOTYPE

The repository implements the React/FastAPI workflow, encrypted audio persistence, local faster-whisper transcription, Ollama extraction, grounding checks, manual approval, Keycloak/OIDC BFF sessions, PostgreSQL/Redis and the Monitoring gateway submission path.

FUTURE DIRECTION

Future direction

Next work is rigorous extraction evaluation, integration-contract testing across deployments, operational retention policy, and clinical validation/governance before any production care use.

09 / What this demonstrates

What this project demonstrates

  1. 01AI engineering with an explicit human-in-the-loop boundary
  2. 02Clinical data modelling before serialization
  3. 03FHIR-aware integration design and terminology humility
  4. 04Privacy-by-design thinking at system boundaries