Developing the best full stack health care experience for both patients and providers. Getting sick is easy. Getting better should too.
Technical articles and stack decisions from One Medical
Documentation Best Practices, Part 2: Writing Specific Types of Documentation
In my first post, I reviewed why we should write documentation and best practices for writing it. In this post, let’s review a few specific types of documentation in more detail. Not all…
Documentation Best Practices
As developers, we are responsible for creating and maintaining code. When it comes to maintaining code and systems, documentation is often a necessity. Since documentation is often a necessity, it’s…
Self-Service Internal App Distribution with App Store Custom Apps
The One Medical iOS app is over 12 years old, and as the app’s feature set and scale have grown, so has the pace of development. As we continue to support more members with more ways to access health…
Rails Upgrade Guide–How to Tackle a Major Upgrade Using Dual Booting
Here at One Medical we have a 10 year old monolith Rails application with 175 thousand lines of code that we recently upgraded from Rails 5 to 6 and then 6 to 7, back to back. Since we did the…
Testing With Production Traffic
A story of using traffic mirroring to test code before deploying to production. -- By Daniel Georges
Filtering Ruby Backtraces for Debugging
Backtraces are exceptionally useful for debugging, but are often quite noisy. Here's how to filter them in Ruby!
Why We Hack
Every quarter, the One Medical Technology Team hosts a hackathon. The first hackathon was held in 2012 and the small but mighty tech team hacked for 24 hours straight. Since then we have evolved our…
Building Services at One Medical
Working for a growing company has many benefits, including an expanding codebase. As the engineering organization grows however, owning a large shared codebase is often at odds with smooth continuous…
Using Capabilities to Secure our APIs
At Iora Health we are on a mission to transform healthcare, starting with primary care. Part of that transformation is powered by our home-grown collaborative care platform, which we affectionately…
Rewriting our Core Backbone App in Ember While Developing at Full Speed
Our nearly 6 year old Backbone application is showing its age — but how can we change frameworks without stopping the world? In this article we’ll talk about how we’re doing just that: replacing the…
Part 3: Our Architecture Decision Process
This is the third post of a four-part blog series about how the One Medical technology team uses Architecture Decision Records. In Part 1 of this series, we looked at how One Medical started using…
Clearing Async Nests with ember-concurrency
A look at how ember-concurrency transformed our team from Promise Wranglers to a Task Tango-ers. We dish on how we use ember-concurrency and building in resiliency.
Provisioning Engineers with ChirpStrap
An overview of using Ruby and system tools to build a development machine provisioning system that is maintainable for a small engineering organization.
Part 4: Example and Benefits of adopting the ADR process
This is the fourth post of a four-part blog series about how the One Medical technology team uses Architecture Decision Records. In Part 1, Part 2, and Part 3 of this series, we saw how One Medical…
Resizable SVG sparklines in Ember
One of the really fun and rewarding parts about working at Iora Health is our dedicated “engineer’s time”, during which up to 30% of a delivery sprint can be devoted to working on technical debt…
Better Together: Co-locating Ember.js Component Files
Like peanut butter and potato chips in a sandwich (don’t @ me jelly fans) or the members of a tragically-disbanded boy band, some things are meant to be together. This is true of the component…
Chirp’s Promoting Interoperability Journey
Iora Health is thrilled to be a part of the Centers for Medicare & Medicaid Services (CMS) Direct Contracting Program. This program allows Iora’s patients to let CMS know that they are an Iora…
Part 2: Troubleshooting our Architecture Decision Process
This is the second post of a four-part blog series about how the One Medical technology team uses Architecture Decision Records. One Medical started using Architecture Decision Records (ADRs) as a…
Part 1: Adopting Architecture Decision Records within your technology team
This the first part of a four-part blog series about how the One Medical technology team uses Architecture Decision Records (ADRs). The One Medical technology team has grown quite a bit in the last…
Measuring Success
Over the last few months, I’ve had the opportunity to start a Site Reliability Engineer (SRE) team at One Medical with some colleagues. Data is the bread and butter of any SRE team and our team is no…
Diversity in Tech | Meet the One Medical Team!
It’s no secret that diversity drives innovation. Teams who bring a broad range of perspectives to their shared work are able to introduce new ways of thinking and problem-solving, while designing…
How I learned SQL on the job, and how you can too
When I started working at One Medical a year and a half ago, I knew next to nothing about SQL. As a new member of the product operations and analytics team, I would have the opportunity to learn what…
Rapid Prototyping and Deployment of Clinical NLP Models
It’s no secret that the healthcare system has a data problem — a massive one at that. Sources estimate that approximately 2,300 exabytes of health data are locked up in electronic medical records…
Q&A with Vanessa Shieh, Data Engineer
I was pre-med in college, and throughout most of school I was totally focused on becoming a doctor. I remember learning about One Medical when I was in high school, and thought it was a place I could…
Ensuring Stable Schema Migrations
Using CI to prevent one developer’s Rails migrations from becoming another developer’s headache.
Q&A with Mat Ungson — Senior Manager, Product Support
My initial passion was health and chronic care management from a nutritional standpoint. I had been working for a nutrition coaching startup called Rise, which ended up being acquired by One Medical…
Lessons from my Summer with One Medical; an Engineering Intern’s Perspective
During the summer of 2020, I had the opportunity to work as a software engineering intern at One Medical. As a senior at the University of Pennsylvania, I’ve spent much of my time in college studying…
AI in Healthcare — The Real Opportunities
AI is hot again. Like clockwork, we emerged from an AI winter with a flurry of new technologies such as deep learning, cloud computing, and massively parallel GPU processing. Researchers make…
How the Provider pattern saved our project
How we used the Provider pattern to enable iterative rollouts of third-party integrations and compare them side-by-side without rewriting our application.
What Waiting in Line Teaches About Your Quarterly Planning Process
Years ago, I joined a startup that was building towards the initial launch of their first product. They had a vision and had been working towards an initial release for nine months already and had…
Building a Decision Engine
How to architect a decision engine to allow for easy unit testing and composition of rules.
Making Cyber Security Fun: Encouraging young women to explore the world of Security
At this year’s Grace Hopper Celebration back in October, we were fortunate to lead a breakout session with our colleague Rachel Black for about 200 participants. Our session included an interactive…
App-specific feedback with RuboCop
RuboCop is a brilliant static analysis tool for the Ruby world. It’s used in nearly every Ruby project I’ve seen and has tons of built-in cops to detect common bugs / styling issues and prevent…
Evolving the One Medical Leveling Guide
Leveling guides have become a popular tool for engineering teams in recent years. While they have existed longer at a few larger companies, recently many smaller teams have been adopting and…
Building a Diverse Tech Team
Benefits of diversity have been proven and broadly documented — you’d be hard pressed to find a leader in technology who would say that they don’t want diversity within their organization. In…
3 Steps to Building a Custom Schematic in Angular
The Angular CLI is one of the awesome benefits of using Angular over some of the other front end frameworks. The Angular CLI ships with some standard schematics like This command builds out the file…
Tricking PaperTrail into saving attributes that didn’t change
Health Information Exchanges (HIE) are pretty exciting innovations in health tech — they allow us to digitally push or pull information about a patient through a network of other healthcare…
10 Strategies to Improve Meetings
Meetings don’t have to suck. How do we ensure that our meetings are effective and inclusive? At One Medical, we’ve found that a diversity of thoughts and safe spaces for honest conversations help us…
Product Design & Research Culture at One Medical
Design is a core part of the human-centered mission at One Medical. We are able to be deliberate in using an Evidence-Based Design approach influenced by the creative process and apply a rigorous…
Inclusive by Design
Great products are built by the inclusive processes of diverse teams. Inclusivity is worth fighting for and I’d like to share 5 principles of inclusive design along with practical case studies.
The Future of Health Care is Human
Not long ago, my father-in-law was diagnosed with lung cancer, and the doctor said he needed surgery. The day of operation came and went. He didn’t go. Logically, this made no sense to me: clearly…
Technology at One Medical
First, it was electronic health records (EHRs) and patient portals, then telehealth, and now wearables and apps, each heralded as the key to a revolution in quality and cost. In any one of these…