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

Street Address (SAD) -- HL7v2 sub-component composite type.

Used as component 1 of XAD (Extended Address). Contains 3
sub-components delimited by `&` when embedded in a composite field.

Sub-components:
1. Street or Mailing Address (ST)
2. Street Name (ST)
3. Dwelling Number (ST)

# `t`

```elixir
@type t() :: %HL7v2.Type.SAD{
  dwelling_number: binary() | nil,
  street_name: binary() | nil,
  street_or_mailing_address: binary() | nil
}
```

# `encode`

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

Encodes a street address to a list of sub-component strings.

## Examples

    iex> HL7v2.Type.SAD.encode(%HL7v2.Type.SAD{street_or_mailing_address: "123 Main St", street_name: "Main St", dwelling_number: "123"})
    ["123 Main St", "Main St", "123"]

    iex> HL7v2.Type.SAD.encode(%HL7v2.Type.SAD{street_or_mailing_address: "123 Main St"})
    ["123 Main St"]

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

# `parse`

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

Parses a street address from a list of sub-components.

## Examples

    iex> HL7v2.Type.SAD.parse(["123 Main St", "Main St", "123"])
    %HL7v2.Type.SAD{street_or_mailing_address: "123 Main St", street_name: "Main St", dwelling_number: "123"}

    iex> HL7v2.Type.SAD.parse(["123 Main St"])
    %HL7v2.Type.SAD{street_or_mailing_address: "123 Main St"}

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

---

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