Custom surgical attributes in OT(Add Surgery)

Hello,

I can see the default surgical appointment attribute in Add Surgery section of Operation Theater module. Find the below screenshot.

We have a requirement to add a custom surgical appointment attribute Anaesthetist technician

Looks like the existing view won’t display any newly created surgical appointment attributes except the default ones. We want to add this feature to OT module, where custom surgical appointment attributes will be displayed when they are available. These custom surgical attributes are specific to each implementation.

@angshuonline @mksrom @kirity @binduak @vinisha @venkatavineela @swedhan

Tech approach:

We are going to make surgicalAppointment.html as configurable which adds more flexibility to the implementers

Implementers can add their own surgical appointment attributes through migrations and update the view(surgicalAppointment.html) in the way it is required.

There is no change required in the API level, once surgical appointment attributes added, they are considered out of the box from existing APIs. Eg: https://192.168.33.10/openmrs/ws/rest/v1/surgicalAppointmentAttributeType?v=custom:(uuid,name)

List view doesn’t display newly added attributes since views(and data) are hardcoded. Eg: tableInfo in ui/app/ot/controller/listViewController.js

What needs to be done to display attributes in the list view?

  • Make table header dynamic
    • update header in tableInfo in listViewController.js
  • Make table data dynamic
    • Update in ui/app/ot/views/listView.html to be dynamic
    • Make existing columns as configurable

What needs to be done to display attributes in the list view?

After detailed discussion among ourselves, we came to the conclusion to make ui/app/ot/views/listView.html as configurable(same as above Add Surgery) and make sure all the information is available from listViewController.js

This way end-user will have more flexibility on view.

Regarding surgical attributes info(find below screenshot), specific part of html should be made configurable in surgicalBlock.html

Latest suggestions from community:

  • Keep the same view HTML and generate all attributes(custom and default) dynamically since it reduces maintenance effort to implementers.
  • To solve the problem of ordering of attributes and control (display/hide), introduce new configuration for both add-surgery section and also the list-view
  • There is a dependency on one of the cards community plays(yet to be started by Praveena) wrt translations.

@praveenad @angshuonline @kirity @venkatavineela @binduak

1 Like

All the custom surgical appointment attributes(newly added) would be generated dynamically as free text.

Surgical attributes(default and custom) would be displayed dynamically in list view.