Search code examples
hl7-fhir

Eager loading for reference


I wonder if it is possible to load reference data in the first call. In my case I want to load the patient reference in the Encounter Resource. As I know I always need the patient data I want to avoid to to do an additional call to get the patient data.

The server is HAPI FHIR and the client firely .Net API


Solution

  • Yes, that is possible. Your request will have to be a search, that way you can include any referenced resources.

    On REST level it looks like this:

    GET <hapi_server>/Encounter?_include=patient
    

    Add any filters you have. For example if you have a specific encounter you would add &_id=<technical_id>.

    With the FhirClient from the .Net api, the code looks like this:

        var c = new FhirClient("<hapi_server");
    
        var q = new SearchParams().Include("Encounter:patient");
        q.Add("_id", "<technical_id>");
    
        var result = c.Search<Encounter>(q);