Generate Person IDs: Difference between revisions
Ttenbergen (talk | contribs) m how would this be corrected? |
Ttenbergen (talk | contribs) m cat |
||
| Line 43: | Line 43: | ||
[[Category: Data Processing]] | [[Category: Data Processing]] | ||
[[Category:Multiple Encounter]] | [[Category: Multiple Encounter]] | ||
[[Category: Centralized data front end.mdb]] | |||
Revision as of 09:52, 5 July 2016
"Generate Person IDs" is the process by which unique Person IDs are generated in L Person and associated with the ward-admission records in centralized_data.mdb. It also refers to the button "Generate Person IDs" in CFE.
Related to Encounter processing and L Person.
Instructions
At the right point in Centralized data Vetting Process (and only then) press the "Generate Person IDs" button.
Correcting Person_IDs
Person_IDs need to be corrected if a PHIN is changed for a record.
The algorithm deletes all inconsistent Person_IDs before it assigns new ones, so this process is automatic. However, if a PHIN is changed and multiple records exist with that PHIN, the previous Person_IDs for all will be deleted and re-populated with two new Person_IDs.
As discussed with Julie, this is probably OK, and we will provide a complete new recordset for any exports if we re-do them, including the entries provided the first time with any potential changes to Person_ID.
If we wanted to reduce the amount of change, it would be possible to also delete the Person_ID when the PHIN is changed. Right now, Person_ID doesn't show in the form in CFE.
algorithm summary
see encounter_processing module Sub Encounter_processor() for most current implementation
- clean out inconsistent data
- delete Person_IDs in L_Log where the Person_ID corresponds to more than one PHIN
- delete Person_IDs in L_Log for which no L_Person entry exists
- delete records in L_Person that have no counterpart in L_Log
- for each L_Log entry for which Person_ID is blank and recordstatus is not "incomplete"
- if a record matching PHIN doesn't exist in L_Person
- generate record in L_Person (set death to discharge date if deceased)
- update L_Log.Person_ID to that new record's Person_ID
- set L_Person.last_updated to now
- if a record matching PHIN does exist in L_Person
- add Person_ID to L_Log
- update last_updated and death in L_Person
- if a record matching PHIN doesn't exist in L_Person
We don't have process to populate L_Hospitalization worked out yet. Template:Discussion
Consistency of Person_ID over time
Once generated the Person_ID for new entries with same PHIN would be the same for new encounters.
If data becomes inconsistent (eg for some reason two person_ids for same PHIN, L_Person entry without corresponding L_Log entry, L_Log.Person_ID without correspoinding L_Person entry) the old data will be cleaned out and the records will be treated as if newly encountered patients.
Tina discussed with Julie that this will affect previously given out data, and we will address by giving out fresh data as a set including the old where linking is necessary. 17:15, 2015 April 1 (CDT)