Blocos de dados da mensagem: leitura estruturada, texto exato e cópia
Recebido, dados convertidos e entregue mostram a mesma coisa na mesma ordem: a barra de cópia no topo, a leitura estruturada para navegar e o texto exato, conferido pelo sha256.
Onde encontrar
Abra a mensagem em Mensagens: abas Dados Originais e Dados Convertidos do painel lateral, seções Recebido da origem, Dados convertidos e Entregue ao destino da página da mensagem, ou Comparar. É a mesma peça em todos.
A barra no topo de cada bloco
- Copiar texto exato: copia o documento como chegou ou como foi ao destino, byte a byte — é o que você cola num validador externo.
- Copiar estruturado (JSON): copia a leitura estruturada como JSON, para colar em planilha, chamado ou outra ferramenta.
- Baixar arquivo: baixa o texto exato com a extensão do formato (
.edi,.x12,.hl7,.csv,.txt,.xml,.json). Bytes que não são UTF-8 são baixados como chegaram.
Os três botões aparecem sempre, na mesma ordem. O que não tem conteúdo fica desabilitado — por exemplo, "Copiar texto exato" numa mensagem anterior ao registro dos dados originais. Ao copiar, o botão mostra Copiado.
Leitura estruturada (em cima)
Os mesmos dados já interpretados, para navegar. Não é o original.
- Recebido: EDIFACT, X12, IDoc e XML aparecem lidos do próprio texto recebido, com os nomes do catálogo do formato de origem; JSON e OData mostram o dado interpretado na chegada, com as opções de exibição do OData (esconder
@odata.*,__metadata…). - Entregue / Dados convertidos: o que foi gerado, lido de volta do texto exato pelos mesmos leitores do produto. EDIFACT e X12 aparecem por segmento → elemento → componente (ex.:
NAD01,NAD02-3), com a linha do segmento no intercâmbio e o nome do elemento no catálogo do formato de destino (ex.: "Party function code qualifier (3035)") — o mesmo endereço que a validação contra a spec usa. IDoc por segmento, XML por elemento e atributo, JSON por chave. Os segmentos do envelope — UNB, UNG, UNH, UNT, UNE, UNZ no EDIFACT; ISA, GS, ST, SE, GE, IEA no X12 — aparecem com os nomes da sintaxe (ISO 9735 e ASC X12), mesmo sem catálogo da mensagem. - Expandir tudo / Recolher tudo abrem e fecham a árvore; intercâmbio grande abre só com a lista de segmentos.
- A leitura segue o formato declarado (o de origem no recebido, o do destino no entregue). Se o conteúdo parecer outro formato, a tela mostra a divergência; se não der para ler, mostra o motivo (por exemplo, XML malformado). Sem catálogo para o formato, os elementos aparecem sem nome e a tela diz por quê.
- HL7 v2 aparece por segmento → campo → repetição → componente (ex.:
PID-5,PID-3[2],PID-5.1), com os delimitadores que o próprio cabeçalho (MSH) declara e os escapes (\F\,\S\…) já resolvidos; com catálogo do formato, cada campo traz o nome (ex.: "Patient Name"). - Arquivo delimitado (CSV) é lido pelo perfil do formato — separador, aspas e se a 1ª linha traz os nomes das colunas (padrão: vírgula, aspas duplas, com cabeçalho) — e aparece por registro → coluna. Arquivo posicional (largura fixa) é lido pelo layout declarado no catálogo: os campos na ordem, cada um com o seu tamanho. O texto plano não diz sozinho onde começa cada campo: sem perfil ou layout declarado, a tela diz o que falta (por exemplo, "campos sem tamanho no catálogo: QTD") e mostra só o texto exato.
- Formato sem leitor: a tela avisa e mostra só o texto exato.
Texto exato (embaixo)
O documento sem formatar e sem reordenar, com o selo do sha256: a tela recalcula o hash dos bytes exibidos e compara com o registrado na chegada ou no envio. "Conferido" quer dizer que o que você vê é byte a byte o que chegou ou o que foi enviado.
Histórico de versões
- v1.2.0
Leitura estruturada para HL7 v2 e arquivo plano. HL7 v2 (ER7) pelo parser do produto (src/lib/serialization/hl7v2-parse.ts): delimitadores lidos do cabeçalho MSH/FHS/BHS, segmentos por CR, moldura MLLP retirada, escapes resolvidos depois de separar; árvore segmento → campo (PID-5) → repetição (PID-3[2]) → componente (PID-5.1), com os nomes do catálogo hl7v2. Arquivo delimitado pelo perfil do standard csv (format-profile `delimited`, RFC 4180 no seed, o banco troca por chave) e posicional pelo layout do catálogo (campos na ordem com tamanho; tipos de registro por segmentPath e campo de valor fixo). Texto plano sem perfil/layout declarado não é adivinhado: a tela diz o que falta. Download com .hl7/.csv/.txt.
25/09/2026 · updated
- v1.1.0
Segmentos de serviço do envelope com nome na leitura estruturada (UNB/UNG/UNH/UNT/UNE/UNZ, ISA/GS/ST/SE/GE/IEA): catálogo declarativo da sintaxe (ISO 9735, ASC X12) em src/lib/edi-hub/service-segments.ts, somado aos rótulos do catálogo da mensagem (que vence na mesma tag); o validador do envelope, os serializadores do envelope (UNB/UNH/UNT/UNZ, ISA/GS/ST/SE/GE/IEA) e dos acks (CONTRL, 997) e os parsers do envelope e dos acks leem e montam as posições pelo mesmo catálogo (código do elemento ou referência posicional quando o código se repete); versão da sintaxe declarada por família (ISO 9735 v3 UNOC:3; X12 00401/004010).
24/09/2026 · updated
- v1.0.0
Blocos de dados do monitor (recebido, dados convertidos, entregue) com a mesma barra de cópia no topo — Copiar texto exato, Copiar estruturado (JSON), Baixar arquivo, com feedback de copiado — e a leitura estruturada antes do texto exato, que mantém o selo do sha256 (agora também no entregue). O entregue ganha a árvore do que foi gerado, lida do texto exato pelos leitores do produto (tokenizers EDIFACT/X12 do validador, parser de IDoc, árvore XML, JSON) sem if por formato na tela, com os nomes dos elementos derivados do catálogo efetivo pelo mesmo registry da validação (destino no entregue, origem no recebido). Leitor escolhido pelo formato declarado; divergência entre declarado e conteúdo, texto ilegível e catálogo indisponível aparecem na tela com o motivo e vão para o log. Formato sem leitor mostra só o texto exato.
24/09/2026 · new