Moving from Screening (SDOH) to Action: Expanding OpenEMR to Social Prescribing & CBO Networks

Hi Char,

I like where you’re taking this, and I’ll go a step farther — the “receiving end” problem you describe is mostly a configuration and referral-plumbing problem, not a new-product problem. The timing is good because the screening half of the loop is landing in core right now.

For anyone following along, I have a PR up (#12880) that replaces the LForms browser layer with an OpenEMR-native FHIR Questionnaire Runtime and adds a Patient Dashboard → FHIR Assessments workflow. Details, screenshots, and an Up for Grabs demo are in my announcement topic: Announcing: FHIR Questionnaire Runtime and Patient Dashboard Assessments

Imported FHIR R4/SDC questionnaires (SDOH, behavioral health, PROMs, intake, etc.) now render natively, score with SDC calculated expressions, and persist as native QuestionnaireResponse resources. The PR also adds Questionnaire SMART launch context — and an outside assessment app is exactly what a CBO-facing tool is, so that launch path matters here.

The standard I think we should build the closed loop against is the Gravity Project SDOH Clinical Care IG. Its resource flow is:

screening Questionnaire → QuestionnaireResponse → derived Observations → Condition (health concern) → Goal → ServiceRequest → Task assigned to the CBO → completion closes the loop.

PR #12880 delivers the front of that chain. My next step, already noted on the PR, is deriving Observations from QuestionnaireResponses (with derivedFrom back-links) so screening results surface in CCDA and the FHIR API — that’s the next link. From there, ServiceRequest with SDOH category codes and Task-based referral state carry the referral half. Stephen has been doing great work coding FHIR referral workflows, so I’d want to coordinate there rather than duplicate effort.

On the “social services org as another specialty clinic” idea — agreed, and I think it’s even lighter than a distribution. A few releases back I added a Context Manager that switches dashboard widgets per care setting (Emergency, Primary Care, etc.). A “Social Care” context with its own widget set, assessment catalog, and a Z-code/HCPCS fee sheet gets a CBO instance most of the way there with configuration, and the questionnaire runtime handles their intake and follow-up instruments. Your backward-referral example — a BP screening at a food bank — is then just an Observation plus ServiceRequest flowing the other direction on the same rails.

On I-Corps: worth remembering it funds customer discovery, not development, which actually works in our favor. A working demo of screening → scored response → Observation → referral is exactly what makes those discovery interviews concrete, and it tees up an SBIR/STTR follow-on for the build-out. I’ll make sure the demo capability is there to show. The reimbursement tailwind belongs in the narrative too — CMS is already paying for this direction through Z-code capture and 1115 waiver programs, which answers “why now.”

Count me in on the architecture side. Once #12880 merges I suggest we sketch the Gravity resource flow against what’s in core and identify the remaining gaps. I’ll keep the community posted here and on my announcement thread as the Observation derivation work lands.
I also want to especially note to community that while you have brought this to the community by it helping us meet a concentrated need the structural work to support allows meeting many other Health Care discipline needs. Really exciting stuff, so thanks.

Jerry