Open EMR
open-emr.org
open-emr.org
You can read quite a bit about open source in healthcare in my book, Hacking Healthcare. A bit dated but still in print.
Unfortunately there are massive headwinds against open source in US healthcare settings. Regulation requires certifications that cost upwards of $100K first time, $10K with each release, just in fees. Licensed data sets also make for real difficulties in licensing. Required 3rd parties like SureScripts are openly hostile to open source. Most largest buyers of systems are institutional and most current interpretations of law make it so that open source systems cannot be sold as "sole source" which makes life very hard to close and keep those deals. Finally, until a business model emerges that favors open source and patient health, everyone makes more money with lock-in and so that perpetuates.
Ask me anything.
Can confirm, a little concerningly, that code I wrote 17 years ago is still widely present in the OpenEMR codebase including my old office number for test patients, lol.
Yet it also seems like there is a lane for a simple piece of software to do basic record keeping. For example, I wrote the app (https://github.com/russnewcomer/SeventyTwo) for my friend to solve the problem (somewhat specific to the culture they work in) where they don't have a clinic site or really the ability to make appointments but instead travel to homes or communities to do their work, and they have to cart around all their binders full of records. My simple app works for their use case, but this also feels like a spot where there are more opportunities to help.
Anyway, I definitely support open source EMR efforts, wherever they may lead, and I thank and applaud you for your service!
Even in the first world, I want an EMR system that treats paper as a first class medium, and it's easily doable.
There have been several attempts at treating paper as first class - scanning reports, using a digital pen etc. But none of these solutions is convenient. How would you interface paper with software?
You'd never get a casual user to write {"weight": 145} on paper, but you could teach them to write:
weight 145
And then it is really quite easy to write DSLs that parse things like that in a type checked way. Or, to put it another way, instead of trying to teach people JSON, why not teach programmers something new?One thing we picked up on quickly when talking to doctors and nurses in the field is that most of them come up with their own short-hand dialects for scribbling notes (for later data entry, sometimes). Why not make it easy to scan these microDSLs as is, and even define them formally and cheaply, at the last mile that then compile into a more common tongue for ingestion into bigger EMRs? Epic I guess has something somewhat along those lines, but not taken to the extreme.
I would be interested in discussing this in more detail. Let me know if I can mail you.
Sure anytime. email is in profile.
I've always been curious why OpenEMR seemed to dominate in the OSS space after we walked away from it. I can only theorize that the code was more approachable than other projects (PHP), and that the GPL kept the work from being captured by any one business. I can't imagine that the code was the best, I'm painfully aware of how poor the security practices must have been in hindsight.
You've given me the chance to ask a question I never knew who to ask: Why, back in 2003 (just after we stopped giving the project attention), was OpenEMR the project you decided to spend time on? What made it the attractive thing to invest in?
If you can tell me I'll bottle that elixir and pour it into every OSS effort I work on today.
I'm not sure it used CSS :-p in 2001 or 2002 I actually did a lot of systems work building a version of OpenEMR which booted from CDROM but wrote the database to an attached USB storage device. The idea was that small offices had to start thinking about HIPAA compliance, and could take the disks home from their server each evening for improved security. I think that was probably the last thing I was working on in OpenEMR.
Bespoke front-ends and UX have never been open source's forte, but shared serving technology running behind the scenes has been wildly successful.
Health care seems like a good fit for that.
(Said as someone with clients in insurance, and well aware of how quickly data interchange can embrittle an architecture)
HIPAA greatly complicates a lot of data sharing because of appropriate data privacy issues.
Obviously, driven by the reasons and pressures you outlined in your parent comment. (Everything is sold and certified as a system, rather than a component)
It seems like there's an opportunity for OSS to eat shared functionality, that no vendor particularly liked implementing, and then allow for closed source UIs to be built on top.
E.g. EMR store/server being the open product, with {insert your preferred front end on top, for your specific use case}
In insurance, there seem to be some moves towards cracking monolithic systems into pieces for reasons of development agility. ACA limiting admin costs is a huge driver, as companies rightly identified lack of technical agility as a existential threat (no agility = no ability to update automated processing pipelines to changing requirements = manual processing = penalties for exceeding allowed admin costs).
Also, I think there's a generational shift at the executive level from "Buy and trust vendor" to "Own, develop, and operate."
Do you have any insight in this arena? I wonder if it is because they are not 'the record,' but instead are 'tools to create' the record that is eventually uploaded and stored in another platform?
Might be a tangential question, thanks for the patience
The underlying problem is that we need an economical way for doctors to have more time to spend in the room with patients but no one, patients included, wants to pay for that.
I really hope "concierge" medicine, a lot of that now happening on the lower priced end not only for "luxury patients", continues to take off. You pay some cash out of pocket but get care that is dramatically better and more preventative.
So you're saying if you use a templating tool to be more efficient and save time, it's explicitly not allowed AND you're opening up either yourself or the technology tool to malpractice litigation?!
Goodness!
With respect to Medicare fraud see the False Claims act and its interpretation in the enforcement actions against many parties beginning in 2016. Keywords would be like "not medically necessary" and "upcoding". I believe the monster enforcement action just this week against GHC also involves that.
Hospices dropping off cookies with their contact information is kosher. Incentivizing a medical office to hit 100 nebulizer-orders, or cpap referrals -> federal prison.
What we really need is just more doctors. The federal government should remove the bottleneck by boosting funding for residency program slots.
This is a great question; being thrust into hippa compliance from 2000 - 2012 was the easy part, and can perhaps be summed up as
“ fax machines behind a door, paper charts and/or laptops/tablets locked in trunks*, all-in Blackberry enterprise services, Exhange over ssl xml-rpc endpoints, and ensuring EMR portal uptime was so much of the fun parts.
The hard part: training home health medical groups how to VPN - and how to never mix work tech and personal tech.”
I am unaware of hippa changes since the blackberry-era, and while I can’t imagine specific apps being named in amendments to the law, I can say without a doubt that hippa at the time meant having total control over all technical Devices used by your clinicians, prepping all laptops and equipment to use encrypted storage, ssl-encrypted email, VPNs, etc was always made easier by focusing on training, troubleshooting, and being able to mitigate the raw chaos monkey power of a doctor with a gadget.
With the passage of the HITECH act, being able to facilitate the automated logging of a doctor’s conversation with a patient’s family or caregiver towards the CPO (care plan oversight) and making the fulfillment of PQRI initiatives automatic... “so easy a doctor could do it”... meant (at the time) a very hefty pay raise for part-B collections.
TLDR: hippa was easy, training doctors to change their ways is hard. producing the tech that makes their lives easier means assuaging them of their worries that they are maximizing Medicare collections.
It is fun to imagine these days that transcription, location, and barcode technology has “made it” to the point we dreamed about ~10 years ago.
I work for a large hosp. operations company and serve as the Dir. Engineering for our clinical operations group. Hacking Healthcare is required reading for new members of my team. It serves as an excellent introduction (with a healthy amount of critique) to the dynamics in the hc technology ecosystem. Thank you for providing this perspective on the industry and its challenges with tech.
We've been successful developing using open source technology internally. In fact, I take a fairly hard stance on disallowing proprietary healthcare specific "solutions" from working their way into our stack (aside from the EHR itself, it has staying power). We're lucky in that we are positioned as somewhat of a startup within a larger org, and are able to take that approach.
To avoid some of the issues you raise, we generally are working to reduce the surface area of the EHR to become simply the transactional backend which is then mirrored to a larger ecosystem of custom apps. This has the effect of boxing in the regulated entity. We focus on data integration (by spending $$$$ on custom HL7 interfaces, unfortunately not everyone can afford) to get outside of the walled garden. This means we can use the information/data for new and interesting purposes without worrying about the EHR vendor's roadblocks/tolls. More importantly to some people, we don't disrupt the billing cycle that originates from the EHR.
Do you notice any trends where healthcare operations/providers are starting to develop internal technology that integrates with the EHR to compliment vs. replace the core transactional system?
Unfortunately I see the opposite trend right now, more silos, more lip service to interoperability, more tolls. I think driven by the burden of regulatory overhead. Moving forward there could be a shift to a "patient owned" record where providers and facilities feed standardized formats into a patient owned/managed "personal cloud". I hope that continues to pick up steam.
While not open source by any stretch, I see the personal EHR space being ushered along by companies following Apple's lead. Aside from complex patients, I think the generally healthy/mild-chronic person is uninterested in owning/managing their health data unfortunately. Apple is contributing useful tools to understand fundamental determinants of health including cardiovascular, sleep, fitness at massive scale. It just happens to come with your watch and phone, and their vision for health is starting to come into focus. This puts the patient in the position of generating the primary data (sensors, etc.) and sharing it with their care team on their terms (more or less). As telehealth becomes more prominent, I suspect the patient will be required to engage with their data more often as it will be the means of conveying a shared understanding vs. observations recorded in the clinical setting and stashed away in centralized EHRs.
Furthermore, if labs and other diagnostics are available directly to consumers it puts the individual in a position of ownership. I think the default position is whoever generates the data owns it, and determines how easy/hard it is to share with others. If the individual is empowered to generate information about themselves- this will start to swing toward "patient owned." I too look forward to more of this, but it will have to come with more direct to consumer and digital offerings.
One of the coolest examples I've seen of individuals taking ownership in open source med tech is openaps.org . I'm not one, but T1D's are some of the most resourceful and resilient folks around. Good on them for building a community to solve real problems together. Shout out to the #wearenotwaiting crew.
I recommend Eric Topol's books as well, including The Creative Destruction of Medicine and Deep Medicine. Lots of food for thought.
This reminds me of one of the first articles I've read about Linux and open source in general. It was about a CEO (and largest shareholder) of Medsphere Systems Corp, who open sourced their tech stack (I believe called OpenVista) and was promptly sued by his own company (!)
Unfortunately it seems that the sands of time have eroded the original content (which was apparently hosted on linux-watch.com, which now redirects to a VPS provider), but I've still managed to find something [0] [1] [2]
0: https://70.42.23.9/servers/a-medical-open-source-legal-hell-...
1: https://medicalconnectivity.com/2007/10/25/medsphere-settles...
2: https://www.informationweek.com/medsphere-settles-lawsuit-wi...
Seems to me like this could be overcome by licencing but not in the general sense but more in a you need accreditation, join this other pool of people utilizing the system and buy an accreditation licence. Seems like there would still be a value proposition there.
As for the 3rd party seems that could be hit or miss again if it is money, build those out as modules that cover the licence fees the third party is looking to recoup. Maybe with a little bone in it for the open source developers as well.
> "Finally, until a business model emerges that favors open source and patient health, everyone makes more money with lock-in and so that perpetuates"
I'm curious to know if you've thought about what such a business model might look like. The closest to a viable business model I've seen gives patients control of their data & allows them to monetize it. But that feels like a pipe dream at the moment because a) EHR vendors don't have incentives to share data, and b) there is no marketplace of buyers for said data.
https://www.healthit.gov/topic/certification-ehrs/certificat...
As with anything in the b2b healthcare space, most of these systems suffer from quite a bit of legacy and at-best-average code quality. Despite that, many doctors, clinics and even small hospitals use them because the private solutions (think Epic [1], but smaller) aren't necessarily better code-wise (don't ask me how I know). I wish more FAANG-calibre devs would look into contributing to and evangelizing these platforms rather than writing yet another note-taking/"productivity management" app. It has a direct impact on the quality of care delivery in certain parts of the world and a positive impact on tool-related clinician burnout [2].
[1] https://news.ycombinator.com/item?id=18735023 [2] https://news.ycombinator.com/item?id=24336039
There are just some things that “throw devs (of any quality) at it” just doesn’t work. The health care industry is one of them.
Just want to add: I work with (ex-)FAANG folks on a daily basis, too. Not all of them have egos bigger than their britches. But the ones who think “this industry just needs better software, and I can write it” sure as hell do.
Epic will _happily_ interconnect with other systems for data sharing.
I mean Epic will happily _sell_ you interconnects with other systems, and will generally bill you on top a per patient, per export fee.
And yes things are changing at a glacial pace, but they are changing. For example, my province is developing a new patient portal [1] out in the open. AFAICT, they seem to be doing everything aboveboard: CI, code quality standards, documentation and proper testing, etc. Yet if you look at another team in the same org (ministry of health), you'll find non-existent dev practices, oodles of VBA, or (even worse) some slow+buggy third party system put in place by one of the procurement vampires (IBM, CGI, Deloitte, you know the bunch). The biggest difference? The former project has a dedicated, US Digital Service-style team of skilled and hopefully better-compensated dev(ops) people who know how to deliver good software.
These people have three things on their mind (in no particular order): 1) does this product meet this organization's requirements under our regulatory compliance policies; 2) does this product (including installation, maintenance, and training costs) fit within my budget; 3) is this product widely known and trusted by my peers at other medical practices.
Notice something? The word "software" doesn't appear in that even once. They literally don't care. The result is that companies develop products (software) on the cheap, and that results in the quality issues that exist.
Improving the quality of the code base and development practices is solving a problem the purse-holders (customers) don't have.
Some complaints/feedback I did receive from doctors and clinic admins while working for an EMR vendor:
1. Your system is buggy/unintuitive and we hate using it.
2. We're not upgrading or moving to your new system because of 1).
3. We're moving to competitor X because they have Y feature.
4. [conversely] We came from competitor X because their EMR is slow/buggy/lacks features.
5. We signed up because the docs/office assistants liked [hero feature] in the sales demo.
So yes, 0 mentions of the word "software". However, all of these are directly related to the software itself. There's a reason flashy new companies can swoop in and steal some market share (at least where I am). Even more importantly, there are many tech-related reasons why some companies start floundering and drop out of the market:
- bad foundations (most EMRs were created by doctors with limited dev experience)
- rampant tech debt driven by feature-driven development
- lack of knowledge about testing/CI
These are not theoretical problems. More than once, we incurred regulatory fines and SLA penalties in excess of the "cost of doing business" threshold. After a pretty major patient data screw-up, upper management even relented and gave the dev(ops) team time/money to clean up their act. Regulatory and bureaucratic inertia may insulate health IT companies from software engineering issues, but there's a limit to everything and they can sure as hell bleed.
I would like to see the US Digital Service continue to task technologists with improving EMR systems at CMS (Centers for Medicare and Medicaid Services), but made free to use by all practitioners and citizens (and of course, open sourcing the resulting codebase). It seems sort of inefficient we keep reinventing the wheel (Epic and the like, which are crazy expensive, or self hosted solutions, when practitioners should not be spending time maintaining EMRs), when your records should be stored for your benefit by your government over the course of your life. This is where, imho, high calibre engineers provide the most leverage (one way ratchets on public goods at scale).
[1] https://www.usds.gov/resources/USDS-Impact-Report-2020.pdf
Also, with Veterans Choice, I don't know how much there was an effort to bring this data back. Same thing with the DoD, for a while there was an agreement to send medical records for active duty to the VA, but then that got pulled for a time.
I believe there was a huge undertaking to consolidate these to fewer systems in the last few years, but Vista[0] (the VA's EMR) is pretty scary. I wouldn't wish it on anyone.
The file format itself seems like a bit tough to parse, but the concept I love.
why do you say that? From a doctor's perspective, Vista is one of the more user friendly EMRs.
EDIT: Still a win I suppose if it improves care delivery over the status quo. Nice to know there's still some progress on this front [1] [2]. Looks like I owe OpenEMR a financial contribution.
[1] https://news.ycombinator.com/item?id=25040076
[2] https://playbook.cio.gov/#play13 (Digital services playbook: Default to open)
I think there was a YC funded iPad EMR startup that tried to be cool / hip / provider first until they got smacked in the face by reality.
Also, compliance doesn't fully explain why competitors are able to convince clinicians to switch systems. Word-of-mouth means that people will know your EMR is a flaming piece of garbage, but (as you noted) companies would much rather cut up-front prices so they can milk an extended contract than improving product quality. All that said, I think there's a bit of a chicken-and-egg thing going on here. Good people don't join the space because the culture sucks and the pay is bad, but those are because those with the talent and drive all self-selected out of it. I get it, health IT is a huge drag and not at all sexy. But just look at how often folks on HN ask about "doing social good" and how many complaints there are about healthcare delivery. Trying to run a "disruptive" VC-backed startup is IMO pretty crazy, but contributing to an OSS project is far less risky and more achievable.
The problem is that the Venn diagram between the people who actually have to use or administer the EMR and the people who decide which EMR to implement is basically two entirely-disconnected circles.
That said, I don't really recall the doctors themselves using an EMR much, either; they'd usually punt that to assistants and/or nurses. Probably different in smaller practices/clinics.
This.
Once I worked making healthcare software that would basically save costs by avoiding complications. We were bidding into a large hospital network. After the long sales cycle, we checked the most boxes, clinicians liked the feel of ours the best, they said ours was the most intuitive, helped them do their job the fastest, etc.
The clinicians weren't the ones writing the check though.
Our competitor approached the main insurance provider in the area and convinced them they could save x% in additional claims if the hospital network would adopt their software. Competitor's deal was to split the bill between the insurance company and the hospital network. To the admins writing the checks, they had the choice between two vendors that more or less did the same thing but one came in at half the cost. Clinicians' preferences didn't matter, it was a no brainer for them.
No amount of software engineering would have saved that deal.
In part I think it happens more commonly because there is so much "other peoples money" in healthcare. Everyone is spending from someone elses checkbook and so transactions seem very distant.
Generally just having an EMR system is not enough; you also need practice management, scheduling, billing, insurance claims, etc. Interoperability between separate software for these things is... tenuous at best, though some practices do manage to handle it, it can be very fragile. Hence integrated solutions are pretty much the best way to go, and also prevent disruption from competitors which may be better in one space but not another, since it's so hard to get them to talk to each other well.
The AMA’s CPT-4, incorporated as a component of HCPCS, is not free, and is the mandated code set for most professional procedure coding.
And while otherwise that may be true for most of what you need for core EMR functionality, everyone wants EMR and billing/insurance transaction handling to be modules of the same core system (because you are going to need both, and they need to interface smoothly to avoid a whole lot of operational friction), and most of the mandatory billing/insurance standards are decidedly not gratis; older versions of at least the X-12 standards in this space were subsidized by CMS and available for free, but that hasn't been the case for the versions required since 2010. And that's just basic transaction standards, a lot of the code set standards are also proprietary.
(In addition to not being free, the standards in this space are exceptionally poorly written, ambiguous, self-contradictory, and incorporate vast quantities of external material, often also not free, by reference—and often not hyperlinks, but “here is the name of the document and the postal address from which you can contact the entity from which you can order it.”)
Either way though, the incentives that built and maintain the complexity in healthcare IT stacks goes much further than a few laws.
After checking with other employees if found the reason; they had to make sure the supplier did not have to many levels of sub contractors, and had to be close to the core development. So not open source in it self, but open source was seen as a big red flag.
No issues on any of these OS's: Windows Server 2008r2 Windows Server 2016 CentOS 7 CentOS 7.5 Raspian Lite MACOS
OSes ran on virtualized (hyper-v, virtualbox, xen) and baremetal. Commodity hardware (old laptops, desktops with at least 4G ram. and PIs) and real server hardware. Purposely used mixed computing resources to simulate what a team say in Ndola, Zambia might have at their disposal.
My AWS-bias made me initially think of an open version of EMR (Elastic Map Reduce).
I also wish that when people submit what is clearly a "new version of software/thing X" they would submit a title like:
"Salami 2.0 released, this popular meat product now has substantially more zest."
Instead people just submit:
"Salami 2.0"
That's no better than Freshmeat.
>[otherwise] please use the original title, unless it is misleading or linkbait; don't editorialize.
[0] https://news.ycombinator.com/newsguidelines.html
Obviously there are upsides and downsides to this, but IMO it significantly cuts down on clickbaity titles at the expense of some readability when the site being linked to chooses a less-than-descriptive title.
2. Configurability. EMR's are crazy configurable to meet any hospitals requirements. This means lots of consultant hours to get things setup and running. Take a look at how much money Epic and Cerner make just from "consulting".
3. Interoperability. Again, there are standards like HL7 and FHIR are widely used but the data isn't always great. We are seeing more and more API endpoints all of this requires a level of customization.
All of this adds up to a ton of cost for a small-ish market with a large pool of no or low profit buyers and pretty much a replacement market.
Oh, and you are building software that could cause harm or death. I can't imagine why people don't want to come into this industry and really push the state of the art.
Many healthcare systems are a COBOL-dialect all the way at the bottom. Some of these had PHP layers shimmed in, when the web became a thing.
I've seen php scripts that shell out to .bat's, that interface with the COBOL engine. It's a mad world.
For context, a large amount of healthtech software was written in the 80s (kind of like fintech, the difference is that there's no competitive advantage to having better technology in health).
It's a minor miracle that anything works at all.
Yeah it started in CVS in 1998ish :-p
Lacking a single, blessed, vendor that can do this seems like it might be an obstacle for adoption.