# `GenogramMaker.Person`

A single person in a genogram.

Fields:

  * `:id` — unique string identifier used to reference the person in unions and bonds.
  * `:name` — display name; falls back to `:id` when `nil`.
  * `:sex` — one of `:male`, `:female`, `:unknown`. Decides the rendered shape
    (square, circle, diamond respectively).
  * `:birth` / `:death` — birth and death years (integer or string), shown under the name.
  * `:deceased` — whether the person is deceased. Defaults to `true` when a `:death`
    year is given.
  * `:proband` — marks the index person the genogram is centred on (drawn with a
    double outline).
  * `:note` — free-form note kept on the struct for the caller's own use.

# `sex`

```elixir
@type sex() :: :male | :female | :unknown
```

# `t`

```elixir
@type t() :: %GenogramMaker.Person{
  birth: integer() | String.t() | nil,
  death: integer() | String.t() | nil,
  deceased: boolean(),
  id: String.t(),
  name: String.t() | nil,
  note: String.t() | nil,
  proband: boolean(),
  sex: sex()
}
```

---

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