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

Coded Element with Formatted Values (CF) -- HL7v2 composite data type.

Same structure as CE but components 2 and 5 are FT (Formatted Text) instead of ST.

6 components:
1. Identifier (ST)
2. Formatted Text (FT)
3. Name of Coding System (ID) -- Table 0396
4. Alternate Identifier (ST)
5. Alternate Formatted Text (FT)
6. Name of Alternate Coding System (ID) -- Table 0396

# `t`

```elixir
@type t() :: %HL7v2.Type.CF{
  alternate_formatted_text: binary() | nil,
  alternate_identifier: binary() | nil,
  formatted_text: binary() | nil,
  identifier: binary() | nil,
  name_of_alternate_coding_system: binary() | nil,
  name_of_coding_system: binary() | nil
}
```

# `encode`

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

Encodes a CF to a list of component strings.

## Examples

    iex> HL7v2.Type.CF.encode(%HL7v2.Type.CF{identifier: "I9", formatted_text: "Diagnosis text", name_of_coding_system: "I9C"})
    ["I9", "Diagnosis text", "I9C"]

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

# `parse`

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

Parses a CF from a list of components.

## Examples

    iex> HL7v2.Type.CF.parse(["I9", "Diagnosis text", "I9C"])
    %HL7v2.Type.CF{identifier: "I9", formatted_text: "Diagnosis text", name_of_coding_system: "I9C"}

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

---

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