DICOM Source
The DICOM source implements a C-STORE SCP (Service Class Provider), allowing imaging modalities, PACS systems, and other DICOM SCUs to send images and structured reports directly into an intu channel.
Metadata from DICOM tags is processed and made available to the transformer by default. Pixel data (the image itself) is stored separately and referenced in the message payload, keeping the pipeline efficient for metadata-driven workflows.
Configuration
Section titled “Configuration”source: type: dicom port: 4104 ae_title: INTU_SCP calling_ae_titles: - CT_SCANNER_1 - MR_SCANNER_2 tls: cert_file: ./certs/server.crt key_file: ./certs/server.keyProperties
Section titled “Properties”| Property | Type | Required | Default | Description |
|---|---|---|---|---|
port | int | Yes | — | TCP port to listen for DICOM associations (commonly 104 or 4104). |
ae_title | string | No | INTU_SCP | Application Entity title advertised by this SCP. |
calling_ae_titles | string[] | No | — | Restrict accepted associations to these calling AE titles. If omitted, all callers are accepted. |
tls | object | No | — | TLS certificate and key for encrypted DICOM (DICOM TLS). |
DICOM Concepts
Section titled “DICOM Concepts”| Term | Description |
|---|---|
| AE Title | Application Entity Title — a unique name identifying a DICOM node on the network. |
| C-STORE | DICOM service for sending (storing) objects from an SCU to an SCP. |
| SCP | Service Class Provider — the receiver in a DICOM association (intu acts as this). |
| SCU | Service Class User — the sender that initiates the association (e.g. a CT scanner). |
| SOP Class | Identifies the type of DICOM object (e.g. CT Image Storage, MR Image Storage). |
Complete Example
Section titled “Complete Example”A radiology ingest channel that receives DICOM images and converts metadata to a FHIR ImagingStudy resource:
id: radiology-ingestenabled: truegroup: imaging
source: type: dicom port: 4104 ae_title: INTU_RAD calling_ae_titles: - CT_SCANNER_1 - MR_SCANNER_2 - US_SCANNER_1 tls: cert_file: ./certs/dicom-server.crt key_file: ./certs/dicom-server.key
transformer: dicom-to-fhir.ts
destinations: - pacs_archive - ehr_fhirTransformer Example
Section titled “Transformer Example”A TypeScript transformer that maps DICOM metadata to a FHIR ImagingStudy resource:
export default function transform(msg: IntuMessage): IntuMessage { const dicom = JSON.parse(msg.payload);
const imagingStudy = { resourceType: "ImagingStudy", status: "available", subject: { reference: `Patient/${dicom.PatientID}`, }, started: dicom.StudyDate, identifier: [ { system: "urn:dicom:uid", value: `urn:oid:${dicom.StudyInstanceUID}`, }, ], modality: [ { system: "http://dicom.nema.org/resources/ontology/DCM", code: dicom.Modality, }, ], description: dicom.StudyDescription, numberOfSeries: dicom.NumberOfStudyRelatedSeries, numberOfInstances: dicom.NumberOfStudyRelatedInstances, };
msg.payload = JSON.stringify(imagingStudy); return msg;}