christillman / encounterpro_os

EncounterPro-OS Electronic Health Record Software
GNU Affero General Public License v3.0
0 stars 0 forks source link

Duplication in progress notes #62

Open MCIR opened 3 months ago

MCIR commented 3 months ago

Hi Chris,

In your email from May 25th, 2024, you wrote, “maybe the notes, if there are more than one, should be separated with a short line of -------“ and my assumption is you were referring to progress notes.

I’m not sure if you noticed, but some patients have duplicated progress notes. A good example is patient ID number '183'.

This occurred while I was configuring RTF scripts. I realized that the current progress note titles, such as “Comments,” “Impression,” “Plan,” “Impression & Plan,” etc., were limited and physicians were adding their own titles like “Investigations,” “Cancer,” “Cancer Treatment Plan,” etc.

To address this, I reviewed their notes and either replaced existing titles with new ones or created entirely new titles.

Unfortunately, the unintended consequence was that progress notes are now being duplicated because the RTF scripts incorporate commands for notes using both old and new titles.

RTF scripts uses "Encounter Progress" commands to display notes. Each unique note title has a corresponding "Encounter Progress" command. (See example below. The commands are each configured to show "SOAP End Note" as the note type, but each command displays a different "Note Title. image

Referring back to patient id # ‘183’. When you get to the patient’s chart page, select the ‘ENT Medical Notes’ tab seen below

image

Then, on the left, scroll down to encounter date 28/10/2023 and select it. image

As you scroll down to the bottom of the note, you will notice sections of the note have been repeated multiple times. If I disable some ‘Encounter Progress’ commands, it will probably stop the duplication, but that means patient notes with those titles will not show.

I have been trying to resolve the issue, but I haven’t been successful. Would you please review this to see if you are able to find a better way to display all notes without duplication?

christillman commented 3 months ago

Hi Ciru,

When I look at the RTF output, I see that note sections are indeed repeated once. This must be a consequence of the editing you did, and I will look further into that to suggest how to resolve it.

But in this particular case some of the duplication was created by the doctor himself. Maybe he was not sure if the application had recorded the note already. I think that because the created dates are all close together, and are all entered by the doctor.

SELECT encounter_id, p.created_by, p.created, p.progress_date_time, encounter_progress_sequence, progress_type, progress_key, len(progress) as chars_in_note, u.username
FROM [p_Patient_Encounter_Progress] p
join c_User u on u.user_id = p.user_id  
where encounter_id = 9558
and progress_type in ('Consultation Note','SOAP End Note')
order by p.created

Here are the creation dates: 2023-10-28 15:10:07.883 2023-10-28 15:46:50.277 2023-10-28 15:48:01.840 2023-10-28 15:50:59.410

If I add the progress column itself to the query select list, I see the first two are exact duplicates separated by 36 minutes. So perhaps the note was added both at the beginning and end of the appointment redundantly. The second two are nearly exact duplicates, but in the fourth an extra leading space has been removed. The progress_type and progress_key has also been changed from Consultation Note oncology to SOAP End Note Impression and Plan . Perhaps it was intended to be an edit of the the third one., but ends up being a duplicate.

Is there a weakness in the user interface at the point these notes are being entered? Maybe the user can't see recently entered notes to edit, so ends up creating a new one?

In the database, I see only 5 examples of this duplication, and they all seem to be created close together as well.

select progress, encounter_id, u.username, min(p.created), max(p.created), count(*)
FROM [p_Patient_Encounter_Progress] p
join c_User u on u.user_id = p.user_id  
where p.created > '2023-07-01'
and progress is not null
and progress_type in ('Consultation Note','SOAP End Note')
group by progress, encounter_id, u.username
having count(*) > 1