Skip to content

Data flow

#ProcessStarts withPath
1LoadSetupFHIR bundles → FHIR. Guideline PDF → vectors. Report sentences → vectors.
2TriggerHL7 order or MDT listHL7 ORM^O01 → production → SDA3 → ServiceRequest
3Case buildCollector opens a caseAPI reads FHIR → candidates and status → LLM → Task, Composition
4Collector actionsClick in the UIReview → Basic. Approve → Task + Communication. Re-judge → Basic.
5Images arrivePACS feed rowCSV → production → PATCH ImagingStudy
6SearchPatient picker, timelinePicker: SQL on pacs.*. Timeline: vector search.
7MCP Q&AMCP client questionAgent ↔ LLM. Agent runs pacs-mcp tools → FHIR and SQL.
OriginContent
DatasetPseudonymized FHIR bundles and a PACS availability CSV from the hackathon
SimulatedHL7 orders, MDT list, other hospitals, insurer statement data. FHIR tag simulated.
PublicModrá kniha ČOS PDF, ePACS facility directory
DerivedEverything KomPACS writes: verdicts, requests, summaries
LLM (EU)IRISvectorsIRIS FHIRIRISproductionAPILLM (EU)IRISvectorsIRIS FHIRIRISproductionAPIcandidates+ priorstatusloop[up to 6 rounds]alt[not cached]images arriveprior showsavailableCollectornew check(patient, CT/MR)HL7 ORM^O01SDA3 →ServiceRequestopen caseread Patient, Condition, reports,ImagingStudy, Coverage, Endpointfind mentions (report text)match place to ePACS facilityjudge casesearch_guideline / search_reportsVECTOR_COSINEchunks / sentencesverdicts + Modrá kniha quotePUT Basic llm-cache + llm-tracePUT Composition summary-* (onchange)caseapprove requestPUT Task + CommunicationPATCHImagingStudyCollector IRISLLM (EU)pacs-mcpMCP client(agent)IRISLLM (EU)pacs-mcpMCP client(agent)loop[up to 6 rounds]list_toolsquestion + tool listfunction callcall toolFHIR REST or SQLresultfunction outputanswer

The LLM never calls MCP. The agent is the MCP client. pacs-mcp reads the Composition that the API wrote.

CallWhenSends
Find mentionsCase build, per report not yet cachedText and date of one report
ePACS matchNew place name in a reportPlace name and 15 facility names
Judge caseCase build, re-judgeCase JSON. Tool results: guideline chunks, the patient’s report sentences.
MCP agentA questionQuestion. Tool results: FHIR resources, case summary, report sentences.

Patient text goes only to an EU Data Zone model. The API refuses other models. Embeddings run on a local model in the API container, so report text goes to no embedding service.

StoreDataWritten by
FHIR, datasetPatient, Condition, reports, ImagingStudyLoader, PACS feed (status)
FHIR, triggerServiceRequest, MDT ListHL7 production, API
FHIR, derivedRequests, verdicts, summaries, ePACS organizationsAPI
Insurer statement serverExplanationOfBenefit, CoverageSeed (POC)
pacs.* SQLPatient, ConditionFHIR SQL Builder, live
vec.ReportSentenceReport sentence vectors, no textAPI
vec.GuidelineChunkModrá kniha chunks and vectorsSetup