66from care .emr .models .diagnostic_report import DiagnosticReport
77from care .emr .models .observation import Observation
88from care .emr .models .service_request import ServiceRequest
9- from care .emr .resources .base import EMRResource
9+ from care .emr .resources .base import EMRResource , model_from_cache
1010from care .emr .resources .diagnostic_report .valueset import (
1111 DIAGNOSTIC_SERVICE_SECTIONS_CODE_VALUESET ,
1212)
1313from care .emr .resources .encounter .spec import EncounterListSpec
1414from care .emr .resources .observation .spec import ObservationRetrieveSpec
1515from care .emr .resources .observation .valueset import CARE_OBSERVATION_VALUSET
16+ from care .emr .resources .user .spec import UserSpec
1617from care .emr .utils .valueset_coding_type import ValueSetBoundCoding
1718from care .utils .shortcuts import get_object_or_404
1819
@@ -65,6 +66,7 @@ class DiagnosticReportRetrieveSpec(DiagnosticReportListSpec):
6566
6667 created_by : dict | None = None
6768 updated_by : dict | None = None
69+ requester : dict | None = None
6870
6971 @classmethod
7072 def perform_extra_serialization (cls , mapping , obj ):
@@ -77,3 +79,5 @@ def perform_extra_serialization(cls, mapping, obj):
7779 for observation in observations
7880 ]
7981 mapping ["encounter" ] = EncounterListSpec .serialize (obj .encounter ).to_json ()
82+ if obj .service_request_id :
83+ mapping ["requester" ] = model_from_cache (UserSpec , id = obj .service_request .requester_id )
0 commit comments