API Endpoints
The API endpoints facilitate interactions between the Aidbox Forms application and the Aidbox server
The following API endpoints are utilized by the Aidbox Forms application to interact with Aidbox. These endpoints are activated by specific actions within the application, such as saving a questionnaire, generating a questionnaire response, or assembling a questionnaire. Each endpoint has a descriptive name reflecting the action it performs and the timing of its execution.
assemble-questionnaire
Triggered after saving the current questionnaire, if it includes sub-questionnaires, to assemble the full questionnaire.
Request
Where <questionnaire>
is the questionnaire being assembled.
Response
Where <questionnaire>
is the assembled questionnaire.
assemble-sub-questionnaire-usages
Triggered after saving a sub-questionnaire to update all parent questionnaires that include it.
Request
Where <questionnaire-1-id>
, <questionnaire-2-id>
, etc., are the IDs of the parent questionnaires that include the sub-questionnaire.
Response
Where <questionnaire-1>
, <questionnaire-2>
, etc., are the updated questionnaires.
check-sub-questionnaire-usage
Triggered after saving a sub-questionnaire to verify if it is currently used in any parent questionnaires.
Request
Where <sub-questionnaire-id>
is the ID of the sub-questionnaire.
Response
Where <questionnaire-1-id>
, <questionnaire-2-id>
, etc., are the IDs of the parent questionnaires that include the sub-questionnaire.
delete-assembled-questionnaire
Triggered after saving the current questionnaire, when the saved questionnaire no longer references sub-questionnaires.
Request
Where <questionnaire-url>
is the canonical URL and <questionnaire-version>
is the version of the questionnaire being deleted.
Response
Where <questionnaire>
is the questionnaire that was deleted.
delete-attachment
Triggered when the attachment input field is cleared.
Request
Where <filepath>
is the path of the attachment being deleted.
Response
Response shape is specific to the storage type and is not processed by the frontend.
extract
Triggered when the "Extract" button in the debug panel is clicked.
Request
Where <questionnaire-response>
is the questionnaire response being extracted and <questionnaire>
is the questionnaire it is based on.
Response
Where <bundle>
is the bundle of resources extracted from the questionnaire response.
get-assembled-questionnaire
Triggered after retrieving the current questionnaire to obtain its fully assembled version, if it includes sub-questionnaires.
Request
Where <questionnaire-url>
represents the canonical URL, and <questionnaire-version>
specifies the version of the assembled questionnaire being requested.
Response
Where <bundle>
is the bundle containing zero or one questionnaire resource.
get-config
Triggered during the initialization of the builder or renderer to fetch configuration details.
Request
Where <config-id>
refers to the ID of the SDCConfig resource included in the JWT token payload of the current authentication session. This parameter is omitted if no configuration is specified.
Response
Where <config>
is the SDCConfig resource containing the configuration details.
get-questionnaire
Triggered during the initialization of the builder or renderer to fetch the current questionnaire.
Request
Where <questionnaire-id>
is the ID of the questionnaire being requested.
Response
Where <questionnaire>
is the questionnaire being requested.
get-questionnaire-response
Triggered during the initialization of the renderer to fetch the current user response.
Request
Where <questionnaire-response-id>
is the ID of the questionnaire response being requested.
Response
Where <questionnaire-response>
is the questionnaire response being requested.
get-fhir-metadata
Triggered during the initialization of the builder to fetch metadata for FHIR resources, which aids in autocompletion.
Request
Response
Where <fhir-metadata>
is the metadata for the FHIR server.
get-fhir-schemas
Triggered during the initialization of the builder to fetch schemas for FHIR resource elements, aiding in autocompletion.
Request
Response
Where <fhir-schemas>
is the JSON object containing the schemas for the FHIR resource elements.
get-questionnaire-by-id
Triggered before saving the current questionnaire to check for conflicts with existing questionnaires.
Request
Where <questionnaire-id>
is the ID of the questionnaire being checked.
Response
Where <questionnaire>
is the questionnaire being checked.
get-theme
Triggered during the initialization of the web component if a theme is referenced in the configuration.
Request
Where <theme-id>
is the ID of the theme being requested.
Response
Where <theme>
is the theme being requested.
get-themes
Triggered during the initialization of the builder web component and after saving a theme to list available themes in the theme selector.
Request
Response
Where <bundle>
is the bundle of themes.
import-questionnaire
Triggered when the "Import" button is clicked in the questionnaire importer.
Request
Where <questionnaire>
is the questionnaire being imported.
Response
Where <questionnaire>
is the questionnaire that was imported.
populate
Triggered when the "Populate" button is clicked in the debug panel.
Request
Where <questionnaire>
is the questionnaire being populated, <patient-id>
is the ID of the patient, and <encounter-id>
is the ID of the encounter selected in the debug panel. (todo: add explanation)
Response
Where <parameters>
is the parameters resource containing the populated questionnaire response under the response
name.
process-response
Triggered when the user submits a response or when auto-save of the response is activated.
Request
Where <questionnaire-response>
is the response being processed. If the questionnaire response has a status of in-progress
, the extract parameter is omitted.
Response
Where <parameters>
is the parameters resource containing the processed questionnaire response under the response
name.
repopulate
Triggered when the "Repopulate" button is clicked by the user.
Request
Where <questionnaire>
, <questionnaire-response>
, <patient-id>
, and <encounter-id>
are as described in the populate request.
Response
Where <parameters>
is the parameters resource containing the repopulated questionnaire response under the response
name.
save-assembled-questionnaire
Triggered after saving the current questionnaire, if it includes sub-questionnaires, to save the assembled version.
Request
Where <questionnaire-url>
and <questionnaire-version>
are as described in the get-assembled-questionnaire request, and <assembled-questionnaire>
is the assembled questionnaire being saved.
Response
Where <questionnaire>
is the questionnaire that was saved.
validated-extracted-bundle
Triggered upon completion of an extract operation initiated by the "Extract" button in the debug panel.
Request
Where <bundle>
is the bundle containing resources obtained from extract.
Response
Where <bundle>
is the bundle of saved resources.
create-questionnaire
Triggered when the "Save" button is clicked in the builder for a new questionnaire.
Request
Where <questionnaire>
is the new questionnaire being created.
Response
Where <questionnaire>
is the questionnaire that was created.
save-questionnaire
Triggered when the "Save" button is clicked in the builder.
Request
Where <questionnaire>
is the questionnaire being saved.
Response
Where <questionnaire>
is the questionnaire that was saved.
create-sub-questionnaire
Triggered when an outline item is saved as a sub-questionnaire.
Request
Where <sub-questionnaire-url>
is the canonical URL of the sub-questionnaire and <sub-questionnaire>
is the sub-questionnaire being saved.
Response
Where <sub-questionnaire>
is the questionnaire that was created.
create-theme
Triggered when the "Save" button is clicked in the theme editor for a new theme.
Request
Where <theme>
is the new theme being created.
Response
Where <theme>
is the theme being created.
save-theme
Triggered when the "Save" button is clicked in the theme editor.
Request
Where <theme>
is the theme being saved.
Response
Where <theme>
is the theme being saved.
search-choice-options
Triggered when dropdown options are requested for a choice item.
Request
Where <url>
is the URL of the value set or resources associated with the choice item.
Response
Response be a plain list or bundle of resources (e.g. ValueSet) depending on the source of the options.
search-questionnaires-by-url
Triggered before saving the current questionnaire to check for conflicts with existing questionnaires based on their URL.
Request
Where <questionnaire-url>
is the canonical URL of the questionnaire being checked.
Response
Where <bundle>
is the bundle of questionnaires with the same URL.
search-sub-questionnaires
Triggered when the user searches for sub-questionnaires in the builder.
Request
Where <search-term>
is the term being searched for.
Response
Where <bundle>
is the bundle of sub-questionnaires.
get-sub-questionnaire
Triggered to retrieve a sub-questionnaire when it is referenced in a parent questionnaire.
Request
Where <sub-questionnaire-url>
is the canonical URL of the sub-questionnaire being requested. Parameter version
is omitted if no version is specified in the reference.
Response
Where <bundle>
is the bundle containing zero or one questionnaire resource.
upload-attachment
Triggered when a file is selected in the attachment input field.
Request
Where <file-content>
is the content of the file being uploaded and <file-name>
is the path and name of the file.
Response
Where <file-url>
is the URL of the uploaded file which will further be used to either download or delete the file.
validate-questionnaire
Triggered when the "Validate Questionnaire" button is clicked in the debug panel.
Request
Where <questionnaire>
is the questionnaire being validated.
Response
Where <operation-outcome>
is the operation outcome of the validation.
validate-response
Triggered when the "Validate Questionnaire Response" button is clicked in the debug panel.
Request
Where <questionnaire-response>
is the response being validated.
Response
Where <operation-outcome>
is the operation outcome of the validation.
Last updated