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

medplum / medplum / 27561095645
92%

Build:
DEFAULT BRANCH: main
Ran 15 Jun 2026 04:41PM UTC
Jobs 1
Files 826
Run time 3min
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

15 Jun 2026 04:16PM UTC coverage: 92.48% (-0.02%) from 92.495%
27561095645

push

github

web-flow
Server: Scheduling Parameters can be inherited from HealthcareService (#9453)

* Schedule can inherit SchedulingParameters from HealthcareService

When a Practitioner defines their availability, they may not intend to
deviate from other practitioner's scheduling setup, particularly with
respect to fields like `duration` and `alignmentInterval` (as these must
match across Schedule resources to be jointly used in $find/$book).

In this commit our goal is to prefer values set within an individual
schedule, but fall back to values set on the HealthcareService when the
value in the schedule is not set.

To that end, I'm splitting up the original parsing logic into two
functions, one that only handles `HealthcareService` input, and one that
only handles `Schedule` input.

While these two methods have a lot of similarity, they are continuing to
diverge. We may want to re-unify later when we understand more, but for
now having them separate improves the readability of each layer.

- Follow up needed: How can we retain useful error messages in this more
  complex structure?

https://github.com/medplum/medplum/issues/8383

Signed-off-by: Noah Silas <noah@medplum.com>

* Add LayeredDict to track complex scheduling parameter provenance

In this commit we add a data structure that lets us track the provenance
of configuration "layers".

Example: Trying to find availability for a given Schedule might involve:
- A static defaults object
- values coming a HealthcareService SchedulingParameters extension
- values coming from a Schedule SchedulingParameters extension
- a timezone coming from an extension on the schedule's Actor

Let's try to express this in a way that lets us access individual
configuration quickly in the common case, and still find the source of
each setting in an error scenario.

Signed-off-by: Noah Silas <noah@medplum.com>

* Update `defining-availablity` docs for inherited parameters

When folks are defining per-schedule fields (most commonly,
`ava... (continued)

24644 of 27445 branches covered (89.79%)

Branch coverage included in aggregate %.

86 of 90 new or added lines in 5 files covered. (95.56%)

4 existing lines in 1 file now uncovered.

36967 of 39176 relevant lines covered (94.36%)

23183.11 hits per line

Uncovered Changes

Lines Coverage ∆ File
4
84.11
-5.89% packages/server/src/fhir/operations/utils/scheduling-parameters.ts

Coverage Regressions

Lines Coverage ∆ File
4
84.11
-5.89% packages/server/src/fhir/operations/utils/scheduling-parameters.ts
Jobs
ID Job ID Ran Files Coverage
1 27561095645.1 15 Jun 2026 04:41PM UTC 1378
92.27
GitHub Action Run
Source Files on build 27561095645
  • Tree
  • List 826
  • Changed 439
  • Source Changed 4
  • Coverage Changed 437
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #27561095645
  • e3f615d1 on github
  • Prev Build on gh-readonly-queue/main/pr-9498-529c1c438c7827c1583539709442f08edb4617a5 (#27559961594)
  • Next Build on main (#27561851053)
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