Website Integration

For complex topics that regular users would not be interested in. For power users and database administrators.
Post Reply
garretwcox
Posts: 3
Joined: Sun Mar 13, 2011 5:57 pm

Website Integration

Post by garretwcox » Sun Mar 13, 2011 6:24 pm

Please excuse me guys, as I'm just starting with Open Dental. In fact, I haven't even purchased it yet; I'm just investigating my options so I can make a software recommendation to my client.

Right now, my client has 2 offices. My first plan is to set up one "online" database (on an amazon ec2), as well as a local database at each office, using SymetricDS to keep all 3 databases in sync (over VPN to the online server of course). I figure this is the smoothest, most effective way to have a good, up-to-date, offsite backup.
Now, assuming that's not a stupid thing to do (please tell me if it is).....

My next step would be to build a very nice integrated website for him. I'd like the works; online patient forms, bill payment, appointment scheduling, etc. Obviously, this kind of functionality will require the ability to access the database, but this will be simple, as I'll be putting the website on the same server as the online database.

Now, the questions:
1. I've read up on the webforms, and understand that they are hosted by opendental.com. Is there a fee for this (above the $150 a month?). Let's say I just wanted to make things nice (I hate having to redirect to other servers), is there any solution to host these forms myself, while preserving the ability to automatically import them into Open Dental?
2. Is it possible to host the mobile app myself? I saw there is a $10/month fee since opendental.com has to access the local database; hosting it myself removes this necessity. Honestly, it's not the fee that bothers me, it just seems like it'd work smoother this way (as again, the app would be sitting on the same server as the database).
3. Has anyone else made an online bill payment (via credit card or paypal) plugin, etc, that would keep track of these payments in the Open Dental database?
4. If the answer to any of the above is no, I will likely be making this functionality myself. Is this a stupid idea? I guess what I'm really asking is: how supported is 3rd party editing of the database? Does the DB schema tend to change drastically between versions? Is there good documentation anywhere on what tables need to be updated when adding a patient or updating payment history?

Thanks everyone.

User avatar
drtech
Posts: 1649
Joined: Wed Jun 20, 2007 8:44 am
Location: Springfield, MO
Contact:

Re: Website Integration

Post by drtech » Mon Mar 14, 2011 11:41 am

I would love to be a part of your integration efforts. I build my own binaries all the time for OD and as far as I know, you can host the mobile app and web forms etc on your own server if you set it up with .NET stuff and build it from the source. I do lots of plugins for the program, but know very little about .NET for a webserver. I am wanting to do the same things you are talking about in my practice!
David Fuchs
Dentist - Springfield, MO
Smile Dental http://www.887-smile.com

garretwcox
Posts: 3
Joined: Sun Mar 13, 2011 5:57 pm

Re: Website Integration

Post by garretwcox » Mon Mar 14, 2011 12:02 pm

Sure, I'm always up for help. I tend to opensource anything I do anyway.
Though to be honest, I wasn't planning on doing this in .Net (at least not in C#.net which this app and most plugins seem to be written in).
I was probably going to be making the site in one of the popular web frameworks. I'm best in RoR, and I'm learning Node. I'm willing to use ASP.NET if I need to make library calls to the opendental application. I'll also (begrudgingly) do it in PHP if that's what others are more comfortable in.

This is kind of the point of my question: What is the proper way to access the opendental database?
If it's okay to just access directly (which is easy peezy thanks to them using mySQL), we can use whatever framework we want. I can even have the server run linux instead of windows, since opendental doesn't even have to be ran and .net isn't required.
If, however, that's a bad idea (and again, it'd take someone used to working with opendental to tell me this), the way this kind of thing usually works is by interfacing with an opendental api in some way, in which case I would have the webserver running windows and opendental. I imagine I would then interface with opendental via some kind of network api (XML over http, etc.) or we may be making library calls (if they've provided a dll library, etc.) in which case we probably need to go ASP.net

So....guys who have written plugins and other apps that interface with opendental...what approach did you take?

User avatar
wjstarck
Posts: 936
Joined: Tue Jul 31, 2007 7:18 am
Location: Keller, TX
Contact:

Re: Website Integration

Post by wjstarck » Mon Mar 14, 2011 12:25 pm

I'm curious if the Web Service would meet your needs?

http://www.opendental.com/manual/webservice.html
Cheers,

Bill Starck, DDS
Big Idea Software, LLC
Developer, EASy(Electronic Anesthesia System) for Open Dental
817-807-1709
TX, USA

garretwcox
Posts: 3
Joined: Sun Mar 13, 2011 5:57 pm

Re: Website Integration

Post by garretwcox » Mon Mar 14, 2011 1:06 pm

I looked at that, and it looks more like a way for opendental clients to connect to a remote database over http.
Now, if I could find an api for it, that may be a safer thing for me to talk to than accessing mysql directly, but it also wouldn't be as efficient.

Again, I guess this is the core and most important question:
Is it a good idea to directly manipulate the tables used by opendental (assuming a high level of programmer competence of course :) ).

I notice that on the pages on the plugin framework, when they mention accessing the database (which is done via the framework for plugins, which isn't a method I would like to use) they recommend NOT editing the tables used by opendental, and instead making your own tables. Are they talking about not making schema changes (pretty obvious) or do they not recommend 3rd party apps even add/update rows in that table on their own, probably because the format of that table may change drastically in an upgrade?

User avatar
jordansparks
Site Admin
Posts: 5744
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: Website Integration

Post by jordansparks » Wed Mar 16, 2011 7:41 pm

We're recommending not making schema changes.
Jordan Sparks, DMD
http://www.opendental.com

Roy Bloom
Posts: 79
Joined: Fri Jul 27, 2007 5:46 pm
Location: Spring Texas
Contact:

Re: Website Integration

Post by Roy Bloom » Sun Apr 03, 2011 6:07 am

I go to 35 so on to be 60 offices and will be running a decicated blade server to "house the website, house open dental ,and my patient scheduler. There will be 3 Motion commputing tablets out in the feild all synched and each office will will simply clink a link on the website which will take them to the my patient scheduler which is bridged to OD. It will also house Skpe video woth a download button, with conference call, all of this can be done with Logmein Pro2 Now I have the discticnct pleasure of going back three weeks and going through all the A-Z folders and scanning al the consents etc, rebuilding the patient accounts as the smart card for my tablet has gone missing........each of the 5 remaining children here at home claim the do not know where it is. Anyway when you try to back up to a card and it is not there .......at least in this case it deletes the opendental preferences table. Hurray it saves the data in a-z table somewhere as I found it last night as I have some consent forms and video relase forms that are crucial. I also like everything to be the same and at this point .

Seems silly but when I was on support I kept saying my tablet is a server and my desk top is a server I want to walk in the door and the two servers to sink. Instead the quided me to make backup folders. I was just transitioning and beta testing and did not want to depend on flash drives as I have a billion of them and well there are those two boys that will probably be on CSI someday that think they should know hoe everything works and to do that you have to take the 4 gig flush mount card out of the tablet.

I hope the inventory was not affected.
[img]C:\Users\Roy%20Bloom%20DDS\Pictures\Roy.jpg[/img]


Roy Bloom DDS
General Dentist Providing IV Sedation and Oral Surgery for Your Patients at Your Practice.

http://sedationoncall.com
http://drbloom.com

EagleRidge
Posts: 12
Joined: Fri Sep 02, 2011 6:17 am

Re: Website Integration

Post by EagleRidge » Fri Sep 02, 2011 6:20 am

Can you guys give an update on your plug-in development? We are a start-up practice also interested in online forms and payments.

User avatar
jordansparks
Site Admin
Posts: 5744
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: Website Integration

Post by jordansparks » Sat Sep 03, 2011 6:57 am

Our webforms feature is getting more mature and is quite functional. For online payments, I would suggest voting in the feature request system. I'm skeptical that anyone will build a plug-in for online payments.
Jordan Sparks, DMD
http://www.opendental.com

Roy A Bloom
Posts: 11
Joined: Thu Sep 15, 2011 3:34 pm

Re: Website Integration

Post by Roy A Bloom » Fri Sep 16, 2011 4:25 am

[quote="garretwcox"]

My next step would be to build a very nice integrated website for him. I'd like the works; online patient forms, bill payment, appointment scheduling, etc. Obviously, this kind of functionality will require the ability to access the database, but this will be simple, as I'll be putting the website on the same server as the online database.

Is putting the website on the same server as the database an increase of risk to the database as hackers follow the website into the database?
Is it "safer" to have the website hosted by a different server?

User avatar
jordansparks
Site Admin
Posts: 5744
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: Website Integration

Post by jordansparks » Sat Sep 17, 2011 6:57 pm

It's safe to have the database on the web server as long as you only open up the ports needed, use good and different passwords, and set it up so that no mysql user can access from any remote machine. That last detail makes it very secure.
Jordan Sparks, DMD
http://www.opendental.com

Post Reply