> 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/Procedure/{id}

Reference: https://api-docs.nilo.services/referencia/endpoints/procedure/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` (Procedure, required) — O procedimento.
- `search` (ProcedureEntrySearch, optional) — Constante com `mode` igual a `match`, herdada da forma de busca.

## Errors

### 400 Bad Request Error

Parâmetro enviado inválido.

- `issue` (list of OperationOutcomeIssueItems, required) — Uma coleção de mensagens de erro, aviso ou informação que resultado de uma ação do sistema.
- `resourceType` (string, required, default: OperationOutcome) — Indica o tipo do recurso transacionado.

### 404 Not Found Error

Não existe procedimento com o `id` informado.

- `any`

## Types

### Procedure

Procedimento cirúrgico do paciente: o que foi feito, por quem, onde e quando. Na plataforma é uma **cirurgia** na linha de eventos do paciente.

- `resourceType` (string, required, default: Procedure) — Indica o tipo do recurso transacionado.
- `identifier` (list of Identifier, required) — Suas chaves do procedimento. **Obrigatório na escrita**: é por elas que a API decide entre criar e atualizar. A leitura devolve o seu identificador ao lado do identificador Nilo do procedimento, no `system` `.../NamingSystem/hippocrates-api--patient-surgery`.
- `status` (string, required) — Exigido pelo FHIR R4. É gravado e devolvido **como você enviar** — a plataforma não o confere contra o `performedPeriod`. Ela tem o seu próprio cálculo (`preparation`/`in-progress`/`completed`), que só substitui o seu quando a equipe edita o procedimento no Nilo Care. Não use este campo para saber se o procedimento já aconteceu: compare o `performedPeriod` com a data de hoje.
- `code` (Procedure_Code, required) — O procedimento em si, por um código TUSS ou da Tabela SUS. **Obrigatório na escrita.**
- `subject` (Procedure_Subject, required) — O paciente do procedimento, por um identificador dele. **Obrigatório na escrita.**
- `performer` (list of Procedure_Performer, required) — O profissional que realizou o procedimento. **Obrigatório na escrita**, e só o primeiro item é lido.
- `location` (Procedure_Location, required) — Onde o procedimento foi feito. **Obrigatório na escrita**, em texto livre de até 500 caracteres.
- `performedPeriod` (Period, required) — Início e fim do procedimento. **Obrigatório na escrita, e os dois extremos são exigidos.**
- `id` (string, optional) — Só resposta: identificador Nilo FHIR do procedimento.
- `meta` (Meta, optional) — Só resposta: metadados da gravação.
- `bodySite` (list of Procedure_BodySite, optional) — Lateralidade do procedimento, num único item, com um dos três códigos SNOMED aceitos. Não é o sítio anatômico.
- `note` (list of Annotation, optional) — Informações adicionais. Os itens voltam na leitura como você os enviou; no Nilo Care eles são exibidos como um texto só, com quebras de linha entre os itens.

### ProcedureEntrySearch

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

- `mode` (string, optional)

### OperationOutcomeIssueItems

Uma mensagem de erro, aviso ou informação que resultado de uma ação do sistema.

- `code` (enum, optional) — Descreve o tipo do problema.
  - Allowed values: `invalid`, `structure`, `required`, `value`, `invariant`, `security`, `login`, `unknown`, `expired`, `forbidden`, `suppressed`, `processing`, `not-supported`, `duplicate`, `multiple-matches`, `not-found`, `deleted`, `too-long`, `code-invalid`, `extension`, `too-costly`, `business-rule`, `conflict`, `transient`, `lock-error`, `no-store`, `exception`, `timeout`, `incomplete`, `throttled`, `informational`
- `details` (CodeableConcept, optional) — Detalhes adicionais sobre os códigos de resultado da operação de erro.
- `diagnostics` (string, optional) — Informações de diagnóstico adicionais sobre o problema
- `expression` (list of string, optional) — FHIR Path (caminho) do(s) elemento(s) relacionado(s) ao problema.
- `severity` (enum, optional) — Indica o resultado do processamento apesar do problema indicado.
  - Allowed values: `fatal`, `error`, `warning`, `information`

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

### Procedure_Code

O procedimento, por código TUSS ou da Tabela SUS.

- `coding` (list of Procedure_Code_Coding, required) — Só o **primeiro** item é lido, e o `system` dele tem de ser um dos dois aceitos.

### Procedure_Subject

Referência ao paciente do procedimento.

- `identifier` (Identifier, required) — O identificador do paciente. Precisa resolver para um paciente do seu ambiente.
- `reference` (string, optional) — O caminho relativo do paciente. Só aparece nos procedimentos originados no Nilo Care — num criado por integração, a referência volta só com o `identifier` que você mandou.
- `type` (enum, optional) — Constante `Patient`.
  - Allowed values: `Patient`

### Procedure_Performer

Quem realizou o procedimento.

- `actor` (Procedure_Performer_Actor, required) — O profissional, por um identificador dele. **Obrigatório.**

### Procedure_Location

Onde o procedimento foi feito. Guardado como **texto**, não como vínculo com um local cadastrado.

- `display` (string, optional) — O local, em texto livre. É o caminho recomendado, e tem precedência sobre o `identifier`.
- `identifier` (Identifier, optional) — Só por compatibilidade: o identificador de um local de atendimento já cadastrado, cujo **nome** é o que a equipe passa a ver na ficha. Mandando só isto, é isto que a leitura devolve — o `display` não é preenchido a partir dele, e quem consome o recurso fica sem o nome do local.

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

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

### Procedure_BodySite

Lateralidade do procedimento.

- `coding` (list of Procedure_BodySite_Coding, required) — Só o **primeiro** item é lido.

### Annotation

Uma nota de texto que também contém informações sobre quem fez o declaração e quando.

- `authorReference` (Reference, optional) — O indivíduo responsável por fazer a anotação.
- `text` (string, optional) — O conteúdo da anotação.
- `time` (string, optional) — Quando a anotação foi feita.

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

### Procedure_Code_Coding

Código do procedimento.

- `system` (string, required) — A tabela do código. Só estes dois são aceitos na escrita; qualquer outro recusa a chamada.
- `code` (string, required) — O código do procedimento na tabela informada. Precisa existir no catálogo da plataforma.
- `display` (string, optional) — Nome do procedimento. Guardado e devolvido como veio, e sem efeito: quem identifica o procedimento é o par `system` + `code`. O nome do catálogo, que a equipe vê na tela, só aparece aqui nos procedimentos criados dentro do Nilo Care.

### Procedure_Performer_Actor

Referência ao profissional que realizou o procedimento.

- `identifier` (Identifier, required) — O identificador do profissional. Precisa resolver para um profissional do seu ambiente.
- `reference` (string, optional) — O caminho relativo do profissional. Só aparece nos procedimentos originados no Nilo Care — num criado por integração, a referência volta só com o `identifier` que você mandou.
- `type` (enum, optional) — Constante `Practitioner`.
  - Allowed values: `Practitioner`

### Procedure_BodySite_Coding

Código SNOMED da lateralidade.

- `code` (string, required) — `24028007` para o lado direito, `7771000` para o esquerdo, `51440002` para bilateral. Qualquer outro código recusa a chamada.
- `system` (string, optional) — Constante SNOMED CT.

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

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

## Examples

**Response**

```json
{
  "fullUrl": "https://landing-zone-api.nilo.services/fhir/resources/Procedure/72c4e0a8-3f95-4b17-8d63-01ae9c528f4b",
  "resource": {
    "resourceType": "Procedure",
    "identifier": [
      {
        "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/hippocrates-api--patient-surgery",
        "value": "31805",
        "use": "usual"
      },
      {
        "system": "https://www.acmesaude.com.br/integracao/procedimento/",
        "value": "55162",
        "use": "usual"
      }
    ],
    "status": "completed",
    "code": {
      "coding": [
        {
          "system": "https://fhir.ans.gov.br/CodeSystem/tuss-63",
          "code": "20103182"
        }
      ]
    },
    "subject": {
      "identifier": {
        "system": "https://www.acmesaude.com.br/integracao/paciente/",
        "value": "507823709",
        "use": "usual"
      },
      "type": "Patient"
    },
    "performer": [
      {
        "actor": {
          "identifier": {
            "system": "https://www.acmesaude.com.br/integracao/profissional/",
            "value": "5032932",
            "use": "usual"
          },
          "type": "Practitioner"
        }
      }
    ],
    "location": {
      "display": "Hospital Central Acme"
    },
    "performedPeriod": {
      "end": "2026-04-16T20:30:00+00:00",
      "start": "2026-04-16T17:00:00+00:00"
    },
    "id": "72c4e0a8-3f95-4b17-8d63-01ae9c528f4b",
    "meta": {
      "lastUpdated": "2026-04-16T20:35:12.441000Z",
      "versionId": "MTc4NjAyMTQ1MjkwNTAwMDM2Nw"
    },
    "note": [
      {
        "text": "Paciente em jejum desde as 22h."
      }
    ]
  },
  "search": {
    "mode": "match"
  }
}
```

**SDK Code**

```python Procedimento encontrado
import requests

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

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

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

print(response.json())
```

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

```go Procedimento encontrado
package main

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

func main() {

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

}
```

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

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

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

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

$client = new \GuzzleHttp\Client();

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

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

```csharp Procedimento encontrado
using RestSharp;

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

```swift Procedimento encontrado
import Foundation

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

let request = NSMutableURLRequest(url: NSURL(string: "https://landing-zone-api.nilo.services/fhir/resources/Procedure/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()
```