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ódigoDescrição
    CACommit Accept
    CECommit Error
    CRCommit 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ódigoDescrição
    AAApplication acknowledgment: Accept
    AEApplication acknowledgment: Error
    ARApplication 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.

MSH|^~\&|HOS|INST|HL7_DEFAULT|INST|20160419150711||ACK^O19^ACK|20160419150711|D|2.5|
MSA|CA|53fb692a-20b0-4d77-801b-a817a3e73a0c|Commit Accept|

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.

MSH|^~\&|HL7_DEFAULT|INST|HOS|INST|20160419182238||ACK^A04^ACK|20160419182238|D|2.5|
MSA|CR|6ef37860-62e7-40a0-ae0a-b48cb83b970a|MENSAGEM REJEITADA. EVENTO OU OPERA\XC7\\XC3\O NAO SUPORTADA.|

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.

MSH|^~\&|HOS|INST|HL7_DEFAULT|INST|20160427102900||ACK^A19^ACK|20160427102900|D|2.5|
MSA|CE|8152ddf5-0e72-422a-84a8-64d8a3c08845|Commit Error|

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||
MSA|AA|3946d17b-e81f-4e15-9bae-95d10ea75e5e|
PID|1||111181^^^HOS^NS||LAST_NAME^FIRST_NAME^MIDDLE_NAME^^^^L||19610709000000|F|||RUA DA MORADA^^CIDADE^DISTRITO^9999-999^PT^N^CONCELHO^999999||^PRS^PH^^^^^^^^^961877550|||||99205842^^^HOS|
ORC|OK|199^HL7_DEFAULT|6254035^HOS|||||||1845^Testes - 31^Utilizador de^^^^^^HOS~2031^Testes - 31^Utilizador de^^^^^^N.Mecanogr\E\XE1\fico||1845^Testes - 31^Utilizador de^^^^^^HOS~2031^Testes - 31^Utilizador de^^^^^^N.Mecanogr\E\XE1\fico|||||3147202^HOSPITAL DISTRITAL||||||||||||MP|
TQ1||1^Un|||||20160419093000|
OBR|1|199^HL7_DEFAULT|6254035^HOS|O70251^RETINOGRAFIA^HOS^|||||||||||||||||||||||1&Un&HOS||||||||||

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||
MSA|AR|5cc6636b-24aa-42de-9773-7989ac4e4aa4|
ERR|||207^Application internal error||103^(103)  ERRO DE VALIDA\XC7\\XC3\O\.br\causa: \.br\acao: |||[CON_API_OUTPATIENT_VALIDATE.OUTP_VALIDATE_ADMISSION] - Consulta j\XE1\ se encontra efetivada! [Log_id:27810]|

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|
MSA|AE|015a44a2-dd12-40c9-8785-a0981df3fa59|(117)  ERRO API HOS.\.br\causa: A API do HOS relacionada com esta opera\XE7\\XE3\o retornou um  Erro.\.br\acao: Encaminhar para o suporte do HOS.|
QAK||AE|S25^Schedule Query|0|0|
QRD|20151217123809|R|D||||20^RD|||||
QRF||20160429|20160429|