I’m new to OpenEMR and have noticed something intriguing about the database structure that I’m hoping to understand better. It appears that there are no database-level constraints enforced between foreign keys, and I’ve also observed inconsistencies in column data types across related tables.
Can anyone explain why the decision was made not to enforce these foreign key relationships at the database level in OpenEMR? From my understanding, implementing such constraints could potentially enhance data integrity and reduce errors.
Additionally, if there are specific reasons or benefits behind allowing different data types for columns that are supposed to be related, I would appreciate insights on this as well.
Thank you for your help!