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

Convenience helpers for FHIR `ChargeItemDefinition` resource.

## Examples

    alias Medplum.Resources.ChargeItemDefinition

    {:ok, defs} =
      ChargeItemDefinition.search_by_url(
        client,
        "https://example.org/charge-definitions/office-visit"
      )

    {:ok, priced_charge} =
      ChargeItemDefinition.apply_definition(client, "charge-item-definition-123", %{
        "resourceType" => "Parameters",
        "parameter" => [
          %{"name" => "chargeItem", "valueReference" => %{"reference" => "ChargeItem/charge-123"}}
        ]
      })

# `apply_definition`

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

# `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_identifier`

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

# `search_by_url`

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