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

Convenience helpers for FHIR `DocumentReference` resource.

## Examples

    alias Medplum.Resources.DocumentReference

    {:ok, docs} = DocumentReference.search_by_patient(client, "Patient/patient-123")
    {:ok, encounter_docs} = DocumentReference.search_by_encounter(client, "Encounter/encounter-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_category`

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

# `search_by_encounter`

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

# `search_by_patient`

```elixir
@spec search_by_patient(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*
