We’d like to have a community call to come together around the idea of a shared form schema.
A number of us would like to share how we’ve been experimenting with this by re-purposing the Ampath Forms schema over the last 9 months, since we last proposed this idea in the June 25 Lightning Talks on Form Engines. For example, UCSF has a number of extensions to the schema that they’d like to propose, as they’ve run into additional use cases while working on OHRI.
Goal: we’d like to solidify the decision to move forward with a given schema.
Interested? Please Pick a Time!
Select an option that works best for you in this doodle poll:
https://doodle.com/meeting/organize/id/1aMK0PBd
We look forward to this discussion together!
Background Information
-
Recent Work w Ampath Forms: Ampath, Mekom, and UCSF have been moving ahead with Ampath Forms within 3.x, because of the existing forms tooling that made the Ampath Schema a quick-win to adopt. (See Image 1 & 2 below for an example of how a simple form was created, by using the current Ampath Form builder tool UI, which builds the content within the schema for the user.)
- Side note; Ampath is happy for this schema to become recognized as an OMRS community asset.
- Existing Documentation: Significant documentation work has been done to outline the Ampath Schema in great detail (kudos to @dkigen). (See Image 3 below for an example.) Full documentation here: https://ampath-forms.vercel.app/
-
Example of Schema Value: In the June 2021 call, one of the major points was that establishing a shared schema would allow forms to be shared even if tools used end up being different in some places.
- When UCSF started experimenting with Ampath forms, no Carbon/3.x-UI-style rendering tool was available. UCSF has used the shared schema to create a form renderer running on the new OHRI Forms Engine. So, I can paste the schema from Image 1&2, and see what it would look like if used in the OHRI Forms Engine, which is a bit different from the Ampath Form Engine but uses the same schema. (Shown in Image 4.) (Welcome to @eudson to add/clarify further details as well.)
Image 1: Example of a Generic Demo Form in the 3.x RefApp
Image 2: The Behind the Scenes: How the form was created - using the shared schema + Ampath Form Builder tool
Image 3: Current Schema Documentation Example. Explore more yourself here.
Image 4: Form Render Test - different Form Engine, but using same Ampath Schema and same exact JSON as shown in Image 1 & 2
For folks interested, here’s the full JSON from the screenshot examples in Image 1, 2, and 4:
JSON Example
{
"name": "Generic Demo Form",
"pages": [
{
"label": "Text Questions",
"sections": [
{
"label": "Text Questions",
"isExpanded": "true",
"questions": [
{
"label": "This is a short text field.",
"type": "obs",
"questionOptions": {
"rendering": "text",
"concept": "928def39-33c1-4ddb-8430-165db28448c8"
},
"id": "text-field-text-field"
},
{
"label": "This is a longer text field. ",
"type": "obs",
"questionOptions": {
"rendering": "textarea",
"concept": "3bc3c902-78cc-41c6-b1f5-ce4e889eea01",
"rows": ""
},
"id": "text-area-text-area"
}
]
}
]
},
{
"label": "Option Questions",
"sections": [
{
"label": "Option Questions",
"isExpanded": "true",
"questions": [
{
"label": "This is a radio question example. ",
"type": "obs",
"questionOptions": {
"rendering": "radio",
"concept": "3ecf9beb-21ed-400b-a46a-96155ee2a900"
},
"id": "radio-radio"
}
]
}
]
}
],
"processor": "EncounterFormProcessor",
"uuid": "xxxx",
"referencedForms": []
}
Note: Once we’ve had this community Schema call, we will also have a 2nd call to evaluate Form Engine options for the OMRS 3.x RefApp.
CC: @mseaton @dkayiwa @eudson @samuel34 @burke @jdick @achachiez @ibacher @bistenes @zacbutko @mksrom @mogoodrich @angshuonline @mayanja @ssmusoke @aojwang @kmakombe @ningosi @wanyee @christine & please tag others you think may be interested