fix: better studylist filter

This commit is contained in:
mario
2025-05-17 12:18:48 +07:00
parent e0749405f0
commit d349f3f8a1

View File

@@ -42,11 +42,19 @@ module.exports = function (server: FastifyInstance, opts: unknown, done: () => v
try {
var { query } = req;
// Jika req url tidak ada StudyInstanceUID maka tambahkan default StudyDate (yyyymmdd) kemarin dan hari ini
if (!query.StudyInstanceUID && !query.StudyDate) {
const startDate = moment().subtract(1, 'day').format('YYYYMMDD');
// Tambahkan filter StudyDate hanya ketika tidak ada: Medrec, AccessionNo, PatientName, StudyInstanceUID, dan StudyDate
// Params: &00100020=MRN, AccessionNumber=, PatientName=, StudyDate=
const hasMedicalRecord = query['00100020'] !== undefined; // Patient ID/Medical Record
const hasAccessionNumber = query.AccessionNumber !== undefined;
const hasPatientName = query.PatientName !== undefined;
const hasStudyInstanceUID = query.StudyInstanceUID !== undefined;
const hasStudyDate = query.StudyDate !== undefined;
if (!hasMedicalRecord && !hasAccessionNumber && !hasPatientName && !hasStudyInstanceUID && !hasStudyDate) {
const startDate = moment().format('YYYYMMDD');
const endDate = moment().format('YYYYMMDD');
query.StudyDate = `${startDate}-${endDate}`;
logger.info(`Adding default date range filter: ${query.StudyDate}`);
}
const json = deepmerge.all(await doFind(QUERY_LEVEL.STUDY, query), options);