microsoft / microsoft/dicom-server

Extend fuzzy matching capabilities of QIDO-RS

Open
#668 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area-DicomQuery Feature
Dominant language
C#
Stars
513
Forks
195
PR merge metrics
No merged PRs in 30d

Description

User story
As a user, I want search on specific component of a component group (even in phonetic or ideographic group) of the whole patient's name with fuzzy matching enabled so that get better and a narrowed down result set.

Acceptance criteria
Let's suppose there are two different patients in the database.
They have the "Harrison" string in common, however in their different name component (family name and given name):

  1. George^Harrison=dzsordzs^herizon
  2. Harrison^Ford

When I do
studies?PatientName=Harris^&FuzzyMatching=true
then
only George Harrison is returned in the result set.

and/or

When I do
studies?PatientName=^Harris&FuzzyMatching=true
then
only Harrison Ford is returned in the result set.

and/or

When I do
studies?PatientName==heri&FuzzyMatching=true
then
only George Harrison is returned in the result set.

Pay attention to the equal sign which could mean that the search need to be performed in the ideographic group.
If there were two equal signs it would mean that the search need to be performed in the phonetic group. However these could be combined together.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the QIDO-RS PatientName query handling and the DICOM patient-name component rules described in the issue. Trace how FuzzyMatching=true currently interprets family, given, ideographic, and phonetic components; done means the three example queries return only the specified patient, including the documented equal-sign behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
api, backend-api-design, search
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.