# `HL7v2.Type.SRT`
[🔗](https://github.com/Balneario-de-Cofrentes/hl7v2/blob/v3.10.1/lib/hl7v2/type/srt.ex#L1)

Sort Order (SRT) -- HL7v2 composite data type.

Used in query definitions to specify result sorting.

2 components:
1. Sort-by Field (ST) -- segment field name, e.g., "PID.3"
2. Sequencing (ID) -- A (ascending), D (descending), N (none)

# `t`

```elixir
@type t() :: %HL7v2.Type.SRT{
  sequencing: binary() | nil,
  sort_by_field: binary() | nil
}
```

# `encode`

```elixir
@spec encode(t() | nil) :: list()
```

Encodes a SRT to a list of component strings.

## Examples

    iex> HL7v2.Type.SRT.encode(%HL7v2.Type.SRT{sort_by_field: "PID.3", sequencing: "A"})
    ["PID.3", "A"]

    iex> HL7v2.Type.SRT.encode(%HL7v2.Type.SRT{sort_by_field: "OBR.4"})
    ["OBR.4"]

    iex> HL7v2.Type.SRT.encode(nil)
    []

# `parse`

```elixir
@spec parse(list()) :: t()
```

Parses a SRT from a list of components.

## Examples

    iex> HL7v2.Type.SRT.parse(["PID.3", "A"])
    %HL7v2.Type.SRT{sort_by_field: "PID.3", sequencing: "A"}

    iex> HL7v2.Type.SRT.parse(["OBR.4"])
    %HL7v2.Type.SRT{sort_by_field: "OBR.4"}

    iex> HL7v2.Type.SRT.parse([])
    %HL7v2.Type.SRT{}

---

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