Merged
Conversation
Implement the _typeFilter parameter from the FHIR Bulk Data Access specification. Filters use FHIR search queries to select resources during export, with multiple filters per type combined using OR logic. Includes parsing, validation (strict/lenient), implicit type inclusion, and integration with the export execution pipeline via PathlingContext.searchToColumn().
Extract reusable SearchParamsInput component from the resources page and add a structured type filter section to the export form. Each entry allows selecting a resource type and configuring search parameters from the CapabilityStatement. Type filters are serialised as _typeFilter query parameters in the bulk export API request.
Consolidates type filter controls (add/remove entries, resource type selection, search parameter rows) from ExportForm into ExportOptions, making them available to all consumers. Extends ExportOptionsValues with a typeFilters field and adds searchParams prop to ExportOptions. Updates ImportPnpForm to pass searchParams through and serialise type filters into the import request, enabling type filter support for ping-and-pull imports.
Replace duplicated <Text size="1" color="gray"> pattern across 7 form components with a shared FieldGuidance component. Accepts children and an optional mt prop (defaults to "1").
Add 140 unit tests across 24 new test classes covering interceptors, providers, async job handling, security, config, and core server infrastructure. Instruction coverage increases from 64.4% to 88%, exceeding the 80% target.
Consolidates ~20 inline <Text as="label" size="2" weight="medium"> instances across 10 form components into a reusable FieldLabel component, mirroring the FieldGuidance pattern. Adds support for an optional marker suffix via the `optional` prop.
Add a path filter for core library modules so that the expensive build-and-test job only runs when relevant files change. Decouple test-ui from the core build, and allow test-server to run with Maven Central artifacts when only server files changed.
Add scan-ref and skip-dirs inputs to the trivy-scan composite action. Core library workflows now skip server, UI, site, and other unrelated modules. Server workflows skip core library modules. Add Trivy scan steps to the site and FHIRPath Lab API workflows, each limited to their own module.
Adds a /trivy-scan command that determines which modules were modified on the current branch, runs Trivy with scope-appropriate configuration matching CI workflows, and analyses each vulnerability against the codebase to assess exploitability.
Each scope (core-libraries, server, UI, site, FHIRPath Lab API) now has its own .trivyignore file with scope-specific suppressions and rationale. Scans run from within each scope's directory rather than from the repo root with skip-dirs. The composite action gains a trivyignore input parameter. Server workflows split into separate server and UI scans. The default skip-files is simplified to just **/target/**/* with core-library workflows explicitly passing additional patterns. The site workflow no longer skips bun.lock, enabling proper JS dependency scanning.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
_typeFiltersupport to the bulk export operation, with corresponding UI for building type filter expressions in the export form.FieldLabelandFieldGuidancecomponents, reorganise export options into dedicatedExportOptionscomponent.Test plan
_typeFilterparameter against a running instance.