Get Me A Dentist


A simple site for finding dentists in your area, and booking appointments with them.

The original idea was a appointment scheduling application for dentists. The problem I intended to solve was that Dentists get cancellations on a Wednesday and Thursday which they want to fill in, in order to be able to take the Friday off and play golf.

My approach to developing the application was to first get access to data for the following:

  • Dental Clinics (name, address, telephone, opening times)
  • Dentists (name, gender, job title, qualifications)

NHS Choices provided a wealth of data through their API, but unfortunately the data on dental clinics was not going to be available until June this year, so what I did instead was screen-scraped data from their site instead. (

After I had managed to construct a sample dataset and store it in a database, I set about creating the patient-facing side of the application. I decided to build the simplest interface possible, allowing users to find dental clinics within range of a given location. To support this feature, I used the excellent ( "Geokit") gem to automatically get the latitude and longitude coordinates for the address of each dental clinic, and to geocode the search form's location in order to find clinics close to that location.

I then proceeded to work on the search results list, and displayed some key data, such as the name, address, and contact details of the clinics, as well as the days they were open, and the breakdown of male/dentists at that practise. I then provided a book appointment button, which would go to a page viewing that clinic.

Here, the user would pick a date and time for which they would like an appointment. When the user had picked a date and time and submitted the form, they would then see a list of dentists who were available for that given date and time. They could then choose one of the dentists, based on their gender, job title, and even qualifications. Once they had a dentist that they were happy with, they could then click "book".

The next page they would see would simply request their name and email address. They fill in the form, and submit it, and there, they've created an appointment, in four steps.

The application is built using ruby on rails. Originally I tried to experiment with using Sinatra, but I soon ditched this as I realised that it was slowing me down.

Ideas for taking this project forward

Some of the idea I wanted to implement but ran out of time to produced were the following:

  • Once you had made an appointment, you would get an email with details for the appointment, and a link allowing you to cancel the appointment. This was the simplest way I could imagine of allowing users to cancel an appointment, without having to implement an authentication system for patients, which would have been a waste since NHS choices already has its own sign-in service.

  • If a patient is unable to find an appointment for the time they would like, they would be able to put their email address on a waiting list for that clinic or dentist. If an appointment was cancelled, then the potential patients on the waiting list could be informed immediately, and they could then book an appointment with that dentist.

  • Proper integration with the NHS choices sign-on service.

Dentist scheduling application

This would be a section of the application visible only to the dentists at the dental clinic, which would allow them to view their calendar schedule, complete with appointments booked for open slots.

The idea for doing this would be to make the dental service more efficient for filling in cancelled appointments, to the benefit of both potential patients waiting for treatment, and for doctors wanting to have much tighter schedules so that they could have a full day for playing golf.

Estimated costs for taking this project forward

I can give a rough ballpark figure of about 2 weeks to build the application properly, and by proper I mean a full test suite (there are no tests for this application whatsoever at the moment). At for cost, I believe my company ( "New Bamboo") charges around the market rate of 243500 per developer per day (I don't know the exact figure). I imagine that two developers would be working on this application for those two weeks.

2 devs X £500 X 10 days = £10,000

About the data used for this project

I used the NHS choices website as a data source. Some of the data was easy to get at as the html was semantic, but some of it was not, and that did mean it took some time to screen-scrape the site.

I think once the Dental clinic data is available via the API in June, then I would swap out the screen-scraped data with data from the API.

Project URL:

Twitter: @paulbjensen

Created at

Rewired State: DotGovLabs

Flickr Photos

Add photos by tagging them with rewiredstate:project="get-me-a-dentist"