Implement RMS#229
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #229 +/- ##
==========================================
+ Coverage 97.80% 98.06% +0.26%
==========================================
Files 32 32
Lines 1774 1813 +39
==========================================
+ Hits 1735 1778 +43
+ Misses 39 35 -4 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@ericbuckley @m-goggins Updated code to make all tests pass (there's still one set of three tests that involved belongingness that I'm not quite sure what to do with, but will continue noodling). I also ran the |
|
Updating to mark all code here complete. All tests have been adjusted to match the new algorithm and everything passes. This is, from my view, "merge ready" code. |
2150ab6 to
b0e2931
Compare
|
Flagging that I've edited the ticket's AC due to scoping down work and the urgency of progressing this to allow our clients to test. There won't be any logical or performance based hits as a result, merely moving work to consolidate and refactor code into a follow-up. |
|
Follow up ticket with class consolidation: https://app.zenhub.com/workspaces/dibbs-record-linker-678acc70237f5000299a9d71/issues/gh/cdcgov/recordlinker/263 |
ericbuckley
left a comment
There was a problem hiding this comment.
Looking good, thanks for making all the changes per the github issue so far.
m-goggins
left a comment
There was a problem hiding this comment.
This looks great to me! The only thing I'd add is a test to cover the lines that don't have coverage in link.py. Normally, I wouldn't be worried about the test coverage since it's not a big hit for those lines but I do think we want to demonstrate how the match grade is determined when the grades are not the same.
|
@m-goggins Super fair point, and I think it's important to show that grade adaptation is a new feature of the RMS decision mechanism. I've added tests to cover both directions (existing grade is certain so no change in pass 2, and existing grade is only possible so definite change in pass 2) so we should now have total coverage for our |
m-goggins
left a comment
There was a problem hiding this comment.
Great work, really excited to get this feature out the door to NBS! Thanks for adding the additional tests
Implement RMS
Description
This PR provides all code necessary to implement a log-odds based RMS comparison to evaluate match quality. This will replace belongingness ratio as the internal decision-driver the algorithm uses to find the highest quality match.
Related Issues
Closes #236
<--------------------- REMOVE THE LINES BELOW BEFORE MERGING --------------------->
Checklist
Please review and complete the following checklist before submitting your pull request:
Checklist for Reviewers
Please review and complete the following checklist during the review process: