Software Developer/Architect

Saravanan Subramanian


My hobbies include tennis, weight training, photography and reading. I also try to pen my thoughts here on a number of topics that interest me which include software development/architecture as well as history, science, mathematics, linguistics and travel. I am also working slowly on completing an e-Book (on HL7, DICOM and PDF programming) for release next year.

Hello, Visitor. My name is Saravanan Subramanian (சரவணன் சுப்பிரமணியன்), an old Tamil name that is pronounced “seruh-va-nun sue-bruh-money-yen”). I live in Saskatchewan, Canada and make a living designing, developing and documenting web, mobile and desktop software applications using a number of object-oriented tools and technologies.

Over the last 17 years, I have helped solve information technology problems at large financial and healthcare-related organizations. The applications I have helped build over the years include graphical desktop as well as rich Internet applications for data entry and display, tele-radiology, alerting and notifications, as well as document generation, transmission and messaging applications. 

My passion lies in helping my clients and employers conceptualize, design, develop and implement ideas/products that are enabled by information technology quickly and in a cost affordable manner using both commercial as well as open source solutions.

Technologies and standards that I am most comfortable with include Java, .NET, XML, PDF, DICOM, HL7, Public Key Cryptography, Adobe LiveCycle, Mirth Connect, Oracle and SQL Server (see my profile). If you need reach me, please send me an email.

“We act as though comfort and luxury were the chief requirements of life, when all that we need to make us happy is something to be enthusiastic about.” ~ Albert Einstein

"Responsible (software) development is the style of development I aspire to now. It can be summarized by answering the question, How would I develop if it were my money? I’m amazed how many theoretical arguments evaporate when faced with this question."  ~ Kent Beck


I decided to write an introductory tutorial on the DICOM standard as there were not many articles on the Internet that singularly cover all aspects of this very large standard through an example based approach which helps the learner relate to the underlying concepts quickly by means of association. Many people I know who work with DICOM on a daily basis often deal only with a few aspects of this vast standard. Read more...


Seeing the many challenges in the field in terms of adopting unit tests, I am totally convinced that a basic awareness needs to exist of the inner workings of unit testing even for the non-programmer who works closely with software delivery teams to ensure that teams use unit testing to help produce high quality software that is easy to enhance or modify. This article explains the fundamentals of unit testing as well as how to adopt unit testing within your organization. Read more...


Before we get started on this tutorial, have a quick look at my earlier article titled “A Very Short Introduction to the HL7 2.x Standard” for information on the HL7 standard. Please note that this tutorial assumes you know Java or any equivalent object-oriented language. A basic understanding of network as well as thread programming is also useful, but not necessary. Building custom Read more...


One of the frequent challenges specially in document centric organizations where production of documents is often highly automated is to ensure that these documents are correct both structurally and semantically before they are transmitted both for internal and external consumption by other Read more...

Some of My Articles


Some Favourite Quotes...