> 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.

# Conduta

> Consultar as condutas registradas num atendimento no padrão FHIR RequestGroup.

A **conduta** é o que o profissional orientou ao encerrar o atendimento: o retorno marcado, o
exame solicitado, os sinais de alarme explicados ao paciente. É texto de prontuário, escrito à
mão pela equipe — na tela do atendimento ela aparece no bloco **Condutas e orientações**.

No FHIR esse conjunto é o
[`RequestGroup`](https://hl7.org/fhir/R4/requestgroup.html): **um recurso por atendimento**,
reunindo todas as condutas dele. Como a [avaliação clínica](/guia/recursos/clinicalimpression),
ele nasce junto com o atendimento e carrega o identificador do atendimento de origem.

> **Warning**
>
> **Este recurso é somente leitura.** `POST /fhir/resources/RequestGroup` não é uma operação
> suportada — veja [Cadastrar ou atualizar](#cadastrar-ou-atualizar) para o que acontece se você
> tentar. Para **registrar** uma conduta por integração, o caminho é a
> [Condição](/guia/recursos/condition) — veja
> [Como registrar uma conduta](#como-registrar-uma-conduta).

## Campos

A coluna **No Nilo Care** traz o rótulo com que o dado aparece para a equipe; são rótulos, não
caminhos de navegação.

Todos os campos são de resposta — nenhum deles é enviado por você.

| Campo                  | Sempre presente   | O que significa                                                      | No Nilo Care               |
| ---------------------- | ----------------- | -------------------------------------------------------------------- | -------------------------- |
| `resourceType`         | sim               | Constante `RequestGroup`                                             | —                          |
| `identifier`           | sim               | Identificador Nilo, sempre o do atendimento de origem                | —                          |
| `status`               | sim               | Constante `active`                                                   | —                          |
| `intent`               | sim               | Constante `order`                                                    | —                          |
| `subject`              | sim               | O paciente do atendimento, por um identificador dele                 | **Paciente**               |
| `encounter`            | sim               | O atendimento a que as condutas pertencem                            | **Atendimento**            |
| `action[]`             | não               | Uma entrada por conduta com texto. **Ausente** quando não há nenhuma | **Condutas e orientações** |
| `action[].description` | sim, havendo item | O texto da conduta, inteiro                                          | o texto da conduta         |
| `action[].resource`    | sim, havendo item | Constante `Clinical conduct`                                         | —                          |
| `id`                   | sim               | Identificador Nilo FHIR do recurso, usado na leitura por ID          | —                          |
| `meta`                 | sim               | Metadados da gravação: versão e data da última alteração             | —                          |

> **Warning**
>
> Um atendimento **sem nenhuma conduta escrita produz o recurso mesmo assim** — e nele o campo
> `action` **não vem**. Não é uma lista vazia: a chave some do JSON. Um cliente que faça
> `resource.action.length` quebra; trate a ausência do campo como "nenhuma conduta".
>
> A ausência não significa que o atendimento não existe: significa que ninguém escreveu conduta
> nele.

> **Note**
>
> Condutas **sem texto não entram na lista**. Se a equipe abriu uma conduta e não escreveu nada,
> ela não aparece aqui, nem como item vazio — e um atendimento cujas condutas sejam todas vazias
> cai no caso acima, sem `action`.

> **Note**
>
> Na tela, as condutas de um atendimento aparecem **concatenadas num campo só**, e o editor
> trabalha sobre a primeira delas. A separação em itens existe aqui e na
> [Condição](/guia/recursos/condition), não lá: um atendimento que a sua integração gravou com
> três condutas é visto pela equipe como um texto único.

> **Warning**
>
> `status` e `intent` são constantes e não informam nada sobre o atendimento nem sobre a
> conduta. `status: active` não quer dizer que o atendimento está aberto — quem diz isso é o
> `status` do [atendimento](/guia/recursos/encounter). E `intent: order` não distingue tipos
> de conduta: todas saem iguais.

### `action[].resource` não é uma referência

> **Note**
>
> Ele tem a forma de uma referência FHIR, mas traz apenas `display`, com o valor constante
> `Clinical conduct` — em inglês, e igual em todos os itens. Não tente resolvê-lo, e não o use
> para classificar a conduta: ele não aponta para recurso nenhum e não carrega informação.

### Campos que a Nilo não usa

O `RequestGroup` canônico tem muito mais do que esta integração produz: `instantiatesCanonical`,
`instantiatesUri`, `basedOn`, `replaces`, `groupIdentifier`, `priority`, `code`, `authoredOn`,
`author`, `reasonCode`, `reasonReference` e `note`. Dentro de `action`, também `title`,
`textEquivalent`, `code`, `documentation`, `condition`, `relatedAction`, `timing`,
`participant`, `type`, `groupingBehavior`, `selectionBehavior`, `requiredBehavior`,
`precheckBehavior`, `cardinalityBehavior` e as sub-ações. Como esta referência descreve só o
que é suportado, nenhum deles aparece no schema — e, como não há escrita, também não há como
preenchê-los.

Repare em `author`: **a conduta não traz quem a escreveu**. A plataforma guarda esse dado, e
ele não é exposto em nenhum campo deste recurso.

## Cadastrar ou atualizar

**Não existe.** Este recurso não tem caminho de escrita nesta API — nem para criar, nem para
atualizar, nem para apagar.

> **Warning**
>
> Um `POST /fhir/resources/RequestGroup` **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 RequestGroup not supported`.

### Como registrar uma conduta

Há **dois** caminhos, e os dois levam o conteúdo em `note[]`:

* [Condição](/guia/recursos/condition), com `verificationStatus` igual a `provisional`;
* [Solicitação de serviço](/guia/recursos/servicerequest), com `intent` igual a
  `proposal`.

Cada página tem o exemplo e as regras — inclusive o efeito colateral de criar um atendimento
quando você não informa um. **Escolha um dos dois:** gravar a mesma conduta pelos dois cria
registros diferentes.

Os dois caminhos não se comportam igual quando o atendimento já tem conduta. Pela
**Condição**, um atendimento de hipótese diagnóstica tem **uma conduta só**: a chamada atualiza
a que está lá e descarta as demais — veja
[O atendimento](/guia/recursos/condition#o-atendimento) para os limites disso. Pela
**Solicitação de serviço**, cada chamada grava uma conduta nova.

> **Warning**
>
> **A conduta que você grava não aparece aqui na hora.** Este recurso é produzido a partir do
> **atendimento**, e escrever uma conduta não regrava o atendimento. A conduta nova só entra em
> `action[]` na próxima vez que o atendimento em si for salvo.
>
> Para ler de volta o que você acabou de gravar, leia a [Condição](/guia/recursos/condition) — ela
> é atualizada na hora. Vale o mesmo para conduta acrescentada, editada ou removida pela equipe
> no Nilo Care sem tocar no atendimento.

### A mesma conduta em dois lugares, com formatos diferentes

Cada conduta aparece **duas vezes** nesta API, e o texto não vem igual nas duas:

|                  | Aqui, em `action[].description`              | No recurso próprio da conduta, em `note[]` |
| ---------------- | -------------------------------------------- | ------------------------------------------ |
| Forma            | Um item por conduta, com o texto **inteiro** | Uma anotação por **linha** do texto        |
| Quebras de linha | Preservadas dentro do `description`          | Viram a divisão entre os itens de `note[]` |
| Atualização      | Só quando o atendimento é regravado          | Imediata                                   |

> **Note**
>
> Se você processa o texto da conduta, escolha um dos dois e fique com ele. Somar os dois duplica
> o conteúdo, e compará-los caractere a caractere não funciona — a divisão em linhas é justamente
> o que difere.

> **Warning**
>
> **"O recurso próprio da conduta" não é sempre a Condição.** Quem decide é o **desfecho do
> atendimento**: num atendimento de sugestão terapêutica a conduta sai como pedido de serviço, e
> num de resultado de exame sai como procedimento. Nos dois casos **não existe `Condition`
> correspondente**, e uma busca de condições por `verification-status=provisional` não encontra
> essas condutas.
>
> O `RequestGroup`, esse, é sempre o mesmo, qualquer que seja o desfecho: uma entrada por conduta
> com texto, sem distinção de tipo. Se você precisa do inventário completo das condutas de um
> atendimento, é por aqui — não pela Condição.

## Buscar

### Request

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

**`Busca de condutas com resultados`**

```curl Busca de condutas com resultados
curl -G https://landing-zone-api.nilo.services/fhir/resources/RequestGroup \
     -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/care-api--appointment-v3|55162 \
     -d intent=order \
     --data-urlencode patient:identifier=https://www.acmesaude.com.br/integracao/paciente/|507823709 \
     -d status=active \
     --data-urlencode subject:identifier=https://www.acmesaude.com.br/integracao/paciente/|507823709
```

**`Busca de condutas com resultados`**

```python Busca de condutas com resultados
import requests

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

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/care-api--appointment-v3|55162","intent":"order","patient:identifier":"https://www.acmesaude.com.br/integracao/paciente/|507823709","status":"active","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 de condutas com resultados`**

```javascript Busca de condutas com resultados
const url = 'https://landing-zone-api.nilo.services/fhir/resources/RequestGroup?_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%2Fcare-api--appointment-v3%7C55162&intent=order&patient%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709&status=active&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 de condutas com resultados`**

```go Busca de condutas com resultados
package main

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

func main() {

	url := "https://landing-zone-api.nilo.services/fhir/resources/RequestGroup?_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%2Fcare-api--appointment-v3%7C55162&intent=order&patient%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709&status=active&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 de condutas com resultados`**

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

url = URI("https://landing-zone-api.nilo.services/fhir/resources/RequestGroup?_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%2Fcare-api--appointment-v3%7C55162&intent=order&patient%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709&status=active&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 de condutas com resultados`**

```java Busca de condutas 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/RequestGroup?_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%2Fcare-api--appointment-v3%7C55162&intent=order&patient%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709&status=active&subject%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709")
  .header("x-api-key", "<apiKey>")
  .asString();
```

**`Busca de condutas com resultados`**

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

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://landing-zone-api.nilo.services/fhir/resources/RequestGroup?_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%2Fcare-api--appointment-v3%7C55162&intent=order&patient%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709&status=active&subject%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709', [
  'headers' => [
    'x-api-key' => '<apiKey>',
  ],
]);

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

**`Busca de condutas com resultados`**

```csharp Busca de condutas com resultados
using RestSharp;

var client = new RestClient("https://landing-zone-api.nilo.services/fhir/resources/RequestGroup?_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%2Fcare-api--appointment-v3%7C55162&intent=order&patient%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709&status=active&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 de condutas com resultados`**

```swift Busca de condutas com resultados
import Foundation

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

let request = NSMutableURLRequest(url: NSURL(string: "https://landing-zone-api.nilo.services/fhir/resources/RequestGroup?_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%2Fcare-api--appointment-v3%7C55162&intent=order&patient%3Aidentifier=https%3A%2F%2Fwww.acmesaude.com.br%2Fintegracao%2Fpaciente%2F%7C507823709&status=active&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()
```

A resposta é sempre um `Bundle` do tipo `searchset`:

### Response (200)

```json
{
  "resourceType": "Bundle",
  "type": "searchset",
  "entry": [
    {
      "fullUrl": "https://landing-zone-api.nilo.services/fhir/resources/RequestGroup/4e71b8c0-95a3-4d26-8f14-3b072ad9e561",
      "resource": {
        "encounter": {
          "identifier": {
            "system": "https://www.acmesaude.com.br/integracao/atendimento/",
            "value": "55162",
            "use": "usual"
          },
          "type": "Encounter"
        },
        "identifier": [
          {
            "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/care-api--appointment-v3",
            "value": "55162",
            "use": "usual"
          }
        ],
        "intent": "order",
        "resourceType": "RequestGroup",
        "status": "active",
        "subject": {
          "identifier": {
            "system": "https://www.acmesaude.com.br/integracao/paciente/",
            "value": "507823709",
            "use": "usual"
          },
          "type": "Patient"
        },
        "action": [
          {
            "description": "Retorno em 15 dias.\nOriento sinais de alarme.",
            "resource": {
              "display": "Clinical conduct"
            }
          },
          {
            "description": "Solicitado hemograma completo.",
            "resource": {
              "display": "Clinical conduct"
            }
          }
        ],
        "id": "4e71b8c0-95a3-4d26-8f14-3b072ad9e561",
        "meta": {
          "lastUpdated": "2026-04-16T19:32:09.114000Z",
          "versionId": "MTc4NjAyMTQ1MjkwNTAwMDM2Nw"
        }
      },
      "search": {
        "mode": "match"
      }
    },
    {
      "fullUrl": "https://landing-zone-api.nilo.services/fhir/resources/RequestGroup/a9d3f215-70b6-4c81-95e0-2f48c7b1d603",
      "resource": {
        "encounter": {
          "identifier": {
            "system": "https://www.acmesaude.com.br/integracao/atendimento/",
            "value": "55163",
            "use": "usual"
          },
          "type": "Encounter"
        },
        "identifier": [
          {
            "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/care-api--appointment-v3",
            "value": "55163",
            "use": "usual"
          }
        ],
        "intent": "order",
        "resourceType": "RequestGroup",
        "status": "active",
        "subject": {
          "identifier": {
            "system": "https://www.acmesaude.com.br/integracao/paciente/",
            "value": "507823709",
            "use": "usual"
          },
          "type": "Patient"
        },
        "id": "a9d3f215-70b6-4c81-95e0-2f48c7b1d603",
        "meta": {
          "lastUpdated": "2026-04-17T10:05:41.802000Z",
          "versionId": "MTc4NjAyMTQ1MjkwNTAwMDM3MA"
        }
      },
      "search": {
        "mode": "match"
      }
    }
  ],
  "link": []
}
```

> **Note**
>
> Busca sem resultados não é erro: volta `200` com um `Bundle` cujo `entry` é uma lista vazia.
> Trate a ausência de resultados pela lista vazia, não esperando um `404`.

### Response (200)

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

### Parâmetros de busca suportados

| Nome                   | Tipo                                                       | Descrição                                                          | Expressão                           |
| ---------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------ | ----------------------------------- |
| `identifier`           | [token](https://hl7.org/fhir/R4/search.html#token)         | Identificador do recurso, em `system\|value`                       | `RequestGroup.identifier`           |
| `patient:identifier`   | [reference](https://hl7.org/fhir/R4/search.html#reference) | Paciente, pelo identificador dele                                  | `RequestGroup.subject.identifier`   |
| `subject:identifier`   | [reference](https://hl7.org/fhir/R4/search.html#reference) | O mesmo campo que `patient:identifier`                             | `RequestGroup.subject.identifier`   |
| `encounter:identifier` | [reference](https://hl7.org/fhir/R4/search.html#reference) | Atendimento das condutas, pelo identificador dele                  | `RequestGroup.encounter.identifier` |
| `status`               | [token](https://hl7.org/fhir/R4/search.html#token)         | Aceito, e inútil: o valor é sempre `active`                        | `RequestGroup.status`               |
| `intent`               | [token](https://hl7.org/fhir/R4/search.html#token)         | Aceito, e inútil: o valor é sempre `order`                         | `RequestGroup.intent`               |
| `_lastUpdated`         | [date](https://hl7.org/fhir/R4/search.html#date)           | Data da última gravação no store, com os prefixos `eq`, `ge`, `le` | —                                   |

`encounter:identifier` é a busca mais direta desta página: um atendimento tem no máximo um
recurso de conduta, e é o mesmo identificador que você já usa para ler o atendimento.

> **Warning**
>
> **Só a forma `:identifier` funciona neste recurso.** As referências são gravadas sem o campo
> `reference` — só com `identifier` e `type` —, e a busca por referência sem o modificador
> procura justamente em `reference`. Por isso `patient=Patient/{id}`, `subject=…` e
> `encounter=Encounter/{id}` devolvem `Bundle` vazio, não erro. É a mesma situação da
> [avaliação clínica](/guia/recursos/clinicalimpression).

> **Warning**
>
> Qual identificador o `subject` carrega é decidido **referência a referência**, não de uma vez
> por implantação. Na configuração que usa identificadores externos, cada referência sai com o
> identificador do seu sistema **se o recurso apontado tiver um**; se não tiver, cai
> silenciosamente no identificador Nilo. Confira o que veio na resposta antes de montar a busca
> em volume — vale para `subject` e para `encounter`.

> **Note**
>
> O `identifier` **do próprio recurso** é a exceção: ele nunca depende da implantação e nunca é o
> seu. É sempre o identificador Nilo do atendimento de origem, no `system`
> `…/NamingSystem/care-api--appointment-v3` — o mesmo valor que aparece nos identificadores do
> [atendimento](/guia/recursos/encounter) correspondente. Para chegar às condutas a partir da
> sua própria chave, o caminho é `encounter:identifier`, não `identifier`.
>
> Recursos de atendimentos antigos podem trazer **também** um identificador no `system`
> `…/NamingSystem/care-api--appointment`, sem o `-v3`. É o mesmo atendimento.

> **Note**
>
> Vários parâmetros canônicos do `RequestGroup` existem e **não encontram nada** aqui, porque a
> plataforma não preenche o campo correspondente: `author`, `authored`, `code`, `group-identifier`,
> `instantiates-canonical`, `instantiates-uri`, `participant` e `priority`.
>
> Não há como buscar **pelo texto** de uma conduta: `action[].description` não tem parâmetro de
> busca no FHIR R4.

A paginação é por `_count` e `_page_token`; havendo página seguinte, o `Bundle` traz a URL
pronta em `link`.

## Ler por ID

### Request

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

**`Condutas encontradas`**

```curl Condutas encontradas
curl https://landing-zone-api.nilo.services/fhir/resources/RequestGroup/id \
     -H "x-api-key: <apiKey>"
```

**`Condutas encontradas`**

```python Condutas encontradas
import requests

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

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

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

print(response.json())
```

**`Condutas encontradas`**

```javascript Condutas encontradas
const url = 'https://landing-zone-api.nilo.services/fhir/resources/RequestGroup/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);
}
```

**`Condutas encontradas`**

```go Condutas encontradas
package main

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

func main() {

	url := "https://landing-zone-api.nilo.services/fhir/resources/RequestGroup/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))

}
```

**`Condutas encontradas`**

```ruby Condutas encontradas
require 'uri'
require 'net/http'

url = URI("https://landing-zone-api.nilo.services/fhir/resources/RequestGroup/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
```

**`Condutas encontradas`**

```java Condutas encontradas
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/RequestGroup/id")
  .header("x-api-key", "<apiKey>")
  .asString();
```

**`Condutas encontradas`**

```php Condutas encontradas
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

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

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

**`Condutas encontradas`**

```csharp Condutas encontradas
using RestSharp;

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

**`Condutas encontradas`**

```swift Condutas encontradas
import Foundation

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

let request = NSMutableURLRequest(url: NSURL(string: "https://landing-zone-api.nilo.services/fhir/resources/RequestGroup/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 as condutas estão em
> `resource`. Ler `action` na raiz da resposta não encontra nada.

### Response (200)

```json
{
  "fullUrl": "https://landing-zone-api.nilo.services/fhir/resources/RequestGroup/4e71b8c0-95a3-4d26-8f14-3b072ad9e561",
  "resource": {
    "encounter": {
      "identifier": {
        "system": "https://www.acmesaude.com.br/integracao/atendimento/",
        "value": "55162",
        "use": "usual"
      },
      "type": "Encounter"
    },
    "identifier": [
      {
        "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/care-api--appointment-v3",
        "value": "55162",
        "use": "usual"
      }
    ],
    "intent": "order",
    "resourceType": "RequestGroup",
    "status": "active",
    "subject": {
      "identifier": {
        "system": "https://www.acmesaude.com.br/integracao/paciente/",
        "value": "507823709",
        "use": "usual"
      },
      "type": "Patient"
    },
    "action": [
      {
        "description": "Retorno em 15 dias.\nOriento sinais de alarme.",
        "resource": {
          "display": "Clinical conduct"
        }
      }
    ],
    "id": "4e71b8c0-95a3-4d26-8f14-3b072ad9e561",
    "meta": {
      "lastUpdated": "2026-04-16T19:32:09.114000Z",
      "versionId": "MTc4NjAyMTQ1MjkwNTAwMDM2Nw"
    }
  },
  "search": {
    "mode": "match"
  }
}
```

A leitura por ID responde `404` quando o `id` não existe — inclusive quando o atendimento de
origem foi apagado no Nilo Care. Se você guarda o conteúdo, guarde o conteúdo, não o `id`.

## Quando as condutas ficam disponíveis

As condutas são sincronizadas logo depois do atendimento, mas **não no mesmo instante**: gravar
ou atualizar um atendimento e ler as condutas dele em seguida pode não encontrar nada ainda. Se
o seu fluxo é escrever um atendimento e ler as condutas dele, reconsulte em vez de tratar a
primeira resposta vazia como definitiva.

A ordem é essa mesma: o atendimento é gravado primeiro e as condutas depois. Se a gravação do
atendimento falhar, o recurso de conduta **não chega a existir** — não há conduta órfã de um
atendimento que não foi gravado.

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

Não há escrita neste recurso, e três dados que a plataforma guarda **não têm campo aqui**:

* **quem escreveu** cada conduta;
* **quando** cada conduta foi escrita — só a data de gravação do recurso inteiro, em `meta`;
* a distinção entre os **tipos** de conduta, que existe na Condição correspondente e some aqui.

Para o atendimento em si, veja [Atendimentos](/guia/recursos/encounter); para a entrevista
clínica e o exame físico do mesmo atendimento,
[Avaliação clínica](/guia/recursos/clinicalimpression); para os diagnósticos e para a escrita
de conduta, [Condição](/guia/recursos/condition).