PIH O3 Forms Gap Analysis

Gap Analysis

Legend

Gap Status: READY TO CONFIG GAP

Gap Priority: LOW MEDIUM HIGH

ThemeFeatureCurrent StateFuture State (with 3.x)StatusPriorityNotes/Comments
FormsBasic obs capturecapture observations based on concepts in dropdowns, text boxes, check boxes, radio buttons etc... support auto-suggest

READY


Formsobs commentscapture obs comments (e.g. when selecting an "other" choice, may want to allow user to enter text and have it saved in the comment)

GAP

MG: I'd debate whether this is necessarily a high priority
Formslabeling/unitsflexible question labeling (different than concept name) and units display

READY

Althougt this works, I think there is an opposite issue: it doe not  support using the concept name, only a custom label. Tickets here:  

Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.

Unable to locate Jira server for this macro. It may be due to Application Link configuration.

Formsrequired fieldsability to make fields required to save form

READY


FormsSkip logic/hiding exposing questions/sections

Ability to default questions or sections as hidden until a box is checked which would expose them



MG: I believe this is supported but need to test further
Formssingle field data validationsprevent entry of data outside of a certain range to be entered

GAP

Unable to locate Jira server for this macro. It may be due to Application Link configuration. (ticket may need review to make sure it covers all our use caess)


FormsFlexible question formatting ability to format questions (checkboxes/radio buttons/text boxes/dropdowns) in multiple columns or tables 

GAP

Note: the Form Engine has been deliberately designed not  to this, may require debate, see Ian's first response here: https://talk.openmrs.org/t/react-forms-form-builder-questions/39663

Formstext displaydisplay of informational "helper" text. tooltips


MG: There may be support for this. I need to confirm
Formscreate orderability to create orders (labs, meds, radiology etc..) from within forms

GAP

We should consider whether the proper way to do this is to support seamlessly rediercting to the Order Basket, see discussion here: https://talk.openmrs.org/t/react-forms-form-builder-questions/39663
FormsOrder renew/revise/discontinueability to renew/revise/discontinue active orders within forms

GAP


Formsobs group capturecapture obs in a group 

READY

There is support for this within the current form engine, and I've tested it and it generally works for entering and editing, though I haven't tested complex use cases.  It relies on the underlying id of each field to set the form-schema-and-path.  It does set any form-schema-path on the grouping concept, so the id of each child element must be unique across the entire form.
FormsRepeating Sectionsability to capture 1 to many obs or groups (e.g. diagnoses)

READY


This is supported (though possibly only for obs groups), and I did find one bug:

Unable to locate Jira server for this macro. It may be due to Application Link configuration.

FormsReuse sectionsability to reuse a section across multiple forms (e.g. MCH and Pediatric form both may have a vaccination section)



This is a core feature build into React Forms, though we should explore to make sure it meets our needs, see: https://ampath-forms.vercel.app/docs/core-concepts/components
Formstranslationslabels, units and other text to be shown in chosen locale

GAP

LOWMEDIUM

Unable to locate Jira server for this macro. It may be due to Application Link configuration.

Formsprogram enrollment/managementability to enroll/complete patient program or modify patient program workflow status

GAP

A discussion about this was started here:

https://github.com/openmrs/openmrs-form-engine-lib/issues/78

We should probe further

Formsdisplay past valuesdisplay past captured obs for a patient.  E.g. show latest vitals for a patient within a form



Formsdiagnosis captureeasily usable diagnosis capture including auto-suggest, non-coded entry, 1-many diagnoses, associated obs in groups (order, certainty etc...) 

GAP


Formsautomatic navigationability to force user to navigate to other forms/pages after submitting.  E.g. navigate to "mark patient deceased" after entering disposition = death 


It's possible this might tie into solutions presented here: https://github.com/openmrs/openmrs-form-engine-lib/issues/78
Formsrestrict forms avaialbleWe need to be able to config which forms are available in any specific implementation.  (Currently I think the UI simply displays all forms that are configured in the system)

GAP

Could this/should this be a configuration parameter in the esm-form-entry-app or esm-form-entry-engine in the Patient Chart?
Formsrestrict forms based on context

restrict forms based on:

  • privileges
  • location
  • other forms that have been entered (e.g. only allow 1 followup per visit, only allow followup after intake completed etc....)
 - 

GAP


Formedit formsWe need to have the ability to edit previously-entered forms.  This appears to be possible, but via the UI I'm only seeing how to edit the most recent form of a certain type added for patient

GAP

Mark Goodrich The form engine currently supports edit mode. This is a workflow issue
Form view formsWe need to have the ability to view previously-entered forms

GAP

Mark Goodrich The form engine currently supports view  

FormCalculations within formbe able to flexibly calculate values within forms (e.g. BMI, EDD from LMD)

There is support for this within React Forms, though we need to confirm that it meets our needs as currently designed: https://ampath-forms.vercel.app/docs/performing-calculations
FormReferences by mappingWe need to be able to reference concepts by mapping when building forms

GAP

Unable to locate Jira server for this macro. It may be due to Application Link configuration.

FormImproved developer experienceWe need to improve the developer experience of forms.  Namely, we need an easy way for devs to build forms in their IDE and upload them to the form builder for testing/review.

GAP

(PIH ticket: https://pihemr.atlassian.net/browse/UHM-7212)

Will add O3 ticket once this is fleshed out

FormSpecify encounter roleWithin a form schema, we'd like to be able to specify the encounter role of the provider filling out the form.  Right now the encounter role automatically set to the role with the name "Clinician", and if there is no role with that name, it just picks the first role returned by the REST endpoint

GAP


Form Specify encounter provider

I believe the form engine always sets the encounter provider to the current user.  For retrospective entry, we'd need to be able to set the provider to a specific provider via a dropdown list and/or provider search (and be able to restrict that list/search by provider type)


GAP

Mark Goodrich This is work in progress (I'm gonna file a ticket in Jira real quick to keep track of progress)

FormSpecify encounter location

It looks like the encounter location is set to the session location, though there may be more support for tweaking this.

We would want the encounter location to default to the session location, but be editable (at least in some cases)


GAP


Circular workflow stuff





Legend

Gap Status: READY TO CONFIG GAP

Gap Priority: LOW MEDIUM HIGH