Skip to content

Commit 59f9b6f

Browse files
committed
Filter completed and discontinued worklist items
There's no point in returning worklist items for a C-FIND query when they have been completed or discontinued.
1 parent c48c213 commit 59f9b6f

2 files changed

Lines changed: 29 additions & 1 deletion

File tree

src/services/storage.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@ def find_worklist_items(
367367
"source_message_id, study_description, study_instance_uid, status, mpps_instance_uid "
368368
"FROM worklist_items"
369369
)
370-
where_clauses = []
370+
where_clauses = ["status NOT IN ('COMPLETED', 'DISCONTINUED')"]
371371
params = []
372372

373373
if accession_number:

tests/services/test_storage.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,34 @@ def test_find_worklist_items_patient_name_wildcard_conversion(self, mwl_storage,
229229
assert len(results) == 1
230230
assert results[0].patient_name == "SMITH^JANE"
231231

232+
def test_find_worklist_items_with_filters_completed_items(self, mwl_storage, result):
233+
item = self._insert_item(mwl_storage, result)
234+
mwl_storage.update_status(item.accession_number, "IN PROGRESS")
235+
mwl_storage.update_status(item.accession_number, "COMPLETED")
236+
237+
results = mwl_storage.find_worklist_items(
238+
accession_number="ACC123456",
239+
modality="MG",
240+
scheduled_date="20240101",
241+
patient_id="999123456",
242+
)
243+
244+
assert len(results) == 0
245+
246+
def test_find_worklist_items_with_filters_discontinued_items(self, mwl_storage, result):
247+
item = self._insert_item(mwl_storage, result)
248+
mwl_storage.update_status(item.accession_number, "IN PROGRESS")
249+
mwl_storage.update_status(item.accession_number, "DISCONTINUED")
250+
251+
results = mwl_storage.find_worklist_items(
252+
accession_number="ACC123456",
253+
modality="MG",
254+
scheduled_date="20240101",
255+
patient_id="999123456",
256+
)
257+
258+
assert len(results) == 0
259+
232260
def test_get_worklist_item(self, mwl_storage, result):
233261
item = self._insert_item(mwl_storage, result)
234262

0 commit comments

Comments
 (0)