cancervariants / cancervariants/therapy-normalization

Add "alternative matches" item to normalization endpoint response

Open
#87 2 comments 0 reactions 0 assignees View on GitHub
enhancement ux
Dominant language
Python
Stars
15
Forks
3
PR merge metrics
No merged PRs in 30d

Description

The normalization endpoint returns a single merged record, but it should also provide a list of merge IDs to other possible matches, if there are any. This would include any distinct merged groups that come up at the same MatchType level (should only apply to TradeName/Alias/Xref/AssociatedWith).

We should capture every time this happens with grouped concepts drawn from the same source(s) in the logs under WARNING.

We also want to run a big analysis to get an idea of where/how often this could happen.

- [ ] Run an analysis of all label_and_type fields, break out by item_type, to get an idea of how frequent alternative matches could come up (and break out by different vs same MatchType numeric values)
- [ ] log instances in real time under WARNING
- [ ] provide list of other possible merged concept IDs (probably under `warnings`)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the normalization endpoint and inspect how merged records and MatchType levels are produced. Run the requested analysis over all label_and_type fields by item_type and MatchType, then define the response and WARNING logging behavior from the findings. Done means alternative merged concept IDs are returned, eligible instances are logged, and the analysis is recorded.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend, data
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.