Microsoft Visual C# C# .NET is available from the MS website at no charge. The source code for Open Dental is available on the Source Code page. You can look at the code in a text editor, or you can load the whole solution (OpenDental.sln) into Visual Studio or C# Standard Edition.
Database Documentation The database schema for each version of Open Dental can be found on the Database Documentation page.
SQLyog MySQL does not include a way to view and edit the data in your database.
We recommend SQLyog. It has a variety of useful tools for working with your raw database. Its use is not recommended for changing the data in your database.
Interacting with Open Dental
Simple read-only operations can be performed with queries. This is useful for reports. Any third party is welcome to query the database as long as no writes are involved. We have security measures in place to prevent writing to the database, so don't even think about it. Make sure your queries are optimized. One frequent problem is that an unoptimized query can take 20 seconds to run, and all the workstations in office lock up during that time. If you need to run long queries, maybe try doing that in the middle of the night.
This is the only way of interacting with Open Dental for any action that requires a write to the database. Direct writes to the database are never allowed other than by going through the API. See API.
Plug-ins Plug-ins were an old way of adding functionality with custom dlls. We are shutting down plug-ins as much as possible, and developers should use the API instead.
Sometimes, a developer ends up forking Open Dental, creating a version that cannot be upgraded through the ordinary upgrade process. We strongly discourage forking, since the users will miss out on all future enhancements. There are many good alternatives to forking. If a developer does decide to fork and to distribute the forked program, they absolutely must rename the program, because Open Dental is trademarked and the new program is no longer the same as the original. If users of such a program later decide to switch to Open Dental, a paid database conversion might be required unless the developer was very careful not to change the database in any way. Remember that any forked versions are still covered by the GPL and must have source code available. You must also leave the copyright and license attached to the source code.
Programming Assistance and Partnerships
We are not interested in paying for programming assistance
in any form.
Using the Source Code Installation Program
There is no included installation program with the source code. You can
run Open Dental on your development computer without an installation program.
Play with the installer that comes with the trial version, and you will quickly
see what elements you need to make it function properly. In fact you can
use the trial version installer, and then just substitute your compiled version
for the trial exe and dll's. You can then copy the Open Dental exe to another computer and put the required dlls in the same folder.
Then click on it and it will run.
If you plan to distribute Open Dental rather than referring users to us, you will create your own Setup.exe and distribution methodology.
There are a few slightly different versions of Open Dental. It can be compiled
with the TRIALONLY conditional compilation constant (symbol) to limit the
number of patients that can be loaded. Be sure not to use the DEBUG
version in a production environment, since many of the printing features
There are many DLLs that get installed. Install the trial version to see them all. The References page gives hints on how to handle broken references and missing .dll files.
There are several .PDB files that are included with the official release of Open Dental. These files are quite large and are not required to run Open Dental, but we feel their benefit outweighs the increase in size. Without the use of the .PDBs, line numbers and file names are not included in stacktrace errors which makes it much harder to debug issues. These files have no affect on the overall performance of the software. Think of them as debugging meta-data files that are only used when something goes wrong.
With major version changes, there used to be a text file include with the distribution that contained hundreds or even thousands of mySQL commands. It is not necessary to distribute those files for newer versions.
Bugs and Version Changes
The Previous Versions page shows all minor releases and the changes that were made with each. We generally only accept bug reports from existing customers on paid support.
Open Source License
A list of Open Dental's licenses can be found within the program under Help, About, View Licenses.
What is Open Source software?
It means that the source code, the original text of the program, is available for anyone to download. A programmer with a high level of skill could conceivably turn this source code into an (almost) fully functional version of the program. Open Dental is licensed under the GNU General Public License (GPL), the standard open source license. This license ensures that the software code will always remain free. Open Dental is Copyrighted by Dr Jordan Sparks to prevent anyone from turning it into a proprietary system.
Almost fully functional?
The full version includes copyrighted CDT content, including the ADA claimform, and the ADA procedure codes. Because this content is copyrighted, we are not allowed to include it freely on our website. So the CDT content will not be present in versions that are not purchased from us or from another licensed reseller. See the Distributors page for information on how to apply for a CDT license to distribute this content.
What restrictions does the license impose?
If you don't modify the program, there are no restrictions other than those of the CDT license. Basically, any modified versions of Open Dental must also be made available under the same GPL license.
If you are converting from another program, there are certain things you need
to do. To group family members, simply give them the same patient/guarantor
number. To do this, you must have a way to uniquely identify each patient
and guarantor from the old system. If the export features of the old program
are inadequate, you might have to just use patient names. Each patient name
will have to be unique if you are using them to group families (you can add
periods to duplicate names to make them unique). To establish balances, add
an adjustment to each patient. Setting any of the fields in the patient table
will not work because those fields are recomputed every time the patient's
account is opened. You must make certain that all of the foreign keys are set properly, and you would probably be better off to contact our Conversion Department if you are in need of a conversion. Finally, run the Database Maintenance tool.
We run servers to provide the Web Forms service to our paying customers at no extra charge. If you are not on paid support you cannot use Web Forms. If you are a Distributor, you can purchase Web Form services from Open Dental as a pass-through service for your customers as needed, then resell the service. Each of your customers will need a registration key that you distribute, activated for the particular service(s). To set this up, please contact us at
or call us.