Skip to content

Connect a FHIR server

KomPACS reads and writes plain FHIR R4 REST. IRIS for Health is the reference server. The MCP server works with any FHIR R4 server.

VariableUse
FHIR_BASEBase URL of the FHIR R4 server, for example https://fhir.example.org/fhir/r4
IRIS_HOSTIRIS host for SQL and vector search
INSURER_BASEOptional. Base URL of the insurer statement server.
  • Patient, Condition
  • DocumentReference or DiagnosticReport with report text
  • ImagingStudy with one series and a DICOM modality
  • ServiceRequest for the trigger
  • Organization and Endpoint for other hospitals

Full list: FHIR resources.

  • POC: ready FHIR transaction bundles.
  • Production: NIS sends HL7 v2 ORU/ADT or CDA. IRIS converts them through SDA3 to FHIR, the same path as orders.

The loader normalizes each ImagingStudy before it sends the bundle:

  • Czech modality codes map to DICOM: RTG → DX, SONO → US, MAMO → MG, ANGIO → XA. CT and MR stay. The Czech code stays in procedureCode.
  • Each study with a DICOM modality gets one series. Its UID is 2.25.<uuid5(study id)>. A reload gives the same UIDs.
  • The StudyInstanceUID is an identifier with system urn:dicom:uid.

The R4 modality search parameter reads series.modality. Without a series, a modality search does not find the study.

  • Set the max search results to 10000. The default 1000 rejects a search over all patients with 413.
  • Filter every search by patient. Unfiltered searches over large resource types stay blocked.

Create a projection of Patient and Condition as SQL schema pacs. The projection is live. The patient picker reads it in one query. Every SQL read has a FHIR REST fallback.