> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://api-docs.nilo.services/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://api-docs.nilo.services/_mcp/server.

# Medicamento

> Consultar os medicamentos que o paciente toma e os que foram prescritos a ele, no padrão FHIR MedicationStatement, MedicationRequest e Medication.

Um **medicamento do paciente** é um registro do que ele está tomando. Na plataforma ele nasce
de dois jeitos, e é essa origem que decide o recurso FHIR que você vai ler:

| Como o medicamento foi registrado                | Recurso FHIR                                                              | No Nilo Care             |
| ------------------------------------------------ | ------------------------------------------------------------------------- | ------------------------ |
| Anotado pela equipe, **sem receita**             | [`MedicationStatement`](https://hl7.org/fhir/R4/medicationstatement.html) | **Medicamentos em uso**  |
| **Prescrito** numa receita emitida na plataforma | [`MedicationRequest`](https://hl7.org/fhir/R4/medicationrequest.html)     | a receita do atendimento |

Nos dois casos o **nome** do medicamento não está no recurso: ele vem por referência para um
terceiro recurso, o [`Medication`](https://hl7.org/fhir/R4/medication.html), que é o catálogo.

> **Warning**
>
> **Este é um recurso só, visto de três ângulos.** Um mesmo registro de medicamento sai como
> `MedicationStatement` **ou** como `MedicationRequest` — nunca os dois —, e o que decide é a
> presença de uma receita. O identificador é o mesmo nos dois casos, no `system`
> `…/NamingSystem/hippocrates-api--medication-request`.
>
> Se a sua integração quer *todos* os medicamentos de um paciente, precisa consultar **as duas
> buscas**. Nenhuma delas sozinha devolve o conjunto completo.

> **Warning**
>
> **Os três recursos são somente leitura.** Não existe `POST` para nenhum deles — medicamentos
> são registrados pela equipe no Nilo Care, e o catálogo é da plataforma.

## O catálogo: `Medication`

O `Medication` é mínimo: identificador, nome e uma constante.

| Campo          | Sempre presente | O que significa                                                                           | No Nilo Care            |
| -------------- | --------------- | ----------------------------------------------------------------------------------------- | ----------------------- |
| `resourceType` | sim             | Constante `Medication`                                                                    | —                       |
| `identifier`   | sim             | Identificador Nilo do medicamento, no `system` `…/NamingSystem/almanac-api--drug-package` | —                       |
| `code.text`    | sim             | Nome comercial do medicamento                                                             | **Nome do medicamento** |
| `status`       | sim             | Constante `active`                                                                        | —                       |
| `id` · `meta`  | sim             | Identificador Nilo FHIR do recurso e metadados da gravação                                | —                       |

> **Note**
>
> `code` vem **só com `text`**, nunca com `coding`. Não há código de catálogo — nem EAN, nem
> princípio ativo, nem laboratório. O que a API dá é o nome comercial, como ele está cadastrado.
>
> Por causa disso, a busca por nome usa o modificador `:text` — veja
> [Buscar no catálogo](#buscar-no-catálogo).

> **Warning**
>
> `status` é constante `active` em todo medicamento do catálogo. **Não use este campo para saber
> se um medicamento foi descontinuado**: essa informação não existe aqui.

### Response (200)

```json
{
  "fullUrl": "https://landing-zone-api.nilo.services/fhir/resources/Medication/3a7f61c9-04d8-4e52-9b70-1de85c2a4f36",
  "resource": {
    "resourceType": "Medication",
    "identifier": [
      {
        "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--drug-package",
        "value": "88213",
        "use": "usual"
      }
    ],
    "code": {
      "text": "ACEBROFILINA 10MG/ML XPE 120ML"
    },
    "status": "active",
    "id": "3a7f61c9-04d8-4e52-9b70-1de85c2a4f36",
    "meta": {
      "lastUpdated": "2025-09-30T02:11:07.443000Z",
      "versionId": "MTc4NjAyMTQ1MjkwNTAwMDM5MA"
    }
  },
  "search": {
    "mode": "match"
  }
}
```

## Medicamento em uso: `MedicationStatement`

É o que a equipe anota na aba **Medicamentos** da ficha do paciente, sem receita — na seção
**Medicamentos em uso** enquanto está tomando, e no **Histórico** depois.

| Campo                 | Sempre presente | O que significa                                                            | No Nilo Care                               |
| --------------------- | --------------- | -------------------------------------------------------------------------- | ------------------------------------------ |
| `resourceType`        | sim             | Constante `MedicationStatement`                                            | —                                          |
| `identifier`          | sim             | Identificador Nilo do registro                                             | —                                          |
| `status`              | sim             | `active` ou `completed`, derivado só de *está tomando hoje* — veja o aviso | —                                          |
| `medicationReference` | sim             | O medicamento, apontando para um `Medication`                              | **Nome do medicamento**                    |
| `subject`             | sim             | O paciente                                                                 | —                                          |
| `context`             | não             | O atendimento em que foi registrado                                        | —                                          |
| `informationSource`   | não             | O profissional que registrou                                               | —                                          |
| `dateAsserted`        | sim             | Quando o registro foi criado                                               | —                                          |
| `effectivePeriod`     | não             | Início e fim previstos do uso                                              | **Início previsto** · **Término previsto** |
| `dosage[].text`       | não             | A posologia, em texto livre                                                | **Posologia**                              |
| `note[]`              | não             | As anotações do registro                                                   | **Nota**                                   |
| `id` · `meta`         | sim             | Identificador Nilo FHIR do recurso e metadados da gravação                 | —                                          |

### Request

GET [https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement](https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement)

**`Busca com resultados`**

```curl Busca com resultados
curl -G https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement \
     -H "x-api-key: <apiKey>" \
     -d _count=50 \
     -d _lastUpdated=eq2013-01-14 \
     --data-urlencode context:identifier=https://www.acmesaude.com.br/integracao/atendimento/|55162 \
     --data-urlencode identifier=https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/hippocrates-api--medication-request|71204 \
     --data-urlencode medication=Medication/3a7f61c9-04d8-4e52-9b70-1de85c2a4f36 \
     --data-urlencode medication:identifier=https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--drug-package|88213 \
     --data-urlencode patient=Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4 \
     --data-urlencode patient:identifier=https://www.acmesaude.com.br/integracao/paciente/|507823709 \
     --data-urlencode source:identifier=https://www.acmesaude.com.br/integracao/profissional/|5032932 \
     -d status=active \
     --data-urlencode subject=Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4 \
     --data-urlencode subject:identifier=https://www.acmesaude.com.br/integracao/paciente/|507823709
```

**`Busca com resultados`**

```python Busca com resultados
import requests

url = "https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement"

querystring = {"_count":"50","_lastUpdated":"[\"eq2013-01-14\"]","context:identifier":"https://www.acmesaude.com.br/integracao/atendimento/|55162","identifier":"https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/hippocrates-api--medication-request|71204","medication":"Medication/3a7f61c9-04d8-4e52-9b70-1de85c2a4f36","medication:identifier":"https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--drug-package|88213","patient":"Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4","patient:identifier":"https://www.acmesaude.com.br/integracao/paciente/|507823709","source:identifier":"https://www.acmesaude.com.br/integracao/profissional/|5032932","status":"active","subject":"Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4","subject:identifier":"https://www.acmesaude.com.br/integracao/paciente/|507823709"}

headers = {"x-api-key": "<apiKey>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

**`Busca com resultados`**

```javascript Busca com resultados
const url = 'https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement?_count=50&_lastUpdated=%5B%22eq2013-01-14%22%5D&context%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fatendimento%2F%7C55162&identifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Fhippocrates-api--medication-request%7C71204&medication=Medication%2F3a7f61c9-04d8-4e52-9b70-1de85c2a4f36&medication%3Aidentifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Falmanac-api--drug-package%7C88213&patient=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&patient%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709&source%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fprofissional%2F%7C5032932&status=active&subject=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&subject%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709';
const options = {method: 'GET', headers: {'x-api-key': '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Busca com resultados`**

```go Busca com resultados
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement?_count=50&_lastUpdated=%5B%22eq2013-01-14%22%5D&context%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fatendimento%2F%7C55162&identifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Fhippocrates-api--medication-request%7C71204&medication=Medication%2F3a7f61c9-04d8-4e52-9b70-1de85c2a4f36&medication%3Aidentifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Falmanac-api--drug-package%7C88213&patient=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&patient%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709&source%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fprofissional%2F%7C5032932&status=active&subject=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&subject%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("x-api-key", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Busca com resultados`**

```ruby Busca com resultados
require 'uri'
require 'net/http'

url = URI("https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement?_count=50&_lastUpdated=%5B%22eq2013-01-14%22%5D&context%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fatendimento%2F%7C55162&identifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Fhippocrates-api--medication-request%7C71204&medication=Medication%2F3a7f61c9-04d8-4e52-9b70-1de85c2a4f36&medication%3Aidentifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Falmanac-api--drug-package%7C88213&patient=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&patient%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709&source%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fprofissional%2F%7C5032932&status=active&subject=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&subject%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

**`Busca com resultados`**

```java Busca com resultados
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement?_count=50&_lastUpdated=%5B%22eq2013-01-14%22%5D&context%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fatendimento%2F%7C55162&identifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Fhippocrates-api--medication-request%7C71204&medication=Medication%2F3a7f61c9-04d8-4e52-9b70-1de85c2a4f36&medication%3Aidentifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Falmanac-api--drug-package%7C88213&patient=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&patient%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709&source%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fprofissional%2F%7C5032932&status=active&subject=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&subject%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709")
  .header("x-api-key", "<apiKey>")
  .asString();
```

**`Busca com resultados`**

```php Busca com resultados
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement?_count=50&_lastUpdated=%5B%22eq2013-01-14%22%5D&context%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fatendimento%2F%7C55162&identifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Fhippocrates-api--medication-request%7C71204&medication=Medication%2F3a7f61c9-04d8-4e52-9b70-1de85c2a4f36&medication%3Aidentifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Falmanac-api--drug-package%7C88213&patient=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&patient%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709&source%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fprofissional%2F%7C5032932&status=active&subject=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&subject%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709', [
  'headers' => [
    'x-api-key' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

**`Busca com resultados`**

```csharp Busca com resultados
using RestSharp;

var client = new RestClient("https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement?_count=50&_lastUpdated=%5B%22eq2013-01-14%22%5D&context%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fatendimento%2F%7C55162&identifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Fhippocrates-api--medication-request%7C71204&medication=Medication%2F3a7f61c9-04d8-4e52-9b70-1de85c2a4f36&medication%3Aidentifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Falmanac-api--drug-package%7C88213&patient=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&patient%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709&source%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fprofissional%2F%7C5032932&status=active&subject=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&subject%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709");
var request = new RestRequest(Method.GET);
request.AddHeader("x-api-key", "<apiKey>");
IRestResponse response = client.Execute(request);
```

**`Busca com resultados`**

```swift Busca com resultados
import Foundation

let headers = ["x-api-key": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement?_count=50&_lastUpdated=%5B%22eq2013-01-14%22%5D&context%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fatendimento%2F%7C55162&identifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Fhippocrates-api--medication-request%7C71204&medication=Medication%2F3a7f61c9-04d8-4e52-9b70-1de85c2a4f36&medication%3Aidentifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Falmanac-api--drug-package%7C88213&patient=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&patient%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709&source%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fprofissional%2F%7C5032932&status=active&subject=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&subject%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (200)

```json
{
  "resourceType": "Bundle",
  "type": "searchset",
  "entry": [
    {
      "fullUrl": "https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement/9e21c73a-58b0-4f6d-81a4-3c07e5b92d14",
      "resource": {
        "resourceType": "MedicationStatement",
        "identifier": [
          {
            "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/hippocrates-api--medication-request",
            "value": "71204",
            "use": "usual"
          }
        ],
        "status": "active",
        "medicationReference": {
          "identifier": {
            "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--drug-package",
            "value": "88213",
            "use": "usual"
          },
          "type": "Medication",
          "reference": "Medication/3a7f61c9-04d8-4e52-9b70-1de85c2a4f36"
        },
        "subject": {
          "identifier": {
            "system": "https://www.acmesaude.com.br/integracao/paciente/",
            "value": "507823709",
            "use": "usual"
          },
          "type": "Patient",
          "reference": "Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4"
        },
        "dateAsserted": "2026-03-18T11:04:22+00:00",
        "id": "9e21c73a-58b0-4f6d-81a4-3c07e5b92d14",
        "meta": {
          "lastUpdated": "2026-03-18T11:04:23.117000Z",
          "versionId": "MTc4NjAyMTQ1MjkwNTAwMDM2Nw"
        },
        "context": {
          "identifier": {
            "system": "https://www.acmesaude.com.br/integracao/atendimento/",
            "value": "55162",
            "use": "usual"
          },
          "type": "Encounter"
        },
        "informationSource": {
          "identifier": {
            "system": "https://www.acmesaude.com.br/integracao/profissional/",
            "value": "5032932",
            "use": "usual"
          },
          "type": "Practitioner",
          "reference": "Practitioner/1f30c8b7-45ad-4e62-9c81-73b0e5f24a19"
        },
        "effectivePeriod": {
          "start": "2026-03-18T00:00:00+00:00"
        },
        "dosage": [
          {
            "text": "1 comprimido a cada 12 horas"
          }
        ],
        "note": [
          {
            "text": "Paciente relatou melhora após três dias.",
            "time": "2026-03-21T09:15:00+00:00"
          }
        ]
      },
      "search": {
        "mode": "match"
      }
    }
  ],
  "link": []
}
```

> **Warning**
>
> **`status` é binário, e não reproduz as seções da tela.** Ele é derivado de um único sinal — se
> o paciente está tomando o medicamento hoje —, enquanto a plataforma trabalha com quatro
> situações: em uso, previsto, interrompido e encerrado.
>
> Consequências: um medicamento com **início futuro** vem `completed` mesmo aparecendo em
> *Medicamentos em uso* na tela; e um **interrompido** pode vir `active` mesmo estando no
> *Histórico*. Não use `status` para reproduzir a tela.

> **Warning**
>
> **E o `status` fica para trás.** Ele é regravado quando o **registro do medicamento** muda —
> não quando a posologia é encerrada ou interrompida. Um medicamento já encerrado no Nilo Care
> pode continuar vindo como `active` por tempo indeterminado.
>
> Não trate `status` como sinal de encerramento. Se a sua integração precisa saber se o paciente
> parou de tomar, este dado não é confiável nesta API.

> **Warning**
>
> **`effectivePeriod` vem de uma posologia só, e não é a vigente.** Um medicamento cuja posologia
> foi alterada tem várias; o período exposto é o da posologia **menos recentemente alterada** —
> que pode ter terminado há meses enquanto o paciente segue tomando.
>
> Cruzar `status: active` com um `effectivePeriod` já vencido é comum e **não é inconsistência de
> dado**: são duas coisas que não se conversam.

> **Note**
>
> `dosage[]` traz **todas** as posologias registradas, da última alterada para a primeira — e a
> tela mostra só a vigente. Uma posologia gravada sem texto vem como `"?"`, literalmente.

> **Warning**
>
> **Posologia e nota não atualizam o recurso.** `dosage[]`, `note[]` e `effectivePeriod` são
> gravados quando o **registro do medicamento** muda. Alterar a posologia, interrompê-la ou
> acrescentar uma nota **não** regrava o recurso FHIR.
>
> Na prática, o conteúdo desses três campos pode estar defasado — inclusive **vazio** num
> medicamento que já tem posologia no Nilo Care, se o registro nunca mais foi tocado depois de
> criado. Vale igualmente para `dosageInstruction[]` e `note[]` do medicamento prescrito.

### Buscar medicamentos em uso

### Response (200)

```json
{
  "resourceType": "Bundle",
  "type": "searchset",
  "entry": [],
  "link": []
}
```

| Nome                                        | Tipo                                                       | Descrição                                                                   | Expressão                                            |
| ------------------------------------------- | ---------------------------------------------------------- | --------------------------------------------------------------------------- | ---------------------------------------------------- |
| `identifier`                                | [token](https://hl7.org/fhir/R4/search.html#token)         | Identificador do registro, em `system\|value`                               | `MedicationStatement.identifier`                     |
| `patient` · `subject`                       | [reference](https://hl7.org/fhir/R4/search.html#reference) | Paciente, pelo `id` Nilo FHIR dele                                          | `MedicationStatement.subject`                        |
| `patient:identifier` · `subject:identifier` | [reference](https://hl7.org/fhir/R4/search.html#reference) | Paciente, pelo identificador dele                                           | `MedicationStatement.subject.identifier`             |
| `status`                                    | [token](https://hl7.org/fhir/R4/search.html#token)         | `active` ou `completed`                                                     | `MedicationStatement.status`                         |
| `medication`                                | [reference](https://hl7.org/fhir/R4/search.html#reference) | Medicamento do catálogo, pelo `id` Nilo FHIR dele                           | `MedicationStatement.medicationReference`            |
| `medication:identifier`                     | [reference](https://hl7.org/fhir/R4/search.html#reference) | Medicamento do catálogo, pelo identificador dele — a forma estável          | `MedicationStatement.medicationReference.identifier` |
| `context:identifier`                        | [reference](https://hl7.org/fhir/R4/search.html#reference) | Atendimento, pelo identificador dele. **Só a forma `:identifier` funciona** | `MedicationStatement.context.identifier`             |
| `source:identifier`                         | [reference](https://hl7.org/fhir/R4/search.html#reference) | Profissional que registrou, pelo identificador dele                         | `MedicationStatement.informationSource.identifier`   |
| `_lastUpdated`                              | [date](https://hl7.org/fhir/R4/search.html#date)           | Data da última gravação no store, com os prefixos `eq`, `ge`, `le`          | —                                                    |

> **Warning**
>
> **Para o atendimento, use `context:identifier`, não `context`.** A referência ao atendimento vem
> sem o campo `reference` — só com `identifier` e `type` —, e o parâmetro sem modificador procura
> justamente em `reference`. É a mesma situação da
> [avaliação clínica](/guia/recursos/clinicalimpression) e da [conduta](/guia/recursos/requestgroup).
>
> `subject`, `informationSource` e `medicationReference`, esses, vêm completos: as duas formas
> funcionam.

> **Note**
>
> Os demais parâmetros canônicos do `MedicationStatement` existem e **não encontram nada**,
> porque a plataforma não preenche o campo correspondente: `category`, `code`, `effective` e
> `part-of`.
>
> Para filtrar por medicamento, o caminho estável é `medication:identifier` com o identificador
> Nilo do `Medication` — busque o medicamento no catálogo por `code:text`, pegue o `identifier` e
> filtre por ele. O `id` do recurso também funciona, mas muda entre ambientes.

## Medicamento prescrito: `MedicationRequest`

É cada item de uma receita emitida na plataforma.

| Campo                      | Sempre presente | O que significa                                            | No Nilo Care             |
| -------------------------- | --------------- | ---------------------------------------------------------- | ------------------------ |
| `resourceType`             | sim             | Constante `MedicationRequest`                              | —                        |
| `identifier`               | sim             | Identificador Nilo do registro                             | —                        |
| `status`                   | sim             | Situação da **receita**, não deste item                    | a situação da receita    |
| `intent`                   | sim             | Constante `order`                                          | —                        |
| `medicationReference`      | sim             | O medicamento, apontando para um `Medication`              | o medicamento da receita |
| `subject`                  | sim             | O paciente                                                 | —                        |
| `encounter`                | não             | O atendimento em que a receita foi emitida                 | —                        |
| `requester`                | não             | O profissional que prescreveu                              | —                        |
| `recorder`                 | não             | Repete o `requester`                                       | —                        |
| `dosageInstruction[].text` | não             | A posologia, em texto livre                                | a posologia da receita   |
| `note[]`                   | não             | As anotações do registro                                   | —                        |
| `supportingInformation[]`  | não             | Aponta para o documento com a URL do PDF da receita        | o PDF da receita         |
| `id` · `meta`              | sim             | Identificador Nilo FHIR do recurso e metadados da gravação | —                        |

### Request

GET [https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest](https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest)

**`Busca com resultados`**

```curl Busca com resultados
curl -G https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest \
     -H "x-api-key: <apiKey>" \
     -d _count=50 \
     -d _lastUpdated=eq2013-01-14 \
     --data-urlencode encounter:identifier=https://www.acmesaude.com.br/integracao/atendimento/|55162 \
     --data-urlencode identifier=https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/hippocrates-api--medication-request|71205 \
     -d intent=order \
     --data-urlencode medication=Medication/3a7f61c9-04d8-4e52-9b70-1de85c2a4f36 \
     --data-urlencode medication:identifier=https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--drug-package|88213 \
     --data-urlencode patient=Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4 \
     --data-urlencode patient:identifier=https://www.acmesaude.com.br/integracao/paciente/|507823709 \
     --data-urlencode requester:identifier=https://www.acmesaude.com.br/integracao/profissional/|5032932 \
     -d status=completed \
     --data-urlencode subject=Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4 \
     --data-urlencode subject:identifier=https://www.acmesaude.com.br/integracao/paciente/|507823709
```

**`Busca com resultados`**

```python Busca com resultados
import requests

url = "https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest"

querystring = {"_count":"50","_lastUpdated":"[\"eq2013-01-14\"]","encounter:identifier":"https://www.acmesaude.com.br/integracao/atendimento/|55162","identifier":"https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/hippocrates-api--medication-request|71205","intent":"order","medication":"Medication/3a7f61c9-04d8-4e52-9b70-1de85c2a4f36","medication:identifier":"https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--drug-package|88213","patient":"Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4","patient:identifier":"https://www.acmesaude.com.br/integracao/paciente/|507823709","requester:identifier":"https://www.acmesaude.com.br/integracao/profissional/|5032932","status":"completed","subject":"Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4","subject:identifier":"https://www.acmesaude.com.br/integracao/paciente/|507823709"}

headers = {"x-api-key": "<apiKey>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

**`Busca com resultados`**

```javascript Busca com resultados
const url = 'https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest?_count=50&_lastUpdated=%5B%22eq2013-01-14%22%5D&encounter%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fatendimento%2F%7C55162&identifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Fhippocrates-api--medication-request%7C71205&intent=order&medication=Medication%2F3a7f61c9-04d8-4e52-9b70-1de85c2a4f36&medication%3Aidentifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Falmanac-api--drug-package%7C88213&patient=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&patient%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709&requester%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fprofissional%2F%7C5032932&status=completed&subject=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&subject%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709';
const options = {method: 'GET', headers: {'x-api-key': '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Busca com resultados`**

```go Busca com resultados
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest?_count=50&_lastUpdated=%5B%22eq2013-01-14%22%5D&encounter%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fatendimento%2F%7C55162&identifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Fhippocrates-api--medication-request%7C71205&intent=order&medication=Medication%2F3a7f61c9-04d8-4e52-9b70-1de85c2a4f36&medication%3Aidentifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Falmanac-api--drug-package%7C88213&patient=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&patient%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709&requester%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fprofissional%2F%7C5032932&status=completed&subject=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&subject%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("x-api-key", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Busca com resultados`**

```ruby Busca com resultados
require 'uri'
require 'net/http'

url = URI("https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest?_count=50&_lastUpdated=%5B%22eq2013-01-14%22%5D&encounter%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fatendimento%2F%7C55162&identifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Fhippocrates-api--medication-request%7C71205&intent=order&medication=Medication%2F3a7f61c9-04d8-4e52-9b70-1de85c2a4f36&medication%3Aidentifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Falmanac-api--drug-package%7C88213&patient=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&patient%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709&requester%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fprofissional%2F%7C5032932&status=completed&subject=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&subject%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

**`Busca com resultados`**

```java Busca com resultados
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest?_count=50&_lastUpdated=%5B%22eq2013-01-14%22%5D&encounter%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fatendimento%2F%7C55162&identifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Fhippocrates-api--medication-request%7C71205&intent=order&medication=Medication%2F3a7f61c9-04d8-4e52-9b70-1de85c2a4f36&medication%3Aidentifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Falmanac-api--drug-package%7C88213&patient=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&patient%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709&requester%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fprofissional%2F%7C5032932&status=completed&subject=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&subject%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709")
  .header("x-api-key", "<apiKey>")
  .asString();
```

**`Busca com resultados`**

```php Busca com resultados
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest?_count=50&_lastUpdated=%5B%22eq2013-01-14%22%5D&encounter%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fatendimento%2F%7C55162&identifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Fhippocrates-api--medication-request%7C71205&intent=order&medication=Medication%2F3a7f61c9-04d8-4e52-9b70-1de85c2a4f36&medication%3Aidentifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Falmanac-api--drug-package%7C88213&patient=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&patient%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709&requester%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fprofissional%2F%7C5032932&status=completed&subject=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&subject%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709', [
  'headers' => [
    'x-api-key' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

**`Busca com resultados`**

```csharp Busca com resultados
using RestSharp;

var client = new RestClient("https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest?_count=50&_lastUpdated=%5B%22eq2013-01-14%22%5D&encounter%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fatendimento%2F%7C55162&identifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Fhippocrates-api--medication-request%7C71205&intent=order&medication=Medication%2F3a7f61c9-04d8-4e52-9b70-1de85c2a4f36&medication%3Aidentifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Falmanac-api--drug-package%7C88213&patient=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&patient%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709&requester%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fprofissional%2F%7C5032932&status=completed&subject=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&subject%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709");
var request = new RestRequest(Method.GET);
request.AddHeader("x-api-key", "<apiKey>");
IRestResponse response = client.Execute(request);
```

**`Busca com resultados`**

```swift Busca com resultados
import Foundation

let headers = ["x-api-key": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest?_count=50&_lastUpdated=%5B%22eq2013-01-14%22%5D&encounter%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fatendimento%2F%7C55162&identifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Fhippocrates-api--medication-request%7C71205&intent=order&medication=Medication%2F3a7f61c9-04d8-4e52-9b70-1de85c2a4f36&medication%3Aidentifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Falmanac-api--drug-package%7C88213&patient=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&patient%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709&requester%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fprofissional%2F%7C5032932&status=completed&subject=Patient%2Fba200cfa-dae0-46cf-81a0-008e3f7414b4&subject%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (200)

```json
{
  "resourceType": "Bundle",
  "type": "searchset",
  "entry": [
    {
      "fullUrl": "https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest/d4b9605e-72a1-4c38-8b0f-6e921ac47d53",
      "resource": {
        "resourceType": "MedicationRequest",
        "identifier": [
          {
            "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/hippocrates-api--medication-request",
            "value": "71205",
            "use": "usual"
          }
        ],
        "status": "completed",
        "intent": "order",
        "medicationReference": {
          "identifier": {
            "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--drug-package",
            "value": "88213",
            "use": "usual"
          },
          "type": "Medication",
          "reference": "Medication/3a7f61c9-04d8-4e52-9b70-1de85c2a4f36"
        },
        "subject": {
          "identifier": {
            "system": "https://www.acmesaude.com.br/integracao/paciente/",
            "value": "507823709",
            "use": "usual"
          },
          "type": "Patient",
          "reference": "Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4"
        },
        "id": "d4b9605e-72a1-4c38-8b0f-6e921ac47d53",
        "meta": {
          "lastUpdated": "2026-04-02T16:20:44.905000Z",
          "versionId": "MTc4NjAyMTQ1MjkwNTAwMDM4OA"
        },
        "encounter": {
          "identifier": {
            "system": "https://www.acmesaude.com.br/integracao/atendimento/",
            "value": "55162",
            "use": "usual"
          },
          "type": "Encounter"
        },
        "requester": {
          "identifier": {
            "system": "https://www.acmesaude.com.br/integracao/profissional/",
            "value": "5032932",
            "use": "usual"
          },
          "type": "Practitioner",
          "reference": "Practitioner/1f30c8b7-45ad-4e62-9c81-73b0e5f24a19"
        },
        "recorder": {
          "identifier": {
            "system": "https://www.acmesaude.com.br/integracao/profissional/",
            "value": "5032932",
            "use": "usual"
          },
          "type": "Practitioner",
          "reference": "Practitioner/1f30c8b7-45ad-4e62-9c81-73b0e5f24a19"
        },
        "dosageInstruction": [
          {
            "text": "1 comprimido a cada 12 horas por 7 dias"
          }
        ],
        "supportingInformation": [
          {
            "identifier": {
              "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/hippocrates-api--medication-request",
              "value": "71205",
              "use": "usual"
            },
            "type": "DocumentReference",
            "reference": "DocumentReference/f0c53a81-9d47-4b62-a1e8-27b4906cd5e3"
          }
        ]
      },
      "search": {
        "mode": "match"
      }
    }
  ],
  "link": []
}
```

### `status` é da receita, não do medicamento

| Valor              | Situação da receita             |
| ------------------ | ------------------------------- |
| `draft`            | Em emissão — ainda não assinada |
| `completed`        | Emitida                         |
| `entered-in-error` | A emissão falhou                |
| `unknown`          | Reservado — não ocorre hoje     |

> **Warning**
>
> Uma receita com cinco medicamentos produz **cinco** `MedicationRequest`, todos com o **mesmo**
> `status`. Ele não diz nada sobre este medicamento em particular — não diz se o paciente o
> tomou, se a prescrição foi suspensa, nem se ela ainda está válida.
>
> E não há campo que aponte para a **receita** que agrupa os itens: cada `MedicationRequest` é
> independente na leitura, e o que os liga é o `encounter` mais o `requester`.

> **Note**
>
> `recorder` traz sempre o mesmo profissional que `requester`. O FHIR distingue quem prescreveu
> de quem registrou; aqui os dois campos são a mesma pessoa.

### O PDF da receita

Quando a receita tem PDF, `supportingInformation[0]` aponta para um `DocumentReference` que
guarda a URL do arquivo. É preciso ler esse recurso para chegar à URL.

> **Note**
>
> Esse `DocumentReference` carrega o **mesmo identificador** do medicamento prescrito, no `system`
> `…/NamingSystem/hippocrates-api--medication-request` — então dá para buscá-lo direto por
> `identifier`, sem precisar seguir a referência. A URL do arquivo está em
> `content[0].attachment.url`.

> **Warning**
>
> O `DocumentReference` **não tem página neste guia**, e a URL que ele guarda é um caminho de
> armazenamento, não necessariamente um link de download direto — o mesmo comportamento descrito
> em [Arquivo do paciente](/guia/recursos/media).

### Buscar prescrições

### Response (200)

```json
{
  "resourceType": "Bundle",
  "type": "searchset",
  "entry": [],
  "link": []
}
```

| Nome                                        | Tipo                                                       | Descrição                                                                   | Expressão                                          |
| ------------------------------------------- | ---------------------------------------------------------- | --------------------------------------------------------------------------- | -------------------------------------------------- |
| `identifier`                                | [token](https://hl7.org/fhir/R4/search.html#token)         | Identificador do registro, em `system\|value`                               | `MedicationRequest.identifier`                     |
| `patient` · `subject`                       | [reference](https://hl7.org/fhir/R4/search.html#reference) | Paciente, pelo `id` Nilo FHIR dele                                          | `MedicationRequest.subject`                        |
| `patient:identifier` · `subject:identifier` | [reference](https://hl7.org/fhir/R4/search.html#reference) | Paciente, pelo identificador dele                                           | `MedicationRequest.subject.identifier`             |
| `status`                                    | [token](https://hl7.org/fhir/R4/search.html#token)         | Situação da receita                                                         | `MedicationRequest.status`                         |
| `intent`                                    | [token](https://hl7.org/fhir/R4/search.html#token)         | Aceito, e inútil: toda prescrição é `order`                                 | `MedicationRequest.intent`                         |
| `medication`                                | [reference](https://hl7.org/fhir/R4/search.html#reference) | Medicamento do catálogo, pelo `id` Nilo FHIR dele                           | `MedicationRequest.medicationReference`            |
| `medication:identifier`                     | [reference](https://hl7.org/fhir/R4/search.html#reference) | Medicamento do catálogo, pelo identificador dele — a forma estável          | `MedicationRequest.medicationReference.identifier` |
| `encounter:identifier`                      | [reference](https://hl7.org/fhir/R4/search.html#reference) | Atendimento, pelo identificador dele. **Só a forma `:identifier` funciona** | `MedicationRequest.encounter.identifier`           |
| `requester:identifier`                      | [reference](https://hl7.org/fhir/R4/search.html#reference) | Profissional que prescreveu, pelo identificador dele                        | `MedicationRequest.requester.identifier`           |
| `_lastUpdated`                              | [date](https://hl7.org/fhir/R4/search.html#date)           | Data da última gravação no store, com os prefixos `eq`, `ge`, `le`          | —                                                  |

> **Warning**
>
> **Para o atendimento, use `encounter:identifier`**, pela mesma razão do `context` do medicamento
> em uso: a referência vem sem o campo `reference`.

> **Note**
>
> Os demais parâmetros canônicos do `MedicationRequest` existem e **não encontram nada**, porque
> a plataforma não preenche o campo correspondente: `authoredon`, `category`, `code`, `date`,
> `intended-dispenser`, `intended-performer`, `intended-performertype` e `priority`.
>
> `requester`, esse, vem completo — com `reference` além do `identifier` —, e as duas formas de
> busca funcionam.

## Buscar no catálogo

### Request

GET [https://landing-zone-api.nilo.services/fhir/resources/Medication](https://landing-zone-api.nilo.services/fhir/resources/Medication)

**`Busca com resultados`**

```curl Busca com resultados
curl -G https://landing-zone-api.nilo.services/fhir/resources/Medication \
     -H "x-api-key: <apiKey>" \
     -d _count=50 \
     -d _lastUpdated=eq2013-01-14 \
     -d code:text=ACEBROFILINA \
     --data-urlencode identifier=https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--drug-package|88213 \
     -d status=active
```

**`Busca com resultados`**

```python Busca com resultados
import requests

url = "https://landing-zone-api.nilo.services/fhir/resources/Medication"

querystring = {"_count":"50","_lastUpdated":"[\"eq2013-01-14\"]","code:text":"ACEBROFILINA","identifier":"https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--drug-package|88213","status":"active"}

headers = {"x-api-key": "<apiKey>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

**`Busca com resultados`**

```javascript Busca com resultados
const url = 'https://landing-zone-api.nilo.services/fhir/resources/Medication?_count=50&_lastUpdated=%5B%22eq2013-01-14%22%5D&code%3Atext=ACEBROFILINA&identifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Falmanac-api--drug-package%7C88213&status=active';
const options = {method: 'GET', headers: {'x-api-key': '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Busca com resultados`**

```go Busca com resultados
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://landing-zone-api.nilo.services/fhir/resources/Medication?_count=50&_lastUpdated=%5B%22eq2013-01-14%22%5D&code%3Atext=ACEBROFILINA&identifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Falmanac-api--drug-package%7C88213&status=active"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("x-api-key", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Busca com resultados`**

```ruby Busca com resultados
require 'uri'
require 'net/http'

url = URI("https://landing-zone-api.nilo.services/fhir/resources/Medication?_count=50&_lastUpdated=%5B%22eq2013-01-14%22%5D&code%3Atext=ACEBROFILINA&identifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Falmanac-api--drug-package%7C88213&status=active")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

**`Busca com resultados`**

```java Busca com resultados
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://landing-zone-api.nilo.services/fhir/resources/Medication?_count=50&_lastUpdated=%5B%22eq2013-01-14%22%5D&code%3Atext=ACEBROFILINA&identifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Falmanac-api--drug-package%7C88213&status=active")
  .header("x-api-key", "<apiKey>")
  .asString();
```

**`Busca com resultados`**

```php Busca com resultados
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://landing-zone-api.nilo.services/fhir/resources/Medication?_count=50&_lastUpdated=%5B%22eq2013-01-14%22%5D&code%3Atext=ACEBROFILINA&identifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Falmanac-api--drug-package%7C88213&status=active', [
  'headers' => [
    'x-api-key' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

**`Busca com resultados`**

```csharp Busca com resultados
using RestSharp;

var client = new RestClient("https://landing-zone-api.nilo.services/fhir/resources/Medication?_count=50&_lastUpdated=%5B%22eq2013-01-14%22%5D&code%3Atext=ACEBROFILINA&identifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Falmanac-api--drug-package%7C88213&status=active");
var request = new RestRequest(Method.GET);
request.AddHeader("x-api-key", "<apiKey>");
IRestResponse response = client.Execute(request);
```

**`Busca com resultados`**

```swift Busca com resultados
import Foundation

let headers = ["x-api-key": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://landing-zone-api.nilo.services/fhir/resources/Medication?_count=50&_lastUpdated=%5B%22eq2013-01-14%22%5D&code%3Atext=ACEBROFILINA&identifier=https%3A%2F%2Flanding-zone-api.nilo.services%2Ffhir%2Fresources%2FNamingSystem%2Falmanac-api--drug-package%7C88213&status=active")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (200)

```json
{
  "resourceType": "Bundle",
  "type": "searchset",
  "entry": [
    {
      "fullUrl": "https://landing-zone-api.nilo.services/fhir/resources/Medication/3a7f61c9-04d8-4e52-9b70-1de85c2a4f36",
      "resource": {
        "resourceType": "Medication",
        "identifier": [
          {
            "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--drug-package",
            "value": "88213",
            "use": "usual"
          }
        ],
        "code": {
          "text": "ACEBROFILINA 10MG/ML XPE 120ML"
        },
        "status": "active",
        "id": "3a7f61c9-04d8-4e52-9b70-1de85c2a4f36",
        "meta": {
          "lastUpdated": "2025-09-30T02:11:07.443000Z",
          "versionId": "MTc4NjAyMTQ1MjkwNTAwMDM5MA"
        }
      },
      "search": {
        "mode": "match"
      }
    }
  ],
  "link": []
}
```

| Nome           | Tipo                                                 | Descrição                                                          | Expressão               |
| -------------- | ---------------------------------------------------- | ------------------------------------------------------------------ | ----------------------- |
| `identifier`   | [token](https://hl7.org/fhir/R4/search.html#token)   | Identificador do medicamento, em `system\|value`                   | `Medication.identifier` |
| `code:text`    | [string](https://hl7.org/fhir/R4/search.html#string) | Nome do medicamento                                                | `Medication.code.text`  |
| `status`       | [token](https://hl7.org/fhir/R4/search.html#token)   | Aceito, e inútil: todo medicamento é `active`                      | `Medication.status`     |
| `_lastUpdated` | [date](https://hl7.org/fhir/R4/search.html#date)     | Data da última gravação no store, com os prefixos `eq`, `ge`, `le` | —                       |

> **Warning**
>
> **Use `code:text`, não `code`.** O parâmetro `code` é de token e procura dentro de `coding` —
> que a Nilo não preenche. Buscar `code=ACEBROFILINA` não devolve nada; `code:text=ACEBROFILINA`
> devolve.

> **Warning**
>
> **O catálogo não é filtrado por cliente.** Ele é da plataforma inteira: sem `code:text` ou
> `identifier`, a busca percorre todos os medicamentos cadastrados, e são muitos. Pagine com
> `_count` e filtre sempre.

> **Note**
>
> Os demais parâmetros canônicos do `Medication` existem e **não encontram nada**: `form`,
> `ingredient`, `ingredient-code`, `lot-number`, `expiration-date` e `manufacturer`. Nenhum
> deles é preenchido.

## Ler por ID

Os três recursos têm leitura direta por `id`, e os três devolvem o mesmo envelope.

### Request

GET [https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement/\{id}](https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement/\{id})

**`Registro encontrado`**

```curl Registro encontrado
curl https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement/id \
     -H "x-api-key: <apiKey>"
```

**`Registro encontrado`**

```python Registro encontrado
import requests

url = "https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement/id"

headers = {"x-api-key": "<apiKey>"}

response = requests.get(url, headers=headers)

print(response.json())
```

**`Registro encontrado`**

```javascript Registro encontrado
const url = 'https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement/id';
const options = {method: 'GET', headers: {'x-api-key': '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Registro encontrado`**

```go Registro encontrado
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement/id"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("x-api-key", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Registro encontrado`**

```ruby Registro encontrado
require 'uri'
require 'net/http'

url = URI("https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

**`Registro encontrado`**

```java Registro encontrado
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement/id")
  .header("x-api-key", "<apiKey>")
  .asString();
```

**`Registro encontrado`**

```php Registro encontrado
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement/id', [
  'headers' => [
    'x-api-key' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

**`Registro encontrado`**

```csharp Registro encontrado
using RestSharp;

var client = new RestClient("https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement/id");
var request = new RestRequest(Method.GET);
request.AddHeader("x-api-key", "<apiKey>");
IRestResponse response = client.Execute(request);
```

**`Registro encontrado`**

```swift Registro encontrado
import Foundation

let headers = ["x-api-key": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement/id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

> **Warning**
>
> Diferente da busca, esta leitura não devolve um `Bundle` — mas também **não devolve o recurso
> nu**. A resposta é um envelope com `fullUrl`, `search` e `resource`, e o registro está em
> `resource`.

### Response (200)

```json
{
  "fullUrl": "https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement/9e21c73a-58b0-4f6d-81a4-3c07e5b92d14",
  "resource": {
    "resourceType": "MedicationStatement",
    "identifier": [
      {
        "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/hippocrates-api--medication-request",
        "value": "71204",
        "use": "usual"
      }
    ],
    "status": "active",
    "medicationReference": {
      "identifier": {
        "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--drug-package",
        "value": "88213",
        "use": "usual"
      },
      "type": "Medication",
      "reference": "Medication/3a7f61c9-04d8-4e52-9b70-1de85c2a4f36"
    },
    "subject": {
      "identifier": {
        "system": "https://www.acmesaude.com.br/integracao/paciente/",
        "value": "507823709",
        "use": "usual"
      },
      "type": "Patient",
      "reference": "Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4"
    },
    "dateAsserted": "2026-03-18T11:04:22+00:00",
    "id": "9e21c73a-58b0-4f6d-81a4-3c07e5b92d14",
    "meta": {
      "lastUpdated": "2026-03-18T11:04:23.117000Z",
      "versionId": "MTc4NjAyMTQ1MjkwNTAwMDM2Nw"
    },
    "dosage": [
      {
        "text": "1 comprimido a cada 12 horas"
      }
    ]
  },
  "search": {
    "mode": "match"
  }
}
```

### Request

GET [https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest/\{id}](https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest/\{id})

**`Prescrição encontrada`**

```curl Prescrição encontrada
curl https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest/id \
     -H "x-api-key: <apiKey>"
```

**`Prescrição encontrada`**

```python Prescrição encontrada
import requests

url = "https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest/id"

headers = {"x-api-key": "<apiKey>"}

response = requests.get(url, headers=headers)

print(response.json())
```

**`Prescrição encontrada`**

```javascript Prescrição encontrada
const url = 'https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest/id';
const options = {method: 'GET', headers: {'x-api-key': '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Prescrição encontrada`**

```go Prescrição encontrada
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest/id"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("x-api-key", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Prescrição encontrada`**

```ruby Prescrição encontrada
require 'uri'
require 'net/http'

url = URI("https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

**`Prescrição encontrada`**

```java Prescrição encontrada
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest/id")
  .header("x-api-key", "<apiKey>")
  .asString();
```

**`Prescrição encontrada`**

```php Prescrição encontrada
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest/id', [
  'headers' => [
    'x-api-key' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

**`Prescrição encontrada`**

```csharp Prescrição encontrada
using RestSharp;

var client = new RestClient("https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest/id");
var request = new RestRequest(Method.GET);
request.AddHeader("x-api-key", "<apiKey>");
IRestResponse response = client.Execute(request);
```

**`Prescrição encontrada`**

```swift Prescrição encontrada
import Foundation

let headers = ["x-api-key": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest/id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (200)

```json
{
  "fullUrl": "https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest/d4b9605e-72a1-4c38-8b0f-6e921ac47d53",
  "resource": {
    "resourceType": "MedicationRequest",
    "identifier": [
      {
        "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/hippocrates-api--medication-request",
        "value": "71205",
        "use": "usual"
      }
    ],
    "status": "completed",
    "intent": "order",
    "medicationReference": {
      "identifier": {
        "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--drug-package",
        "value": "88213",
        "use": "usual"
      },
      "type": "Medication",
      "reference": "Medication/3a7f61c9-04d8-4e52-9b70-1de85c2a4f36"
    },
    "subject": {
      "identifier": {
        "system": "https://www.acmesaude.com.br/integracao/paciente/",
        "value": "507823709",
        "use": "usual"
      },
      "type": "Patient",
      "reference": "Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4"
    },
    "id": "d4b9605e-72a1-4c38-8b0f-6e921ac47d53",
    "meta": {
      "lastUpdated": "2026-04-02T16:20:44.905000Z",
      "versionId": "MTc4NjAyMTQ1MjkwNTAwMDM4OA"
    },
    "dosageInstruction": [
      {
        "text": "1 comprimido a cada 12 horas por 7 dias"
      }
    ]
  },
  "search": {
    "mode": "match"
  }
}
```

### Request

GET [https://landing-zone-api.nilo.services/fhir/resources/Medication/\{id}](https://landing-zone-api.nilo.services/fhir/resources/Medication/\{id})

**`Medicamento encontrado`**

```curl Medicamento encontrado
curl https://landing-zone-api.nilo.services/fhir/resources/Medication/id \
     -H "x-api-key: <apiKey>"
```

**`Medicamento encontrado`**

```python Medicamento encontrado
import requests

url = "https://landing-zone-api.nilo.services/fhir/resources/Medication/id"

headers = {"x-api-key": "<apiKey>"}

response = requests.get(url, headers=headers)

print(response.json())
```

**`Medicamento encontrado`**

```javascript Medicamento encontrado
const url = 'https://landing-zone-api.nilo.services/fhir/resources/Medication/id';
const options = {method: 'GET', headers: {'x-api-key': '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Medicamento encontrado`**

```go Medicamento encontrado
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://landing-zone-api.nilo.services/fhir/resources/Medication/id"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("x-api-key", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Medicamento encontrado`**

```ruby Medicamento encontrado
require 'uri'
require 'net/http'

url = URI("https://landing-zone-api.nilo.services/fhir/resources/Medication/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

**`Medicamento encontrado`**

```java Medicamento encontrado
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://landing-zone-api.nilo.services/fhir/resources/Medication/id")
  .header("x-api-key", "<apiKey>")
  .asString();
```

**`Medicamento encontrado`**

```php Medicamento encontrado
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://landing-zone-api.nilo.services/fhir/resources/Medication/id', [
  'headers' => [
    'x-api-key' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

**`Medicamento encontrado`**

```csharp Medicamento encontrado
using RestSharp;

var client = new RestClient("https://landing-zone-api.nilo.services/fhir/resources/Medication/id");
var request = new RestRequest(Method.GET);
request.AddHeader("x-api-key", "<apiKey>");
IRestResponse response = client.Execute(request);
```

**`Medicamento encontrado`**

```swift Medicamento encontrado
import Foundation

let headers = ["x-api-key": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://landing-zone-api.nilo.services/fhir/resources/Medication/id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

## Cadastrar ou atualizar

**Não existe**, em nenhum dos três recursos.

> **Warning**
>
> Um `POST` em qualquer um deles **não é uma operação suportada** e não devolve um erro de
> validação tratável: a chamada falha com erro inesperado do servidor (`500`). Não escreva
> tratamento em cima desse comportamento — ele não é contrato, e nada é gravado de qualquer
> forma.
>
> Dentro de uma [carga em lote](https://hl7.org/fhir/R4/http.html#transaction) o erro é limpo, e
> igualmente definitivo: a entrada é recusada com `Resource … not supported`.

## Efeitos colaterais

> **Warning**
>
> **Excluir um atendimento remove, junto, os medicamentos registrados nele.** Os recursos
> correspondentes desaparecem do store sem aviso, e um `id` que você já leu com sucesso passa a
> responder `404`. Se você guarda o conteúdo, guarde o conteúdo — não o `id`.

## O que a integração não cobre

Além da escrita, vários dados que a plataforma guarda **não têm campo** em nenhum dos três
recursos:

* se o medicamento é de **uso contínuo** — um campo obrigatório na tela;
* se a **substituição por genérico** é permitida;
* quando o uso foi **interrompido**, por quem e por quê;
* as **interações medicamentosas** que a plataforma calcula;
* o **princípio ativo**, o **laboratório** e o **código de barras** do medicamento;
* a **receita** que agrupa os itens prescritos, como recurso próprio.

Para os arquivos do paciente, veja [Arquivo do paciente](/guia/recursos/media);
para o atendimento em que o medicamento foi registrado,
[Atendimentos](/guia/recursos/encounter).