Article
healthcareradiologyreportingstructured-dataworkflow-automationai-agentclinical-ainuance-powerscribe
Automate Radiology Reporting with Nuance's AI Agent
Use the Radiology Report Agent within PowerScribe One to auto-draft structured reports from your dictation. The agent applies templates, extracts measurements, and codes findings, reducing report turnaround time and improving data consistency.
intermediate1 hour4 steps
The play
- Initiate DictationOpen a patient study in your PACS/RIS and begin dictating your findings into PowerScribe One. Speak naturally, describing observations, locations, and measurements. The Radiology Report Agent listens in the background to capture the unstructured narrative.
- Trigger the AgentAfter dictating the core findings, use a specific voice command like "Apply AI" or click the corresponding button in the user interface. This instructs the Radiology Report Agent to process your dictation and structure it.
- Review the Structured DraftThe agent populates a structured report template in seconds. It organizes your findings, extracts key measurements (e.g., nodule size), and applies standardized RadLex terminology. Review this auto-drafted report for clinical accuracy.
- Edit and FinalizeDirectly edit the AI-generated text as needed. The system is designed for radiologist-in-the-loop validation. Once satisfied, add your final impression and electronically sign the report to send it to the EMR.
Starter code
pip install pydicom
# This script simulates accessing the raw data a radiologist would analyze.
# The Radiology Report Agent works on the dictated findings from this analysis.
import pydicom
import os
# Create a dummy DICOM file for demonstration if you don't have one.
# In a real scenario, this file would come from a PACS server.
file_meta = pydicom.dataset.FileMetaDataset()
file_meta.MediaStorageSOPClassUID = '1.2.840.10008.5.1.4.1.1.2' # CT Image Storage
file_meta.MediaStorageSOPInstanceUID = "1.2.3.4.5.6.7.8.9.10"
file_meta.ImplementationClassUID = "1.2.3.4"
ds = pydicom.dataset.FileDataset("CT_image.dcm", {}, file_meta=file_meta, preamble=b"\0" * 128)
ds.PatientName = "Doe^John"
ds.PatientID = "123456"
ds.StudyDate = "20231026"
ds.SeriesDescription = "Axial Brain 3mm"
ds.Modality = "CT"
# Add a sample finding as a private tag (for simulation)
ds.add_new('0019', 'xx10', 'LO', '3.2 cm mass in left lower lobe.')
ds.save_as("CT_image.dcm")
# --- Main script ---
def analyze_dicom_metadata(filepath):
"""Reads a DICOM file and prints key metadata."""
try:
dcm = pydicom.dcmread(filepath)
print(f"--- Analyzing {filepath} ---")
print(f"Patient ID: {dcm.PatientID}")
print(f"Study Date: {dcm.StudyDate}")
print(f"Modality: {dcm.Modality}")
print(f"Description: {dcm.SeriesDescription}")
# In a real workflow, the radiologist would now view the image
# and dictate findings, which the agent would then process.
print("\nSimulated Dictation Input: A radiologist would now view this scan and dictate findings.")
except Exception as e:
print(f"Error reading DICOM file: {e}")
if __name__ == "__main__":
analyze_dicom_metadata("CT_image.dcm")
os.remove("CT_image.dcm") # Clean up the dummy file