Project

General

Profile

Actions

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.

Status:
QA
Priority:
Normal
Category:
-
Target version:
-
Start date:
26/06/2026
Due date:
% Done:

0%

Estimated time:
Dev Due date:
Release date to QA:
Bug/Defect On:
QA
Issue released on:
NA
Function:

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.

Actions #1

Updated by Kunal Yelne 4 months ago

  • 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.

Actions #2

Updated by Rushikesh Salunkhe 3 months ago

  • 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.

Actions #3

Updated by Shweta Sandip Waghmare 3 months ago

  • Status changed from Coded to QA
Actions #4

Updated by Shweta Sandip Waghmare 3 months ago

  • Assignee changed from Rushikesh Salunkhe to Mangesh Pangrekar
Actions

Also available in: Atom PDF