To most the term, Personal Health Records (PHR), is pretty meaningless. To the Healthcare industry it means patient facing health records. It generally implies software that enables very easy access to all the appointment notes, medications, lab results, immunizations, allergies, and current medical conditions currently on file with your healthcare provider on yourself. Obamacare’s ‘Meaningful Use’ program also defines PHR as such. In the past, Google Health and Microsoft HealthVault tried to push for mass adoption of such software – improving the lives of everyone with digital health records in the process. However, Google has since shutdown their service and there are very few who have adopted these technologies. This said I’ve found myself obsessed with it over the last two months.
I’ve been focused on it because I don’t buy into the conclusions of Google and there are large flaws with Microsoft’s strategy. Today, I’m working to build a unified Personal Health Record system with two large hypothesis:
I believe these two hypothesis to be true but I am actively working to validate them.
Google Health and Microsoft Health Vault
Google announced that they were discontinuing their PHR software June 24th 2011 after being launched in 2008. Google stated Google Health did “not having the broad impact that we hoped” (http://googleblog.blogspot.com/2011/06/update-on-google-health-and-google.html). Microsoft Health Vault has been online since October 2007 but has not seen wide-spread adoption. I believe the core issues with both of these services are their lack of health provider support. That is, neither have integrated with a large number of healthcare providers (virtually none). In the case that they couldn’t import data from your healthcare provider they would allow users to manually type in their records – a long and potentially non-valuable endeavor. In addition, they did not have health provider’s recommending the use of the application to their patients – limiting the trust individuals had in the applications. All of this prevented Google and Microsoft from ever exploring the real value of a PHR system – improved preventative healthcare.
So why do I think I can actually move the dial here? What do I have that Google and Microsoft don’t? How will I attempt to validate my hypothesis? Its a secret for now… stay tuned for your health records…
Computer Science Students,
With the recent start to Code Fellows in Seattle, I’ve started to think about how I was formally taught Computer Science. It’s not uncommon to see numbers as high as 90% of Computer Science undergraduates being placed in jobs immediately after school. This said, very few Computer Science students graduate with basic knowledge of the tools they will likely use post-graduation. I feel like the vast majority of my graduating class at the University of Maryland in 2008 had never used source control – a tool used by every legitimate software shop.
I think there’s many important things students get from college – I’m not of the opinion that the average person benefits from skipping college and going through trade programs such as Enstitute. This said, I do think Computer Science students should have a superset of the skills gained from such a program. Many today graduate without this. Not only will you be more attractive to companies hiring, but you will almost certainly be more capable of evaluating the companies you might have job offers from. More importantly, going to college for some amount of time will make you a well-rounded, functional person. For me, college exposed me others’ points of view in a way nothing else has.
The importance of this skillset is especially true if your goal is to land a job at a small tech shop that either has a high hiring bar or that will make you figure out things for yourself. The first questions I ask when I’m starting on existing software projects are: how do I get the code, how do I run it locally, how do I deploy it. If you can’t do these things — it’ll be much harder to start having a meaningful impact on the software projects you participate in.
What are some of the basics that are frequently missed? Source control, complex build systems (beyond simple Makefiles), launching a web app/ desktop app/ mobile app from scratch to name a few.
At University of Maryland I took a Software Engineering class (actually I took it 4 times) that changed my perspective on what makes real software. CMSC335 taught by Jim Purtilo (http://www.cs.umd.edu/~purtilo/) matched teams of 4-7 students with real ‘customers’ in the area such as the Montgomery County Police Department and John’s Hopkins Applied Physics Laboratory. These groups might not have the budget for app development, but would take the time to define requirements for students to implement over 3-4 months. The students must communicate with each other or they will fail to build anything. They must use source control, build tools, and develop an app end-to-end. We launched apps such as http://map.umd.edu/ through this class. I would say that I personally got more out of this class than any other class at UMD.
I suspect the benefits of Code Fellows will be similar to that of my Software Engineering at UMD but it certainly wont be a replacement for college. If you are a Computer Science student in college — Find a class that makes you use source control and deploy an application end-to-end. Strive to find internships that have you developing software on a team. Make yourself a Computer Scientist that is ready to enter the world.
As I dug further into a few new project ideas, I took a moment to evaluate the merits of starting a Health IT company in different locations. The contenders:
Today I live in Seattle and I started and sold Raveld (my previous company) all in this area. I think between startup types/ entrepreneurs the answer would generally be obvious: move to SF to start a company and stuff will just happen for you! I live in Seattle and grew up near Washington, DC – I know people who I would tap for help on starting a company and have lived in both places long enough to know the areas pretty well. As of today, I’m opting to stay in Seattle. Here’s why:
There’s a glut of accelerator programs with legitimately impressive records in the bay area. However, I’ve started two companies before – I know the basics of operating and the logistics of hiring employees. While accelerators do a lot of things to help startups – there’s a category of things that others would be starting without. I do think I should have gone the accelerator route with previous startups and didn’t – today I don’t think the benefit is large enough to be required for creating a successful company.
I know people that would like to work with me today. I don’t know these people in SF or the DC area. Microsoft employees and Amazon employees would love to try their hand at something different but really don’t have the same opportunity to join a startup in Seattle as employees of SF companies. people, in my opinion, are the most important part of building a company. In any other city I’d be starting from scratch.
I have not found any clear competitive advantages to other cities over Seattle for Health IT. In the end of the day I can travel if I need to raise money to accelerate my company. In terms of finding customers: the Seattle community is very supportive of new health startups. While other cities are also supportive – I don’t see how SF would bring better customers to the table for product development purposes.
Lastly, cost of living in Seattle vs quality of life is much higher here. I’d probably pay double what I am now in rent + food which makes up most of my monthly expenses today. This would dramatically impact my personal runway.
If I lived in the middle of nowhere today — there would be clear reasons for me to move to SF over Seattle. Given that I’m in Seattle today – the support structures I have here will give me the greatest leverage while I launch my next company.
About a month ago, I started researching medical IT. Before now, my background has been in what I’d call IT for IT professionals. Recently, I’ve felt a need to contribute to society in a more meaningful way. I’ve never really spent much time looking at healthcare until now.
The first area that caught my eye was software around Electronic Medical Records (EMR). An EMR solution will generally try to record all things related to a patient in a hospital or doctor’s office (ambulatory + acute care and others). Frequently EMR is also used as an umbrella term to include other specific categories of software such as Revenue Cycle Management (RCM), Admin & Practice Management (PMS) and more specialized clinical functionality. The problem it solves tends to be different depending on who is using it. For example, at a hospital EMR might track what prescriptions have been administered to a patient in and seeing a single list of prescriptions in an EMR can help physicians quickly identify issues. Another use would be to track all the diagnoses and interventions taken by a doctor for submission to insurance companies.
My first realization was that EMR is actually a very broad set of solutions. It does very different things for different types of organizations. For example, a large HMO such as Kaiser has very different need than that of a small 10 person practice – but both can benefit from the digitization of medical records (from say a paper based system).
Below are my first reactions to specific software offerings I’ve found that are of interest.
In particular, two companies stood out to me here: Practice Fusion and Dr. Chrono. Both companies have launched their first low-cost/ free EMR products in the last 5 years and I would describe them as different from the traditional software in this space. While many other new EMR companies target specific types of practice – these two companies seem to aim at providing all practices a baseline EMR solution. If I were to guess, each of these company’s main customer has less than 100 physicians in its office. I’d also guess that these companies mainly address ambulatory care (e.g. regular doctors office) rather than acute care (hospitals etc).
In terms of total usage – it’s hard to guess. Dr. Chrono just yesterday sent out an email to all it’s users stating they have 35,000 doctors using their product. I’m a little skeptical of this number myself as I’m not a doctor yet am signed up for the service since its free to try (and I’m willing to bet I’m counted as one of those 35,000 doctors).
I have more to research in this area. I’m particularly curious to learn how many doctors practice ambulatory care total and how many currently use software like Dr. Chrono on a daily basis.
Epic is a privately held company building mainly EMR technology, consulting, enterprise types of customization and training. They had an estimated $1.2B in revenue in 2011 according to Wikipedia. Cerner is a publicly traded company who sell a number of software and services related to EMR and other hospital related systems. The selling point of these company’s software are their ability to plug in and manage every part of a hospital. Smaller EMR companies can’t afford the cost of supporting as large a system that is as highly customizable.
The general reaction I’ve heard from doctors is that the software from these types of companies is pretty bad from a usability perspective. Some doctors I’ve talked to say that the usability is so bad that it compromises the value of having EMR at all.
This software seems to be pretty typical Enterprise Software. The companies selling this software frequently seem to be plugged into hospitals in a big way. And this goes beyond software. Training and certification programs mean that nurses and others take weeks to become skilled power users of the system – the cost to retrain is very high. The data formats used by the software are largely unstandardized and undocumented – transitioning old data is near impossible unless you have relatively large budgets to move (order of magnitude seems to be as high as deploying and training in the first place – this can cost $100s of millions).
My impression is that once a hospital commits to software like this, it’s nearly impossible to move away from it. The value of this software comes from the total integration of many different departments and functions and Cerner’s + Epic’s ability to customize the product to the workflows of the specific hospital systems.
The Office of Veteran Affairs open sourced their EMR solution in 2011 (http://www.va.gov/opa/pressrel/pressrelease.cfm?id=2153). Even before the press release, the Freedom of Information Act (FOIA) was used to successfully request copies of the software. OSEHRA (www.osehra.org) was started to be a place where interested parties could contribute to the project.
The VA is the largest medical system in the US by revenue. Back in the 80s the VA started to create the EMR solution that eventually became VistA. VistA is comprised of 160 different sub-modules including scheduling, basic notes, pharmacy management, imaging, billing and many others. Despite the open sourcing of the project I’m guessing there are very few organizations outside of the US Government that make use of VistA and related packages today. I would say there are 3 big reasons why this is the case:
This said there are still many interesting efforts to keep an eye on in regard to VistA. Namely, there are forks of the Vista code such as WorldVista and companies such as Astronaut VistA who are trying to make the VA’s award-winning EMR solution more approachable.
In the coming months, I’ll be trying to identify how I can improve healthcare given my background. Given the importance of EMR I’m sure it will be a repeating theme.
EMR is a very fragmented today. I’m starting to see it as a much more nebulous concept than I first thought it to be. There are hundreds of dramatically different EMR solutions for different types of practices + hospitals. This said, while EMR technology has a long way to go, it is clearly improving the quality of care across the board.
I would like to introduce the .Net Cloud Automation Toolkit. This Apache 2.0 licensed code is meant to help with automating tasks related to managing cloud computing infrastructure. This first version is limited to being a .Net client to the Windows Azure Management API documented here but there are many more items on the todo list for this project.
What types of things can you do with this? Perhaps automate deployment for development, testing and production on your own terms. Use this as the framework to help develop and managing your personal or organization’s cloud computing needs. Several things I’m planning in the near future include:
Realistically, how might this functionality benefit you?
Perhaps it could help you deploy a development Azure service as part of your build process.
Maybe it is used to provision instances for automated testing in a real Azure environment.
It could also be used to help manage applications in production including custom tools to version your application with zero down time in an automated way with no guess work.
The reality is that there’s large numbers of applications here that have yet to be discovered. My guess is that Microsoft may release some of this functionality in the future, but it isn’t here today. Meanwhile, any scenario described above will require code from this or a similar library.
To get started with the Cloud Automation Toolkit, download it here:http://cdn.mikewasser.com/CloudAutomationToolkit-1.0.zip. The package contains brief introductory documentation to help get started using it.
If you would like to help with the development of this project or have questions in regard to using it, please let me know!
I assume I’m not the only one that sits around on the weekend with plenty of stuff I could be doing but no motivation to do any of it. It’s like I fall into this state of apathy after a week at work and just don’t do anything. In my case, guilt unfortunately follows apathy. I don’t like this feeling. The other day, I decided that this is just like any other problem I have – solvable through software! Well, I guess not every problem is solvable through software, but I thought there has got to be a way to actually get things done tomorrow using the extra motivation I have today.
I started thinking about what other people use to do the same thing. Many people have task lists in outlook or google calendar. Others seem to do the same thing with pencil and paper. I tried using these (I actually preferred paper to digital as it’s easier to use …). For a number of reasons, that doesn’t always help get over my state of indifference. There’s also tons of project management apps and task list like apps in business domains such as 37Signals Basecamp – but those are generally very heavy weight with lots of features that aren’t interesting to an individual. Also, generally these apps seem to assume you will do the things in your task list – their job is just to make sure you don’t forget, not to motivate.
So what if you could incentivize people to do their everyday tasks? Could an application do this? I think it’s a definite maybe. Sure, if I could get paid to do my own laundry I’d never have that pile of clothing in my bathroom … as it turns out there’s not too many people willing to finance this. Though, not all incentives need to be monetary. I look at companies like foursquare who incentivizes through social awards and interaction with peers. The thought of being labeled ‘mayor’ of that Starbucks in front of all your friends seems to be appealing to some people. To be fair, not everyone is motivated by foursquare’s incentives but it does show that non-monetary incentives that come from software do exist.
What could realistically incentivize a person to do chores? I do remember motivational factors from my past. My mom would say, “go take out the trash,” and eventually I’d go and do it. It’s almost as if someone telling you what to do is enough sometimes.
I’ve been thinking, what if I take a normal task list, add a little more metadata – like when the task needs to get done by and a relative priority (high, medium, low), then I use this metadata to let my computer tell me what to do. On my smartphone I may say “schedule my next 4 hours with stuff” – my computer turns around and calculates the severity of every task and determines what I should do and when. In addition this could take my existing schedule on google calendar into account and schedule around my existing calendar. It’s almost like CPU scheduling but for people.
With this idea in mind, I bought HumanScheduler.com the other day. I’ll be playing with this idea over the next few weeks. Let me know if this idea interests you and I’ll let you give it a spin.
So lots of people have been talking about the recent Azure updates. Microsoft had a summery blog post here:http://blogs.msdn.com/b/windowsazure/archive/2010/12/01/updated-windows-azure-platform-training-kit-now-available.aspx
Tons of cool stuff was released with this post, but only part of it was discussed there. Given that I’ve been writing code to manage Azure accounts a particularly important improvement was the improvement to the Management API documented here: http://msdn.microsoft.com/en-us/library/ee460799.aspx.
Previously you couldn’t create new Hosted Services using the API, now you have all the CRUD (Create, Read, Update, Delete) goodness needed to fully manage Hosted Services in Azure without the management console website. Still many features missing (or just left undocumented) such as Create, Update and Delete on Storage Accounts and Affinity Groups.