Skip to main content
Vocabulary-based validation ensures that data aligns with curated concept sets. Use it when you need interoperability or governance over coded fields, or when you want to enable UI users to select proper human-readable values.

How it works

Attach a binding object to any code or coding property:
  • vocabulary.key — The identifier of the vocabulary to validate against.
  • vocabulary.strength — Either "preferred" (informational) or "required" (strict).
{
  "properties": {
    "spokenLanguages": {
      "type": "array",
      "items": {
        "type": "code",
        "binding": {
          "vocabulary": {
            "key": "spoken-language",
            "strength": "required"
          }
        }
      }
    }
  }
}
In this example, each language code must exist in the spoken-language vocabulary before the resource is accepted.
Configure vocabularies and concepts before binding fields to them.

Strength levels

  • preferred — Encourages usage of the vocabulary without enforcing it. Non-matching values are still accepted.
  • required — Rejects ingestion if the supplied code is not part of the vocabulary.
Pick the level that aligns with your governance policy and rollout plan.

Where to bind vocabularies

  • Resource properties defined in profiles
  • Relationship properties when linking entities
  • Pipeline-enriched fields that should remain compliant with controlled terminologies
Vocabulary validation integrates seamlessly with other advanced rules so you can combine terminology requirements with conditional logic. They are also the best way to ensure consistent, human-readable display for UI Developers.
I