We are validating a FHIR Bundle against a custom StructureDefinition, which requires meta.lastUpdated at the Bundle level.
If we enable setConcurrentBundleValidation(true), validation passes even when this required element is missing.
If concurrency is disabled (default), we receive the correct validation error as expected.
This suggests that setConcurrentBundleValidation(true) may skip or misapply profile validation under certain conditions, even for a single Bundle with no actual concurrency load.
Repro Steps:
Create a Bundle with a profile requiring meta.lastUpdated.
Remove meta.lastUpdated from the Bundle.
Validate with:
✅ setConcurrentBundleValidation(true) → Passes (unexpected).
❌ Without it → Fails as expected.
Environment:
HAPI FHIR Version: [e.g., 8.0.0]
Java: OpenJDK 21.0.3
Profile: Custom
Validation Engine: HAPI FhirValidator with FhirInstanceValidator
Expected Behavior:
Validation should fail when required fields are missing — regardless of concurrency mode.
Actual Behavior:
Validation only fails in non-concurrent mode — concurrent validation masks errors.
--
You received this message because you are subscribed to the Google Groups "HAPI FHIR" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hapi-fhir+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/hapi-fhir/bc50bf8a-4a4c-4415-8863-de2027abc5f9n%40googlegroups.com.
Thanks, James, for the clarification!
That makes sense. For now, I’ll disable concurrent validation when I need to validate the Bundle-level rules.
I truly appreciate your openness to contributions. At this point, I may not be in a position to submit a PR myself, but I’ll definitely keep it in mind for the future.
Cheers,
Vinod