Populate linking pairs: Difference between revisions

mNo edit summary
mNo edit summary
Line 16: Line 16:


For any line that has the same PHIN as the previous line it generates a record in [[linking_pairs table]] of the two D_IDs.
For any line that has the same PHIN as the previous line it generates a record in [[linking_pairs table]] of the two D_IDs.
== 2021-07 review ==
{{Todo
| who = Tina
| todo_added = 2021-07-27
| todo_action = 2021-07-27
| question =
* not implemented yet, the following is just the plan to go with
}}
The iterating is the slow part, so how can we reduce it; eg by shifting some of the work into queries
=== Scenarios ===
Two things will make a record require a pairs update:
* a new record is added (the >95% case)
* an older record(s) is changed, requiring a re-alignment (the <2% case)
* a collector catches up with backlog, and 2 records that had already been linked 1-3 need to be re-linked to 1-2-3 (the 3% case)
=== Algorithm ===
Clean our only those pairs that are questionable:
* find all records whose pairs have non-consecutive (admit dttms)
** need to admit this with the old style admit dttm included so the wholsale recreation will still work
* remove all pairs related to those patients (ie have same PHIN)(easier than figuring out which to remove)
* remove all pairs where a pair-less profile is present for the same phin
Run the populate linking code, but run it only for profiles that aren't in pairs
* run the linking pairs updater only for profiles that don't have


== Related articles ==
== Related articles ==