Page 1 of 1

Database Integrity

Posted: Sun Nov 07, 2021 7:19 am
by jordansparks
We have started implementing our Database Integrity features:
https://www.opendental.com/site/integrity.html
There will be a few irritated users, but we have to rip that Band-Aid off. We have too much database corruption.

Re: Database Integrity

Posted: Tue Jan 11, 2022 9:44 am
by rasheemo
Hey Jordan! Will you ensure we have APIs available for working with data in secured tables? Example I know vendors like Flex writes heavily into payments table and there arent any APIs that replaces all the functionality. So what will happen there?

Re: Database Integrity

Posted: Tue Jan 11, 2022 6:15 pm
by jordansparks
We will write the APIs that you need. I don't think Flex has asked for any yet, but we've been adding new methods quickly as requests come in.

Re: Database Integrity

Posted: Thu Jan 20, 2022 8:26 am
by dqadri
I saw the warning messages popping up on some of my appointments, and researched it back to the data integrity feature. The strange thing is that I have no 3rd party connections which could be editing the database directly, but I'm still seeing the message on appointments in the future.

I did upgrade to MariaDB 10.5.13 recently, and I had to do it manually.

Re: Database Integrity

Posted: Thu Jan 20, 2022 9:56 am
by jordansparks
We are constantly making improvements to this area. I expect the false positives to go away within a week or two in the beta. You would need to update the beta to see the changes.

Re: Database Integrity

Posted: Wed Apr 19, 2023 10:17 am
by Mifa
We are still using a version 20.1, a version where database integrity popup messages are not yet implemented. I'm reading through the manual and the posts on the forum to understand how this feature could affect us when we decide to upgrade to a newer version.

1. We are using a third party software for text messaging (diafaan) which uses its own custom tables. From what I am reading, I understand that writing to these custom tables will not trigger a nagging popup about database integrity, right?

2. We have automated the process of sending text message reminders at specific time intervals before an appointment. When a text reminder is sent (basicely when we insert a new record in the messageout table that diafaan monitors), it triggers an update in the appointment table to change the confirmation status of the appointment to a custom status (created in definition). The statement looks like update appointment ap inner join tmp on ap.aptnum = tmp.aptnum left join patient pa on ap.patnum = pa.patnum set ap.confirmed = 593 where pa.txtmsgok <> 2 and pa.wirelessphone like "(%"; Will that cause a problem with the database integrity mechanism and trigger a popup?

Thanks

Mifa

Re: Database Integrity

Posted: Wed Apr 19, 2023 11:50 am
by SLeon
Currently, the Database Integrity behavior is simply a small warning triangle in the corner of the form. This only occurs when Open Dental determines that the object being viewed, such as an appointment, was created or modified outside our software. You can click this triangle to see more information in a popup. In the future, this popup will occur without clicking on the warning triangle, and you will need to acknowledge it before interacting with the form. See Database Integrity.

1. Our Database Integrity system is designed to ensure the integrity of tables that are managed by the Open Dental software. We do not endorse manipulating the database outside of Open Dental, this includes inserting and managing custom tables. We recognize that some companies have designed their software with the ability to directly manipulate the database in mind, but we highly recommend moving away from that model and towards a model where custom tables are hosted separately and Open Dental database manipulation is done through the Open Dental API.

2. The appointment table is subject to our enforcement of Database Integrity. Modifications to this table would cause the warning triangle to occur. Your third party should be developing their product to use our API, which is available starting in version 21.1. The API has the ability to change the Confirmed field on appointments and will not cause the triangles to appear.