# FHIR (Beta)

{% hint style="info" %}
O conector FHIR está atualmente em fase beta. Entenda mais sobre o [Programa Beta](https://app.gitbook.com/s/cO0A6g1dOsu8BiHYqO67/help-and-faq/beta-program).
{% endhint %}

O **FHIR** é integrado ao [HAPI-FHIR](https://hapifhir.io/), uma biblioteca de código aberto que implementa a especificação FHIR (Fast Healthcare Interoperability Resources). Seu principal objetivo é permitir a comunicação fluida entre sistemas de saúde, viabilizando a troca, recuperação e gestão de dados compatíveis com o FHIR.

## **Parâmetros**

Dê uma olhada nos parâmetros de configuração do conector. Parâmetros suportados por [expressões Double Braces](https://docs.digibee.com/documentation/connectors-and-triggers/pt-br/double-braces/overview) estão marcados com `(DB)`.

### **Aba General**

<table data-full-width="true"><thead><tr><th>Parâmetro</th><th>Descrição</th><th>Valor padrão</th><th>Tipo de dado</th></tr></thead><tbody><tr><td><strong>Account</strong></td><td>A conta usada pelo conector. Tipo suportado: <a href="https://app.gitbook.com/s/cO0A6g1dOsu8BiHYqO67/platform-administration/settings/accounts#tipos-de-contas"><strong>Basic</strong></a>.</td><td>N/A</td><td>Account</td></tr><tr><td><strong>Fail On Error</strong></td><td>Se a opção for ativada, a execução do pipeline com erro será interrompida. Caso contrário, a execução do pipeline continua, mas o resultado mostrará um valor falso para a propriedade <code>"success"</code>.</td><td>False</td><td>Booleano</td></tr></tbody></table>

### **Aba Host**

<table data-full-width="true"><thead><tr><th>Parâmetro</th><th>Descrição</th><th>Valor padrão</th><th>Tipo de dado</th></tr></thead><tbody><tr><td><strong>Host</strong> <code>(DB)</code></td><td>A URL base do servidor FHIR.</td><td>N/A</td><td>String</td></tr><tr><td><strong>Path</strong></td><td>O recurso ou endpoint específico do FHIR a ser acessado. Com base no caminho selecionado, opções adicionais podem estar disponíveis para configurar parâmetros de consulta ou outras configurações necessárias. Para detalhes sobre cada endpoint, consulte a documentação do <a href="https://hapi.fhir.org/baseR4/swagger-ui/">HAPI FHIR</a>.</td><td>N/A</td><td>String</td></tr><tr><td><strong>Method</strong></td><td>O método HTTP usado para a solicitação.</td><td>N/A</td><td>String</td></tr></tbody></table>

### **Aba Settings**

<table data-full-width="true"><thead><tr><th>Parâmetro</th><th>Descrição</th><th>Valor padrão</th><th>Tipo de dado</th></tr></thead><tbody><tr><td><strong>Connect Timeout (ms)</strong></td><td>Tempo máximo permitido para estabelecer uma conexão, em milissegundos.</td><td>30000</td><td>Integer</td></tr><tr><td><strong>Read Timeout (ms)</strong></td><td>Tempo máximo permitido para ler dados, em milissegundos.</td><td>30000</td><td>Integer</td></tr><tr><td><strong>Stop on Client Error</strong></td><td>Quando ativado, interrompe a execução do pipeline se ocorrer um erro HTTP 4xx.</td><td>False</td><td>Booleano</td></tr><tr><td><strong>Stop on Server Error</strong></td><td>Quando ativado, interrompe a execução do pipeline se ocorrer um erro HTTP 5xx.</td><td>False</td><td>Booleano</td></tr><tr><td><strong>Override Response Charset</strong></td><td>Quando ativado, substitui o charset retornado pelo endpoint especificado na propriedade <strong>Response Charset</strong>. Caso contrário, o charset do cabeçalho <strong>Content-Type</strong> é usado.</td><td>True</td><td>Booleano</td></tr><tr><td><strong>Response Charset</strong></td><td>Define o charset a ser utilizado quando <strong>Override Response Charset</strong> estiver ativado. Padrão: UTF-8.</td><td>UTF-8</td><td>String</td></tr><tr><td><strong>Advanced Settings</strong></td><td>Ativa opções de configuração adicionais.</td><td>False</td><td>Booleano</td></tr><tr><td><strong>Raw Mode</strong></td><td>Quando ativado, permite o envio ou recebimento de um payload não-JSON.</td><td>False</td><td>Booleano</td></tr><tr><td><strong>Save as Local File</strong></td><td>Quando ativado, salva a resposta como um arquivo no diretório local do pipeline.</td><td>False</td><td>Booleano</td></tr><tr><td><strong>Allow Insecure Endpoints</strong></td><td>Quando ativado, permite chamadas para endpoints HTTPS sem aplicar verificações de segurança.</td><td>False</td><td>Booleano</td></tr><tr><td><strong>Enable Retries</strong></td><td>Quando ativado, tenta repetir as solicitações em caso de erros do servidor.</td><td>False</td><td>Booleano</td></tr><tr><td><strong>Compress Body with GZIP</strong></td><td>Quando ativado, compacta o corpo da solicitação usando GZIP.</td><td>False</td><td>Booleano</td></tr><tr><td><strong>Force HTTP 1.1</strong></td><td>Quando ativado, força a solicitação a usar HTTP 1.1.</td><td>False</td><td>Booleano</td></tr><tr><td><strong>Disable Connection Pooling</strong></td><td>Quando ativado, impede que as conexões sejam reutilizadas. Recomendado para endpoints com problemas de reutilização de conexões.</td><td>False</td><td>Booleano</td></tr><tr><td><strong>Invalidate SSL Sessions on Every Call</strong></td><td>Quando ativado, invalida as sessões SSL para cada solicitação. Recomendado para endpoints com problemas de reutilização de sessões SSL. Esta configuração torna o conector de thread único, o que significa que todas as execuções serão executadas sequencialmente para o mesmo conector REST no pipeline.</td><td>False</td><td>Booleano</td></tr></tbody></table>

### **Aba Documentation**

<table data-full-width="true"><thead><tr><th>Parâmetro</th><th>Descrição</th><th>Valor padrão</th><th>Tipo de dado</th></tr></thead><tbody><tr><td><strong>Documentation</strong></td><td>Seção para documentar qualquer informação necessária sobre a configuração do conector e regras de negócio.</td><td>N/A</td><td>String</td></tr></tbody></table>

## **Exemplos de uso do FHIR**

### **Recuperar paciente por ID**

#### **Configuração do conector**

* **Host:** <https://hapi.fhir.org/baseR4/>
* **Path:** `/Patient/{id}`
* **Method:** `GET`
* **Query {id}:** `596573`

#### **Saída**

```json
{
  "status": 200,
  "statusMessage": "OK",
  "body": {
    "resourceType": "Patient",
    "id": "596573",
    "meta": {
      "versionId": "1",
      "lastUpdated": "2020-02-02T05:20:18.739+00:00",
      "source": "#0ozhPzMD54KooHNz"
    },
    "text": {
      "status": "generated",
      "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><div class=\"hapiHeaderText\">Atomic <b>DOG </b></div><table class=\"hapiPropertyTable\"><tbody><tr><td>Address</td><td><span>yesLine </span><br/><span>NoDogCatchers </span><span>Land </span><span>Dogville </span></td></tr><tr><td>Date of birth</td><td><span>07 March 3000</span></td></tr></tbody></table></div>"
    },
    "name": [
      {
        "family": "Dog",
        "given": [
          "Atomic"
        ]
      }
    ],
    "telecom": [
      {
        "system": "phone",
        "value": "5555555555",
        "use": "mobile"
      }
    ],
    "gender": "male",
    "birthDate": "3000-03-07T22:00:00.00Z",
    "address": [
      {
        "use": "home",
        "line": [
          "yesLine"
        ],
        "city": "NoDogCatchers",
        "state": "Land",
        "postalCode": "12345",
        "country": "Dogville"
      }
    ]
  },
  "headers": {
    "Connection": "keep-alive",
    "Content-Location": "https://hapi.fhir.org/baseR4/Patient/596573/_history/1",
    "Content-Type": "application/fhir+json;charset=utf-8",
    "Date": "Fri, 21 Feb 2025 12:50:44 GMT",
    "ETag": "W/\"1\"",
    "Last-Modified": "Sun, 02 Feb 2020 05:20:18 GMT",
    "Server": "nginx/1.24.0 (Ubuntu)",
    "Transfer-Encoding": "chunked",
    "X-Powered-By": "HAPI FHIR 7.7.15-SNAPSHOT/3594770bf6/2024-12-21 REST Server (FHIR Server; FHIR 4.0.1/R4)",
    "X-Request-ID": "kVmj43rHoE0xtUfb"
  }
}
```

### **Pesquisar paciente por nome**

#### **Configuração do conector**

* **Host:** <https://hapi.fhir.org/baseR4/>
* **Path:** `/Patient`
* **Method:** `GET`
* **Query {name}:** `Smith`

#### **Saída**

```json
{
  "status": 200,
  "statusMessage": "OK",
  "body": {
    "resourceType": "Bundle",
    "id": "756a0990-9d0f-4e8b-b39b-0dddd683471f",
    "meta": {
      "lastUpdated": "2025-02-21T13:29:38.190+00:00"
    },
    "type": "searchset",
    "link": [
      {
        "relation": "self",
        "url": "https://hapi.fhir.org/baseR4/Patient?name=Smith"
      },
      {
        "relation": "next",
        "url": "https://hapi.fhir.org/baseR4?_getpages=756a0990-9d0f-4e8b-b39b-0dddd683471f&_getpagesoffset=20&_count=20&_pretty=true&_bundletype=searchset"
      }
    ],
    "entry": [
      {
        "fullUrl": "https://hapi.fhir.org/baseR4/Patient/pat2",
        "resource": {
          "resourceType": "Patient",
          "id": "pat2",
          "meta": {
            "versionId": "6",
            "lastUpdated": "2025-02-03T10:47:21.221+00:00",
            "source": "#n1HxCzy7fO78KKI0",
            "security": [
              {
                "system": "http://essai.abcfg.com/",
                "code": "code1",
                "display": "coded1"
              }
            ],
            "tag": [
              {
                "system": "http://essai.abcfg.com/",
                "code": "tag1",
                "display": "tagd1"
              }
            ]
          },
          "text": {
            "status": "generated",
            "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><div class=\"hapiHeaderText\">John <b>SMITH </b></div><table class=\"hapiPropertyTable\"><tbody><tr><td>Date of birth</td><td><span>15 March 1985</span></td></tr></tbody></table></div>"
          },
          "name": [
            {
              "use": "official",
              "family": "Smith",
              "given": [
                "John"
              ]
            }
          ],
          "gender": "male",
          "birthDate": "1985-03-15"
        },
        "search": {
          "mode": "match"
        }
      }
]
  },
  "headers": {
    "Connection": "keep-alive",
    "Content-Type": "application/fhir+json;charset=utf-8",
    "Date": "Fri, 21 Feb 2025 13:29:38 GMT",
    "Last-Modified": "Fri, 21 Feb 2025 13:29:38 GMT",
    "Server": "nginx/1.24.0 (Ubuntu)",
    "Transfer-Encoding": "chunked",
    "X-Powered-By": "HAPI FHIR 7.7.15-SNAPSHOT/3594770bf6/2024-12-21 REST Server (FHIR Server; FHIR 4.0.1/R4)",
    "X-Request-ID": "DysuUQsEQw3PuYNs"
  }
}
```

### **Criar um novo paciente**

#### **Configuração do conector**

* **Host:** <https://hapi.fhir.org/baseR4/>
* **Path:** `/Patient`
* **Method:** `POST`
* **Full Body:** `True`
* **Body:**

```json
{
  "resourceType": "Patient",
  "name": [
    {
      "family": "Doe",
      "given": ["Jane"]
    }
  ],
  "gender": "female",
  "birthDate": "1992-04-15"
}
```

#### **Saída**

```json
{
  "status": 201,
  "statusMessage": "Created",
  "body": {
    "resourceType": "Patient",
    "id": "46273031",
    "meta": {
      "versionId": "1",
      "lastUpdated": "2025-02-21T13:33:27.853+00:00",
      "source": "#2wPqcc0VrXJIvR2o"
    },
    "text": {
      "status": "generated",
      "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><div class=\"hapiHeaderText\">Jane <b>DOE </b></div><table class=\"hapiPropertyTable\"><tbody><tr><td>Date of birth</td><td><span>15 April 1992</span></td></tr></tbody></table></div>"
    },
    "name": [
      {
        "family": "Doe",
        "given": [
          "Jane"
        ]
      }
    ],
    "gender": "female",
    "birthDate": "1992-04-15"
  },
  "headers": {
    "Connection": "keep-alive",
    "Content-Location": "https://hapi.fhir.org/baseR4/Patient/46273031/_history/1",
    "Content-Type": "application/fhir+json;charset=utf-8",
    "Date": "Fri, 21 Feb 2025 13:33:27 GMT",
    "ETag": "W/\"1\"",
    "Last-Modified": "Fri, 21 Feb 2025 13:33:27 GMT",
    "Location": "https://hapi.fhir.org/baseR4/Patient/46273031/_history/1",
    "Server": "nginx/1.24.0 (Ubuntu)",
    "Transfer-Encoding": "chunked",
    "X-Powered-By": "HAPI FHIR 7.7.15-SNAPSHOT/3594770bf6/2024-12-21 REST Server (FHIR Server; FHIR 4.0.1/R4)",
    "X-Request-ID": "2wPqcc0VrXJIvR2o"
  }
}
```
