Repository navigation
BridgeLab 1.5.0
BridgeLab 1.5.0
HL7/FHIR editor for healthcare integration professionals.
This release is about FHIR depth: conformance against real profiles, a
complete FHIRPath engine, and your own validation rules — plus three more
HL7 v2 versions in the schema catalogue.
FHIR profile validation
Install a FHIR NPM package (hl7.fhir.r4.core, a national IG, your own
profiles) from Tools → FHIR profile packages… and every FHIR validation
also checks the resource against its StructureDefinitions:
- cardinality — a required element missing, a
0..1element repeating - element types — a boolean written as a string, a number where an
object belongs - choice elements —
value[x]must appear as exactly one of
valueQuantity,valueString, … A plainvalue, or two forms at once,
is reported - fixed values and patterns the profile pins down
- unknown elements — the check that catches a typo like
genderr, or an
element belonging to a different resource type
Profiles a resource declares in meta.profile are applied automatically
when the package defining them is installed. When it is not, BridgeLab says
so rather than quietly reporting a clean result — and when profiles did run,
the report says that too.
Verified against hl7.fhir.r4.core 4.0.1: all 4,578 resources in the
package validate with 14 findings, every one of them genuine — thirteen
SearchParameter files that really do omit the required base, and one
ValueSet declaring a profile the core package does not contain.
Terminology stays out of scope: a required binding can only be checked by
expanding the ValueSet, so bindings are left unchecked rather than
half-checked.
FHIRPath 2.0
The evaluator now implements the language, not a subset of it: the full
operator set at specification precedence, three-valued boolean logic,
partial-precision date/time literals, quantities with unit conversion,
$this / $index / $total, and around seventy functions — sort(),
repeat(), aggregate(), iif(), ofType(), the string and math
libraries, extension(), hasValue(), and resolve(), which follows a
Reference into a contained or bundled resource.
- Comparing values of different precision returns the empty collection
instead of a guess:@2015-02-04 = @2015-02is neither true nor false trace('label')passes its input through and shows what it captured
under the result, so a long path can be inspected halfway along- Errors name the problem — an unknown function, a missing bracket, an
operator handed a collection where it needs one value
Checked against the official HL7 FHIRPath test suite: 836 of the 922
runnable cases pass.
Custom FHIR validation rules
The declarative plugin packs that already extend the HL7 v2 validator now
cover FHIR. A rule is either a FHIRPath invariant that must hold —
identifier.exists(), the way FHIR writes its own constraints — or a
FHIRPath selector plus a check on the values it picks up: must be present,
how many, matches a pattern, one of a list, contains text, length bounds.
Tools → FHIR validation rules… edits them in-app. It validates the
FHIRPath before saving and can run a rule against the resource in the active
tab, showing which values the selector actually matched. A rule scoped to a
type the open resource is not says so, rather than reporting a pass.
Still no code execution: rules are data.
Three more HL7 versions
v2.5.1 — the baseline most US interfaces are written against — plus
v2.1 and v2.2 for legacy feeds still in production. The catalogue
now spans ten selectable versions and 2,320 message structures, feeding
XSD export, the schema-aware tree and the Field Inspector.
Fixed
- HL7 v2.7.1 exported v2.7 data under its own name. v2.7.1 is a
technical-correction release of v2.7 and genuinely carries the same
definitions, so it is now declared an alias: marked(= v2.7)in the
version dropdown, exporting from the v2.7 catalogue, without a duplicate
payload in the binary. - Editor autocomplete and hover always described fields against v2.5,
whatever version the open message declared. Both now read MSH-12 and use
the matching catalogue. - Double-clicking a
.hl7file did not open BridgeLab on Linux. The
desktop entry claimed theapplication/hl7-v2type, but nothing on the
system defined it, so no file ever matched. The.deband.rpmnow
register the type with a*.hl7rule and a content rule on the leading
MSH|, so a message saved without an extension is recognised too. Windows
and macOS were unaffected.
Upgrading
Nothing changes until you choose it. Profile validation only runs once you
install a package; FHIR rules only run once you write them. No file format,
setting or workflow changes, and existing plugin packs keep working.
Installing a profile package and the FHIR rules editor require a
Professional license. Rules and packages already in place keep validating in
every tier, so a lapsed trial never turns previously clean resources red.
Downloads
See the assets below for installers for Windows, macOS (Intel and Apple
Silicon), and Linux.