Task #94360
open
Feature #93822: HUMS Security FAT
Task #93830: Data Protection/Verify encryption of sensitive data
Medcare Patient Demographic Encryption
Added by Ilango Chandrasekaran 5 months ago.
Updated 3 months ago.
Description
- Search Patient Name field is not encrypted in Mongodb ( Kunal/Daniyal)
Make sure all Patient demographic data is encrypted in all tables.
Mongo, Postgres everywhere in Medcare.
- Assignee changed from Kunal Yelne to Rushikesh Salunkhe
Hi Rushikesh,
This is an R&D task.
In our database, the ExtendedPatient table contains the searchPatientName field. This field is specifically used to support full and partial patient name searches.
The reason we store this field separately is that the actual patient name is encrypted, and encrypted data cannot be searched using partial matches (e.g., LIKE '%name%').
To overcome this limitation, we introduced the searchPatientName field, which stores searchable data and enables partial name searches while keeping the original patient name encrypted.
Please review how this field has been implemented and used for partial searching with encrypted patient data. Once you understand the approach, we can apply the same solution wherever required.
- Status changed from Assigned to Coded
Partial search directly on encrypted data — not feasible
Standard encryption (AES with a random IV, which is the secure/correct way to encrypt) produces completely different ciphertext every time, even for the same input. For example, encrypting "AHMAD" today and encrypting "AHMAD" tomorrow will produce two totally different-looking encrypted strings.
Because of this:
There's no pattern or relationship between the encrypted value and the original text.
Database operations like LIKE '%AHMAD%' or partial regex match cannot work on encrypted fields — the ciphertext is effectively random noise from the database's point of view.
Even exact match isn't reliable with random-IV encryption, since the same plaintext won't produce the same ciphertext twice.
- Status changed from Coded to QA
- Assignee changed from Rushikesh Salunkhe to Mangesh Pangrekar
Also available in: Atom
PDF