-
Notifications
You must be signed in to change notification settings - Fork 3
Server Instructions v2.2.0
github-actions[bot] edited this page Sep 11, 2026
·
1 revision
Execution of these tests require a significant amount of tester input in the form of requests that Inferno will make against the system under test. If you don't have a server or know specific requests that will elicit representative questionnaires from your server, see the Running Suites Against Each Other page for instructions on how to run the client and server suites against each other.
When running the tests, the tester will need to provide:
- The base FHIR url of the system under test.
- SMART Backend Services credentials to allow Inferno to perform authorization with the system under test.
- Select the DTR Request Mode. For manual mode, provide JSON request bodies
for
$questionnaire-packageand Questionnaire response templates for$next-question. For client mode, provide the DTR Client Access Token, and send$questionnaire-package,$next-question, andValueSet/$expandrequests to Inferno withAuthorization: Bearer <token>on every request. Directly provided request bodies must cause the system under test to return responses which demonstrate support for all behaviors required by the IG and all Must Support fields. - Request bodies for
$questionnaire-packagewhich include invalid source data and an invalid QuestionnaireResponse to validate that the server handles these errors correctly. These inputs are required regardless of DTR Request Mode. - The canonical url of a Questionnaire that the server supports in order to
test the
$log-questionnaire-errorsoperation. - If the server's responses include references to resources on the client's FHIR server, then the base FHIR url of the client must also be provided.
Each group can be run in order.
- The "Discovery" group requests the server's CapabilityStatement and verifies that it advertises support for all required DTR functionality.
- The "Backend Services" group performs SMART on FHIR backend services authorization to verify that the server supports it, and to obtain authorization for the remaining tests.
- The "Questionnaire Operations" group contains the majority if the suites
tests, broken down into sub-groups.
- The "Questionnaire Interactions" group performs
$questionnaire-package,$next-question, andValueSet/$expandoperations and verifies that the inputs the user provided for these requests are valid. - The "Questionnaire/$questionnaire-package Support" group verifies that the
server's responses to
$questionnaire-packagerequests are valid. - The "Questionnaire/$next-question Support" group verifies that the
server's responses to
$next-questionrequests are valid. - The "Questionnaire Design" group verifies that the Questionnaires returned
from both
$questionnaire-packageand$next-questionmeet common requirements. - The "ValueSet/$expand Support" group makes expand requests for unexpanded
ValueSets returned from
$questionnaire-packageand$next-questionrequests validates the responses. - The "Error Hanlding" group verifies that the server handles particular errors as described in the IG.
- The "Must Support" group verifies that the server is capable of populating all Must Support fields.
- The "Questionnaire Interactions" group performs
- The "Log Questionnaire Error Support" group verifies that the server supports
the
$log-questionnaire-errorsoperation.