Creating Forms
In order for a form to be used consistently across the healthcare enterprise it must be defined and then stored in a repository.
The US National Laboratory of Medicine - FHIR Tools has several tools to support the curation of forms and a repository of forms.
The NLM Form Builder provides an web app which can be used to generate FHIR Questionnaires. For example:
- Open the form NLM Form Builder
- Select
Start with an existing form
- Then select
Import from LOINC
, enterVital Signs
and select the entry with74728-7
LOINC code. - When the top form is displayed, click on
Edit Questions
which displays the questions the forms contains.
This can then be stored on a central server to be shared with users. In the NLM Form Builder this can be done by using the export function. The address of the UKCore Hackathon Server is
https://3cdzg7kbj4.execute-api.eu-west-2.amazonaws.com/poc/events/FHIR/R4
This server will make a few alterations to the submitted Questionnaire for technical reasons. The most important change is it will create a Questionnaire.url if one is not supplied from the Questionnaire.code.
For the Kansas City Cardiomyopathy Questionnaire - 12 item
from the LOINC server, it will use the code 74728-7
and create a url of:
https://example.fhir.nhs.uk/Questionnaire/86923-0
This url is used in FHIR QuestionnaireResponse and Validation.
To find, update, add or delete Questionnaires stored on the UKCore Hackathon Server please use
Once the Questionnaire has been added to this server, the $validate
function will use it for QuestionnaireResponse conformance checks.
Rendering the Questionnaire
A software supplier will normally build a form/application which implements this Questionnaire definition. It is useful to view what this would look like before this development takes place and this will allow feedback on the form.
The NLM/LHC has a useful application for doing this.
You will need to supply the Questionnaire to this app. For the example we have used above this will be
https://3cdzg7kbj4.execute-api.eu-west-2.amazonaws.com/poc/events/FHIR/R4/Questionnaire/56969434-1980-4262-b6a7-ed1c8aca5ec2
The id
which is the last part of this url can be found in the stored Questionnaires on the UKCore Hackathon server. E.g. When we searched for https://example.fhir.nhs.uk/Questionnaire/86923-0
the response contained an entry like
"entry": [
{
"fullUrl": "https://cnuc9zdola.execute-api.eu-west-2.amazonaws.com/dev/Questionnaire/56969434-1980-4262-b6a7-ed1c8aca5ec2",
"resource": {
"resourceType": "Questionnaire",
"id": "56969434-1980-4262-b6a7-ed1c8aca5ec2",
The id
field is the id we need to use.