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

Convenience helpers for FHIR `Communication` resource.

## Examples

    alias Medplum.Resources.Communication

    {:ok, messages} = Communication.search_by_patient(client, "Patient/patient-123")
    {:ok, outbound} = Communication.search_by_sender(client, "Practitioner/practitioner-123")

# `create`

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

# `delete`

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

# `get`

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

# `search`

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

# `search_by_patient`

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

# `search_by_recipient`

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

# `search_by_sender`

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

# `search_by_status`

```elixir
@spec search_by_status(Medplum.Client.t(), String.t(), 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*
