> ## Documentation Index
> Fetch the complete documentation index at: https://docs.telepatia.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Suporte à Decisão Clínica

> Alertas corretivos de CDSS em um registro médico e como lê-los

O CDSS corretivo ("suporte à decisão clínica") revisa uma consulta finalizada contra diretrizes clínicas e sinaliza problemas acionáveis no registro — uma medicação omitida, uma dosagem incorreta, uma conduta não pertinente. Cada achado é um **alerta**.

Os alertas ficam associados ao registro médico: leia-os pelo campo `cdssAlerts` no endpoint de [documentos de registro médico](/pt-BR/scribe-api/medical-record-documents). `cdssAlerts` é `null` quando o suporte à decisão clínica está desabilitado para a sessão ou nenhum alerta foi gerado, e `[]` quando executou e não produziu nenhum.

## O modelo do alerta

```json theme={null}
{
  "id": "cfa_9cba9fa0…SKULL_XRAY",
  "elementId": "SKULL_XRAY",
  "reason": "Perda de consciência após suspeita de concussão; a radiografia de crânio não avalia adequadamente lesão intracraniana.",
  "action": "Substituir a radiografia de crânio por uma tomografia de crânio sem contraste.",
  "actionCategory": "replace",
  "type": "diagnostic_test",
  "issue": "not_pertinent",
  "element": "Radiografia de crânio",
  "severity": "red",
  "source": ["NICE Head Injury: Assessment and Early Management Guideline NG232, 2023"],
  "newPlanElement": {
    "type": "diagnostic_test",
    "element": "Tomografia de crânio sem contraste",
    "id": "HEAD_CT",
    "content": "Tomografia de crânio sem contraste",
    "laboratory": null
  },
  "previousTestDate": null,
  "guidelineIntervalDays": null,
  "status": "accepted"
}
```

<Tip>
  Use `id` como identificador do alerta — é um token estável e opaco. `elementId` é a chave do elemento clínico (ex.: `ASPIRIN`); é legível mas pode se repetir entre documentos, então nunca o use como identificador.
</Tip>

## Referência de campos

| Campo                   | Tipo           | Descrição                                                                                                                                                              |
| ----------------------- | -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`                    | string         | Identificador de alerta estável e opaco. Use-o como está; não faça parsing                                                                                             |
| `elementId`             | string         | Chave do elemento clínico (ex.: `ASPIRIN`). Legível, não único entre documentos                                                                                        |
| `reason`                | string         | Por que o alerta foi gerado                                                                                                                                            |
| `action`                | string         | A ação recomendada                                                                                                                                                     |
| `actionCategory`        | string         | `add` \| `remove` \| `replace` \| `modify`                                                                                                                             |
| `type`                  | string         | Tipo de conduta: `medication`, `diagnostic_test`, `interconsultation`, `referral`, `follow_up`, `general_order`, `non_pharmacological`, `warning_signs`                |
| `issue`                 | string         | `incorrect_dosage` \| `omission` \| `not_pertinent`                                                                                                                    |
| `element`               | string         | O elemento do plano ao qual o alerta se refere                                                                                                                         |
| `severity`              | string         | `red` \| `orange` \| `yellow`                                                                                                                                          |
| `source`                | array          | Citações de diretrizes que embasam o alerta                                                                                                                            |
| `newPlanElement`        | object \| null | O elemento que o alerta propõe (em `add`/`replace`/`modify`): `{ type, element, id, content, laboratory }`. A forma de `content` varia conforme o template do registro |
| `previousTestDate`      | string \| null | Para recomendações de exames, a data do exame anterior                                                                                                                 |
| `guidelineIntervalDays` | number \| null | Para recomendações de exames, o intervalo da diretriz em dias                                                                                                          |
| `status`                | string         | A decisão do médico: `pending` \| `accepted` \| `rejected`                                                                                                             |

## Agir sobre um alerta

Registre a decisão do médico com o `id` do alerta. Aceitar um alerta aplica a mudança
proposta ao registro médico; rejeitá-lo deixa o registro inalterado. Ambos exigem uma
chave de API com `scribe:write` ou `scribe:cdss`.

```bash theme={null}
curl -X POST https://scribe-api.telepatia.ai/v1/cdss/alerts/ALERT_ID/accept \
  -H "Authorization: Bearer SUA_CHAVE_API"
```

**Resposta:**

```json theme={null}
{
  "id": "cfa_bXJkLWFiYy0xMjMfSUJVUFJPRkVO",
  "elementId": "IBUPROFEN",
  "status": "accepted"
}
```

Use a mesma requisição contra `/reject` para rejeitar o alerta.

<Tip>
  Uma resposta de sucesso significa que a decisão foi registrada. Um alerta aceito é aplicado ao registro médico em segundo plano, então reler o registro logo em seguida pode ainda mostrar o conteúdo anterior. O `status` do alerta é atualizado imediatamente.
</Tip>

Registrar a mesma decisão duas vezes é seguro — a decisão é armazenada por alerta,
então uma nova tentativa produz o mesmo resultado.

### Vários alertas de uma vez

Envie uma requisição por revisão de consulta em vez de uma por alerta. Cada alerta é
validado antes de qualquer decisão ser registrada, então um lote que contenha um alerta
sobre o qual você não pode agir não registra nada.

```bash theme={null}
curl -X POST https://scribe-api.telepatia.ai/v1/cdss/decisions \
  -H "Authorization: Bearer SUA_CHAVE_API" \
  -H "Content-Type: application/json" \
  -d '{"decisions":[{"id":"ALERT_ID","decision":"accepted"}]}'
```

**Resposta:**

```json theme={null}
{
  "decisions": [
    {
      "id": "cfa_bXJkLWFiYy0xMjMfSUJVUFJPRkVO",
      "elementId": "IBUPROFEN",
      "status": "accepted"
    }
  ]
}
```

Cada `decision` é `accepted` ou `rejected`. A resposta lista uma entrada por alerta
enviado, na ordem recebida. Um alerta pode aparecer apenas uma vez por requisição.

## Erros

| Status | Código                | Quando                                                                        |
| ------ | --------------------- | ----------------------------------------------------------------------------- |
| 400    | `parameter_invalid`   | `alertId` não é um identificador de alerta válido, ou o lote repete um alerta |
| 403    | `permission_denied`   | a chave de API não tem `scribe:write` nem `scribe:cdss`                       |
| 404    | `resource_not_found`  | o alerta não existe ou não está disponível para esta chave de API             |
| 409    | `resource_not_active` | o suporte à decisão clínica não está ativo para a consulta                    |
