Async/sync FHIR client for Python providing comprehensive API for CRUD operations over FHIR resources
Agent Success
Agent success rate when using this tile
68%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.08x
Baseline
Agent success rate without this tile
63%
{
"context": "Evaluates how the solution uses fhir-py typed model support and the dump_resource hook to implement the typed patient/observation gateway. Focuses on client construction, typed model binding, and reliance on fhir-py CRUD/search helpers for typed results.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Client setup",
"description": "Initializes SyncFHIRClient or AsyncFHIRClient with base URL/auth headers and passes the serialization_hook into dump_resource instead of handcrafting JSON payloads.",
"max_score": 25
},
{
"name": "Typed models",
"description": "Defines PatientModel and ObservationModel that satisfy ResourceProtocol expectations and registers them with client.resource/client.resources via the model argument so CRUD/search operations yield those classes.",
"max_score": 25
},
{
"name": "Typed save",
"description": "Persists patients through fhir-py helpers (e.g., resource.save or client.create on a typed resource) so the server-assigned id is populated on the returned PatientModel instance.",
"max_score": 20
},
{
"name": "Typed fetch",
"description": "Retrieves patients using client.get or a typed resource.refresh so returned objects are PatientModel instances rather than raw dicts.",
"max_score": 15
},
{
"name": "Typed search results",
"description": "Builds the weight query with resources(..., model=ObservationModel).search(...).sort(...).limit(...).fetch/fetch_all so the newest-first ObservationModel list comes directly from the typed SearchSet instead of manual parsing.",
"max_score": 15
}
]
}evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10