Generally we are saving all data in relational databases, typically in Microsoft SQL Server (others are also possible). Due to security reasons we do not grant any direct access to the tables. From within the MedCubesApps you can only use encapsulated web services based on the MedCubes Framework. This automatically integrates our security and logging mechanisms.
To reconstruct every data access and modification MedCubes automatically generates so called history entries. Here you see who changed the data, the date and time of the access and the old and new value of modified data. You can also log read access, but due to the amount of history entries you need to specify the related tables.
Due to one of the most important features of MedCubes called DynamicApps it is possible to extend the static database structure of selected tables. With our own integrated data dictionary your administrator or consultant can simply create new fields or sub-tables without the knowledge of relational database structures. These extensions are only defined for the selected customer, others cannot see or access these fields. You can access these fields with your own DynamicApps. When creating reports the user sees the dynamic fields in the database structure like all static fields without any difference.
MedCubes enables this feature by establishing an additional - logical - data layer. This also guarantees that updates of the MedCubesApps do not affect your own extensions.
The Data Layer also handles the multi-customer and multi-tenant support of MedCubes within one database. It guarantees that no one without permission has access to your data. Not from the MedCubesApps and not with external reporting tools.