Town's Edge Technology

Professional Solutions for Small Business

A physician call scheduling application

NOTE: The original name of this application conflicted with that of a similar program produced by another company. If you have previously downloaded the files for this project, or installed the application on your machine, please remove and delete it immediately. See Availability below for more details.

This application is intended to automate the creation of call schedules. It was designed for a small medical practice of three health care providers, but should be useful in any professional group which maintains one individual on call on any given day.

Although actual creation of schedules is fairly straightforward, I recommend that configuration be done by individuals who are familiar with programming, and who have perused the available source code. Please contact me if you need help configuring this application for your own organization.

New Technologies

This program makes use of several technologies to accomplish what would otherwise require expensive additional components, that would require extra per-user license fees.

In order to achieve the most flexibility possible in configuring rules for creating schedules, the configuration is completed using a scripting language. Actually, this scripting language consists of any language supported by the .NET Framework, including VB.NET and C#. The scripts are compiled on the fly and run in a separate AppDomain, all using tools directly available with the .NET Framework.

This program also contains some reporting features which do not require any pricey reporting engines. Instead, the database is translated into an XML format and processed using XSLT into HTML files. The resulting files are then simply opened up in an embedded copy of Internet Explorer, which acts as the viewer.

I also considered several other alternative reporting techniques. It would be possible to use the webbrowser component with an embedded ASP.NET runtime engine. ASP.NET is far easier to use, for most people, than XSLT, but I decided that the overhead of hosting the engine was overkill for my purposes.

Another possibility would be to build reports using Windows.Forms components and render them directly onto PrintDocument. This would allow developers to very quickly build their reports using the Form Designer of their favorite IDE. I discovered that using standard controls for this was inadequate, due to databinding issues as well as painting irregularities, and I would need several specialized controls to handle this. I consider this possibility by far the best as far as the user interface for report design is concerned.


The original name of this application conflicted with that of a similar program produced by another company. I did not know this when I created this project in March of 2008, nor when I released it on this website later that same year. In February of 2010, I was asked by that company to stop using the name for legal reasons. As I did not feel fighting this issue was worth my time and money, I have completely removed the files from my website until I am ready to release them under the new name.

If you have previously downloaded this project under its old name, please contact me immediately and I will get you a copy of the new application with the same code, but under a different name. I would also request that you delete the old software from your system immediately, although I don't believe the terms of the license it was released under require you to do so.

Similarly, if you are curious about this project, and simply want a new release expedited, let me know, so that I know that people are interested.