Skip to main content

❤️‍🔥 Zero-to-One Engineering with FHIR

· 3 min read
Clint Johnson

FHIR1

A "how we built this" series for 🔥 FHIR products

In this series of posts, we will be exploring a software product that we built for a client. We will be discussing the product, the technology, and the process that we used to build it. We will also be discussing the challenges that we faced and the lessons that we learned along the way.

The 🌀eSpiral Product

FHIRC

We were approached by a client who wanted to build a mobile/web tool for his residents. Let's keep the client anonymous and call him Dr. X. Dr. X is a physician who works in a hospital setting. He also runs a residency program for new doctors. Dr. X wanted to build a tool that would allow his residents to visualize the patient journey in a multi dimensional at a glance view with the most important information front and center.

Let's take a look at how we approached this problem.

Product Engineering Process

As with all of our projects, documenting and narrating the journey is a key part of the engagement. We will leverage those documents to build this series of posts. For us, we simplify the project into phases, using our foodtruck analogy to help communicate the progress and technical pieces along the way.

Let's quickly review the foodtruck analogy. In the foodtruck analogy depicted below, we have a foodtruck with labels to the analogous parts of the software product. Let's quickly review the key parts of the foodtruck.

For us, we think of most of the foodtruck as reusable components that we separate from business logic.

Truck

Tools & Frameworks

Foodtruck ComponentSoftware TranslationTools
EngineCICD, Infrastructure, and DevOpsGithub Actions, AWS SAM, CloudFormation
ChassisCore tools and frameworksRemix, TypeScript, DynamoDB, Lambda, API Gateway
BodyUX/UI and DesignReact, TailwindCSS
MenuProduct FeaturesProduct Roadmap, User Stories, User Feedback
GrillCore FunctionalityMafs.js, FHIR R4
KeysSecurity & ComplianceFHIR: SMART Launch, AWS Secrets, DDB Encryption
Chef SpoonQA & TestingJest, React Testing Library, Cypress, staging environment
TiresMinor External LibrariesReact Dropzone, React Query
Operator's ManualDocumentation & Build NotesDocusaurus
DashboardMetrics & AnalyticsAWS CloudWatch, Fathom, Sentry, Bugherd

Steel Thread

The main feature of the tool is a visualization layer that leverages the Problem List from the EHR, matching ICD10 codes with icons to start representing the journey of the patient. If you notice in the image above the engineering work was broken into two phases, POC (alpha) and beta.

The POC phase was a proof of concept to build out the visualization layer. The beta phase was to build out the rest of the product and integrate it with initial beta customer EHRs.

Phase 1

  • Application skeleton
  • Visualizations steel thread
  • User management base
  • ICD10 Icon data model

Phase 2

  • Smart on FHIR integration with SMART Launch
  • Sync Problem Lists & Encounters
  • Patient journey algorithm