Custom Development

OpenSourcery Developing Healthcare IT Standards for CCHIT

logoCCHIT.gifOpenSourcery has partnered with CCHIT to build the next generation of tools for verifying healthcare IT standards. The web-based application, written in jRuby on Rails, moves certification away from a manual process to an automated, easy-to-use web interface. The project joins OpenSourcery and collaborators MITRE and CitiusTech with the Certification Commission for Healthcare Information Technology, better known as CCHIT. CCHIT is a recognized certification body (CRB) for electronic health records, and is a widely respected, independent nonprofit organization.

CCHIT selected OpenSourcery to work on Laika -- the aforementioned certification project -- because they were impressed by our Ruby on Rails expertise and the open source electronic medical records (EMR) application we've developed, elementalClinic. We're honored to be the sole paid developer on this exciting project.

Among the technical goals for Laika:

  • Migrate the Ruby on Rails application to work in jRuby, which will
    ease deployment and integration with Java-based testing tools.
  • Create a plug-in system that will make it easy for developers to add
    new health care validation standards in the future.
  • Improve stability of the core application.

Laika is currently part of the certification process for the C32 standard, with Patient Identifier Cross Referencing (PIX), Patient Demographics Query (PDX), and Cross Enterprise Document Sharing (XDS) certification as near-term project goals.

Software engineer Alex Kroman has assumed a leadership role in CCHIT's Laika project, working as the Project Manager and lead User Interface designer. Fellow OpenSourcery software engineer Zack Hobson is the lead jRuby on Rails developer for the project. While Alex and Zack are the principle actors, a variety of OpenSourcery employees have been integral in the project's success.

Please visit elementalClinic to learn more about OpenSourcery's experience with healthcare IT, and subscribe to our RSS feeds to stay apprised of our work with CCHIT and others.

Tagged as: Custom Development, elementalClinic, Health IT, Ruby on Rails

Project Management - My Two-Year Anniversary at OpenSourcery

This week marks two years for me at OpenSourcery. My first day on the job I walked into a cramped little office, lovingly called The Swamp Castle, in Southeast Portland. At that time, the team consisted of 10 of the smartest individuals I'd ever met, and a cat named Bio. As you can see from Thomas's post, our digs have changed considerably over the last two years. And with the addition of our new intern, Dan Mitu, last month and UI developer, Jackie Scherer, next week - our team will be up to 23.

This spring I anticipate that our Ruby on Rails team will be blogging a lot about the evolution of our approach to agile software development. Just as our development and design processes have matured, we've gained considerable knowledge and experience regarding best practices for agile project management and consistent client communication. Below are just a few of the lessons I've learned regarding agile project management in these first two years at OpenSourcery:

  • No news = The worst news - We often joke amongst both our developers and our clients that software development does not require the administration of penicillin. We know that our work represents a considerable investment on behalf of our clients. We know that deadlines and budgets are really important. And we honestly believe that our open source work is directly changing the world. But ultimately, no one's going to spontaneously combust if something goes wrong - which is a good thing, because something always goes wrong. It's just part of application development. Consequently, we take a very upbeat — but direct and candid — approach to client communication. We don't sugarcoat our project updates or hours reports. We engage our clients as best we can in our decision-making processes. And we document our design goals and development steps using highly transparent tools.
  • Stick to your milestone release schedule - At the start of each agile milestone, we sketch out a target feature set for the milestone release, based on a scoping methodology that generally provides us with consistent results. That being said, as features are developed, the scope and priorities during a milestone inevitably change. When this happens, there's a tendency amongst both clients and development teams to try to adjust release schedules (usually meaning prolonging them) to squeeze in additional features. In our experience, this generally is a mistake. Adjusting milestone scope, rather than milestone duration, requires more project management and client communication. However, sticking to a release schedule ensures more consistent client feedback cycles, more frequent QA, and better management of project budgets.
  • Anticipate, but don't borrow trouble from the future - There's a delicate balance in agile software development between long-term project planning needs and focused, iterative development cycles. It's just human nature to be drawn to the shiny allure of waterfall-style software development - the idea that you can think through every user interaction in an application upfront, build a robust spec - and then chain the developers to their consoles, feed them raw meat and just let them rip. It's tempting as well to try to address every design question that comes up in the development process all at once - as there's something unsettling about releasing features you know aren't complete. But time and again, we've seen that that style of design and development doesn't work. You can't have all the answers, or even know all the questions, upfront. Stay focused on the goals of your current development milestone, and you'll end up with a better, as well as more affordable, product.

Tagged as: Custom Development, Project Management, Ruby on Rails

Syndicate content