OpenMRS, how extendible?

Hello. I am very new to OpenMRS and doing an evaluation. I am looking for information, docs or other resources. I love the framework, modularity and the data model with OpenMRS. I wonder if I can extend the OpenMRS functionality to meet my needs. I would like to write a module that would have quite a complex workflow and would require some significant extension to the datamodel (meaning will need many more tables that will need to plug into the datamodel).

I’m looking trought and trying to do that, but as I’m just starting I thought I would ask, does this sound like a resonable usecase for OpenMRS: Take openmrs add a module that requires a bunch of new tables and a set of new REST endpoints? Thank you for any advice.

Yes all that is possible.