cancervariants / cancervariants/therapy-normalization
Add "alternative matches" item to normalization endpoint response
- 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