EHR Containerization Project


(Hadrian Zbarcea) #21

Hi, Hadrian here.

Subscribed to the forum per Tony’s request. Intro:

  • Apache Software Foundation member
  • Committer on a few ASF project, mostly integration stack
  • OSEHRA member
  • Background: infrastructure, integration and operations at scale
  • other cool stuff
  • trivia: first open source contributed to: freemed

Tony, your list above is pretty good. Agree that docker is probably the best choice. The goal of this project is based on assumptions about how the EMR is operated, which are not state, but probably everybody has an opinion. It would be good to document that a bit more. We do operate quite a few technologies in multiple public clouds and have dockerfiles and compositions for some needed things (like databases, postgresql, mysql, etc).


(Tony McCormick) #22

@r0bby @judywawira @sunbiz _ have added some estimated man hours for many of the tasks. I’ll be adding estimates for the EHR development needs later today.

I really need your feedback and input on the Toolkit/RIS as well as some of the specifics for things like setting up our infrastructure to be able to automatically create the containers and deploy them to the test/demo sites on “release”. Continuous integration ++

(Tony McCormick) #23

Thanks for your help with the estimation process, @hzbarcea!

(Tony McCormick) #24

Based on my standard hourly rates ($120/hr) we are already at close to $25K. It’s presumed that some of this will be a mix of work that is volunteered and/or at reduced rates. That or we do what we can with what we get and figure out how to finish it later … :slight_smile:

(Hadrian Zbarcea) #25

Some of the tasks require different skills that bill at different rates. One option is to go with a median rate and mention that in the proposal, or itemize, the more painful option. My $0.02.

(Robby O'Connor) #26

Some notes:

  • I agree with @hzbarcea – let’s go with the easier less painful route of using a median hourly rate – and assume some volunteer work
  • The actual writing of the docker image for EHR should take hours – not days – that’s the easy part – however changes will need to be made potentially to EHR… and I’d be willing to partially volunteer my time for this.
  • The kubernetes/orchastration end of things would be the bulk of the work – and wouldn’t be impossible to do…a lot of it would be me learning on my feet – if you allowed me to help out and volunteer my time for it :slight_smile:
  • Some of the docker work for LH Radiology/Toolkit have been done prior – so we’re not starting from scratch there, so that won’t add time to the mix

@hzbarcea, I’m horrible with guesstimating how long it will take – I could see 3-6 mos? Realistically, maybe slightly less?

As for budget:

I’m not sure what to charge :confused:

(Hadrian Zbarcea) #27

Hi Robby,

Writing a Dockerfile and running it may take 1/2 hr… if everything works. Usually it doesn’t. However doing it right takes, much much longer than that. I will try to explain briefly why (based on our extensive experience). We have many services deployed using docker. We currently orchestrate using Rancher, but we’re slowly adding support for Kubernetes. Most of the apps/services are not built with containerization in mind. For a service we usually build not one container but at least three. That’s because we separate code from configuration from data. Why? Because of the way we do operations and need for backups (snapshots of the data container, r/w volumes) and so forth.

But you’re right that Kubernetes would take the bulk of the work. You however don’t need to do it on your own, we have a lot of experience and we can share. I would suggest setting up a concall to give you an overview of what and how we do things and go from there. At the very least it’ll give you a few ideas.

(Robby O'Connor) #28

Ah yes - I didn’t take into account when things go wrong :slight_smile: The basics is harder – but once you bring everything in – it takes more work.

Sure =)

(Robby O'Connor) #29

FYI we might be able to benefit from the OpenEMR stuff that exists.

(Art Eaton) #30

My two cents: This is about the last priority of a project I would attempt. About No. 3000 on the list after something like “clinical note suite”. I am sure I would never use it, and it is, and will be beyond adoption by the trial user. Even having the documentation too prominent out there will throw people off.

(Tony McCormick) #31

It will take significant effort to modify the EHR to work in both Docker model and native install… The OpenEMR thing was a mini-VM not a real container.

(Tony McCormick) #32

Perhaps, we suggested three things and this is what the funding organization chose … so it’s something we get to do.

(Tony McCormick) #33

Using a blended rate of $80/hr and (currently guessing at the effort for LH and RIS) this what I get


(Tony McCormick) #34

I submitted the initial budget to DIAL

Here’s a copy of the email:

Here’s my Breakdown by Category

$5,440.00 DevOps

$8,960.00 Development

$1,200.00 Enterprise Hosting Test/Reference

$3,200.00 Project Management

$6,720.00 QA/Doc an Testing


$25,520.00 Total

Obviously we max at $25K…

I think we are front loaded on Development and PM first, which is mostly EHR

then we start moving into DevOP and QA, which start to cover LH, RIS which don’t appear to need much dev work.

So maybe split this across 3 months?

(Tony McCormick) #35

Note: there is 10% that SFC get’s to keep …

(Saptarshi Purkayastha) #36

I think this is an appropriate estimate for the development work that needs to go into Toolkit and RIS. Combined, I would say for toolkit and radiology it should be possible to do in 50 man-hours.

Did we mention a timeline for this? For radiology @judywawira and me have discussed Jan 30th deadline for a beta release of the RIS/Enterprise Imaging System. Do you think we can have a containerized release?

(Robby O'Connor) #37

Nah, the OpenEMR one was decent… It’s how I would have done it.

(Judy Gichoya) #38

I think a real deliverable would be PAAS where developers can code against a server or container would be awesome … I mean if we catch up the above tasks obviously

(Tony McCormick) #39

OK, last time I looked it was a miniVM. Looks better now.

(Robby O'Connor) #40

I think we can use it as a base, want me to start work on it?