# `Dicom.Dictionary.Registry`
[🔗](https://github.com/Balneario-de-Cofrentes/dicom/blob/v0.9.1/lib/dicom/dictionary/registry.ex#L1)

DICOM Data Dictionary tag registry.

Maps `{group, element}` tags to their name, VR, and VM (Value Multiplicity).
Generated from the DICOM PS3.6 standard data dictionary via `mix dicom.gen_dictionary`.

Contains 5035 entries covering the full standard data dictionary.
Repeating group tags (50XX curve, 60XX overlay, 7FXX waveform) are handled via pattern matching.

Reference: DICOM PS3.6.

# `entry`

```elixir
@type entry() :: {String.t(), Dicom.VR.t(), String.t()}
```

# `find_by_keyword`

```elixir
@spec find_by_keyword(String.t()) ::
  {:ok, Dicom.Tag.t(), Dicom.VR.t(), String.t()} | :error
```

Finds a tag by its DICOM keyword (e.g., "PatientName").

Returns `{:ok, tag, vr, vm}` or `:error`.

# `lookup`

```elixir
@spec lookup(Dicom.Tag.t()) :: {:ok, String.t(), Dicom.VR.t(), String.t()} | :error
```

Looks up a tag in the dictionary.

Returns `{:ok, name, vr, vm}` or `:error` if not found.

# `retired?`

```elixir
@spec retired?(Dicom.Tag.t()) :: boolean()
```

Returns true if the tag is marked as retired in the DICOM standard.

# `size`

```elixir
@spec size() :: non_neg_integer()
```

Returns the number of entries in the registry (excluding repeating groups).

---

*Consult [api-reference.md](api-reference.md) for complete listing*
