• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

medplum / medplum / 23937037384
92%
main: 92%

Build:
Build:
LAST BUILD BRANCH: gh-readonly-queue/main/pr-8943-f659cbff114af7fdeac00f66c9fb9b55e65b07e8
DEFAULT BRANCH: main
Ran 03 Apr 2026 07:06AM UTC
Jobs 1
Files 759
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

03 Apr 2026 06:44AM UTC coverage: 91.975% (-0.3%) from 92.229%
23937037384

push

github

web-flow
Refactor PatientSummary into modular, config-driven architecture (#8401)

* Refactor PatientSummary into modular, config-driven architecture

Extract hardcoded sections into individual config objects with a
PatientSummarySectionConfig type system. Add usePatientSummaryData hook
for deduplicated parallel data fetching, and accept an optional sections
prop for consumer customization.

Key fixes in this commit:
- Stabilize sections dependency to prevent infinite re-render loops
- Add stale-data guard for rapid patient changes
- Use server-side FHIR query filters for Observation sections
- Remove unused renderSectionWithDivider function

Closes #8400

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Rahul Agarwal <rahul@medplum.com>

* Address PR #8401 review feedback

- Fix sectionData.length check to sections.length (line 87) - the real intent is whether there are sections to render
- Replace 13 unsafe `as` type casts in sectionConfigs with direct pass-through since Resource is contravariant-compatible with specific resource types
- Remove unused Patient import from sectionConfigs
- Add error state to usePatientSummaryData hook: capture errors in catch, clear at fetch start, return in hook result
- Update PatientSummaryData interface to include error field
- Add error message display in PatientSummary.tsx UI
- Add documentation comment for string query path noting that _count and _sort are appended automatically

All tests pass and TypeScript compiles cleanly.

Signed-off-by: Rahul Agarwal <rahul@medplum.com>

* Fix eslint errors and populate storybook stories with mock data

- Add missing JSDoc @param/@returns to exported functions in
  sectionConfigs.tsx, usePatientSummaryData.ts, and
  SummaryResourceListSection.tsx
- Fix consistent-return in useEffect by returning undefined from
  early exit paths
- Change `export *` to `export type *` for PatientSummary.types in
  index.ts (consistent-type-exports)
- Populate CustomResourceLis... (continued)

18056 of 20554 branches covered (87.85%)

Branch coverage included in aggregate %.

48 of 142 new or added lines in 4 files covered. (33.8%)

32739 of 34673 relevant lines covered (94.42%)

14464.15 hits per line

Uncovered Changes

Lines Coverage ∆ File
93
0.0
packages/react-hooks/src/usePatientSummaryData/usePatientSummaryData.ts
1
93.55
packages/react/src/PatientSummary/SummaryResourceListSection.tsx
Jobs
ID Job ID Ran Files Coverage
1 23937037384.1 03 Apr 2026 07:06AM UTC 759
91.97
GitHub Action Run
Source Files on build 23937037384
  • Tree
  • List 759
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • d79616bd on github
  • Prev Build on gh-readonly-queue/main/pr-8829-400f3fa6259e035d5bedb50f617c0a93c611eb17 (#23934259253)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc