Hello everyone,
I am running a local HAPI FHIR JPA Server (R4) using Docker Compose. I have successfully uploaded the needed CodeSystems and ValueSets, and I am trying to enforce strict terminology validation across the board.
Required Bindings: The server correctly catches invalid codes and blocks the request with a 4xx Error.
Example, Extensible, or Preferred Bindings: For fields like AllergyIntolerance.code, the server only generates a Warning in the OperationOutcome and returns a 201 Created, even if the code is invalid or missing from the specified system URI.
In my specific use case, I need the server to treat these terminology failures as hard Errors to prevent invalid data entry.
So, is there a global server-level configuration or a specific setting in the RequestValidatingInterceptor that can elevate all terminology warnings to Errors, regardless of the base FHIR binding strength?
Or, creating a custom StructureDefinition (Profile) with a Required binding strength is the only native way to achieve this behavior?
I am also considering building a C# middleware layer to handle this validation (via $validate-code) before the data reaches HAPI, but it will require sending multiple requests to the HAPI FHIR server to just validate the resource and more required implementation. Is this a common architectural pattern in practice, or is there a more "FHIR-native" approach I should consider?
I would appreciate any insights from those who have implemented strict terminology gates in their HAPI environments.
Thank you!