C-Find matching refactoring required

Issue #57 new
Alain Mazy
created an issue

Trying to summarize the overall situation with C-Find:

  • worklist plugins uses the HierarchicalMatcher
  • standard C-Find handler is customizable for each manufacturer (not the worklist plugin)
  • standard C-Find requests can be sanitized by the lua callback IncomingFindRequestFilter (not the worklist plugin)

We should really try to use the same code as much as possible for all C-Finds. Ideal implementation:

  • use Hierarchical matcher for standard C-Find too
  • implement manufacturer patches in the Hierarchical matcher
  • call the lua filter on every incoming C-Find request

The following behaviour shall also be investigated: connect 2 Orthancs.
On Orthanc A: upload a patient and anonymize it. The anonymized patient does not have a PatientBirthDate, PatientSex, ...

Therefore, if Orthanc B performs a C-Find on Orthanc A, A will not match the studies because some fields that are requested (PatientBirthDate, PatientSex, ...) are not present in the studies.

The spec is not clear about that: http://dicom.nema.org/medical/dicom/current/output/chtml/part04/sect_C.2.2.2.html We should also check how other tools behave in this case.