Medical Joyworks selected for Start-Up Chile !

I have a glad piece of news to share with you : Medical Joyworks has been selected for Start-Up Chile

Start-Up Chile aims to attract high potential startups to Chile, with the aim of helping them reach the next level of their development.

This is an enormous validation of our efforts and an excellent opportunity to "go global".

For almost an year now, Medical Joyworks has been providing high-quality, credible and most importantly, free medical education. 

Our manifesto has been to deliver at least one real-life based clinical case scenario each week - and we have done so continuously, week by week, month by month, without a break.

Half a million users around the world have benefitted from our applications - not bad, when one considers that the United States itself has only one million doctors.

Now, we have the opportunity to export our model to the Spanish speaking world - and who knows, perhaps the Portuguese speaking world as well (after all, Chile is not too far from Brazil !).

I just cannot wait to move to Chile and start working there !

Announcing the Prognosis Case Builder

To date, Prognosis has been downloaded by half a million users. While over half of them hail from the United States, virtually every country in the world is represented. Over a million cases are played each month.

Half a million medical professionals is no insignificant number - even the United States has only a million doctors.

When I founded Prognosis almost an year ago, this degree of success was hard to imagine. Most people I spoke to then could not imagine why I would leave my comfortable job as a doctor to (in their own words) "chase an unrealistic dream".

My reply was that I had a vision - that smartphones would find themselves into the hands of everyone, everywhere - and that I could use them to disseminate medical education around the world and help people globally. My experiences as a struggling medical student had taught me that every bit of help matters.

For each and every week since then, we have released at least one new clinical case scenario - from all the major specialities of medicine. I think that the results speak for themselves.

Yet, all of these cases have been created by a very small team of doctors : just 25 specialists at the last count.

One of my dreams has been to make Prognosis a truly Global endeavor by allowing users from all over the world to create and contribute their own cases. In fact, almost since inception, users have been emailing in interesting case histories.

Unfortunately, building up a Prognosis case is no simple matter. Not only do the history and examination findings need to be "spot on", the discussion has to be concise and most importantly, credible and referenced.

A few case histories we received met these criteria - and we went on to feature them. Many others were "almost" complete - but needed a little additional work. Unfortunately, we did not have the infrastructure in place to support these users and help them develop these cases fully.

I am very happy to announce that this time is at an end - after many months of work, the Prognosis Case Builder is finally ready.

The case builder allows users to create their own cases, to simulate them and check how they will appear in the iPhone, and to submit them to our team of editors (who will then go on to review the cases / help complete them where necessary).

Check the case builder out a http://cases.prognosisapp.com - let me know what you think of it !

Surgical case : Breast Lump

Breast lumps (both benign and malignant) are commonly encountered during the clinical component of the final year exams.

These patients may be encountered either as a short case (where the focus is on demonstrating your mastery of the examination technique), or as a long case (where the focus mainly lies in showing your understanding of the principles of management and overall knowledge of the disease).

Regardless of whether the format is short or long, what should be kept in mind is that this is one of the easiest cases, as the examination is stereotypic and the discussion is predictable.

Given below are my notes on how to approach such a patient if encountered as a short case. I also have some notes on the approach for a long case, but I'll leave those for another day.

(Click on the image to enlarge)
Breast_-_benign_and_malignant_

Note: All cases are copyrighted by Nayana Somaratna and Harshani Perera (2006 onwards). 

I make no guarantees about the accuracy of the material (and given that I built these while I was in medical college, I heartily recommend that you use this as a guide on how and what to study, rather than relying on this completely).

The secrets of passing the final year clinical exams

Pastedgraphic-1

For any student, the final exams appear to be a complex, fearsome and hard to overcome hurdle. 

Most of us dread the clinical examination component (i.e. long cases / short cases) - which is fair enough, given that one has only limited clinical exposure as a student.

The truth is though, the finals are actually quite straightforward to pass - assuming you know the 'secrets' behind them !

Secret 1 : Your medical college wants you to pass

Although no lecturer worth his salt will ever admit this aloud - all of your teachers really, really want you to pass.

Not because they are nice, kind and caring people (although I'm sure that most of them are) - but because a high failure rate reflects badly on their own teaching abilities.

Secret 2 : You don't need to be that good in order to pass

You definitely don't need to be a modern day Hippocrates - if you know enough medicine to keep the patient alive until a more senior doctor can arrive and take over, you're almost guaranteed to pass (although you probably would not pass with 'flying colors' !).

What that translates to is that you do need to know your basic emergency medicine very well - but knowing everything else on a more 'general' level is probably enough. 

After all, you won't be practicing on your own, but under the supervision of a senior doctor.

Secret 3 : Common cases are common in exams

As a student or junior doctor, you need to know how to diagnose and manage common cases. Sure, it is definitely nice to know the finer details of Refsum's disease - but that won't keep you from failing if you are unknowledgeable about the management of an acute myocardial infarction.

What if you do get a rare case ? Most likely, the examiners will not mind if you fail to diagnose it or arrive at an incorrect diagnosis. They might even try and guide you along to the correct diagnosis (which means that it is actually harder to fail such a case - although you might not get a high score either).

This 'pre-knowledge' can be put to great use in the short cases (patient examination) - but I'll be discussing more in a separate blog post.

Secret 4 : Classical presentations with florid signs

We all know that the patients you encounter in real life may present in a bewildering array of ways - the so called 'classical' presentation of a disease is in fact quite rare.

At the exam though, the patients are purposely selected so that they have most (if not all) of the 'classical' symptoms and signs. And most of the symptoms and signs are highly florid.

This is to ensure a measure of fairness - thus, if you miss the diagnosis, the examiners can justify failing you - i.e. 'What ??? No parasternal heave ??? Look at him - his sternum is almost dancing up and down !'

Disclaimer : these are my observations only - they might not match your particular unique situation. Also, note that post-graduate exams are an entirely different kettle of fish - if you are to become a consultant and manage an entire ward and team of doctors, you obviously need to demonstrate a much higher level of competence and knowledge.

Surgical case : Lipoma

I just realized that the previous case (Sebaceous cyst / Pilar cyst) only included the discussion - evidently I thought that the examination is so straightforward and simple that it did not need commenting on.

The second case I am putting online is a bit more comprehensive - this time, on examination of a Lipoma (in an exam setting, of course).

Skin_-_lipoma

Note: All cases are copyrighted by Nayana Somaratna and Harshani Perera (2006 onwards). 

I make no guarantees about the accuracy of the material (and given that I built these while I was in medical college, I heartily recommend that you use this as a guide on how and what to study, rather than relying on this completely).

Surgical case : Sebaceous cyst (pilar cyst)

While searching through my old emails, I came across some of the old notes made while I was a student (quite a long time ago !).

In retrospect, I am surprised how advanced I was - while my colleagues were using pens and paper, I ended up using Mindjet MindManager to create mindmaps. Luckily, my study partner was forward minded enough to install mind-manager on her computer as well :)

Of course, I never made notes about theory stuff - these notes are all about how to examine a patient in an exam-oriented setting and on how to answer the questions examiners usually ask afterwards (i.e. the stuff you really need in order to pass exams).

I've thought of posting the notes online, since these are definitely of value for anyone studying for their finals / clinical exams.

I'll start with something small - examination of a sebaceous cyst (pilar cyst).

(Click on the image to enlarge it)

Skin_-_pillar_cyst

Note: All cases are copyrighted by Nayana Somaratna and Harshani Perera (2006 onwards). 

I make no guarantees about the accuracy of the material (and given that I built these while I was in medical college, I heartily recommend that you use this as a guide on how and what to study, rather than relying on this completely).

Prognosis for Android released !

I am very excited to announce the public release of the Android version of Prognosis.

It took a bit less than a month to develop it - mainly because handling multiple devices with different screen resolutions presented a unique challenge (unlike the iPhone version).

Fortunately, Android presents several techniques in which to overcome this hurdle - but that will be the topic of a separate blog post !

To get the android version, simply open up the following link on your Android phone : http://www.prognosisapp.com/android

If you have a QR-Code reader, the following code should also do the trick :

Pastedgraphic-1

Adding a Legal Disclaimer to Prognosis

Pastedgraphic-1

After quite some time and a fair amount of deliberation, we've decided to add a legal disclaimer to Prognosis.

I am in two minds about this - as a Doctor, I would never sue another Doctor just for trying to help / educate me - even if something he said turned out to be wrong. And my gut feeling is that 99.99% of medical professionals would feel the same. We all know just how easy it is to make a mistake - and how incredibly complex medicine is.

On the other hand, there are enough crackpots around - what if a legal scamster tried to sue us and make a quick buck ? We hardly have the financial resources to mount a legal defense at the moment.

If this sounds silly, read the horror story from the noted Doctor-Blogger Dr Wes Fisher's blog:

http://drwes.blogspot.com/2010/08/some-blogging-insights-for-doctors.html

Deploying Prognosis on Facebook

Screen_shot_2010-12-17_at_11

It's quite some time since I posted on this blog. Quite a lot of exciting stuff happened, including winning Seedcamp Mumbai and Prognosis reaching the #1 free medical app position in the US (and many other countries worldwide).

I'll be posting about these in due course, but first of all, I want to announce an important development : the release of the Facebook version of Prognosis.

At the very beginning we considered building a Facebook version of Prognosis, but then decided to give up on this - since the way people use Facebook apps seemed to be fundamentally different from how they use mobile apps.

As a mobile application user, you are distractible and have a limited amount of free time - which leads to intermittent 'chunks' of play time. As a Facebook application user, you're sitting at a desk using your laptop / desktop and probably have a lot more free time on your hands. The cases in Prognosis just seemed to be too short.

However, in the month since we launched, we've learnt that the amount of content in a case seems to be sufficient for most users - which lead us to believe that a Facebook version might have a chance of success.

After about 4 days of intensive effort, we created a Facebook version and asked several doctor/nurse friends to test it out. Most of them were highly positive - and now we've decided to release it to the general public ! 

I would appreciate any and all comments / feedback from the readers of this blog.

Prognosis : Lessons learnt from developing a top 10 medical iPhone app

Pastedgraphic-6

After only 10 days, Prognosis is already a top 10 free medical app in the US app store. Not bad, especially considering that our marketing and promotion budget was $0.  We owe a lot to ScienceRoll and Medgadget for featuring Prognosis at the start - their publicity made a big difference.

We did have several problems and two near-disasters though - although quick action and a good dose of luck helped us sort things out. The key lessons we learnt from them are as follows:

Lesson 1 : Thou shalt test thy app in all supported iOS versions

Although this sounds like a no-brainer, we made the fundamental mistake of not doing so. 

Specifically, we tested out the app intensively under iOS 4.0 (as all our iPhones were running this), but set the iPhone SDK build target to iOS 3.0 and shipped the app without testing it on a iOS 3.0 or 3.1 device. Of course, this was mainly because no-one we knew had an iOS 3.0/3.1 device, but I guess that that is not an excuse.

Incidentally none of our 65 odd beta-testers noticed anything wrong either - which means that all of them must have had iOS 4 devices ! Even Apple failed to catch this, even though the rules mention that apps which crash will not be approved. Everyone assumed that if it works on iOS 4, it works on previous versions too.

We started noticing that something was quite wrong when we started to get a lot of one-star ratings without any comments. Fine, there will always be naysayers who hate your app - but putting in a one-star rating manually is rather cumbersome - you need to open up the app store, find the app, click on the reviews button at the bottom and then click on 'write a review'. If someone is annoyed enough to go through all that, he would almost certainly write why he was annoyed.

After about 3 days we had around 20 five-star reviews and about 5 or 6 one-star reviews and nothing in between ! We were rather puzzled about this - why would almost one quarter of users hate the app ? Was it really THAT bad ?

We then had a stroke of luck as one user sent us an email saying that the app was crashing on his iPhone running 3.1.3. It didn't take Sandaruwan to put two and two together and figure out exactly what was happening.

Basically, when users downloaded the app onto their iOS 3.1 devices, it crashed. After trying again once or twice, those users would have been rather annoyed and deleted the app. And unfortunately, one of the features of iOS 3 is that when an app is deleted, the user is prompted to rate it ! Given their state of mind at that time, I'm sure that you can imagine the rest.

A lot of frantic searching failed to turn up an iOS 3.1 device in our circle of friends - forcing Sandaruwan to go through the painful process of downgrading his iPhone from iOS 4.0 to 3.1 (after looking at the instructions on how to do this, I got a headache and delegated that task to him !). It took him almost 4 hours to do this (and get his phone back into a workable state) - and only 10 minutes to test, isolate and fix the bug.

Our next step was to put a prominent  message in itunes indicating that iOS 3 users should hold off downloading the app until the next version came through. While this did significantly reduce the volume of one-star reviews, it did not halt them completely (I guess that there will always be people who don't read the app's description).

We also submitted an update to itunes connect and sent an emergency email to Apple, requesting an expedited review - and we then kept our fingers crossed.

Unfortunately, we caught the bug on a friday and it was afternoon by the time we submitted the update. I must say that Apple go onto the case quite quickly though - on the next business day itself (Monday) we received an email indicating that our update was slated for expedited review and indeed, it was approved shortly afterwards.

After the update went through the ratings improved significantly - at the moment almost all of them are either five-star or four-star - there are no one-star ratings.

The moral ? Always test your app on each version of iOS it supports (or if you cannot do so, set the build target to the version you can actually test).

Lesson 2 : If thy app pulls content from a server, thou must have redundancy

During the last few years I have used almost every type of hosting - ranging from shared web hosting to clusters hosted on EC2.  Given that I am a power user, I demand the ability to tinker with the host - which means that at the very least, I'd need a VPS (or preferably a dedicated server).

We first started out using dedicated server hosting from ServerPronto.com - at $30/month for a 512 MB Athlon dedicated server, it was by far the cheapest around. What was not so cheap was the cost of downtime - when our server went down due to a hardware error, it took them 3 days to come up with a replacement. And customer support was email only.

After this event, we decided to switch to a different provider - but the next cheapest dedicated server was $75/month - a considerable increase. Sandaruwan then suggested using Linode.com - although we'd be sharing servers with someone else, the pricing and service appeared to be quite good.

At the time we developed and deployed Prognosis, we were still using Linode and we had never experienced any trouble with them. We decided to host the content of Prognosis on our server - little realizing the disaster which was about to strike us.

About 5 days after Prognosis was released, our server went down all of sudden - and we could not figure out why. A search on twitter showed that their Fremont data center had gone offline all of a sudden following a thunderstorm and that the status of the repairs would be posted on their website.

It unfortunately, took them nearly 4 hours to get our server up and running - during which time we took a fair amount of flack from the users (in fact, our only one-star review hails from this time period : "doesn't even work - can't download any cases"). Our only stroke of luck was that this was during the small hours of the morning in the US, i.e. from about 11 pm to 3 am.

After this event, Sandaruwan and I discussed whether we should migrate to another provider, or at the very least migrate our server to a different linode data center. However, given that this might very well disrupt our service again, we didn't want to make any hasty changes. Besides, hey, surely Linode would make sure that no further outage would occur in that data center ever again, right ?

Wrong !  3 days later, our server went offline again for around 30 minutes - although none of the users appeared to have noticed it, thank god.

As a technical guy, I know and understand that these things happen - and I can understand what the Linode guys must have been feeling like. But still, by now we had a worldwide audience of users using the app on a 24 hour basis - we just could not afford any more downtime.

Luckily, I remembered that Amazon had started to offer a free EC2 micro-instance for 1 year. We are now building a backup server which will run on EC2 and are in the process of altering the app to contact the backup server if our primary server is unreachable.

The moral ? If the worst can happen, it will happen. Always have a backup ready ! 

Lesson 3 : Different analytics solutions have different strengths

After playing around with various analytics solutions for several months, we decided on using Flurry - mainly because it seemed to be the most popular solution around. 

Unfortunately, Flurry turned out to have some disadvantages. First of all, the stats were only updated every few hours (every 2 hours ?) - which was a bit too infrequent for stats junkies like us. 

In addition, the metrics seemed to be slightly off - they were less than the statistics reported from the app store. This of course might be due to users downloading the app to their phones and playing it only later - or it might be because they played it without internet connectivity, preventing Flurry from transmitting the data to their server - but I can only speculate about this.

We then tried to use Google Analytics to track the users. Some of the marked advantages of this method were IP geolocation, allowing us to find out exactly where our users were from, without using the CLlocation framework (which popups up a nasty YES/NO message if used in an app - not to mention the fact that Apple bans collection of location data if the app does not offer location based functionality). In addition, Google Analytics stats are updated every 15 minutes or so - a big improvement.

The major disadvantage was that users hailing from the same network  (i.e. with the same shared IP address) appeared to be lumped together.

We considered using MixPanel - the ability to track events and users in realtime was very attractive. Unfortunately, their pricing scheme was not so attractive - their 'free' scheme of 50,000 data points per month (or 100,000 if you display their badge on your site) would be exceeded by our app even now ! And at $50/month the cheapest 'paid' package is still a bit too expensive for us - I'm still paying for all of this from my limited savings !

We're now taking a look at Mobclix analytics - perhaps it'll fit our purposes better. The other option would be to write our own customized analytics solution - but reinventing the wheel sounds silly.

Even though the above lessons seem to be simple and obvious (almost too obvious !) and have been discussed by other bloggers already, we still ended up making them, Hopefully, at least I'll be able to prevent someone else from making the same mistakes in the future.