Cumuluz Translate Implementation Guide
0.1.0 - ci-build

Cumuluz Translate Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Validate

Validate

Endpoint

POST /fhir/r4/$validate

This endpoint validates an R4 resource against a requested R4 profile and returns a FHIR OperationOutcome.

The service validates target-side R4 output only. It does not expose source-side STU3 validation as part of the public contract.

Request Shapes

Preferred shape: FHIR Parameters.

Name Required Type Meaning
resource yes Resource R4 resource to validate
profile no uri or canonical target profile; defaults to resource.meta.profile
mode no code accepts create and update; delete is not supported

The endpoint also accepts a direct R4 resource body when the profile is carried in meta.profile.

Minimal Request

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "resource",
      "resource": {
        "resourceType": "Patient",
        "meta": {
          "profile": [
            "http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient"
          ]
        }
      }
    },
    {
      "name": "profile",
      "valueUri": "http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient"
    }
  ]
}

HTTP Behavior

Validation responses are FHIR OperationOutcome resources.

Situation HTTP status Meaning
validation ran and found no blocking issues 200 inspect issues for information or warnings
validation ran and found error or fatal issues 200 resource failed validation
request cannot be processed 400 malformed input, unsupported mode, type mismatch, or similar request problem

Clients must inspect the OperationOutcome.issue severities.

Issue Count Extensions

The service adds count extensions for easier automation.

Extension Meaning
validation-issue-count-error number of error plus fatal issues after service filtering
validation-issue-count-warning number of warning issues after service filtering
validation-issue-count-information number of informational issues after service filtering
validation-relaxed-issue-count known offline terminology or package issues that were relaxed and logged

Type-Level Endpoints

The generic endpoint is enough for most clients. Type-level endpoints are also available for supported R4 resource types:

  • POST /fhir/r4/Patient/$validate
  • POST /fhir/r4/Condition/$validate
  • POST /fhir/r4/Procedure/$validate
  • POST /fhir/r4/Observation/$validate
  • POST /fhir/r4/AllergyIntolerance/$validate
  • POST /fhir/r4/Encounter/$validate
  • POST /fhir/r4/CareTeam/$validate
  • POST /fhir/r4/Appointment/$validate
  • POST /fhir/r4/MedicationRequest/$validate
  • POST /fhir/r4/MedicationStatement/$validate
  • POST /fhir/r4/MedicationDispense/$validate
  • POST /fhir/r4/Provenance/$validate
  • POST /fhir/r4/Consent/$validate
  • POST /fhir/r4/RelatedPerson/$validate
  • POST /fhir/r4/Practitioner/$validate
  • POST /fhir/r4/PractitionerRole/$validate
  • POST /fhir/r4/CommunicationRequest/$validate
  • POST /fhir/r4/Device/$validate
  • POST /fhir/r4/DeviceUseStatement/$validate
  • POST /fhir/r4/Goal/$validate

Type-level endpoints reject mismatched resource types.

Target Families

Validation supports the same output families as translation:

  • nl-core
  • eu-base
  • EPS
  • PZP 2020 ACP
  • explicit base R4 targets
  • R4 PZP QuestionnaireResponse validation context where installed

Transform-Time Validation

Transform-time validation is controlled by validationMode on $transform:

Mode Meaning
enforce block translated output on error or fatal validation issues
report return translated output plus validation diagnostics
none skip transform-time validation

QuestionnaireResponse extraction uses a separate validate boolean.

Discovery

Need Endpoint
validation CapabilityStatement GET /fhir/r4/metadata
validation OperationDefinition GET /fhir/r4/OperationDefinition/r4-validate