@@ -43,24 +43,39 @@ def test_search_nonexistent_document_references_for_patient_details():
4343
4444
4545def test_search_patient_details (test_data ):
46- create_and_store_pdm_record (test_data )
46+ created_record = create_and_store_pdm_record (test_data )
47+ expected_record_id = created_record ["id" ]
4748
4849 response = search_document_reference ("9912003071" )
4950 assert response .status_code == 200
5051
5152 bundle = response .json ()
52- assert "entry" in bundle
53+ entries = bundle .get ("entry" , [])
54+ assert entries
55+
56+ # Find the entry with the matching record_id
57+ matching_entry = next (
58+ (
59+ e
60+ for e in entries
61+ if e ["resource" ].get ("id" ) == f"{ PDM_SNOMED } ~{ expected_record_id } "
62+ ),
63+ None ,
64+ )
65+ assert matching_entry
5366
54- attachment_url = bundle [ "entry" ][ 0 ] ["resource" ]["content" ][0 ]["attachment" ]["url" ]
67+ attachment_url = matching_entry ["resource" ]["content" ][0 ]["attachment" ]["url" ]
5568 assert (
56- f"https://{ APIM_ENDPOINT } /national-document-repository/FHIR/R4/DocumentReference/{ PDM_SNOMED } ~"
69+ f"https://{ APIM_ENDPOINT } /national-document-repository/FHIR/R4/DocumentReference/{ PDM_SNOMED } ~{ expected_record_id } "
5770 in attachment_url
5871 )
5972
6073
6174def test_multiple_cancelled_search_patient_details (test_data ):
62- create_and_store_pdm_record (test_data , doc_status = "cancelled" )
63- create_and_store_pdm_record (test_data , doc_status = "cancelled" )
75+ record_ids = [
76+ create_and_store_pdm_record (test_data , doc_status = "cancelled" )["id" ]
77+ for _ in range (2 )
78+ ]
6479
6580 response = search_document_reference ("9912003071" )
6681 assert response .status_code == 200
@@ -69,10 +84,18 @@ def test_multiple_cancelled_search_patient_details(test_data):
6984 entries = bundle .get ("entry" , [])
7085 assert len (entries ) >= 2
7186
72- # Assert that all entries have status "cancelled"
73- for entry in entries :
74- resource = entry .get ("resource" , {})
75- assert resource .get ("docStatus" ) == "cancelled"
87+ # Validate all created records exist and have status cancelled
88+ for record_id in record_ids :
89+ entry = next (
90+ (
91+ e
92+ for e in entries
93+ if e ["resource" ].get ("id" ) == f"{ PDM_SNOMED } ~{ record_id } "
94+ ),
95+ None ,
96+ )
97+ assert entry
98+ assert entry ["resource" ].get ("docStatus" ) == "cancelled"
7699
77100
78101@pytest .mark .parametrize (
0 commit comments