The clinFHIR Chat

One of the things we’ve found at the various connectathons we’ve held is that communication between the attendees can be an issue – there are quite a number of different ‘streams’ of activity and it can be hard to connect people with questions or comments, to people with answers.

We’ve used skype in the past, which has been OK, but has a number of limitations – it can be quite a firehose, which means that stuff is missed, there’s no easy to maintain a ‘thread’ of conversation (though sometimes interesting when threads get mixed together!) and hard to review the history at the end of the event. Oh – and there’s a fixed limit of 300 people per conversation, which we recently discovered.

So for the ‘Clinicians on FHIR’ event that we’re holding at the HL7 Working Group Meeting in October, we’re going to try a different approach. We’re developing a basic ‘chat’ application that is hierarchically organized, and also integrated with the tooling – clinFHIR – that participants in the event use. If all goes well, it’s also going to help in running ‘virtual’ events in the future, where people are not in the same place.

This post describes how the chat application is structured.

The app is organized in a hierarchy with 4 main levels.

  • The Project is the topmost level. A project represents a single activity that a group of people is performing – for example an episode of ‘Clinicians on FHIR’ at a Working Group Meeting. Right now, there is a single project that everyone uses – but this is intended to be enhanced in future versions.
  • The next level is the Topic which represents the highest grouping within a project. A topic is some overall purpose such as evaluating a particular profile (and you can optionally specify the profile when creating a new topic) or bug reports with the tooling. A project can have any number of topics.
  • Within a Topic are any number of Conversations, where a conversation represents a particular ‘thread’. For example a conversation might be about the datatype/s of a particular element of the topics profile, or whether some new element is required or a specific problem that someone is having.
  • Finally there are many individual Messages within a Conservation.

While anyone can use the chat, it helps to know who has sent a message! For this reason we’ve implemented a simple login that is really only used to get a persons name. Please don’t use anything sensitive – like a password you use elsewhere! We’ll fix this later, but right now it’s really insecure.

To create or login to an account, click the login link at the top of the page and enter your username or email account. When you tab out of the field, the app will check to see if there is someone with that username. If there is, then enter the password to login. If not, then simply specify the password to create a new account.

When you do login, if you check the ‘Remember me’ checkbox, then you will be logged in for both clinFHIR and the dashboard – otherwise you will need to log in separately (a bit klutzy – we’ll fix it later)

There are a number of ways to interact with the Chat.

From the top left pane of the welcome page is a link to the application (actually it’s a Dashboard that gives a number of usage metrics for clinFHIR – including a real-time activity display). Clicking on the link will open the dashboard in a separate tab of the browser.

The dashboard has been designed to operate with the window at a minimum size – the thinking is that like a skype window, you can leave it parked as a separate window on your screen and just monitor messages as they arrive (the display updates automatically). But you can just leave it as a tab in the active window if you prefer – the number of new messages will be displayed in the tab title.

This is the most convenient way to participate in a chat and allows you to read messages as they arrive, add your own comments, and create new conversations & topics.

Here’s a screen dump of the dashboard.


There are 4 topics (in green), and the ‘Planning for Atlanta’ topic has been opened (by clicking on it). The purpose (‘Align tooling’) shows in a box, and there is a single conversation (in pink – ‘Testing the tool for Atlanta’) that has been expanded to show the messages within it.

Note that the message from ‘Anon’ (‘Anonymous’ – a non-logged in user) 22 hours previously has a paperclip icon to the right. This is an attachment, and clicking on the icon will display the contents of the attachment – currently this is used for copying resources and errors into the chat from the Resource Builder (described below).

Some other things:

  • At the bottom of the list of messages is a textbox (not shown above) where you can reply to the message – actually you’re just adding your message within the same conversation. In general terms it’s better to have lots of conversations with a specific purpose and a small number of messages, than a more ‘generic’ with lots of messages.
  • To start a new conversation within the selected topic, there is a link labeled ‘New Conversation’ below the list of conversations. Clicking that allows you to enter the title (keep it short), the purpose (longer) and the initial message.
  • To create a whole new topic, click the plus (+) symbol at the top of the screen. Again enter the title (short) and purpose (can be longer). You’ll see a link ‘Which Profile’ at the bottom of the window. This allows you to associate a profile with the topic – which is useful when using the chat from the Resource Builder (see below). After creating the topic, you can then add conversations to it.

And other features of the dashboard unrelated to the chat:

  • The Access tab is a chart showing the number people using clinFHIR each day
  • Activity lists various events as they occur
  • Country shows where people are coming from
  • Profile shows the profiles that people are using in the Resource Builder.

The Dashboard is really new – like only a week old, so will doubtless change!

What are the other placed apart from the Dashboard?

Well, there’s also a windowlet directly on the welcome screen (to the upper right) where you can enter a new message. This window will also tell you how many new messages you have (provided you log in), but to view them you’ll need to load the dashboard (a link is provided)

The last place (at the moment) where you can interact with the chat is from the Resource Builder – and there are 2 places there.

When you display the resource builder – and after you have selected a profile to generate the resource from, you will note a ‘telephone’ icon to the upper right. Clicking on that icon will display a chat window on the right hand side, as shown in the screen dump below.


This displays the same information as the Dashboard – and has the same functionality – but the format is rather different, with Topics and Conversations in a concertina to the left, and the messages for a selected conversation to the right. This is because the amount of space available on the screen (the ‘real estate’) is rather larger than for the dashboard. In fact, if you press the double ended arrow on the blue tool bar of the chat window it will expand to fit the full screen. (The other icons in the chat tool bar will display the chats in different formats. It’s likely that we’ll move those to a separate ‘reporting’ function – but worth a look).

Apart from the layout, the only difference from the dashboard is that if you assign a profile to a topic when creating it, then that topic will only be displayed when the selected profile in the resource builder matches. (Topics with no attached profile will also be displayed). The purpose is to make it easier to discuss issues with profiles through the chat functionality while inside the Resource Builder – thus supporting projects where people can’t be together in the same venue – or at the same time.

Or during the planning for the Clinician Challenge!

The other place within the Resource Builder where chat can be accessed is from the ‘save resource dialog’. Like the windowlet on the welcome screen, you can only create a new message from here, but it has the added advantage the resource you are building will automatically be included as an attachment in the message you create (this can be viewed from the paperclip we saw in the Dashboard). And – if there are any validation issues (including any error messages from the server after an attempted save) – then they will be included as well.

The purpose of chat at this location is to make it easy to share resources – valid or invalid – amongst chat participants.

Screen Shot 2015-08-19 at 5.15.04 pm

In the screenshot above, the server has generated an error on saving a new resource, so the user has created a message to get assistance. This is a rather contrived example – missing required elements – but the error messages are not always obvious. And, there can also be bugs with the tooling as well.

Note that the user has actually created a new conversation under the ‘Planning for Atlanta’ topic. It is generally a good idea to do this, as it makes it easy for others to respond with advice – and also to find the conversation later. After all, this is the reason we aren’t just using skype!

So there you go – a purpose built, integrated chat mechanism within clinFHIR. Have a play with this, and feed back any errors or suggestions – from within the chat! It’s really early in the development cycle, so the interface is certain to change, but the overall design should remain consistent.

(Oh and don’t forget to log in – and don’t forget that right now the security is almost absent!)

BTW – just in case it’s not obvious – this is beta software! no warrantees!

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.

4 Responses to The clinFHIR Chat

  1. Michel says:

    Nice work David!

  2. Peter Jordan says:

    Hey Hay…it’s a beautiful app!

Leave a Reply