Adding dedicated Vitals tab to Clinical - Consultation

As described here ( I’m trying to break out a new tab under Clinical / Consultation for vitals.

The tab shows up, but I keep getting redirected to the patient search page (/clinical/#/default/patient/search).

I’ve reused the existing Vitals concept set and tried to refer to it with the url parameter in a variety of cases (concept-set/vitals_concept, concept-set/vitals, concept-set/Vitals_concept, concept-set/Vitals).

Hi @cine,

It should actually be “concept-set-group/vitals_abc”. Here “vitals_abc” does not have to match any exact concept name.

Let say you want to add History & Examination template by default. Then you will need to add following config in clinical/extension.json. More such configs can be added to add more default templates.

"bahmniClinicalConceptSetGroupVitalsABCHistory": {
    "id": "bahmni.clinical.conceptSetGroup.vitals.history",
   "extensionPointId": "org.bahmni.clinical.conceptSetGroup.vitals_abc",
   "type": "config",
   "extensionParams": {
       "conceptName": "History and Examination",
      "default": true
  "order": 1,
  "requiredPrivilege": "app:clinical:history"

In this config. “extensionPointId” : “org.bahmni.clinical.conceptSetGroup.vitals_abc” , is necessary. This tells the app to show H&E in vitals tab.

For more example, please take a loot at

Thanks Vinkesh.

But I’m not quite sure if I understand everything here.

Does this mean I need two config blocks?

One for adding the new tab, like “vitals”: { “id”: “bahmni.clinical.consultation.myvitals”, “extensionPointId”: “org.bahmni.clinical.consultation.board”, “type”: “link”, “label”: “Vitals”, “url”: “concept-set-group/Vitals_concept”, “icon”: “icon-user-md”, “order”: 1, “requiredPrivilege”: “app:clinical” },

And another one for adding the Concept set vitals to this newly created tab, like “bahmniClinicalConceptSetGroupVitalsABCHistory”: { “id”: “bahmni.clinical.conceptSetGroup.vitals.history”, “extensionPointId”: “org.bahmni.clinical.conceptSetGroup.vitals_concept”, “type”: “config”, “label”: “newlabel”, “extensionParams”: { “conceptName”: “Vitals”, “default”: true }, “order”: 1, “requiredPrivilege”: “app:clinical:history” },

I’ve tried various combinations so far. From the vitals tab there is no redirect anymore (which I assume is due to the change to concept-set-group, but I can’t get the Vitals data points themselves showing up on the tab.

Hi @cine,

Yes you will need 2 config blocks.

Your config blocks looks almost alright to me. Can you please replace capital ‘V’ to small ‘v’ in "url": "concept-set-group/Vitals_concept", because in "extensionPointId": "org.bahmni.clinical.conceptSetGroup.vitals_concept" it is small ‘v’. Looks like equality is case sensitive.

Also can you check if your user has a privilege of “app:clinical:history” (as mentioned in the config). If not, you might want to change your config, or add that privilege to user.

Hopefully that should make it work.


Cool. with your changes it works now. (Was already using superman, so couldn’t have been a privilege problem).

Thx, christian

As a followup question: ‘My’ vitals tab now shows up as the first tab. But the Observation tab is still the active one. Is there way to pre-select the new vitals tab?

@cine… Do you want the “Vitals” open by default ? Then you can include the below line in your configuration for vitals tab. “default”: true

Tried that at multiple locations ( Still activates the Observations tab.

But I’ve noticed that the link to go to the Consultation area from the patient Dashboard looks like this: …/clinical/#/default/patient/c27c040a-0efd-4a4d-a25c-a7f27c535f92/concept-set-group/observations?encounterUuid=active

So looks like this like has a reference to ‘observations’ (unsure if this is also linked to the Obs tab though. And when I replace the observations with vitals, then it seems to work. Should this consultation link respect the above default setting?

Hm, now it works. Not sure why, the only thing I remember doing between yesterday and now was to restart my Tomcat.

Is your config JSON files getting cached in the browser ?

I thought I’ve cleared the cache and enforced a refresh, but I can’t say for sure anymore. So yes, maybe it was also cached.

Will check closer once I encounter this again.


  1. Is it possible to add a dashboard item to the Observations tab?
  2. Can the content of the Diagnosis tab be placed under the Observations tab?

This is the scenario I am looking at:

  1. Patient walks into hospital.
  2. Patient’s vitals are captured by nurse.
  3. In a vertical format, doctor wants to see the most recent vitals VALUES (opened, not in the collapsible format) of the said patient under the observations tab first, before history and examinations comes second, then Diagnosis in that order, all under the Observations tab.

Today, what we have is that the vitals, under the observations tab, is inviting the seeing doctor to type in the values which has already been captured by the nurse. The doctor now switches between tabs to read the vital values and input his diagnosis on another tab.

I want to merge the above mentioned under the Observations tab.

Kindly advise on how this can be achieved.


1 Like

@ekowkoomson1 : According to the scenario you have mentioned if the issue is with Doctor seeing the vitals in observation tab, one solution is to not show the vitals section by default on the observations tab. So there is no way that the doctor is invited to enter the vitals again. To see the latest vitals captured, dashboard is the place to configure. We don’t right now have flexibility to add dashboard item and diagnosis content in observation tab. Did this answer your question ?

Thanks Sravanthi! My question is partly answered.

The explanation is good though.

Are we likely to see that kind of flexibility (adding components from dashboard to other tabs) any time soon?

Selectively displaying the forms based on context - user, program-enrolment and some-key-patient data (age/gender) is planned this year. Which means in your case, the doctors would be expected to fill vitals. Displaying different types input information in single tab is not planned. But we hear the problem of switching tabs from usability standpoint and would need to think about it.

Thanks Vivek!

I am most grateful once again!