Skip to content

Architecture

KomPACS has three parts: IRIS for Health, an API and a web UI. IRIS holds all state. The API is stateless in production.

Users, clients

KomPACS stack

Sources

HL7

CSV

IRIS for Health

Interop production

FHIR R4

SQL + vectors

NIS / RIS

PACS

Insurer statement

API

Web UI

pacs-mcp

Collector, Doctor

MCP client

EU LLM

ComponentTechnologyRole
IRIS for HealthInterSystems IRIS for HealthFHIR R4 store, HL7 and CSV ingest, SQL projection, vector search
APIPython, FastAPIBuilds cases, calls the AI judge, writes requests and summaries
Web UIReact, TypeScriptCollector and Doctor views, in Czech
pacs-mcpPython, FastMCPMCP tools over FHIR and IRIS vectors
LLMEU Data Zone modelFinds mentions in report text, judges relevance
NeedIRIS feature
Store patient data as FHIRBuilt-in FHIR R4 server
HL7 v2 orders to FHIRInterop production: HL7 → SDA3 → FHIR
PACS CSV to FHIRInterop production with embedded Python, FHIR PATCH
SQL over FHIRFHIR SQL Builder projection, live
Find priors in report textVECTOR columns, HNSW index, VECTOR_COSINE, EMBEDDING()
Audit trailFHIR _history on Composition and Basic
Second FHIR serverInsurer statement mock on the same instance
  • The API is stateless. Run N replicas.
  • IRIS holds all state. For high availability, use a licensed IRIS with mirroring.
  • One stack per hospital. No patient data crosses stacks.
  • Central services hold no patient data: the verified-contact directory of hospitals.

Next: Data flow.