@@ -314,7 +314,7 @@ async def test_parameter_to_env_resolves_context_reference(fhir_client, safe_db)
314314
315315
316316@pytest .mark .asyncio
317- async def test_parameter_to_env_subject_resolves (fhir_client , safe_db ):
317+ async def test_parameter_to_env_resolves_subject_reference (fhir_client , safe_db ):
318318 patient = fhir_client .resource ("Patient" )
319319 await patient .save ()
320320 patient_ref = {"reference" : f"Patient/{ patient .id } " }
@@ -333,6 +333,27 @@ async def test_parameter_to_env_subject_resolves(fhir_client, safe_db):
333333 assert env ["subject" ]["id" ] == patient .id
334334
335335
336+ @pytest .mark .asyncio
337+ async def test_parameter_to_env_does_not_resolve_non_subject_reference (fhir_client , safe_db ):
338+ # This test for backward compatibility with non sdc api behavior
339+ patient = fhir_client .resource ("Patient" )
340+ await patient .save ()
341+ patient_ref = {"reference" : f"Patient/{ patient .id } " , "display" : "Integration Patient" }
342+
343+ parameters = {
344+ "resourceType" : "Parameters" ,
345+ "parameter" : [
346+ {"name" : "PatientRef" , "valueReference" : patient_ref },
347+ ],
348+ }
349+
350+ env = await parameter_to_env (fhir_client , parameters , is_fhir = True )
351+
352+ assert "useSDCAPI" not in env
353+ assert env ["PatientRef" ]["display" ] == "Integration Patient"
354+ assert env ["PatientRef" ]["reference" ] == f"Patient/{ patient .id } "
355+
356+
336357@pytest .mark .asyncio
337358async def test_sdc_api_params (fhir_client , safe_db ):
338359 patient = fhir_client .resource (
0 commit comments