Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

PACS integration is the work of making the archive talk to the rest of the hospital: RIS, EHR, modalities, and (now) web viewers. It is not “what is a PACS.” That page is PACS and DICOM. This page is the handshake — HL7, the modality worklist, PID-3, DICOMweb, and the people who have to sign it off.

Do not invent a /services/pacs-integration/ from this article. If the job is a build, start from case studies.

Map the bottlenecks first

Follow one CT from order to report. Where does a radiologist alt-tab into the EHR for history? Where does a prior take ninety seconds? Where does a tech type a name the RIS already has? Those are the integration tickets. A feature list is not a needs assessment.

Write goals you can fail: retrieval under 10 s, STAT report turnaround down 25 %, zero manual MRN re-key between RIS and PACS. “Improve workflow” is not a goal.

Who sits at the table

Role Owns What they catch
IT Network, AE titles, security, migration Whether the pipe and the vendor contract will actually hold
Radiologist Hanging protocols, reporting loop Whether the workbench is usable at 02:00
Technologist Modality worklist, QC, send/verify Whether the scanner is still a typewriter
Referring clinician Images + report in the EHR Whether they can open the study without a second login
Admin / PACS admin Budget, users, day-two ops Whether anyone will still answer the pager in month three

IT alone will ship a system that is up and unused. Clinical alone will ship a wish list that cannot route.

DICOM, HL7, and the worklist

DICOM moves the pixels and the header. HL7 moves the story: who the patient is, why the scan was ordered, what the report said. If those two disagree, you get orphaned studies and a radiologist reading the wrong John Smith.

A typical loop:

  1. Registration fires an HL7 ADT. RIS and PACS learn the patient exists.
  2. The order is an HL7 ORM. It lands on the technologist worklist.
  3. The scanner does a DICOM Modality Worklist query and fills name, ID, accession — no typing at the gantry.
  4. The study goes to PACS as DICOM (C-STORE, or STOW-RS on a web path).
  5. The signed report is an HL7 ORU back into the EHR.

The mapping that breaks most often is the identifier. An HL7 PID segment carries the patient ID in PID-3. The integration engine has to read that field and write it to the PACS patient ID, not a neighbouring component you assumed was “the MRN.” Mismatched PID-3 is how you grow a second chart.

DICOMweb: WADO, QIDO, STOW

Classic DIMSE (C-STORE / C-FIND / C-MOVE) still runs on modalities and thick workstations. Web viewers and cloud PACS speak REST. That family is DICOMweb. The body of every “modern PACS” brochure names it; here is what the letters actually do.

Service Verb, roughly Replaces
QIDO-RS Search studies / series / instances over HTTP C-FIND
WADO-RS (and WADO-URI) Fetch the object, the metadata, or a rendered frame C-MOVE / C-GET
STOW-RS POST a DICOM instance into the archive C-STORE

A browser viewer QIDO-searches, WADO-fetches, and never opens a DIMSE port. A phone upload is STOW. UPS-RS (unified procedure step) is the worklist cousin; name it if you need it, do not pretend this page is an IHE cookbook.

You still configure AE titles, IPs, and ports for every modality that stays on DIMSE. DICOMweb does not retire the gantry.

Test until a Friday-night ED would survive

  • Unit. One CT can C-STORE. One ORM creates a worklist row.
  • Integration. Order → worklist → scan → archive → ORU in the EHR. The whole chain.
  • UAT. Radiologists, techs, and referrers run their real day on test patients. This is where you find the second MRN, the procedure code that did not map, the hanging protocol that dumps a trauma series in the wrong order.

A lab-green integration that dies in the ED is not integrated.

AI is another subscriber

Pre-archive: the model sees the study before PACS files it, and a DICOM SR rides along. On-demand: PACS files first, the engine queries later. Either way the result has to land in the workbench, not a side portal. That is still this job — a second consumer on the same HL7 / DICOM bus.

FAQ

What usually breaks?

Dirty identifiers (one patient, three MRNs). A mapping off by one HL7 component. A workflow nobody agreed to. Budget time to clean data before cutover. It is never as clean as the extract looks.

How long?

A single clinic, a handful of modalities: months. A multi-site hospital with a legacy archive: a year is not drama. Count modalities, study volume, and how many systems must share PID-3.

PYCAD builds the imaging side of this when the archive has to live in a clinic app. Case studies.

We build custom medical imaging platforms — advanced DICOM viewers, AI segmentation, and the clinical systems around them.

Get in Touch

Copyright © 2026 PYCAD. All Rights Reserved.