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
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.
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.
{
"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"
}
]
}
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.
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 |
The generic endpoint is enough for most clients. Type-level endpoints are also available for supported R4 resource types:
POST /fhir/r4/Patient/$validatePOST /fhir/r4/Condition/$validatePOST /fhir/r4/Procedure/$validatePOST /fhir/r4/Observation/$validatePOST /fhir/r4/AllergyIntolerance/$validatePOST /fhir/r4/Encounter/$validatePOST /fhir/r4/CareTeam/$validatePOST /fhir/r4/Appointment/$validatePOST /fhir/r4/MedicationRequest/$validatePOST /fhir/r4/MedicationStatement/$validatePOST /fhir/r4/MedicationDispense/$validatePOST /fhir/r4/Provenance/$validatePOST /fhir/r4/Consent/$validatePOST /fhir/r4/RelatedPerson/$validatePOST /fhir/r4/Practitioner/$validatePOST /fhir/r4/PractitionerRole/$validatePOST /fhir/r4/CommunicationRequest/$validatePOST /fhir/r4/Device/$validatePOST /fhir/r4/DeviceUseStatement/$validatePOST /fhir/r4/Goal/$validateType-level endpoints reject mismatched resource types.
Validation supports the same output families as translation:
nl-coreeu-baseTransform-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.
| Need | Endpoint |
|---|---|
| validation CapabilityStatement | GET /fhir/r4/metadata |
| validation OperationDefinition | GET /fhir/r4/OperationDefinition/r4-validate |