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

medplum / medplum / 30943175188
92%

Build:
DEFAULT BRANCH: main
Ran 04 Aug 2026 07:30PM UTC
Jobs 1
Files 860
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

04 Aug 2026 07:12PM UTC coverage: 92.066% (-0.003%) from 92.069%
30943175188

push

github

web-flow
Move scheduling serviceType utils into `@medplum/core` (#10046)

* Move scheduling serviceType utils into @medplum/core

The serviceType helpers that encode an R4 approximation of
CodeableReference<HealthcareService> lived in packages/server, with a
hand-maintained copy in the provider example because the server package
cannot be imported from a client app. They only depend on @medplum/core
and @medplum/fhirtypes, so core is where they belong, and one copy means
the two cannot drift.

Moved into the new packages/core/src/scheduling.ts, renamed to say what
they do rather than how they are shaped:

- toCodeableReferenceLike -> toServiceTypeCodeableConcepts
- isCodeableReferenceLikeTo -> serviceTypeIncludesService
- extractReferencesFromCodeableReferenceLike -> extractServiceTypeReferences

Also moved alongside them, for the same reason: the SchedulingParameters,
service type reference, and timezone extension URIs; the DayOfWeek type
and its guard; and hasSchedulingParameters, which the provider example
kept its own copy of.

No behavior change.

Signed-off-by: Philip Knott <filupnot@proton.me>

* [autofix.ci] apply automated fixes

Signed-off-by: Philip Knott <filupnot@proton.me>

* Address review feedback on serviceType utils

Restore the short-circuiting loop in serviceTypeIncludesService so a match on
the first concept avoids further getExtensionValue calls, carry the R5/R6
CodeableReference context over to ServiceTypeReferenceURI's new home, and cover
the Reference<HealthcareService> overload that server code relies on.

Signed-off-by: Philip Knott <filupnot@proton.me>

* [autofix.ci] apply automated fixes

* Move remaining provider scheduling utils into @medplum/core

The scheduling extension URIs and transient identifier helper are part of the
Medplum scheduling data model rather than provider-specific UI code, so they
belong alongside SchedulingParametersURI in core where server-side callers can
reach them. Also adds coverage for SchedulingTransi... (continued)

22962 of 26057 branches covered (88.12%)

Branch coverage included in aggregate %.

22 of 25 new or added lines in 3 files covered. (88.0%)

40744 of 43139 relevant lines covered (94.45%)

12207.87 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
86.67
packages/core/src/scheduling.ts
Jobs
ID Job ID Ran Files Coverage
1 30943175188.1 04 Aug 2026 07:30PM UTC 860
92.07
GitHub Action Run
Source Files on build 30943175188
  • Tree
  • List 860
  • Changed 5
  • Source Changed 3
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30943175188
  • cf5a3775 on github
  • Prev Build on gh-readonly-queue/main/pr-10078-08d7ac732c7fdee36845eb064efbbc1644bb4855 (#30939012454)
  • Next Build on main (#30945292841)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc