Overview
If you need to preview Fasten Connect data in your product quickly, leverage existing component libraries instead of building FHIR resource renderers from scratch. The fhir-react project gives you production-ready React components that accept raw JSON resources, while fhirpath.js is a lightweight helper for pulling specific fields into custom UI. Most teams mix both: use fhir-react for high-fidelity cards and fall back to fhirpath.js when you only need a data point or two.fhir-react in practice
fhir-react is a React component library that renders FHIR resources across DSTU2, STU3, and R4 (including CARIN Blue Button and DaVinci PDex) entirely on the client. It ships with Storybook-driven documentation so you can preview every resource before embedding it in your app.Install & import
Icon strategy
- Let fhir-react provide defaults by omitting the
fhirIconsprop. - Pass a custom icon map (URL,
<img />, imported SVG module, orfalseto hide icons) for branded experiences.
Browse Storybook
deep links: https://fastenhealth.github.io/fhir-react/ Local run (required for Node ≥17):Suggested development flow
npm install- Run Storybook locally to explore components.
- Import
FhirResource(or other exports) and feed them resources returned by Fasten Connect. - Fine tune icons, profiles, and CSS overrides, then ship.
When to reach for fhirpath.js
Sometimes you only need to show a field or two (e.g.,Patient.name[0].given[0]) rather than the entire resource card. Use
fhirpath.js to evaluate FHIRPath expressions in the browser or server, then render the result
with your design system.
Install
Example: extract a display name
Choosing the right tool
- Start with fhir-react when you want to stand up polished, data-rich cards with minimal effort.
- Layer fhirpath.js wherever you need to cherry-pick fields for bespoke UI, filters, or downstream systems.
- Combine both: render the full resource via fhir-react, but drive surrounding UI (breadcrumbs, headlines, CTAs) using values pulled with fhirpath.js.

