Skip to main content

Imaging Module

Parthenon's Imaging module integrates DICOM medical imaging data into the OMOP CDM research platform. It provides DICOM file import, study/series/instance hierarchy management, a Cornerstone3D-powered web viewer with clinical tools, radiology NLP feature extraction, population-level imaging analytics, and imaging cohort criteria for the cohort builder.

Module Architecture

DICOM Source  -->  Import & Index  -->  Study/Series/Instance DB  -->  WADO-RS Endpoint
| | |
Local files Feature Extraction Cornerstone3D Viewer
DICOMweb server |
Imaging Features
|
Cohort Criteria / Population Analytics

DICOM Data Model

Parthenon follows the standard DICOM information hierarchy:

Studies

A study represents a single imaging examination (e.g., a chest CT scan ordered for a patient):

FieldDescription
Study Instance UIDGlobally unique DICOM identifier
Accession NumberHospital-assigned order number
ModalityImaging modality (CT, MR, US, XA, etc.)
Body Part ExaminedAnatomical region (CHEST, HEAD, ABDOMEN, etc.)
Study DescriptionFree-text description from the DICOM header
Study DateDate the examination was performed
Person IDLinked OMOP person (if matched)
Series CountNumber of series in the study
Image CountTotal number of images across all series
Statusindexed / processed / error

Series

A series is a set of images acquired with the same parameters (e.g., axial CT slices at 5mm thickness):

FieldDescription
Series Instance UIDUnique series identifier
Series DescriptionProtocol name or series label
ModalitySeries-level modality (may differ from study)
Series NumberOrdering index within the study
Image CountNumber of instances in this series
Slice ThicknessSlice thickness in mm
ManufacturerScanner manufacturer
ModelScanner model name

Instances

Individual DICOM image files with SOP Instance UIDs, instance numbers, and slice locations.

Supported Modalities

CodeModalityDescription
CTComputed TomographyCross-sectional X-ray imaging
MRMagnetic ResonanceMRI scans
PTPositron Emission TomographyPET scans
USUltrasoundSonographic imaging
CRComputed RadiographyDigital X-rays
DXDigital RadiographyDirect digital X-rays
MGMammographyBreast imaging
XAX-Ray AngiographyVascular imaging
NMNuclear MedicineScintigraphy, SPECT
RFRadiofluoroscopyReal-time X-ray

Importing DICOM Data

Local File Import

Import DICOM files from a directory on the Parthenon server:

  1. Navigate to Imaging from the main navigation.
  2. Click Import Local in the toolbar.
  3. Configure:
    • Data Source -- target OMOP source
    • Directory -- relative path to DICOM files on the server (default: dicom_samples)
  4. Click Import.

The DicomFileService scans the directory recursively, parses DICOM headers from each .dcm file using a PHP-native DICOM reader, and upserts study/series/instance records in the database.

Import results show:

  • Studies imported (new or updated)
  • Series imported
  • Instances imported

DICOMweb Indexing

For integration with PACS or Orthanc servers, Parthenon can pull study metadata via the DICOMweb (QIDO-RS) protocol:

  1. Click Index from DICOMweb in the toolbar.
  2. Configure:
    • Data Source -- target OMOP source
    • Limit -- maximum number of studies to index (default: 100, max: 1000)
    • Modality filter -- optionally restrict to a specific modality (e.g., CT)
  3. Click Index.

The DicomwebService queries the configured DICOMweb endpoint, retrieves study-level metadata, and upserts records. Series can be indexed separately per study.

DICOMweb configuration

The DICOMweb endpoint URL is configured per data source in the source settings. Parthenon supports Orthanc's built-in DICOMweb plugin and any standard WADO-RS/QIDO-RS compliant server.

Series Indexing

After a study is indexed, retrieve detailed series information:

  1. Open a study in the study browser.
  2. Click Index Series.
  3. Parthenon queries the DICOMweb endpoint for series-level metadata and populates the series table.

Study Browser

The study browser provides a searchable, filterable list of all indexed imaging studies:

Filters

FilterDescription
Data SourceStudies from a specific OMOP source
ModalityFilter by imaging modality (CT, MR, etc.)
Person IDStudies for a specific patient
Date RangeStudies within a time period
Body PartStudies of a specific anatomical region
SearchFree-text search across study description and accession number

Study Detail Page

Click any study to open the detail page showing:

  • Full study metadata (all DICOM header fields)
  • Series list with thumbnails and metadata
  • Instance list (sortable by instance number and slice location)
  • Imaging features extracted from NLP or AI (see below)
  • Link to the Cornerstone3D viewer

Cornerstone3D DICOM Viewer

Parthenon includes an integrated web-based DICOM viewer built on Cornerstone3D, providing clinical-grade image viewing directly in the browser:

Viewer Features

ToolDescriptionShortcut
Window/LevelAdjust brightness and contrast (Hounsfield units for CT)Left-click drag
ZoomMagnify or reduce image sizeScroll wheel
PanMove the image within the viewportMiddle-click drag
ScrollNavigate through slices in a seriesScroll wheel (over image)
Length MeasurementMeasure distance between two points in mmL key
Angle MeasurementMeasure angle between three pointsA key
ResetReset all viewport adjustmentsR key

WADO-RS Endpoints

The viewer retrieves DICOM images via Parthenon's built-in WADO-URI endpoint:

GET /api/v1/imaging/wado/{sopInstanceUid}

This endpoint streams the raw DICOM file with Content-Type: application/dicom and appropriate caching headers. The Cornerstone3D dicomImageLoader uses this endpoint to load images on demand.

Viewer performance

For large studies (500+ images), the viewer loads images progressively as you scroll through slices. Initial viewport rendering begins immediately with the first available image. Enable browser caching to avoid re-downloading images on repeat views.

Imaging Features

The imaging module extracts structured features from imaging studies for use in research queries:

Feature Types

TypeSourceDescription
NLP FindingRadiology NLP serviceFindings extracted from radiology report text
AI ClassificationAI model inferenceClassification results from imaging AI models
RadiomicQuantitative analysisRadiomic features (texture, shape, intensity)
ManualUser annotationManually entered imaging observations

NLP Feature Extraction

For studies linked to OMOP patients, Parthenon can extract imaging findings from associated radiology notes:

  1. Open a study detail page.
  2. Click Extract NLP Features.
  3. The RadiologyNlpService queries the OMOP note table for radiology reports matching the patient.
  4. NLP extracts structured findings (e.g., "pulmonary nodule", "pleural effusion") with confidence scores.
  5. Extracted features are stored in the imaging_features table.

Feature Table

Each feature record contains:

FieldDescription
Feature NameDescriptive name (e.g., "Pulmonary Nodule")
Feature Typenlp_finding / ai_classification / radiomic / manual
AlgorithmName of the extraction algorithm or model
Value (numeric)Quantitative value (e.g., nodule size in mm)
Value (string)Qualitative value (e.g., "present", "absent")
UnitUnit of measurement (mm, HU, etc.)
Body SiteAnatomical location of the finding
ConfidenceAlgorithm confidence score (0-1)
OMOP Concept IDMapped OMOP concept for standardized querying

Imaging Cohort Criteria

The Imaging module extends the cohort builder with imaging-specific criteria:

Criteria TypeDescriptionExample
modalityPatients with studies of a specific modalityPatients with at least one CT scan
anatomyPatients with studies of a specific body partPatients with chest imaging
quantitativePatients with imaging features meeting numeric thresholdsPatients with nodule size > 8mm
ai_classificationPatients with specific AI classification resultsPatients classified as "high risk" by lung screening AI
dosePatients based on radiation dose parametersPatients with cumulative CT dose > threshold

Creating Imaging Criteria

  1. Navigate to Imaging > Criteria (or use the Cohort Builder's imaging criteria panel).
  2. Click New Criterion.
  3. Select a criteria type and configure parameters.
  4. Optionally mark as Shared for organization-wide use.

Imaging criteria combine with standard clinical criteria in the cohort builder for multi-modal research.

Population Imaging Analytics

The Population Analytics view provides aggregate imaging statistics across a data source:

By Modality

Bar chart showing study counts and unique patient counts per modality:

ModalityStudiesUnique Patients
CT----
MR----
US----
...----

By Body Part

Top 15 body parts by study count, revealing the most common examination types in your database.

Top Features

Most frequently extracted imaging features across all studies, grouped by feature type. This identifies the most common radiological findings in your population.

OMOP CDM Integration

Imaging studies can be linked to the OMOP CDM through:

  • Person matching -- linking person_id from patient demographics
  • Image occurrence -- mapping to the OMOP image_occurrence extension table (if available)
  • Visit linking -- associating studies with OMOP visits via accession number or date matching
  • Measurement mapping -- imaging features written to the measurement table with appropriate concepts

API Reference

Key imaging API endpoints:

EndpointMethodDescription
/api/v1/imaging/statsGETModule statistics
/api/v1/imaging/studiesGETList/filter studies
/api/v1/imaging/studies/{id}GETStudy detail with series
/api/v1/imaging/studies/{id}/instancesGETInstance list for viewer
/api/v1/imaging/studies/{id}/index-seriesPOSTIndex series from DICOMweb
/api/v1/imaging/studies/{id}/extract-nlpPOSTExtract NLP features
/api/v1/imaging/studies/index-from-dicomwebPOSTIndex studies from DICOMweb
/api/v1/imaging/featuresGETList imaging features
/api/v1/imaging/criteriaGET, POSTList/create cohort criteria
/api/v1/imaging/analytics/populationGETPopulation-level analytics
/api/v1/imaging/wado/{sopUid}GETWADO-URI DICOM file stream
/api/v1/imaging/import-local/triggerPOSTTrigger local DICOM import
DICOM data privacy

DICOM files may contain patient-identifying information embedded in the DICOM headers (patient name, date of birth, medical record number). Parthenon does not automatically de-identify DICOM data. Ensure your DICOM files are appropriately de-identified before importing into research environments, or configure your import pipeline to strip PHI-containing DICOM tags.