Skip to content

Add support to Orthanc for index and query of DICOM date/time fields

Rob Oakes requested to merge roakes/nsync-jc3 into master
  • Added basic support for indexing date/time fields to the resource cache. Fields and API level should be specified in the Orthanc configuration under the DicomExtDatetime section. Field pairs are grouped by the resource API they should be applied to (Patient, Study, or Series) and which date/time fields should be used for creating timestamps (examples: "StudyDate,StudyTime", "PerformedProcedureStepStartDate,PerformedProcedureStepStartTime").
  • Add support for querying date/time fields to dcmquery module (Patient, Study, and Series). Queries should follow DICOM date formats. Example: 20221231.
    • Ranges are supported by separating the beginning and ending of the range with a dash -. Example: 20100101-20230101.
    • If the beginning or ending date is missing from a range, only the provided condition will be applied.
      • Example 1: retrieve timestamps before January 1, 2023: -20230101
      • Example 2: retrieve timestamps after January 1, 2010: 20100101-
  • Add support for ordering API responses by DICOM fields. Refer to example request structure below.

Example config for date/time fields:

{
  "DicomExtDatetime": {
    "Study": [
      "PerformedProcedureStepStartDate,PerformedProcedureStepStartTime",
      "PerformedProcedureStepEndDate,PerformedProcedureStepEndTime",
      "ScheduledProcedureStepStartDate,ScheduledProcedureStepStartTime",
      "ScheduledProcedureStepEndDate,ScheduledProcedureStepEndTime"
    ]
  }
}

Example request structure for ordering:

{ ...
  "OrderBy": ["PerformedProcedureStepStartDate"]
}
Edited by Rob Oakes

Merge request reports