Hi @act2024 welcome to the OpenEMR community, and its forum. I hope you find what you need here.
OpenEMR is indeed suitable for the purposes you describe.
Granted it was designed for a single provider medical practice but it has features that can be used to serve your needs.
The EMR is designed to organize pt activities by encounters: a patient will show for an appointment and an encounter form will be created to ‘contain’ the documentation of everything that occurred in the encounter.
The EMR has native (built- in) reports on many aspects of patient care, and for the data that is not natively tracked, particularly the housing numbers you mention, data fields may be customized to contain them.
OpenEMR’s billing module is very flexible. You can enter any custom codeset you want, assign charges to them and create billing statements, invoices or do electronic billing.
Now. All that being said, of course trade-offs must be made to use this ‘free’ software. You need to either learn for yourself how to customize it to your needs or hire it done. Professional developers who are certified as competent in customizing OpenEMR can be found here:
https://www.open-emr.org/wiki/index.php/Professional_Support
If you’re not inclined to self study of medical computer science many of those certified professionals (my company MI-Squared included) also will offer training sessions to teach you how to make the customizations you want, when possible. I.E., some of what you are looking for might involve code development of the feature which is strictly the realm of professional coders.
It sounds like you have not yet visited the OpenEMR wiki?
I’ll add to the end of this some links to tutorials you might find informative. It has the potential to get into TMI really easy so don’t worry- you’re welcome to come back here and ask any specific questions you may develop!
Best- Harley
Walkthrough the screens and controls in OpenEMR:
https://www.open-emr.org/wiki/index.php/OpenEMR_v6%2B_Walkthrough
This is the basic patient encounter workflow; the forms to be used in the encounter may be different to include non-medical activities.
https://www.open-emr.org/wiki/index.php/A_Generic_Medical_Encounter_Workflow_in_OpenEMR_6.1
The patient portal overview though it does get into some significant detail that can be ignored for now.
https://www.open-emr.org/wiki/index.php/The_OpenEMR_6.0%2B_Patient_Portal