Pular para o conteúdo principal
GoCareAuditAI
Documentação interna

Console Health Audit — visão geral

Mapa da arquitetura de informação, referência da API, busca global, provenance, visualizador de PDF, tiers de acesso e diretrizes mobile.

Credenciais

JWT e chave persistente

Entre no console para emitir JWT e chaves com a sua sessão.

A sessão do console já autentica o explorador abaixo. Use JWT ou chave só para Postman, Insomnia ou Clarifai.

JWT de curta duração

Renova o cookie da sessão e mostra o token para colar em Authorization: Bearer …

Chave persistente (X-API-Key)

Só papéis cujas permissões você já tem. Precisa de ha:users:manage (administrador).

Integração

Coleção de API (Insomnia / Postman)

144 requisições geradas do catálogo canônico do backend — a geração falha em CI se a coleção divergir das rotas publicadas.

Coleção

Todas as rotas canônicas com exemplos — importa direto no Insomnia ou Postman.

Environment de produção

base_url de produção e tenant pcpsaude; preencha a sua X-API-Key.

Referência da API

Endpoints do cartridge health-audit, agrupados por área e sem duplicatas. No console, a base no navegador é /api/mycelia/v2/health-audit (proxy same-origin via BFF). Integrações servidor-servidor usam a origem direta de produção e a API key descritas abaixo.

142 endpoints.

Auditoria

16
  • POST
    /stamp

    Carimba um XML TISS com ans_glosas e booleanos explícitos de glosa aplicada/sugestão, cria idempotentemente uma trilha persistente de revisão (exception_only: só os achados que o motor marca como revisão manual ficam pendentes) e retorna run_id e poll_url.

    rules-managementusado em Integrações legadas com revisão
  • POST
    /pipeline/run

    Dispara o pipeline de auditoria (ingestão + regras + glosa) a partir do XML TISS.

    adminusado em /
  • POST
    /audit/xml-glosa

    Alias compatível para integrações antigas: aceita o request histórico, mas executa e retorna exatamente o contrato canônico de /stamp, incluindo ans_glosas, routing, statistics, run_id e poll_url.

    rules-managementusado em /audit e integrações com revisão
  • POST
    /audit/xml-contract-suggestions

    Sugere contratos compatíveis para um XML TISS (score de roteamento).

    rules-management
  • POST
    /internal/audit/xml-vs-contract

    Audita um XML TISS contra um contrato específico.

    rules-managementinterno
  • GET
    /audit/runs

    Lista execuções de auditoria (filtra por status de revisão e limite).

    read-onlyusado em /review
  • GET
    /audit/runs/{run_id}

    Detalhe de uma execução: itens, glosas, snapshot e trilha de revisão (inspeção read-only).

    read-onlyusado em /review
  • POST
    /audit/runs/{run_id}/review

    Submete decisões profissionais (disposição + justificativa) para uma execução.

    rules-managementusado em /audit-trail
  • GET
    /audit/runs/{run_id}/xml

    Serve o XML TISS que a execução auditou, pelo run_id. Complementa as rotas escopadas por contrato: elas leem o store content-addressed, e execuções sem contrato resolvido (match="none") não são alcançáveis por lá — medido em produção, 32 de 112 XMLs. Aceita ?pretty=1.

    read-onlyusado em proveniência de execuções sem contrato
  • GET
    /audit/runs/{run_id}/demonstrativo.xml

    Emite o demonstrativo TISS real de análise de conta do run, na mesma versão do lote de entrada, usando apenas glosas adjudicadas e aplicadas; com ?validate=1 valida contra o XSD oficial ANS da versão da guia antes de baixar.

    read-onlyusado em envio de glosa ao hospital
  • POST
    /audit/runs/reprocess

    Recarimba execuções armazenadas a partir do XML TISS arquivado — sem reenviar o XML. Seleção por run_ids OU filter (contract_id, run_type, status, created_after/before); contract_ref redireciona o contrato; dry_run calcula o delta antes/depois sem persistir; background move lotes grandes para um job com job_id. Requer ha:stamp:run ou ha:glosa:manage.

    rules-managementusado em correções de contrato/regra em lote
  • GET
    /audit/runs/reprocess/{job_id}

    Progresso e resultados de um job de recarimbo em lote (background=true): processed/eligible e o delta por execução.

    rules-managementusado em correções de contrato/regra em lote
  • DELETE
    /audit/runs/{run_id}

    Exclui uma execução de auditoria (estado Redis, linha durável, projeção JSON e XML de entrada); a trilha de governança é preservada. Requer ha:glosa:manage.

    rules-managementusado em /review
  • GET
    /internal/review/queue

    Fila interna de revisão pendente.

    read-onlyinterno
  • POST
    /glosa/audit

    Audita linhas faturadas contra o SIGTAP via reasoner de glosa (Crepe) do gateway.

    rules-management
  • POST
    /defense/compile

    Compila proposta de pacote de defesa de glosa para uma conta reconciliada.

    rules-management

Contratos

32
  • GET
    /contracts

    Catálogo público de contratos vigentes (visível conforme tenant).

    read-onlyusado em /contracts
  • GET
    /contracts/search

    Busca rápida de contratos em memória (⌘K e página /contracts).

    read-onlyusado em busca ⌘K, /contracts
  • GET
    /contracts/{ref}

    Detalhe do contrato: limites de preço, regras estruturadas e documentos. Aceita CNPJ, ANS, contract_id ou relationship_key.

    read-onlyusado em /contracts, /relationship/[ref]
  • GET
    /contracts/{ref}/documents

    Lista documentos-fonte (PDF/XLSX/DOCX) do contrato.

    read-onlyusado em /contracts, /relationship/[ref]
  • GET
    /contracts/{ref}/sources

    Lista as contribuições independentes de contrato e aditivos, com estado ativo e contagens derivadas.

    read-onlyusado em /relationship/[ref]
  • GET
    /contracts/{ref}/documents/{filename}

    Stream do binário do documento (PDF inline com Range; demais como download).

    read-onlyusado em /contracts
  • GET
    /contracts/{ref}/page-image/{filename}

    Renderiza uma página do PDF do contrato como PNG (pano de fundo dos overlays de preço).

    read-only
  • GET
    /contracts/{ref}/price-bbox

    Bounding boxes dos preços extraídos no documento-fonte (provenance visual).

    read-only
  • GET
    /contracts/{ref}/price-bbox.pdf

    PDF do contrato com os bounding boxes dos preços solicitados desenhados.

    read-only
  • GET
    /contracts/{ref}/history

    Log de eventos append-only do contrato (provenance git-like).

    read-only
  • GET
    /contracts/{ref}/status

    Estado de processamento/ingestão de um contrato.

    read-only
  • GET
    /contracts/{ref}/xml/{xml_sha256}

    XML TISS armazenado de uma auditoria do contrato (viewer de fonte).

    read-only
  • GET
    /xml/{xml_sha256}

    XML TISS de auditoria sem escopo de contrato, por SHA-256.

    read-only
  • GET
    /relationships/{ref}/lotes

    Protocolos/lotes escopados a um relacionamento operadora↔prestador.

    read-onlyusado em /relationship/[ref]
  • POST
    /contracts/ingest

    Ingere PDF de contrato (OCR + extração de regras; job assíncrono, 202).

    rules-managementusado em /ingest
  • POST
    /contracts/{contract_id}/apply-cbhpm

    Materializa limites de preço CBHPM e mescla no contrato existente.

    rules-management
  • POST
    /contracts/{ref}/operator

    Redefine a operadora de um contrato/relacionamento existente.

    rules-management
  • PATCH
    /contracts/{ref}/sources/{source_id}

    Ativa ou desativa uma fonte do contrato e recompõe os preços e regras derivados.

    rules-managementusado em /relationship/[ref]
  • PUT
    /contracts/{ref}/sources/{source_id}/vigencia

    Informa a vigência (AAAA-MM-DD) de um documento do contrato quando nenhuma foi lida dele; sem vigência legível o contrato não é aplicado na auditoria.

    rules-managementusado em /ingest, /relationship/[ref]
  • DELETE
    /contracts/{ref}/sources/{source_id}

    Remove uma contribuição de fonte e recompõe o contrato sem excluir o relacionamento.

    rules-managementusado em /relationship/[ref]
  • GET
    /internal/contracts

    Lista interna dos contratos do tenant com identificação, operadora, vigência e número de limites de preço (plano de regras).

    read-onlyinterno
  • GET
    /internal/contracts/{ref}

    Mesmo detalhe de GET /contracts/{ref}, no plano interno, sob a permissão de leitura de regras.

    read-onlyinterno
  • POST
    /internal/contracts

    Cria ou atualiza um contrato (upsert de regras e limites de preço).

    rules-managementinternousado em /contracts (ingestão)
  • POST
    /internal/contracts/ingest-bundle

    Ingere um pacote (bundle) de documentos de contrato de uma vez.

    rules-managementinterno
  • PUT
    /internal/contracts/{ref}

    Atualiza um contrato existente (identidade, label, disabled_rule_types e rule_overrides validados).

    rules-managementinterno
  • GET
    /internal/contracts/{ref}/rules

    Configuração efetiva de regras do relacionamento (pack ← perfil de operadora ← rule_overrides) com proveniência de cada decisão.

    read-onlyinternousado em /relationship/[ref]
  • DELETE
    /internal/contracts/{ref}

    Remove um contrato.

    rules-managementinterno
  • DELETE
    /internal/contracts/{ref}/status

    Remove o sidecar de status de um contrato.

    admininterno
  • GET
    /internal/contracts/global-rules

    Limites de preço globais (aplicáveis a todos os contratos).

    read-onlyinterno
  • PUT
    /internal/contracts/global-rules

    Atualiza os limites de preço globais.

    admininterno
  • DELETE
    /internal/contracts/global-rules/{code}

    Remove um limite de preço global por código.

    admininterno
  • POST
    /internal/contracts/sync-ttl

    Sincroniza contratos para o grafo TTL.

    rules-managementinterno

Regras

9
  • GET
    /registry/rules

    Registry canônico de regras (KB e glosa) com origem, família, escopo e modo.

    read-onlyusado em /rules, /relationship/[ref]
  • GET
    /registry/rules/{rule_id}

    Detalhe de uma regra do registry.

    read-onlyusado em /rules
  • GET
    /reports/rules/inventory

    Inventário canônico de seleção, observação e aplicação de regras.

    read-only
  • GET
    /registry/overrides

    Lista overrides aplicados sobre regras do registry.

    read-only
  • POST
    /registry/overrides

    Cria um override de regra.

    rules-management
  • DELETE
    /registry/overrides/{override_id}

    Remove um override de regra.

    rules-management
  • POST
    /rules/simulate

    Simula o efeito de regras contra um conjunto de itens (dry-run, sem persistir).

    read-only
  • GET
    /rules

    Regras de referência do appliance em Turtle (TTL), por plano de conhecimento (kb, glosa ou all).

    read-only
  • POST
    /rules

    Salva regras de referência do appliance (compartilhadas por design).

    rules-management

Governança

30
  • POST
    /governance/rules

    Cria uma regra governada — sempre persiste como status=draft (proposta).

    rules-management
  • POST
    /governance/feedback

    Ingere feedback operacional (arquivo) como observações imutáveis — nunca ativa nem altera regras.

    rules-management
  • GET
    /governance/rules

    Lista regras governadas.

    read-only
  • GET
    /governance/rules/{rule_id}

    Versões de uma regra governada.

    read-only
  • PUT
    /governance/rules/{rule_iri}

    Edita uma regra draft (regra active é imutável — use supersede).

    rules-management
  • POST
    /governance/rules/{rule_iri}/promote

    Único caminho para status=active — revalida os shapes SHACL.

    rules-management
  • POST
    /governance/rules/{rule_iri}/supersede

    Substitui uma regra ativa por uma nova (a antiga é aposentada).

    rules-management
  • DELETE
    /governance/rules/{rule_iri}

    Soft-delete: status=retired — nunca é apagada, preservando referências de auditoria.

    rules-management
  • GET
    /governance/precedence

    Ordem determinística de precedência entre as regras ativas.

    read-only
  • PUT
    /governance/precedence

    Substitui atômica e integralmente a precedência de regras em rascunho; regras ativas permanecem imutáveis como evidência. Requer JWT autenticado com ha:rules:manage.

    rules-managementusado em /rules/governance
  • GET
    /governance/coverage

    Regras ativas que cobrem um código (procedimento, código co-cobrado ou TUSS), na ordem de disparo — precedência e depois rule_id. Retorna matched_key indicando de que lado do par excludente o código está; todas as regras listadas disparam, e só há vencedor onde o conflito foi declarado por um humano.

    read-only
  • GET
    /governance/lineage/{rule_id}

    Linhagem de uma regra (draft → active → superseded).

    read-only
  • POST
    /governance/simulate

    Dry-run com precedência contra o ruleset ativo (nada é persistido).

    read-only
  • GET
    /governance/shapes

    Grafo de shapes SHACL usado na validação de regras.

    read-only
  • GET
    /governance/audit-trail

    Linhas de proveniência de uma execução de auditoria, em ordem determinística de disparo.

    read-onlyusado em /audit-trail
  • GET
    /governance/audit-trail/{finding_id}/proof

    Cadeia de prova completa de um finding: regra (IRI, versão), evidência e a linha do XML (guia, sequencialItem). Passe run_id (e item_id): ids de finding se repetem entre execuções.

    read-onlyusado em /audit-trail, /review/[runId]
  • POST
    /governance/kb/ingest

    Converte um workbook de regras em propostas DRAFT no governance store.

    rules-management
  • GET
    /governance/kb/summary

    Dry-run: quantas propostas DRAFT cada workbook geral renderia.

    read-only
  • GET
    /governance/logical-rules

    Lista regras lógicas (RuleIR) do tenant, com filtros por status, autoridade e rule_iri.

    read-only
  • POST
    /governance/logical-rules/import

    Importa regras lógicas em lote com origem e autoridade declaradas; valida cada RuleIR e reporta inseridas vs ignoradas.

    rules-management
  • POST
    /governance/logical-rules/{rule_iri}/approve

    Aprova uma regra lógica para status=active com autoridade human_approved ou regulatory_signed.

    rules-management
  • POST
    /governance/rule-packs/build

    Compila um rule pack: manifesto versionado (pack_sha256) de regras lógicas ACTIVE, ancorado ao catálogo de referência e ao commit-fonte.

    rules-management
  • GET
    /governance/rule-packs/{pack_id}

    Manifesto de um rule pack compilado, por pack_id.

    rules-management
  • POST
    /governance/rule-packs/{pack_id}/activate

    Registra uma ativação do rule pack (modo shadow por padrão) com vigência efetiva e motivo.

    rules-management
  • GET
    /governance/visual/inspector

    Estúdio visual interativo do motor de governança: overlay de bounding box OCR, matriz ALU de 64 bits, LinUCB confidence intervals e simulador Datalog.

    rules-management
  • GET
    /governance/visual/data

    Dados consolidados do estúdio visual: layout dos blocos OCR, vetores de atributos e grafo conceitual Galois FCA.

    read-only
  • POST
    /governance/visual/simulate

    Simula a execução de regras de glosa com geração de prova Datalog e rastreabilidade em tempo real.

    rules-management
  • GET
    /governance/calibration/queue

    Fila de calibração de propostas de regras geradas por feedback humano ou evolução contínua.

    rules-management
  • POST
    /governance/calibration/evaluate

    Avalia o impacto de regras em calibração contra o histórico de contas do tenant.

    rules-management
  • POST
    /governance/calibration/proposals/{proposal_id}/action

    Executa ação de governança (aprovar, rejeitar ou arquivar) em uma proposta de calibração.

    rules-management

TISS

12
  • GET
    /tiss/protocolos

    Lista protocolos TISS (status, guias, valores informado e glosado).

    read-onlyusado em /relationship/[ref]
  • GET
    /tiss/recursos

    Lista recursos de glosa TISS (status, motivo, resposta).

    read-onlyusado em /relationship/[ref]
  • GET
    /tiss/recurso/{recurso_protocolo}

    Resposta de um recurso de glosa.

    read-only
  • GET
    /tiss/stats

    Métricas agregadas de protocolos e recursos.

    read-onlyusado em /relationship/[ref]
  • GET
    /tiss/demonstrativo/{protocolo}

    Demonstrativo de análise de um protocolo.

    read-only
  • POST
    /tiss/ingest

    Ingere XML TISS (job assíncrono, 202).

    rules-managementusado em /ingest
  • POST
    /tiss/lote

    Submete um lote TISS ao ledger de protocolos.

    rules-management
  • POST
    /tiss/recurso

    Submete um recurso de glosa.

    rules-management
  • DELETE
    /tiss/protocolos/{protocolo}

    Remove um protocolo do ledger TISS.

    rules-management
  • DELETE
    /tiss/recursos/{recurso_protocolo}

    Remove um recurso (apelação) do ledger TISS.

    rules-management
  • POST
    /preauth/tiss

    Pré-autorização: submete uma guia TISS para análise (job assíncrono).

    rules-management
  • GET
    /preauth/{job_id}

    Status de um job de pré-autorização.

    read-only

TUSS

11
  • GET
    /tuss/validate/{code}

    Valida um código TUSS (existência, tabela, termo, vigência).

    read-onlyusado em /relationship/[ref]
  • GET
    /tuss/procedures

    Busca procedimentos TUSS por termo.

    read-onlyusado em /relationship/[ref]
  • GET
    /tuss/procedures/{code}

    Detalhe de um procedimento TUSS por código.

    read-only
  • GET
    /tuss/opme

    Busca OPME (órteses, próteses e materiais especiais).

    read-onlyusado em busca ⌘K
  • GET
    /tuss/opme/{code}

    OPME por código (pode retornar múltiplos modelos).

    read-only
  • GET
    /tuss/opme/anvisa/{registro}

    OPME por número de registro ANVISA.

    read-only
  • GET
    /tuss/opme/risk-classes

    Distribuição de classes de risco OPME.

    read-only
  • GET
    /tuss/medications

    Busca medicamentos por termo.

    read-onlyusado em busca ⌘K
  • GET
    /tuss/cbo/{code}

    Código CBO profissional.

    read-only
  • GET
    /tuss/ans-reporting/{code}

    Exigências de reporte ANS para um código TUSS.

    read-only
  • GET
    /tuss/stats

    Contagens de procedimentos, OPME, medicamentos e CBO.

    read-only

Conhecimento

4
  • POST
    /sparql

    Executa consulta SPARQL sobre o grafo de conhecimento (uso avançado).

    read-onlyusado em /knowledge
  • GET
    /knowledge/graph/{iri}

    Vizinhança de um IRI no grafo (nós e arestas) para exploração guiada.

    read-onlyusado em /knowledgealias: /knowledge/graph
  • GET
    /knowledge/rdf

    Exporta o grafo de conhecimento em RDF.

    read-only
  • GET
    /knowledge/tuss/{code}

    Ficha TUSS enriquecida pelo grafo de conhecimento.

    read-only

Referência

6
  • GET
    /reference/datasets

    Lista datasets de referência consultáveis (contagem de linhas e colunas).

    read-only
  • GET
    /reference/versions

    Lista versões imutáveis de Brasíndice/SIMPRO e seus ponteiros ativos.

    read-onlyusado em /knowledge
  • POST
    /reference/versions

    Valida, compila e ativa atomicamente uma versão de catálogo Brasíndice ou SIMPRO.

    rules-managementusado em /knowledge
  • GET
    /reference/{dataset}

    Consulta um dataset de referência (filtros via query string).

    read-only
  • GET
    /sigtap/price/{code}

    Preço público de reembolso SIGTAP de um procedimento.

    read-only
  • GET
    /sigtap/validate/{code}

    Validação de existência/vigência de um código SIGTAP.

    read-only

Ingestão

10
  • GET
    /sentinel/raw-data/status

    Estado da base de dados brutos (pronta/pendente, contagem de arquivos).

    rules-managementusado em /ingest
  • POST
    /sentinel/raw-data/sync

    Sincroniza dados brutos a partir de um source_path.

    rules-managementusado em /ingest
  • POST
    /sentinel/ingest

    Ingestão sentinel agregada (contratos + auditoria + KB em uma chamada).

    admin
  • GET
    /sentinel/ingest/{task_id}/status

    Status de uma tarefa de ingestão sentinel.

    rules-management
  • GET
    /kb/catalog

    Catálogo da base de conhecimento.

    rules-management
  • POST
    /kb/ingest

    Ingere documentos na base de conhecimento (job assíncrono).

    rules-managementusado em /ingest
  • GET
    /kb/ingest/{job_id}

    Acompanha o status de um job de ingestão.

    rules-management
  • POST
    /kb/rebuild-fca

    Reconstrói a treliça FCA a partir dos dados de glosa (job assíncrono).

    rules-management
  • GET
    /files

    Lista XMLs na caixa de entrada do health-audit.

    read-only
  • POST
    /files

    Envia um arquivo para a caixa de entrada do health-audit.

    rules-management

Privacidade

3
  • GET
    /privacy/data-subject/{subject_id}

    LGPD — direito de acesso: categorias de dados em que o titular aparece.

    admin
  • POST
    /privacy/data-subject/{subject_id}/anonymize

    LGPD — anonimização: substitui identificadores por token determinístico.

    admin
  • POST
    /privacy/data-subject/{subject_id}/delete

    LGPD — direito de eliminação: registra o pedido; a purga segue a política de retenção.

    admin

Sistema

9
  • GET
    /search

    Busca por substring em execuções, glosas e XML TISS do tenant (trigram/pg_trgm). Códigos parciais e fragmentos de CNPJ casam; mínimo de 3 caracteres. Requer ha:glosa:view.

    read-onlyusado em /observability
  • GET
    /status

    Sinal barato e público de liveness do cartridge (sem diagnósticos internos).

    usado em /ingest
  • GET
    /status/details

    Diagnóstico autenticado de prontidão das dependências (ontologia, regras, contratos).

    read-only
  • GET
    /status/ops

    Volumetria operacional (fail-soft): Postgres, Redis, RabbitMQ, host e processo da API.

    read-only
  • GET
    /status/ops/page

    Mesma leitura de /status/ops renderizada como página HTML autossuficiente (auto-refresh 120 s).

    read-only
  • GET
    /ans-operators

    Busca no registro ANS (dados abertos) de operadoras ativas.

    read-only
  • POST
    /admin/tiss-xml-backfill

    Backfill do tiss_xml_store a partir de XMLs processados em lote.

    admininterno
  • POST
    /admin/governance-backfill

    Backfill do governance store (cadeias de prova) a partir de runs existentes.

    admininterno
  • POST
    /admin/redispatch-failed-xml-runs

    Re-dispacha runs de stamp cuja falha foi de infraestrutura (janelas de deploy), nunca rejeições de domínio. dry_run=true lista os candidatos sem tocar em nada.

    admininterno

Integração Clarifai — contrato canônico

A origem pública de produção é https://engineai.gocare.com.br. O Clarifai deve enviar o XML para a rota canônica POST /api/mycelia/v2/health-audit/stamp com os cabeçalhos X-API-Key: <chave> e x-tenant-id: pcpsaude.

curl -X POST https://engineai.gocare.com.br/api/mycelia/v2/health-audit/stamp \
  -H "X-API-Key: $HEALTH_AUDIT_API_KEY" \
  -H "x-tenant-id: pcpsaude" \
  -F "tiss_xml=@guia.xml"
  • Gere na tela Usuários e acessos uma chave ha_stamp com validade recomendada de 365 dias e rotação antes do vencimento.
  • A chave ha_stamp carrega somente a permissão ha:stamp:run: pode enviar para /stamp e consultar apenas opoll_url da própria submissão. Ela não lista execuções nem consulta execuções de outras chaves.
  • O caminho antigo POST /api/mycelia/v2/health-audit/audit/xml-glosa continua aceitando o request histórico, mas executa e devolve o mesmo contrato canônico de /stamp.
  • O alias direto /v2/health-audit/* permanece disponível para collections existentes; ambos os caminhos chegam ao mesmo backend e preservam o mesmo contrato.

Arquitetura de informação

A navegação segue “spine + satélites”: o relacionamento Operadora ↔ Hospital é a espinha polimórfica do produto.

Busca global (⌘K)

Atalho ⌘K (macOS) ou Ctrl+K (Windows/Linux). Resolve, em ordem:

  • CNPJ (com ou sem máscara) → relacionamento do prestador/operadora.
  • Registro ANS → relacionamento da operadora.
  • contract_id (UUID) → relacionamento do contrato.
  • relationship_key (OPER:<ans>::HOSP:<cnpj>) → relacionamento direto.
  • Nome (fuzzy) → matches em catálogo de contratos e regras.

Provenance e trilha de auditoria

Toda regra, preço extraído e finding preserva o caminho até o documento de origem.

Preços extraídos

  • source_filename
  • source_page
  • source_line
  • source_module
  • extracted_at

Chips inline em /contracts e no modal de detalhe. O visualizador navega até a página citada.

Regras

  • rule_iri
  • source_module
  • rule_family
  • certainty
  • application_mode
  • processing_pipeline

Escopo: contract_id, relationship_key, provider_cnpj, operator_cnpj, operator_ans_registration.

Findings de auditoria

  • glosa_code
  • rule_iri
  • source
  • evidence_chunk

Referenciam a regra que disparou a glosa e o trecho de evidência.

Visualizador de PDF

ContractDocumentViewer usa <iframe> nativo (sem pdf.js nem react-pdf). A rota /contracts/[ref]/documents expõe o binário com Content-Type correto e suporta Range requests.

TipoComportamento
.pdfRenderiza no <iframe> com toolbar nativa. ?page=N navega direto.
.xlsx, .xls, .csvDownload direto + link 'abrir' no app local.
.docx, .docDownload direto.
.xml (TISS)Viewer monospaced; truncado para arquivos >1MB.
.png, .jpg, .jpeg<img> inline.

RBAC: tiers do console

Verificação canônica é server-side no mycelia-api — a UI esconde affordances que o backend recusaria. Em client, use useAuth() + hasPermission(role, resource, action).

Tier (UI)Papel backendPermissões
adminadminTudo: ingestão, regras, usuários, configurações.
rules-managementanalyst ou auditor_medicoLeitura + escrita em rules; leitura no resto.
read-onlyviewerApenas leitura.

Mobile

  • Sidebar colapsa em viewport <lg (botão hamburger no AppHeader).
  • Paleta ⌘K acessível via botão dedicado no header (não depende de atalho de teclado).
  • Chips de filtro sticky e horizontalmente roláveis em larguras estreitas.
  • Tap targets de ação primária ≥44×44px; secundários ≥32px.
  • Layouts em CSS grid com minmax(); sem scroll horizontal exceto em .custom-scrollbar.
  • Tabelas viram cards empilhados em <md e voltam a tabela em ≥md.
  • framer-motion usado com parcimônia para preservar fluidez.
Conteúdo completo (deploy, scripts, diagnóstico): README.md do projeto.
Pressione Command-K ou Control-K para abrir a busca global. Use as setas para cima e para baixo para navegar, Enter para abrir e Esc para fechar.