@@ -40,7 +40,7 @@ def with_worklist_items(self, storage):
4040 patient_name = "JONES^MARY" ,
4141 patient_birth_date = "19900202" ,
4242 patient_sex = "F" ,
43- scheduled_date = "20240102 " ,
43+ scheduled_date = "20240302 " ,
4444 scheduled_time = "094500" ,
4545 modality = "MG" ,
4646 procedure_code = "12345-6" ,
@@ -89,15 +89,15 @@ def test_cfind_returns_scheduled_items(self, event, storage):
8989 assert ds .StudyDescription == "MAMMOGRAPHY"
9090 assert ds .ScheduledProcedureStepSequence [0 ].Modality == "MG"
9191 assert ds .ScheduledProcedureStepSequence [0 ].ScheduledProcedureStepDescription == "MAMMOGRAPHY"
92- assert ds .ScheduledProcedureStepSequence [0 ].ScheduledProcedureStepStartDate == "20240102 "
92+ assert ds .ScheduledProcedureStepSequence [0 ].ScheduledProcedureStepStartDate == "20240302 "
9393 assert ds .ScheduledProcedureStepSequence [0 ].ScheduledProcedureStepStartTime == "094500"
9494
9595 status , ds = results [2 ]
9696 assert status == SUCCESS
9797 assert ds is None
9898
99- def test_cfind_filters_by_scheduled_date (self , event , storage ):
100- event .identifier .ScheduledProcedureStepSequence [0 ].ScheduledProcedureStepStartDate = "20240101"
99+ def test_cfind_filters_by_scheduled_date_range (self , event , storage ):
100+ event .identifier .ScheduledProcedureStepSequence [0 ].ScheduledProcedureStepStartDate = "20240101-20240201 "
101101
102102 results = list (CFind (storage ).call (event ))
103103
@@ -118,7 +118,37 @@ def test_cfind_filters_by_scheduled_date(self, event, storage):
118118
119119 def test_cfind_filters_by_accession_number (self , event , storage ):
120120 event .identifier .AccessionNumber = "ACC234567"
121+ results = list (CFind (storage ).call (event ))
122+ assert len (results ) == 2
123+ status , ds = results [0 ]
124+ assert status == PENDING
125+ assert ds .PatientID == "999234567"
126+ assert ds .PatientName == "JONES^MARY"
127+ assert ds .PatientBirthDate == "19900202"
128+ assert ds .AccessionNumber == "ACC234567"
129+
130+ def test_cfind_filters_by_before_scheduled_date (self , event , storage ):
131+ event .identifier .ScheduledProcedureStepSequence [0 ].ScheduledProcedureStepStartDate = "-20240101"
132+
133+ results = list (CFind (storage ).call (event ))
134+
135+ assert len (results ) == 2
136+
137+ status , ds = results [0 ]
138+ assert status == PENDING
139+ assert ds .PatientID == "999123456"
140+ assert ds .PatientName == "SMITH^JANE"
141+ assert ds .PatientBirthDate == "19800101"
142+ assert ds .AccessionNumber == "ACC123456"
143+ assert ds .ScheduledProcedureStepSequence [0 ].Modality == "MG"
144+ assert ds .ScheduledProcedureStepSequence [0 ].ScheduledProcedureStepStartDate == "20240101"
145+
146+ status , ds = results [1 ]
147+ assert status == SUCCESS
148+ assert ds is None
121149
150+ def test_cfind_filters_by_after_scheduled_date (self , event , storage ):
151+ event .identifier .ScheduledProcedureStepSequence [0 ].ScheduledProcedureStepStartDate = "20240201-"
122152 results = list (CFind (storage ).call (event ))
123153
124154 assert len (results ) == 2
@@ -127,7 +157,92 @@ def test_cfind_filters_by_accession_number(self, event, storage):
127157 assert status == PENDING
128158 assert ds .PatientID == "999234567"
129159 assert ds .PatientName == "JONES^MARY"
160+ assert ds .PatientBirthDate == "19900202"
130161 assert ds .AccessionNumber == "ACC234567"
162+ assert ds .ScheduledProcedureStepSequence [0 ].Modality == "MG"
163+ assert ds .ScheduledProcedureStepSequence [0 ].ScheduledProcedureStepStartDate == "20240302"
164+
165+ status , ds = results [1 ]
166+ assert status == SUCCESS
167+ assert ds is None
168+
169+ def test_cfind_filters_by_scheduled_time_range (self , event , storage ):
170+ event .identifier .ScheduledProcedureStepSequence [0 ].ScheduledProcedureStepStartTime = "090000-093000"
171+
172+ results = list (CFind (storage ).call (event ))
173+
174+ assert len (results ) == 2
175+
176+ status , ds = results [0 ]
177+ assert status == PENDING
178+ assert ds .PatientID == "999123456"
179+ assert ds .PatientName == "SMITH^JANE"
180+ assert ds .PatientBirthDate == "19800101"
181+ assert ds .AccessionNumber == "ACC123456"
182+ assert ds .ScheduledProcedureStepSequence [0 ].Modality == "MG"
183+ assert ds .ScheduledProcedureStepSequence [0 ].ScheduledProcedureStepStartTime == "090000"
184+
185+ status , ds = results [1 ]
186+ assert status == SUCCESS
187+ assert ds is None
188+
189+ def test_cfind_filters_by_before_scheduled_time (self , event , storage ):
190+ event .identifier .ScheduledProcedureStepSequence [0 ].ScheduledProcedureStepStartTime = "-093000"
191+
192+ results = list (CFind (storage ).call (event ))
193+
194+ assert len (results ) == 2
195+
196+ status , ds = results [0 ]
197+ assert status == PENDING
198+ assert ds .PatientID == "999123456"
199+ assert ds .PatientName == "SMITH^JANE"
200+ assert ds .PatientBirthDate == "19800101"
201+ assert ds .AccessionNumber == "ACC123456"
202+ assert ds .ScheduledProcedureStepSequence [0 ].Modality == "MG"
203+ assert ds .ScheduledProcedureStepSequence [0 ].ScheduledProcedureStepStartTime == "090000"
204+
205+ status , ds = results [1 ]
206+ assert status == SUCCESS
207+ assert ds is None
208+
209+ def test_cfind_filters_by_after_scheduled_time (self , event , storage ):
210+ event .identifier .ScheduledProcedureStepSequence [0 ].ScheduledProcedureStepStartTime = "093000-"
211+
212+ results = list (CFind (storage ).call (event ))
213+
214+ assert len (results ) == 2
215+
216+ status , ds = results [0 ]
217+ assert status == PENDING
218+ assert ds .PatientID == "999234567"
219+ assert ds .PatientName == "JONES^MARY"
220+ assert ds .PatientBirthDate == "19900202"
221+ assert ds .AccessionNumber == "ACC234567"
222+ assert ds .ScheduledProcedureStepSequence [0 ].Modality == "MG"
223+ assert ds .ScheduledProcedureStepSequence [0 ].ScheduledProcedureStepStartTime == "094500"
224+
225+ status , ds = results [1 ]
226+ assert status == SUCCESS
227+ assert ds is None
228+
229+ def test_cfind_filters_by_date_and_time_range (self , event , storage ):
230+ event .identifier .ScheduledProcedureStepSequence [0 ].ScheduledProcedureStepStartDate = "20240101-20240201"
231+ event .identifier .ScheduledProcedureStepSequence [0 ].ScheduledProcedureStepStartTime = "090000-093000"
232+
233+ results = list (CFind (storage ).call (event ))
234+
235+ assert len (results ) == 2
236+
237+ status , ds = results [0 ]
238+ assert status == PENDING
239+ assert ds .PatientID == "999123456"
240+ assert ds .PatientName == "SMITH^JANE"
241+ assert ds .PatientBirthDate == "19800101"
242+ assert ds .AccessionNumber == "ACC123456"
243+ assert ds .ScheduledProcedureStepSequence [0 ].Modality == "MG"
244+ assert ds .ScheduledProcedureStepSequence [0 ].ScheduledProcedureStepStartDate == "20240101"
245+ assert ds .ScheduledProcedureStepSequence [0 ].ScheduledProcedureStepStartTime == "090000"
131246
132247 status , ds = results [1 ]
133248 assert status == SUCCESS
0 commit comments