drbowen wrote on Thursday, February 01, 2007:
Asking the staff “not to do it again” is a bit disingenious. I have been threatening my staff repeatedly “not to do it again” repeatedly and it just doesn’t work.
The problem comes up in a couple of differnet ways. In the first event, a new patient calls in wanting to schedule an office visit. Only part of the information is taken over the phone. A record is created with enough patient information to set up an appointment.
A few weeks later the new patient shows up. The receptionist asks “have you ever been here before?”. Answer: “No”. The receptionist starts a new electronic record with the same name, same birth date etc.
After that, the staff randomly picks first one record, then the other. Someone finally realizes that there are two records on the same person. Then some highly skilled database administrator has to fix the problem. In my practice this is me. I am the only one that I trust enough and has the skill to fix this problem.
Sometimes, the second patient visit has made an honest error and states “No I have never been here before” because there has been enough time go by that they have truly forgotten.
Sometimes, the patient really does remember and is trying to get narcotics, or avoid payment of their bill by falsifying there information.
A better, more permanent solution, would be to alter the “create a new patient” to screen for duplicate names and warn of possible unintentional duplication. Ideally the demographics page should screen for duplicate birth days, telephone numbers, and social security numbers on persons of the same name.
To actually merge two records your have change from the bad pid to the good pid by systematically going through each of the form tables and running an update query that says:
update form_dictation set pid=‘good_pid’ where pid=‘bad_pid’;
update form_vitals set pid=‘good_pid’ where pid=‘bad_pid’;
I like to record all the forms that I am altering to make sure it works correctly.
Then:
update form_encounter set pid=‘good_pid’ where pid=‘bad_pid’;
And finally:
update forms set pid=‘good_pid’ where pid=‘bad_pid’;
Then I check to make sure all the information has transferred correctly. After verifying nothing is missing I delete the bad_pid from patient_data:
delete from patient_data where pid=‘bad_pid’;
This is a dangerous procedure and you can really screw the database big-time. Rod Roark makes the very valid point that you should never try to delete anything from the database. All that is necessary is to reuse the ‘bad_pid’ for a new patient. To do this you have to set the values in patient_data to null/zero or blank. Otherwise you you the risk of unintentionally corrupting the new patient’s information (old inappropriate values left in the record). This is why I prefer deleting the record.
In the United States, all of this activity should be logged with a valid explanation for why you are fiddling with the database in this fashion. (HIPPA) The current logging is not up to this task. To be legal you should keep a hand written log. It is also probably illegal to delegate this task to a lower level person since they don’t have the authority to view or make these changes.
This problem is not going to go away by telling your staff “not to do it again”.
It would be great if someone (wink wink) created a merginh tool for this purpose that also allowed the database administer to record/log why the change is being made.
I do not enjoy performing this task.
Sam Bowen, MD