ACK
Um Acknowledgment permite a um sistema de destino confirmar a existência/recepção de uma mensagem ao sistema de origem responsável pelo seu envio. Traduz-se ele próprio numa mensagem do tipo ACK.
Existem dois tipos de ACK no enhanced mode do HL7, os de transporte e os aplicacionais.
ACK de transporte - informam acerca da correta recepção da mensagem. Permitem fornecer ao sistema de origem a garantia de entrega da mesma no destino. Não fornecem qualquer informação acerca do seu processamento.
Existem os seguintes tipos de resposta possíveis para os ACK de transporte, a incluir no campo MSA-1:Código
Descrição
CA
Commit Accept
CE
Commit Error
CR
Commit Reject
*CE - Erro de acknowledgment gerado quando a mensagem não é aceite por alguma razão.
ACK aplicacional - informam acerca do correcto processamento da mensagem. Indicam ao sistema de origem se a informação enviada na mensagem foi ou não devidamente integrada no destino. Caso essa integração seja bem sucedida, se for caso disso, deve ser retornado o identificador gerado pela aplicação destino. Em caso negativo, deve ser enviado o tipo de erro ocorrido.
Existem os seguintes tipos de resposta possíveis para os ACK aplicacionais, a incluir no campo MSA-1:Código
Descrição
AA
Application acknowledgment: Accept
AE
Application acknowledgment: Error
AR
Application acknowledgment: Reject
*AE - Esta mensagem é gerada quando existe um erro a nível da aplicação.
Exemplo de mensagem ACK de Transporte Aceite
Esta mensagem representa uma mensagem de resposta à mensagem OMG^O19 confirmando que a aplicação de destino recebeu com sucesso a mensagem com o Control ID: 53fb692a-20b0-4d77-801b-a817a3e73a0c.
Exemplo de mensagem ACK de Transporte Rejeitado
Esta mensagem representa uma mensagem de resposta à mensagem ACK^A04 indicando que a mensagem com o control ID: 6ef37860-62e7-40a0-ae0a-b48cb83b970a foi rejeitada pela aplicação de destino uma vez que a operação em causa não existe e/ou não está configurada.
Exemplo de mensagem ACK de Transporte com Erro
Esta mensagem representa uma mensagem de resposta com erro à mensagem QRY^A19. Isto é, a aplicação de destino, por algum motivo, não conseguiu receber correctamente a mensagem reportando esse facto à aplicação de origem.
Exemplo de mensagem ACK Aplicacional Aceite
Esta mensagem representa uma mensagem de resposta aplicacional à mensagem OMG^O19. Significa que o pedido (199^HL7_DEFAULT) relativo à mensagem com Control ID 3946d17b-e81f-4e15-9bae-95d10ea75e5e foi integrado com sucesso e gerou o número de ordem interno "6254035" na aplicação destino.
MSH|^~\&|HOS|INST|HL7_DEFAULT|INST|20160419150712||ORG^O20^ORG_O20|d11d7ca2-f7c1-457e-98d1-5ee50afcecdd|D|2.5|| |
|---|
Exemplo de mensagem ACK Aplicacional Rejeitado
Esta mensagem representa uma mensagem de resposta aplicacional à mensagem ADT^A04 com o Control ID 5cc6636b-24aa-42de-9773-7989ac4e4aa4. Esta mensagem foi rejeitada pela aplicação destino uma vez que a consulta já havia sido efectivada, dando origem a um erro de validação.
MSH|^~\&|HOS|INST|HL7_DEFAULT|INST|20160422161530||ACK^A04^ACK|ec9b1a9d-1341-43f3-945c-a9589d830234|D|2.5|| |
|---|
Exemplo de mensagem ACK Aplicacional com Erro
Esta mensagem representa uma mensagem de resposta à mensagem SQM^S25 com o Control ID 015a44a2-dd12-40c9-8785-a0981df3fa59. A aplicação de destino não foi capaz de dar uma resposta positiva sinalizando um erro na API do conector de destino.
MSH|^~\&|HOS|INST|HL7_DEFAULT|INST|20160429110310||SQR^S25^SQR_S25|4e3ae496-ebd7-4362-9a59-dff75b8a0caa|D|2.5| |
|---|