Objetivo

Validar que um pedido de manipulação dermocosmética está consistente em todas as etapas do ciclo de vida — cruzando 4 fontes de dados campo a campo — antes que divergências virem retrabalho na produção ou reclamação do cliente.

Quando acontece

A cada pedido que entra no fluxo de produção. A conferência é automatizada e deve rodar antes da liberação para manipulação.

As 4 fontes de dados

Cada fonte tem propósito e momento diferentes no ciclo do pedido:

1. Receita OCR — documento fundacional. Prescrição digitalizada com dados do prescritor, paciente, fórmulas (ativos, concentrações, posologia, base, volume). Dados de entidades (prescritor, paciente, comprador) são globais (valem para todas as fórmulas da receita). É a referência principal para: nome dos produtos, posologia, embalagem, base/veículo (QSP), uso-destinação e dados cadastrais.

2. Pedido de Compra (ERP de vendas) — registro comercial. Itens comprados, quantidades, preços, envio, endereço, observações. User pode ser prescritor (se tiver conselho) ou paciente. Entidades são globais. Referência principal para: itens efetivamente comprados, preço, envio, endereço de entrega, observações comerciais.

3. Requisição de Produção (ERP de produção) — registro técnico. Cada produto gera uma req com composição detalhada (ativos, concentrações, excipientes, base, volume, forma farmacêutica, charge, datas). Diferente das outras fontes: paciente e prescritor vêm POR PRODUTO, não globais.

4. Chat / Histórico de Conversa (Botmaker/Postgres) — registro informal. Preferências de entrega, ajustes, endereço diferente do cadastro. Fonte complementar para verificação cruzada.

As 4 entidades de pessoa

Um pedido envolve até 4 papéis (que podem ser a mesma pessoa física):

  • Prescritor(a) — quem prescreveu (tem número de conselho). OCR: dados_emitente; Pedido: user principal ou adjunct; Req: prescriber (por produto); Chat: menção por nome.
  • Paciente — quem vai usar os produtos. OCR: dados_paciente; Pedido: user ou campo paciente; Req: patient (por produto).
  • Comprador(a) — quem paga. OCR: dados_comprador; Pedido: dados do cliente; Chat: quem conversa.
  • Destinatário(a) — quem recebe a entrega (pode diferir do comprador). Pedido: endereço de entrega; Chat: endereço mencionado.

Caso mais comum: prescritor = paciente = comprador = destinatário. Em clínicas: secretária compra, médico prescreve, paciente é terceiro. A conferência deve identificar quem é quem e sinalizar divergências entre fontes.

Anatomia de uma fórmula manipulada

Fórmula = ativos (ingredientes terapêuticos + concentrações) + base/veículo (meio que carrega os ativos, completando o volume).

Exemplo no OCR: Inaclear 1%; Dermaspheres C 4%; VCIP 2%; Alfa Bisabolol 0,5%; Base Second Skin qsp 15g

  • Tudo antes de “qsp” = composição (ativos + nome da base)
  • “Base Second Skin” = veículo
  • “15g” = volume por unidade

Na Req, a mesma informação aparece fragmentada: composition (string), items[] (array detalhado), volume.volume (por unidade), volume.contain (total produzido), ff (forma farmacêutica).

Passo a passo da conferência

Nível 1 — Bloco do Pedido (dados globais)

Compara Pedido × OCR × Chat:

  1. Entidades de pessoa — conferir prescritor, paciente, comprador, destinatário entre as 3 fontes.
  2. Endereço de entrega — Pedido vs Chat (cliente pode ter mencionado endereço diferente).
  3. Tipo de envio — Pedido vs Chat (cliente pediu “expressa” mas pedido está como PAC?).
  4. Preço total — somatório dos charges das Reqs vs preço total do Pedido.
  5. Contagem de itens — total de itens no Pedido vs total de séries na Req vs total de fórmulas no OCR.
  6. Observações — campos de observação do Pedido vs contexto do Chat.

Nível 2 — Bloco do Produto (por item)

Para cada produto individualmente:

  1. Identificação — nome e quantidade entre OCR, Pedido e Req.
  2. Apresentação — grupo coerente: forma farmacêutica (ff) + base/veículo (qsp) + volume + conteúdo + embalagem + uso-aplicação + uso-destinação. Conferência tripla:
    • (a) OCR vs Req para cada campo
    • (b) Coerência interna da Req (ff compatível com base? uso compatível com ff?)
    • (c) OCR vs Pedido para uso-destinação
  3. Preço — preço do item no Pedido vs charge na Req.
  4. Posologia — OCR (posologia + instruções ao paciente) vs posology da Req. Truncamento na Req é esperado; divergência real = conteúdo presente na Req contradiz o OCR.
  5. Pessoas — paciente e prescritor da Req (por produto) vs valores globais do OCR e Pedido.
  6. Composição — comparação ativo a ativo entre OCR e Req:
    • Ativo do OCR ausente na Req → ⚠️ (possível erro)
    • Ativo da Req ausente no OCR → ℹ️ (esperado: excipientes, conservantes)
    • Mesma concentração e código → ✅
    • Nomes diferentes, código idêntico → ✅ sinônimo
    • “qs” no OCR vs qualquer valor na Req → ✅
    • Concentrações diferentes → ⚠️

Casamento entre itens

  • Pedido ↔ Req: determinístico (reqNumber + reqSerie)
  • OCR ↔ (Pedido + Req): heurístico (nome, volume, composição, código de ingrediente, posologia como critérios de similaridade)

Regras de coerência interna

Forma farmacêutica (ff) ↔ base ↔ uso-aplicação

ffTipoBases compatíveisUso compatível
1CápsulacápsulaORAL
2CremeCreme Lanette, Creme Polawax, Base Neutracolor, Base Second SkinTOPIC
3Loção/sabonete líquidoSabonete Syndet Liquido, outros fluidosTOPIC
5Não definidoavaliar caso a casoavaliar

Atenção: “Base Neutracolor” e “Base Second Skin” são cremes (compatíveis com ff=2), mesmo sem a palavra “creme” no nome.

Volume ↔ conteúdo ↔ quantidade

  • Volume (volume.volume): tamanho de UMA unidade (ex: 30g para um pote)
  • Conteúdo (volume.contain): total produzido naquela req (ex: 30g para 1 pote; 60g para 2 potes de 30g)
  • Quantidade (qty): número de unidades/frascos (no OCR: qtd_frascos ou texto)
  • ml e g são tratados como compatíveis (densidade ~1 para dermocosméticos)

Sinônimos comuns

Ativos com nomes diferentes que são equivalentes:

  • Vitamina C = Ácido Ascórbico = VCIP = Ascorbyl Tetraisopalmitate
  • Retinal = Retinaldeído
  • Vitamina E = Tocoferol = Acetato de Tocoferol
  • BHA = Ácido Salicílico
  • Niacinamida = Vitamina B3 = Nicotinamida
  • TXA = Ácido Tranexâmico

Bases genéricas (OCR) ↔ nomes técnicos (Req):

  • “gel” ↔ Gel Carbopol, Gel Natrosol
  • “creme” ↔ Creme Lanette, Creme Polawax, Base Neutracolor
  • “sérum” ↔ Sérum Base, Sérum Silicone
  • “sabonete” ↔ Sabonete Syndet Liquido
  • “shampoo” ↔ Shampoo Base

Regra: se o tipo de veículo é o mesmo, nomes são compatíveis. Divergência real = tipo muda (OCR diz “creme”, Req tem “Gel Carbopol”).

Indicadores de conferência

IndicadorSignificado
Confere entre as fontes
⚠️Divergência que merece atenção (pode ser legítima ou erro)
Inconsistência clara que exige ação (erro provável)
ℹ️Informação adicional de uma fonte só, sem correspondência nas outras (esperado)

Cada produto recebe veredito final: conforme, com pontos de atenção, ou com inconsistência. Resumo final indica quantos conferem e quantos precisam de revisão.

Exceções e decisões

  • OCR ilegível ou incompleto: conferência parcial, sinalizar campos sem dado do OCR como ℹ️.
  • Pedido sem receita: conferência limitada a Pedido × Req × Chat. Registrar ausência.
  • Req com dados de paciente/prescritor divergentes do global: escalar para Setor de Pedidos conferir se houve troca ou erro de cadastro na produção.

Relação com outros processos

Histórico de evolução

DataMudançaMotivação
2026-03-27Criação do documento — reestruturação do arquivo original “A OCR X PEDIDO” com frontmatter e formato padrãoOrganização da base de conhecimento
2026-03-31Frontmatter atualizado: tags cadeia/ajuste, papel/, maturidade provisório (conteúdo já detalhado). Ocorrência de origem adicionada.2026-03-31-processos-sem-raci
2026-04-02Adicionada seção Relação com outros processos: link para conferência automática (que implementa estas regras) e mapa de responsabilidadesCriação do processo de conferência automática