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

# Buscar por ID

GET https://landing-zone-api.nilo.services/fhir/resources/Patient/{id}

Devolve o paciente pelo `id` Nilo FHIR. A resposta não é o `Patient` na raiz: é uma entrada com a mesma forma das entradas de `Bundle.entry` — `fullUrl`, `resource` e `search` — com o paciente em `resource`. Diferente da busca, não há envelope `Bundle` em volta.

Reference: https://api-docs.nilo.services/referencia/endpoints/patient/search-by-id

## Authentication

- `x-api-key` header (required) — API Key authentication via header

## Servers

- `https://landing-zone-api.nilo.services` (Production, default)
- `https://landing-zone-api.stg.nilo.services` (Staging)

## Request

### Path parameters

- `id` (string, required) — Identificador Nilo Fhir do registro que deve ser retornado.

## Response

### 200

Operação bem sucedida.

- `fullUrl` (string, required) — URL absoluta do recurso neste ambiente.
- `resource` (Patient, required) — O paciente.
- `search` (PatientEntrySearch, optional) — Constante com `mode` igual a `match`, herdada da forma de busca.

## Errors

### 400 Bad Request Error

Requisição inválida. A recusa de leitura **não** é um `OperationOutcome`: o corpo é um objeto com a lista `errors`.

- `errors` (list of string, optional)

### 404 Not Found Error

Não existe paciente com o `id` informado. O corpo é `{"detail": "Not found."}`.

- `detail` (string, optional)

## Types

### Patient

- `identifier` (list of Identifier, required) — Conjunto de identificadores do paciente (CPF, chave no seu sistema, ids Nilo). **Ao menos um é obrigatório**, e o `system` enviado precisa estar entre os namespaces habilitados para a sua unidade de cuidado na implantação — é por ele que a Nilo decide se cria um paciente novo ou atualiza um existente. O CPF usa o `system` `https://servicos.receita.fazenda.gov.br/servicos/cpf/` e deve ter exatamente 11 dígitos.
- `resourceType` (string, required, default: Patient) — Indica o tipo do recurso transacionado.
- `active` (boolean, optional) — Se o cadastro do paciente está em uso ativo. Traduz para o status do paciente no NiloCare conforme os padrões da unidade de cuidado. Se você também enviar a extensão `patient-status`, os dois precisam concordar.
- `address` (list of Address, optional) — Endereço residencial do paciente. Apenas o primeiro item é considerado. O logradouro é lido de `line`, nesta ordem: `line[0]` rua, `line[1]` número (`S/N` quando ausente) e `line[2]` complemento.
- `birthDate` (string, optional) — A data de nascimento do indivíduo.
- `contained` (list of Contained_Group, optional) — Grupos a que o paciente pertence, enviados como recursos contidos. Cada `Group` precisa já existir — a escrita é recusada se algum identificador não for encontrado. Use `contained` quando o paciente pertence a mais de um grupo; não combine com as extensões de grupo.
- `communication` (list of Patient_Communication, optional) — Idioma de comunicação com o paciente. Devolvido sempre como `pt-BR`; enviado na requisição, é ignorado.
- `deceasedDateTime` (string, optional) — A data e hora do falecimento do indivíduo.
- `extension` (list of PatientExtensionItems, optional) — Informações adicionais que não fazem parte da definição básica do recurso. Abaixo estão as extensões usadas no contexto Nilo; extensões externas a esse contexto são ignoradas.
- `gender` (enum, optional) — Sexo administrativo do paciente. Apenas `male` e `female` são gravados como enviados; `other` e `unknown` são gravados como `other`. Para identidade de gênero, use a extensão `patient-genderIdentity`. Único campo do recurso que não segue a regra da atualização parcial: **omitido, grava `other` por cima do sexo atual** em vez de preservá-lo. Reenvie-o em toda escrita. Na leitura ele nunca vem nulo.
  - Allowed values: `male`, `female`, `other`, `unknown`
- `id` (string, optional) — Só resposta: id do paciente no store FHIR, atribuído pela Nilo. É por ele que se faz a leitura direta. Enviado na requisição, é ignorado.
- `managingOrganization` (Reference, optional) — Unidade de cuidado responsável pelo paciente. Precisa referenciar uma unidade já cadastrada. Se omitida, vale a unidade que o paciente já tem ou, na criação, a unidade padrão do care provider.
- `maritalStatus` (CodeableConcept, optional) — Estado civil do paciente. Reconhece os códigos `S`, `M`, `D` e `W` de `v3-MaritalStatus` e `UNK` de `v3-NullFlavor`; qualquer outro código é gravado como `UNK`.
- `meta` (Meta, optional) — Só resposta: versão e data da última alteração do recurso no store FHIR.
- `name` (list of HumanName, optional) — Nomes do paciente. É **obrigatório** um item com `use: official` no cadastro — dele sai o nome legal, de `text` ou da junção de `given` e `family`. Um item com `use: usual` vira o nome social; preencher `period.end` nele apaga o nome social.
- `telecom` (list of ContactPoint, optional) — Contatos do paciente. O telefone passa por validação de elegibilidade para WhatsApp e um número reprovado recusa a escrita — a menos que venha com `use: old` ou `use: temp`, casos em que é apenas descartado. Envie assim os números de baixa confiança, para não sobrescrever um contato mais atual.

### PatientEntrySearch

Constante com `mode` igual a `match`, herdada da forma de busca.

- `mode` (string, optional)

### Identifier

Um identificador, código que identifica alguma entidade de forma única e inequívoca. Normalmente, isso é usado para identificadores de negócios.

- `system` (string, required) — O namespace para o valor do identificador. O cliente deve usar o seu próprio namespace.
- `value` (string, required) — O código de identificação único. Cliente deve usar o seu próprio.
- `use` (enum, optional) — A finalidade deste identificador.
  - Allowed values: `usual`, `official`, `temp`, `secondary`, `old`

### Address

Um endereço expresso usando convenções postais.

- `city` (string, optional) — O nome da cidade, vila, subúrbio, comunidade ou centro de entrega.
- `country` (string, optional) — Uma nação comumente entendida ou geralmente aceita.
- `district` (string, optional) — O nome da área administrativa.
- `line` (list of string, optional) — Este componente contém o número da casa, número do apartamento, nome da rua, direção da rua, número da caixa postal, dicas de entrega e informações de endereço semelhantes.
- `postalCode` (string, optional) — Um código postal (CEP) que designa uma região definida pelo serviço postal.
- `state` (string, optional) — Subunidade de um país (UF).
- `text` (string, optional) — Especifica o endereço completo como deve ser exibido, por exemplo, em uma etiqueta postal. Isso pode ser fornecido em vez de ou com as peças específicas.
- `type` (enum, optional) — Distingue entre endereços físicos (aqueles que você pode visitar) e endereços de correspondência (por exemplo, caixas postais e atendimento comercial). A maioria dos endereços são ambos.
  - Allowed values: `postal`, `physical`, `both`
- `use` (enum, optional) — A finalidade deste endereço.
  - Allowed values: `home`, `work`, `temp`, `old`, `billing`

### Contained_Group

- `resourceType` ("Group", required)
- `identifier` (list of Identifier, required)
- `type` ("person", required)
- `actual` (true, required)
- `name` (string, optional)

### Patient_Communication

Idioma principal de comunicação com o paciente.

- `language` (CodeableConcept, required) — Um CodeableConcept representa um valor geralmente fornecido como uma referência a terminologias ou ontologias, mas também pode ser definido pelo fornecimento de texto. Esse é um padrão comum em dados de saúde.
- `preferred` (boolean, optional) — Valor de "verdadeiro" ou "falso".

### PatientExtensionItems

- Extension-Patient-cadavericDonor: Extension-Patient-cadavericDonor
- Extension-Patient-genderIdentity: Extension-Patient-genderIdentity
- Extension-Patient-religion: Extension-Patient-religion
- Extension-Patient-isLead: Extension-Patient-isLead
- Extension-Patient-sendWelcomingMessage: Extension-Patient-sendWelcomingMessage
- Extension-Patient-createOnboardingScheduling: Extension-Patient-createOnboardingScheduling
- Extension-Patient-status: Extension-Patient-status
- Extension-Patient-group: Extension-Patient-group
- Extension-Patient-cohort: Extension-Patient-cohort
- Extension-Patient-paths: Extension-Patient-paths

### Reference

Uma referência de um recurso para outro.

- `identifier` (Identifier, required) — Um identificador, código que identifica alguma entidade de forma única e inequívoca. Normalmente, isso é usado para identificadores de negócios.
- `type` (string, required) — Indica o tipo do recurso referenciado.
- `display` (string, optional) — Alternativa textual para descrever a referência.
- `reference` (string, optional) — Referência direta.

### CodeableConcept

Um CodeableConcept representa um valor geralmente fornecido como uma referência a terminologias ou ontologias, mas também pode ser definido pelo fornecimento de texto. Esse é um padrão comum em dados de saúde.

- `coding` (list of Coding, optional) — Código definido por um sistema de terminologia.
- `text` (string, optional) — Representação de texto simples do conceito.

### Meta

Os metadados sobre um recurso. Este conteúdo do recurso é normalmente mantido pelo sistema gestor do registro.

- `lastUpdated` (string, optional) — Um instante no tempo (necessário conhecer pelo menos até o nível de segundos).
- `versionId` (string, optional) — Qualquer combinação de letras, números, "-" e ".", com um limite de 64 caracteres. (Pode ser um número inteiro, um OID não prefixado, UUID ou qualquer outro padrão de identificador que atenda a essas restrições.) Os IDs não diferenciam maiúsculas de minúsculas.

### HumanName

Um nome de um humano com texto, peças e informações de uso.

- `family` (string, optional) — Nome de família (muitas vezes chamado 'Sobrenome')
- `given` (list of string, optional) — Nome (sem sobrenome), particionado e ordenado.
- `period` (Period, optional) — Intervalo em que o nome era ou é válido. No `Patient`, preencher `period.end` num nome com `use: usual` é o que **apaga** o nome social — qualquer data serve, é a presença do campo que remove o valor.
- `text` (string, optional) — Representação de texto do nome completo
- `use` (enum, optional) — Identifica a finalidade deste nome.
  - Allowed values: `usual`, `official`, `temp`, `nickname`, `anonymous`, `old`, `maiden`

### ContactPoint

Detalhes para todos os tipos de pontos de contato mediados por tecnologia para uma pessoa ou organização, incluindo telefone, e-mail, etc.

- `system` (enum, optional) — Meio tecnológico de contato.
  - Allowed values: `phone`, `fax`, `email`, `pager`, `url`, `sms`, `other`
- `use` (enum, optional) — Identifica a finalidade do ponto de contato.
  - Allowed values: `home`, `work`, `temp`, `old`, `mobile`
- `value` (string, optional) — Os detalhes reais do ponto de contato.

### Extension-Patient-cadavericDonor

Sinalizador indicando se o paciente autorizou a doação de partes do corpo após a morte.

- `url` (string, optional, default: http://hl7.org/fhir/StructureDefinition/patient-cadavericDonor) — Identifica o significado da extensão.
- `valueBoolean` (boolean, optional, default: false) — Valor da extensão.

### Extension-Patient-genderIdentity

O gênero com o qual o paciente se identifica. A identidade de gênero do paciente é usada como orientação (por exemplo, para a equipe) sobre como interagir com o paciente.

- `url` (string, optional, default: http://hl7.org/fhir/StructureDefinition/patient-genderIdentity) — Identifica o significado da extensão.
- `valueCodeableConcept` (CodeableConcept, optional) — Valor da extensão.

### Extension-Patient-religion

Espiritualidade ou afiliação religiosa declarada pelo paciente. Texto livre: o valor é lido e devolvido em `valueCodeableConcept.text`, sem catálogo de códigos. Um `coding` enviado aqui não tem efeito.

- `url` (string, optional, default: http://hl7.org/fhir/StructureDefinition/patient-religion) — Identifica o significado da extensão. Esta é a URL que a API devolve nas leituras; no envio, use `https://landing-zone-api.nilo.services/fhir/resources/StructureDefinition/patient-religion` — a escrita só reconhece essa forma.
- `valueCodeableConcept` (CodeableConcept, optional) — Valor da extensão. Apenas `text` é considerado, no envio e na resposta.

### Extension-Patient-isLead

Marca o cadastro como pré-cadastro: `true` indica que o paciente ainda não aceitou os termos de uso e por isso não é um paciente ativo. Quando a aceitação dos termos não é exigida na sua implantação, o cadastro nasce ativo de qualquer forma. Omitida, vale o padrão configurado para a unidade de cuidado.

- `url` (string, optional, default: https://landing-zone-api.nilo.services/fhir/resources/StructureDefinition/patient-isLead) — Identifica o significado da extensão.
- `valueBoolean` (boolean, optional) — Valor de "verdadeiro" ou "falso".

### Extension-Patient-sendWelcomingMessage

Indica se o paciente deve receber uma mensagem de boas-vindas no momento do cadastro. É **obrigatória**, a menos que a unidade de cuidado tenha um padrão configurado — sem nenhum dos dois, a escrita é recusada.

- `url` (string, optional, default: https://landing-zone-api.nilo.services/fhir/resources/StructureDefinition/patient-sendWelcomingMessage) — Identifica o significado da extensão.
- `valueBoolean` (boolean, optional) — Valor de "verdadeiro" ou "falso".

### Extension-Patient-createOnboardingScheduling

Indica se o paciente fica liberado para agendar a consulta inicial no momento do cadastro. É **obrigatória**, a menos que a unidade de cuidado tenha um padrão configurado — sem nenhum dos dois, a escrita é recusada.

- `url` (string, optional, default: https://landing-zone-api.nilo.services/fhir/resources/StructureDefinition/patient-createOnboardingScheduling) — Identifica o significado da extensão.
- `valueBoolean` (boolean, optional) — Valor de "verdadeiro" ou "falso".

### Extension-Patient-status

Status do paciente no fluxo do NiloCare. O valor é o id de um status cadastrado para o seu care provider. Quando omitida, o status é deduzido de `active` e dos padrões configurados para a unidade de cuidado.

- `url` (string, optional, default: https://landing-zone-api.nilo.services/fhir/resources/StructureDefinition/patient-status) — Identifica o significado da extensão.
- `valueString` (string, optional) — Id do status do paciente.

### Extension-Patient-group

Grupo a que o paciente pertence, indicado por qualquer identificador de um `Group` já cadastrado — inclusive o do seu próprio sistema. O `Group` precisa existir antes; se nenhum for encontrado, a escrita é recusada. Aceita um único grupo: para associar o paciente a mais de um, use `contained` com vários `Group`.

- `url` (string, optional, default: https://landing-zone-api.nilo.services/fhir/resources/Group) — Identifica o significado da extensão.
- `valueIdentifier` (Identifier, optional) — Identificador de um `Group` já cadastrado.

### Extension-Patient-cohort

**Legada.** Indica o grupo a que o paciente pertence pelo id interno Nilo do grupo. Prefira `Extension-Patient-group`, que aceita o identificador do seu próprio sistema, ou `contained` com um `Group`, que permite mais de um grupo. Enviar grupo pela extensão e por `contained` ao mesmo tempo é recusado.

- `url` (string, optional, default: https://landing-zone-api.nilo.services/fhir/resources/StructureDefinition/patient-cohort) — Identifica o significado da extensão.
- `valueIdentifier` (Identifier, optional) — Identificador Nilo do grupo.

### Extension-Patient-paths

Atalhos para o paciente dentro do NiloCare. Devolvida pela API quando o care provider tem um domínio `nilocare.app` configurado; é ignorada na escrita.

- `url` (string, optional, default: https://landing-zone-api.nilo.services/fhir/resources/StructureDefinition/patient-paths) — Identifica o significado da extensão.
- `extension` (list of ExtensionPatientPathsExtensionItems, optional) — Sub-extensões com cada atalho.

### Coding

Código definido por um sistema de terminologia.

- `code` (string, optional) — Código de identificação de um termo no sistema terminológico.
- `display` (string, optional) — Representação textual definida pelo sistema terminológico.
- `system` (string, optional) — Identidade do sistema terminológico.

### Period

Um intervalo de tempo definido por uma data de início e término e, opcionalmente, horas para ambos.

- `end` (string, optional) — Uma data, data-hora ou data parcial (por exemplo, apenas ano ou ano + mês).
- `start` (string, optional) — Uma data, data-hora ou data parcial (por exemplo, apenas ano ou ano + mês).

### ExtensionPatientPathsExtensionItems

- `url` (string, optional, default: https://landing-zone-api.nilo.services/fhir/resources/StructureDefinition/patient-paths-home) — Atalho para a ficha do paciente.
- `valueUrl` (string, optional) — Endereço da ficha do paciente no NiloCare.

## Examples

**Response**

```json
{
  "fullUrl": "https://landing-zone-api.nilo.services/fhir/resources/Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4",
  "resource": {
    "identifier": [
      {
        "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/hippocrates-api--patient",
        "value": "48210",
        "use": "usual"
      },
      {
        "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/care-api--patient-v2-token",
        "value": "0f1c2d3e-4a5b-6c7d-8e9f-a0b1c2d3e4f5",
        "use": "usual"
      },
      {
        "system": "https://www.acmesaude.com.br/integracao/paciente/",
        "value": "507823709",
        "use": "usual"
      },
      {
        "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/care-api--patient-v2",
        "value": "31502",
        "use": "usual"
      }
    ],
    "resourceType": "Patient",
    "active": true,
    "birthDate": "1974-12-25",
    "contained": [
      {
        "resourceType": "Group",
        "identifier": [
          {
            "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/sorting-hat-api--cohort",
            "value": "904",
            "use": "usual"
          },
          {
            "system": "https://www.acmesaude.com.br/integracao/grupo/",
            "value": "diabeticos-tipo-2",
            "use": "usual"
          }
        ],
        "type": "person",
        "actual": true,
        "name": "Diabéticos tipo 2"
      }
    ],
    "communication": [
      {
        "language": {
          "coding": [
            {
              "code": "pt-BR",
              "display": "Portuguese (Brazil)",
              "system": "urn:ietf:bcp:47"
            }
          ]
        },
        "preferred": true
      }
    ],
    "extension": [
      {
        "url": "http://hl7.org/fhir/StructureDefinition/patient-genderIdentity",
        "valueCodeableConcept": {
          "coding": [
            {
              "code": "non-disclose",
              "display": "does not wish to disclose",
              "system": "http://hl7.org/fhir/gender-identity"
            }
          ]
        }
      },
      {
        "url": "https://landing-zone-api.nilo.services/fhir/resources/StructureDefinition/patient-cohort",
        "valueIdentifier": {
          "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/sorting-hat-api--cohort",
          "use": "usual",
          "value": "904"
        }
      },
      {
        "extension": [
          {
            "url": "https://landing-zone-api.nilo.services/fhir/resources/StructureDefinition/patient-paths-home",
            "valueUrl": "https://acme.nilocare.app/patients/48210"
          }
        ],
        "url": "https://landing-zone-api.nilo.services/fhir/resources/StructureDefinition/patient-paths"
      }
    ],
    "gender": "male",
    "id": "ba200cfa-dae0-46cf-81a0-008e3f7414b4",
    "meta": {
      "lastUpdated": "2026-08-06T13:04:12.905000Z",
      "versionId": "MTc4NjAyMTQ1MjkwNTAwMDM2Nw"
    },
    "name": [
      {
        "family": "Silveira",
        "given": [
          "João"
        ],
        "text": "João Silveira",
        "use": "official"
      }
    ]
  },
  "search": {
    "mode": "match"
  }
}
```

**SDK Code**

```python Paciente encontrado
import requests

url = "https://landing-zone-api.nilo.services/fhir/resources/Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4"

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

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

print(response.json())
```

```javascript Paciente encontrado
const url = 'https://landing-zone-api.nilo.services/fhir/resources/Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4';
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);
}
```

```go Paciente encontrado
package main

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

func main() {

	url := "https://landing-zone-api.nilo.services/fhir/resources/Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4"

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

}
```

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

url = URI("https://landing-zone-api.nilo.services/fhir/resources/Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4")

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

```java Paciente 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/Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4")
  .header("x-api-key", "<apiKey>")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://landing-zone-api.nilo.services/fhir/resources/Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4', [
  'headers' => [
    'x-api-key' => '<apiKey>',
  ],
]);

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

```csharp Paciente encontrado
using RestSharp;

var client = new RestClient("https://landing-zone-api.nilo.services/fhir/resources/Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4");
var request = new RestRequest(Method.GET);
request.AddHeader("x-api-key", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift Paciente encontrado
import Foundation

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

let request = NSMutableURLRequest(url: NSURL(string: "https://landing-zone-api.nilo.services/fhir/resources/Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4")! 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()
```