FHIR Read Write Server


This page describes the Read/Write FHIR server used during the Connectathon. Other tools referenced in test instructions are described here. Do not assume the Read/Write FHIR server is the only tool used during Connectathon testing.


The FHIR Read/Write server supports these functions at a Connectathon

  • A place for you to post a FHIR resource to make it easy for monitors or peers to find
  • Validation of FHIR resources that you have produced
  • Web front end to perform operations on the various FHIR servers at a Connectathon

We use the HAPI FHIR software as it provdes all of these functions and is  well known to the HL7 community. The web server application has separate functions as shown in the diagram below.


The application has a web based user interface that allows you perform a number of search and CRUD operations on any FHIR server. The lower part of the diagram demonstrates that the HAPI FHIR server contains separate implementations of FHIR servers that correspond to different versions of the FHIR specification. Each server has a different URL, so another application will connect to the proper implementation by using the specified URL.

During the 2019 IHE Connectathons, IHE profiles were using STU3 definitions. When we spoke of the Read/Write server during those events, we were referring to the STU3 implementation. The IHE profiles in 2020 refer to both R4 and STU3 specifications. Test instructions should refer to the desired implementation with explicit directions.

Please see the screen capture below taken from the public instance of the HAPI FHIR server at https://fhirtest.uhn.ca. The user selects a target server using the drop down menu. Operations are performed on the selected server until the user selects a different target. Please see the text that will describe how we use the Read Write server for various testing operations.


Test Functions

Query a System Under Test

  • Manager of the HAPI FHIR Server will have configured the system with the URL of each Connectathon FHIR server
  • Use the web UI to select the proper system
  • Select the appropriate resource type from the tab on the left (Patient, Location, ....)
  • Use the Search or CRUD functions as specified in the test description.

Validate a Resource From a System Under Test

  • Some IHE profiles include FHIR Structure Defintions. Manager of the HAPI FHIR Server will have loaded those Structure Definitions into the HAPI FHIR server
  • Use the web UI to select the R4 or STU3 HAPI FHIR server (at the top of the drop down) according to test instructions
  • Select the appropriate resource type
  • Select CRUD operations
  • If  you want to include validation using the FHIR Structure Definition, the resource will need to include the proper reference in the profile area of the resource. Please refer to test instructions.
  • At the bottom of the CRUD control panel,
    • Paste the resource in the appropriate text box for the validate function. This is a copy/paste and not a file upload.
    • Activate the Validate button
  • The system will validate the structure of the resource. Validation without a reference to a Structure Definition will proceed with the validation included in the HAPI FHIR server. Additional constraints can be tested with the appropriate reference to the proper profile.

Store Known Resources for Access by Other Systems

  • The Connectathon managers will store some resources in the R4 or STU3 server so that they are available to all Connectathon systems.
  • You ight choose to not store a specific Patient resource that is referenced in a test, but your resource is allowed to reference the Patient resource on the HAPI FHIR server.

Store Resources Submitted by Systems at the Connectathon

  •  Some tests require that you store a resource on the HAPI FHIR server.
  • Depending on the test insructions, you might use the web UI to upload the resource (CRUD operation) or your system might submit the resource using an HTTP POST command.