Developer testing requested: FHIR Questionnaire Runtime and Patient Dashboard Assessments
I have a PR up that replaces the current LForms-based browser questionnaire workflow with an OpenEMR-native FHIR Questionnaire Runtime.
The most exciting part of this work is that FHIR Questionnaires can now be launched directly from the Patient Dashboard → FHIR Assessments workflow. This moves questionnaires out of being mostly an import/rendering feature and turns them into reusable patient-facing and provider-facing clinical assessment tools.
The goal is to allow imported FHIR R4 / SDC Questionnaires to be used directly in OpenEMR as structured assessments, without creating a custom OpenEMR form for every new screening tool or workflow.
This PR adds:
-
A new Patient Dashboard FHIR Assessments launcher
-
A reusable OpenEMR FHIR Questionnaire Runtime
-
Direct rendering from stored FHIR
Questionnaireresources -
Native FHIR
QuestionnaireResponsegeneration -
Save and reopen support for patient-level assessments
-
Encounter questionnaire workflow using the same runtime
-
Portal Questionnaire import/preview workflow using the same runtime
-
Support for common FHIR Questionnaire item types
-
Conditional display using
enableWhen -
Basic SDC variable/calculated-expression support
-
Regression tests for runtime behavior and edge cases
This also removes LForms from the active Questionnaire browser rendering path. The runtime now renders directly from FHIR Questionnaire JSON and produces QuestionnaireResponse JSON without converting through the LForms browser model.
The opportunities this opens are much bigger than one questionnaire renderer. This creates a path for OpenEMR to support reusable structured assessments such as:
-
SDOH screening
-
Behavioral health assessments
-
PROMs and patient-reported outcomes
-
Risk scoring tools
-
Intake questionnaires
-
Institutional assessments
-
Chronic care follow-up forms
-
Quality-program assessments
-
Referral or pre-visit screening workflows
-
Future patient portal assessment workflows
Instead of building and maintaining one-off custom forms, OpenEMR can begin treating standards-based FHIR Questionnaires as reusable clinical content.
I will be putting up an Up for Grabs demo of this PR so developers and interested users can test it without installing the branch locally.
Areas where testing would be especially helpful:
-
Importing valid FHIR Questionnaire JSON into the repository
-
Launching assessments from the Patient Dashboard
-
Saving and reopening QuestionnaireResponses
-
Using questionnaires from encounter forms
-
Testing conditional questions and calculated score fields
-
Trying larger or more complex questionnaires
-
Verifying portal Questionnaire import/preview behavior
-
Looking for UI, workflow, accessibility, or data fidelity issues
A few important notes:
-
This is now focused on FHIR Questionnaire / QuestionnaireResponse workflows.
-
Legacy LHC/LForms JSON conversion is no longer part of this runtime path.
-
Imported content should be valid FHIR Questionnaire JSON.
-
The runtime is not intended to be a complete FHIRPath engine yet.
-
Existing backend Questionnaire and QuestionnaireResponse services are preserved.
-
This PR is intended to move OpenEMR away from the LForms browser dependency for Questionnaire rendering and toward a maintainable OpenEMR-native implementation.
This is still early runtime work, so feedback on missing Questionnaire features, edge cases, real-world forms, rendering issues, save/reopen issues, and possible clinical workflows would be very helpful.
Once the demo is available, I would appreciate testing from developers, implementers, clinicians, and anyone working with assessments, SDOH, behavioral health, PROMs, intake workflows, or structured questionnaire-based care.
Thanks in advance to anyone willing to test and help shape where this goes.
Current launch in Patient Dashboard. Note this is from my test dev.



