> ## Documentation Index
> Fetch the complete documentation index at: https://docs.clinia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Vocabulary Validation

> Bind fields to vocabularies to enforce controlled terminology

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).

```json {collectForTests=withBinding} theme={null}
{
  "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.

<Note>
  Configure [vocabularies](/explanation/vocabularies) and [concepts](/explanation/concepts) before binding fields to them.
</Note>

## 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](/explanation/data-model/profiles-relationships)
* Relationship properties when linking entities
* Pipeline-enriched fields that should remain compliant with controlled terminologies

Vocabulary validation integrates seamlessly with other [advanced rules](/explanation/field-validation/advanced) so you can combine terminology requirements with conditional logic.
They are also the best way to ensure consistent, human-readable display for UI Developers.
