Questionnaire Viewer: Selecting a Questionnaire

In the last post we took a look at the new clinFHIR Questionnaire Viewer – a tool that takes any R4 Questionnaire and provides a number of views of them including rendering them in the CSIRO form renderer via the Fhirpath lab.

Since that post there have been a number of upgrades – most specifically in the way in which a Questionnaire can be selected. Let’s take a look at those options.

There are now 3 ways that a Questionnaire can be selected for viewing:

  • From a Form Server
  • Directly uploading a Questionnaire
  • From the internal Library

A Form Server is an actor defined in the SDC IG that is responsible for storing Questionnaires and their supporting resources like ValueSets, StructureDefinitions and others. Fundamentally it’s a FHIR server with a RESTful interface that is conformant to the SDC Form Manager requirements as defined in the CapabilityStatement for that role. 

(If you’re not familiar with the CapabilityStatement resource, it’s a conformance resource that allows you to specify what a FHIR server can do – and what you expect one to be able to do for a given scenario or role)

The Questionnaire Viewer now has the ability to query a Form Server, retrieve a bundle of Questionnaires and allow you to select any of them to view, with a number of filtering options. 

In the screenshot below we’ve queried the Australian Sparked Server for Questionnaires that were published by MediRecords. Note that the server needs to be FHIR R4 – the R5 Questionnaire resource has some significant differences to R4 which are not yet recognized by the Viewer.

Screenshot of a questionnaire viewer interface displaying options for retrieving questionnaires, including selections for form server, filters, and a list of available questionnaires with titles, versions, dates, and publishers.

You can click on the title to view that Questionnaire in the usual way. (More details in the previous post)

There are a number of Form Servers configured in the module (currently the Australian Sparked Serve and the Fhirpath lab server), but you can add others yourself. Do this by clicking on the ‘Add new Server’ link to the upper right. You’ll get the following dialog.

User interface displaying additional Form Managers with URLs and options to add or remove them, along with an explanatory note about their function.

This lists any servers you have previously added (and allows you to remove them)

To add a new server, enter the url to the server and a display name, then press the Add link. If the server is available (it attempts a read to check) then the new server is added to the list.  

Note that servers added in this way are stored in the Browser cache – they are only available in this browser. If needed, we could allow the ‘global list’ to be updated as well, but for now it’s local only. In the meantime, let me know on the FHIR chat if you have a server you’d like me to add to the global list.

Note also that the module only accesses the Questionnaire resource from the Form Server, so you can add any server that supports Questionnaires to the list – it doesn’t need to be fully conformant to the SDC Form server definition.

As before you can upload a Questionnaire directly to the module – either by pasting the Questionnaire directly into the text area or by uploading it from the local computer. What’s new is that you can save the Questionnaire in the clinFHIR Library. This makes it easier to retrieve later, and also makes it available for others to view through the module. This is particularly useful if you want to share a Questionnaire but don’t have access to a Server.

To do this, upload a questionnaire into the module and view it in the Outline tab (renamed from ‘Tree view’). Then, click the ‘Save Questionnaire to Library’ link that appears to the upper right. You’ll get the following dialog:

A user interface for saving a questionnaire, showing fields for title, name, URL, version, publisher, and description.

The key metadata of the Questionnaire is extracted and displayed in the dialog. These can be updated as needed (and the Q will be updated as well) before being saved in the library. The Url, version, title and publisher are mandatory – the other fields optional but recommended.

The combination of Url and Version must be unique on the server. If there is already a Questionnaire with these values you’ll get an error and the Questionnaire won’t be saved. 

To select a Questionnaire that has been saved in the Library select the Retrieve from Library option from the front screen as shown here:

Screenshot of a questionnaire selection interface showing options to retrieve from an external form manager, upload a questionnaire, and retrieve from a library, with a table listing questionnaire titles and details.

This lists the library contents and allows you to choose which one to view. As the screenshot shows, you can filter on the title.

And to finish on a fun note, in the previous post that describes the different views of a questionnaire, I didn’t mention the Questionnaire Graph tab. I’m not sure how useful it is, but the images are pretty!  (this example is the falls assessment from the Australian Sparked server)

Questionnaire art anyone?

Flowchart of the Falls Risk Assessment questionnaire, showing interconnected nodes representing questions and data types.

About David Hay
I'm an independent contractor working with a number of Organizations in the health IT space. I'm an HL7 Fellow, Chair Emeritus of HL7 New Zealand and a co-chair of the FHIR Management Group. I have a keen interest in health IT, especially health interoperability with HL7 and the FHIR standard. I'm the author of a FHIR training and design tool - clinFHIR - which is sponsored by InterSystems Ltd.

Leave a Reply

Discover more from Hay on FHIR

Subscribe now to keep reading and get access to the full archive.

Continue reading