Chapter 4

📖 The client-server model

One of the key design choices in HL7® FHIR®1 was to use familiar web technologies. The web commonly uses a client-server model.

Imagine ordering in a restaurant. You are the client because you make a request. The restaurant is the server-side service that receives the request, prepares the result, and sends a response. A waiter may carry the request and response, but the waiter and kitchen do not need to be mapped to separate kinds of “server” in the analogy.

On the internet, a client such as an app sends a request to a server, which provides information or performs an allowed action. The server then returns a response.

For example, a clinical app could ask a FHIR server for the Patient resource with logical id 123. The app is the client. The FHIR server checks the request and can return the resource, report that it was not found, or reject a request that is not permitted.

The client-server model explains the roles in the conversation. HTTP and a FHIR API provide more detailed rules for the request and response.


  1. HL7, FHIR and the FHIR [FLAME DESIGN] are the registered trademarks of Health Level Seven International and their use does not constitute endorsement by HL7. ↩︎