Connect the PACS availability feed
KomPACS must know whether the images of each exam are in PACS. A non-FHIR feed delivers this fact. The POC uses a CSV file.
PACS export (CSV) ──HTTP──> PACS.Csv.In ──> ZHL7.PacsCsvToFHIR (embedded Python) ──> FHIR PATCH ImagingStudy| Production item | Class |
|---|---|
PACS.Csv.In | EnsLib.HTTP.GenericService |
PACS.CsvToFHIR | ZHL7.PacsCsvToFHIR, embedded Python |
| FHIR write | HS.FHIRServer.Interop.Operation |
Mapping
Section titled “Mapping”| CSV value | ImagingStudy.status |
|---|---|
| Images in PACS = yes | available |
| Images in PACS = no | registered (study known, no images) |
| No PACS row | unknown |
The process finds each ImagingStudy by its exam ID. It sends a FHIR JSON Patch on status and the dostupnost-pacs extension only. An unchanged study gets no new version. The same file sent twice gives the same state.
- Add the service and the process to the production.
- Configure the PACS export. One row per exam: exam ID, images yes/no, source.
- Post the file to the service.
- Check one study:
GET /fhir/r4/ImagingStudy/<id>. Checkstatus.
- Pass values to embedded Python as JSON strings. An ObjectScript JSON
falsecan reach a Python boolean argument as truthy. - Production: the PACS feed format differs per hospital. Adapt the mapping, not the hospital. A DICOM C-FIND or QIDO-RS query is the next option.
Why: PACS feed.