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.