# Como montar uma mensagem HL7

Montar uma mensagem HL7 envolve a criação de um formato específico que inclui um cabeçalho (header) e segmentos de conteúdo. Os segmentos são separados por carriage return (), e cada segmento contém campos que são separados por caracteres pipe (`|`). Além disso, se os campos contiverem subcampos, eles são separados por caret (`^`).

## **Passo a passo para construção da mensagem**

{% stepper %}
{% step %}

### **Criando o Segmento MSH (Message Header)**

O primeiro segmento em qualquer mensagem HL7 é o **MSH**, que define as informações básicas sobre a mensagem. A estrutura do MSH geralmente inclui os seguintes campos:

* **MSH-1:** Field Separator – Separador de campo (geralmente “`|`”)
* **MSH-2:** Encoding Characters – Caracteres de codificação (geralmente “`^~&`”)
* **MSH-3:** Sending Application – Aplicação de envio
* **MSH-4:** Sending Facility – Instalação de envio
* **MSH-5:** Receiving Application – Aplicação de recebimento
* **MSH-6:** Receiving Facility – Instalação de recebimento
* **MSH-7:** Date/Time of Message – Data/hora da mensagem
* **MSH-8:** Security – Segurança
* **MSH-9:** Message Type – Tipo de mensagem (exemplo: `ADT^A01`)
* **MSH-10:** Message Control ID – ID de controle da mensagem
* **MSH-11:** Processing ID – ID de processamento
* **MSH-12:** Version ID – ID da versão

Um exemplo de como isso pode ser formatado é:

{% code overflow="wrap" %}

```
MSH|^~&|SendingApp|SendingFacility|ReceivingApp|ReceivingFacility|20241109120000||ADT^A01|123456|P|2.3|
```

{% endcode %}
{% endstep %}

{% step %}

### Criando outros segmentos

Após o MSH, você pode adicionar outros segmentos conforme necessário. Um exemplo comum é o **PID** (Patient Identification), que contém informações sobre o paciente.

Exemplo do segmento PID:

{% code overflow="wrap" %}

```
PID|1||123456^^^Hospital^MR||Doe^John^^^Mr.|Smith|19800101|M|||123 Main St^^Anytown^NY^12345||(555)555-5555|||N|
```

{% endcode %}
{% endstep %}

{% step %}

### Montando a mensagem completa

Agora que temos o MSH e um segmento PID, podemos combinar tudo em uma única mensagem HL7:

{% code overflow="wrap" %}

```
MSH|^~&|SendingApp|SendingFacility|ReceivingApp|ReceivingFacility|20241109120000||ADT^A01|123456|P|2.3\rPID|1||123456^^^Hospital^MR||Doe^John^^^Mr.|Smith|19800101|M|||123 Main St^^Anytown^NY^12345||(555)555-5555|||N|
```

{% endcode %}
{% endstep %}
{% endstepper %}

## **Considerações finais**

Ao montar mensagens HL7, é importante garantir que todos os campos obrigatórios estejam presentes e que estejam no formato e ordem conforme esperado para evitar problemas na comunicação entre os sistemas de saúde sendo integrados.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.digibee.com/documentation/connectors-and-triggers/pt-br/connectors/industry-solutions/hl7/build-an-hl7-message.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
