# `Medplum.Resources.Patient`
[🔗](https://github.com/CodeDuckers-LLC/medplum_elixir/blob/v0.3.0/lib/medplum/resources/patient.ex#L1)

Convenience helpers for the FHIR `Patient` resource.

## Examples

    alias Medplum.Resources.Patient

    {:ok, patient} = Patient.get(client, "patient-123")
    {:ok, matches} = Patient.search_by_identifier(client, "http://hospital.example/mrn", "123")
    {:ok, everything} = Patient.everything(client, "patient-123")

# `create`

```elixir
@spec create(Medplum.Client.t(), map()) :: Medplum.result()
```

# `delete`

```elixir
@spec delete(Medplum.Client.t(), String.t()) :: Medplum.result()
```

# `everything`

```elixir
@spec everything(Medplum.Client.t(), String.t(), map(), keyword()) ::
  Medplum.result() | {:ok, Medplum.async_result()}
```

# `get`

```elixir
@spec get(Medplum.Client.t(), String.t()) :: Medplum.result()
```

# `search`

```elixir
@spec search(Medplum.Client.t(), map()) :: Medplum.result()
```

# `search_by_identifier`

```elixir
@spec search_by_identifier(Medplum.Client.t(), String.t(), String.t(), map()) ::
  Medplum.result()
```

# `search_by_name`

```elixir
@spec search_by_name(Medplum.Client.t(), String.t(), String.t() | nil, map()) ::
  Medplum.result()
```

# `update`

```elixir
@spec update(Medplum.Client.t(), String.t(), map()) :: Medplum.result()
```

# `upsert`

```elixir
@spec upsert(Medplum.Client.t(), map()) :: Medplum.result()
```

# `upsert_by_identifier`

```elixir
@spec upsert_by_identifier(Medplum.Client.t(), String.t(), String.t(), map()) ::
  Medplum.result()
```

---

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