Árvore de páginas

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             

  

Informações Gerais

 

Especificação

Produto

Datasul

Módulo

Gestão de Planos de Saúde

Segmento Executor

Saúde

Projeto1

D_SAU_GPS_Roadmap20152016

IRM1

PCREQ-7676

Requisito1

PCREQ-7749

Subtarefa1

SAU_DEV-3445

Chamado2

 

Release de Entrega Planejada

12.1.9

Réplica

 

País

( X ) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

<Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>.

   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 

Objetivo

Este projeto tem como objetivo realizar a conversão da tela referente à Solicitação de Prorrogação de Internação e Complementação do Tratamento do módulo WAC para a tecnologia java, incorporando-a ao módulo Autorizador WEB.


Definição da Regra de Negócio

Camada progress

 Criar os seguintes programas progress:

  • atfa/fchapi-solicita-prorrogacao.p;
  • api/api-solicita-prorrogacao.i;
  • api/api-solicita-prorrogacao.p.

 A assinatura da procedure principal da API deverá ser conforme segue:

  • define input parameter table for tmp-api-solicita-prorrog-guia;

  • define input parameter table for tmp-api-solicita-prorrog-serv;

  • define input parameter table for tmp-api-parametros;

  • define output parameter table for tmp-retorno-guia;

  • define output parameter table for tmp-retorno-serv;

  • define output parameter table for tmp-retorno-glosa;

  • define output parameter table for tmp-solicita-prorrog-erro.

A definição das tabelas deverá ser conforme segue:

/* --------------------- Temporaria de entrada com os campos do cabecalho da guia ---------------- */
def temp-table tmp-api-solicita-prorrog-guia no-undo
field lg-altera-tp-internacao as log /* Parametro que indica se o usuario podera alterar o tipo de internacao na prorrogacao */
field lg-tipo-guia-transacao-principal as log /* Parametro que indica se o tipo de guia e transacao da prorrogacao sera utilizado da guia principal */
field cd-unidade-carteira as int format "9999" /* Unidade do beneficiario */
field cd-carteira-usuario as dec format "9999999999999" /* Carteira benef. */
field lg-atendimento-rn as log /* Atendimento a RN */
field cd-unidade-principal as int format "9999" /* Unidade do prestador principal */
field cd-prestador-principal as int format "99999999" /* Código prestador principal */
field aa-guia-atendimento-ant as int format "9999" /* Ano da guia de atendimento do campo Senha */
field nr-guia-atendimento-ant as int format "99999999" /* Numero da guia de atendimento do campo Senha */
field cd-unidade-solicitante as int format "9999" /* Unidade do prestador solicitante */
field cd-prestador-solicitante as int format "99999999" /* Codigo do prestador solicitante */
field cd-especialid as int format "999" /* Especialidade do prestador solicitante */
field cd-cbo-s as char format "x(05)" /* Código CBOS so prestador solicitante */
field nm-prof-sol as char /* Nome do profissional solicitante */
field uf-conselho as char /* UF do conselho do profissional solicitante */
field cd-cbos-solic as char format "x(5)" /* CBOS do profissional solicitante */
field cd-conselho-solicitante as char /* Conselho profissional solicitante */
field nr-conselho-solicitante as char /* Numero no conselho do profissional solicitante */
field cd-clinica as int format "99999999" /* Codigo da clinica */
field dt-emissao as date /* Data de emissão da guia */
field ds-indicacao-clinica as char /* Indicacao Clinica */
field cd-tipo-internacao as int /* Codigo do tipo de internacao TISS - Obrigatorio */
field ds-observacoes as char /* Observacoes */
field qt-diarias-solic as dec /* Utilizado para a quantidade de diaria que será convertida para insumo */
field lg-anexo-quimioterapia as log /* Indica a existencia de anexo de quimioterapia na solicitacao */
field lg-anexo-radioterapia as log /* Indica a existencia de anexo de radioterapia na solicitacao */
field lg-anexo-opme as log /* Indica a existencia de anexo de OPME na solicitacao */

field ds-tel-solic as char /* Telefone Solicitante - Utilizado para os anexos (obrigatorio nesse caso) */
field ds-email-solic as char /* E-mail Solicitante - Utilizado para os anexos (obrigatorio nesse caso) */

/* Anexo Quimioterapia */
field nr-peso-beneficiario as dec /* Peso do beneficiario - Obrigatorio */
field nr-altura-beneficiario as dec /* Altura do beneficiario - Obrigatorio */
field nr-sup-corpo-beneficiario as dec /* Superficie corporal do beneficiario - Obrigatorio */
field dt-diagnostico-quimio as date /* Data do diagnostico da quimioterapia Obrigatorio */
field cd-cid1-quimio as char /* CID 1 - Opcional */
field cd-cid2-quimio as char /* CID 2 - Opcional */
field cd-cid3-quimio as char /* CID 3 - Opcional */
field cd-cid4-quimio as char /* CID 4 - Opcional */
field cd-estadiamento-tumor-qui as int /* Codigo TISS do estadiamento do tumor - Obrigatorio */
field cd-tipo-quimioterapia as int /* Codigo TISS do tipo de quimioterapia - Obrigatorio */
field cd-finalid-tratam-quimio as int /* Codigo TISS da finalidade do tratamento - Obrigatorio */
field cd-ecog-quimio as int /* Codigo TISS da escala de capacidade funcional - Obrigatorio */
field ds-plano-terapeutico as char format "x(1000)" /* Descricao plano terapeutico - Obrigatorio */
field ds-diag-cito-histo-qui as char format "x(1000)" /* Descricao diagnostico Cito/Histopatologico - Opcional */
field ds-inf-relevantes-qui as char format "x(1000)" /* Informacoes relevantes - Opcional */
field ds-cirurgia-ant-quimio as char format "x(40)" /* Descricao da cirurgia anterior - Opcional */
field dt-cirurgia-ant-quimio as date /* Data da cirurgia anterior - obrigatorio caso informado ds-cirurgia-ant-quimio */
field ds-area-irradiada-quimio as char format "x(40)" /* Descricao de radioterapia anterior - Opcional */
field dt-radio-ant-quimio as date /* Data da radioterapia anteriorr - obrigatorio caso informado ds-area-irradiada-quimio */
field nr-ciclos-previstos as int /* Numero de ciclos previstos - obrigatorio */
field nr-ciclo-atual as int /* Numero do ciclo atual - Obrigatorio */
field nr-intervalo-ciclo as int /* Numero do intervalo entre ciclos - obrigatorio */

/* Anexo de Radioterapia */
field dt-diagnostico-radio as date /* Data do diagnostico radioterapia - obrigatorio */
field cd-cid1-radio as char /* CID 1 - Opcional */
field cd-cid2-radio as char /* CID 2 - Opcional */
field cd-cid3-radio as char /* CID 3 - Opcional */
field cd-cid4-radio as char /* CID 4 - Opcional */
field cd-diag-img as int /* Codigo TISS da tecnica de diagnostico por imagem - opcional */
field cd-estadiamento-tumor-rad as int /* Codigo TISS do estadiamento do tumor - Obrigatorio */
field cd-ecog-radio as int /* Codigo TISS da escala de capacidade funcional - Obrigatorio */
field cd-finalid-tratam-radio as int /* Codigo TISS da finalidade do tratamento - Obrigatorio */
field ds-diag-cito-histo-rad as char format "x(1000)" /* Descricao diagnostico Cito/Histopatologico - Opcional */
field ds-inf-relevantes-rad as char format "x(1000)" /* Informacoes relevantes - Opcional */
field ds-cirurgia-ant-radio as char format "x(40)" /* Descricao da cirurgia anterior - Opcional */
field dt-cirurgia-ant-radio as date /* Data da cirurgia anterior - obrigatorio caso informado ds-cirurgia-ant-radio */
field ds-quimio-anterior as char format "x(40)" /* Descricao da quimioterapia anterior - opcional */
field dt-quimio-anterior as date /* Data de aplicacao da quimioterapia anterior - obrigatorio caso informado ds-quimio-anterior */
field nr-campos as int /* Numero de campos irradiados - obrigatorio */
field nr-dose-dia as int /* Numero de doses por dia - Obrigatorio */
field nr-dose-total as int /* Numero de doses total - obrigatorio */
field nr-dias as int /* Numero de dias do tratamento - obrigatorio */
field dt-prev-ini-adm as date /* Data de previsao de inicio de administracao do tratamento - obrigatorio */

/* Anexo de OPME */
field ds-especif-material as char format "x(500)" /* Especificacao do material solicitado - Opcional */
field ds-observacao-opme as char format "x(500)" /* Observacoes - Opcional */
field ds-just-tecnica as char format "x(1000)" /* Justificativa Tecnica - Obrigatorio */

field lg-agendamento-futuro as log format "Sim/Nao" /* Agendamento Futuro Guias */
field dt-agendamento-futuro as date /* Data para Execucao do Agendamento */
field ds-observacao-auditor as char /* Campo que esta na guia porem nao faz parte do padrao TISS */
field lg-beneficiario-internado as log /* Campo utilizado na funcionalidade de destaque das guias na tela do autorizador/auditoria */
field dt-internacao as date /* Campo utilizado na funcionalidade de destaque das guias na tela do autorizador/auditoria */
field dt-alta as date /* Campo utilizado na funcionalidade de destaque das guias na tela do autorizador/auditoria */
field in-tipo-solicitacao as char format "x(2)" /* Valores Possiveis: SO-Solicitacao
RA-Rascunho
ER-Efetivar Rascunho
AR-Alteracao de Rascunho
RN-Remover Rascunho */
field cd-unidade-rascunho as int format "9999" /* Representa o campo cd-unidade da guia. Utilizado quando in-tipo-solicitacao = "ER" ou "AR" */
field aa-guia-rascunho as int format "9999" /* Representa o campo aa-guia-atendimento da guia. Utilizado quando in-tipo-solicitacao = "ER" ou "AR" */
field nr-guia-rascunho as int format "99999999" /* Representa o campo nr-guia-atendimento da guia. Utilizado quando in-tipo-solicitacao = "ER" ou "AR" */
field ds-observacao-quimio as char format "x(500)" /*Obeservação/Justificativa de Quimioterapia*/
field ds-observacao-radio as char format "x(500)". /*Obeservação/Justificativa de radioterapia*/


/* --------------------- Temporaria de entrada com os movimentos da guia ---------------------------- */
def temp-table tmp-api-solicita-prorrog-serv no-undo
field in-anexo as int /* Indica a qual anexo o movimento esta vinculado
0 - Nao esta vinculado a anexo
1 - Anexo de quimioterapia
2 - Anexo de radioterapia
3 - Anexo de OPME */
field tp-servico as char format "x(1)" /* I - Insumo, P - Procedimento, A - Pacote */
field cd-tipo-insumo as int format "99" /* Código do tipo de insumo, quando procedimento informar zero */
field cd-unidade-prestador-exec as int format "9999" /* Unidade do prestador executante do movimento */
field cd-prestador-exec as int format "99999999" /* Codigo do Prestador executante do movimento */
field qt-servico as dec format "99999999.999" /* Quantidade solicitada do movimento */
field cd-esp-prest-executante as int format "999" /* Int - especialidade do prestador executante */
field cd-servico as int format "999999999" /* Codigo do movimento */
field nm-fabricante-opm as character /* Quando insumo for OPME, nome do fabricante */
field vl-insumo as dec format ">>>.999,99" /* Quando insumo for OPME */
field dt-prev-adm as date /* Data de previsao de administracao do medicamento - Quimio e Radio */

/* Campos dos servicos do anexo de quimioterapia (somente insumos) */
field cd-via-adm-quimio as int /* Codigo da via de administracao do medicamento - Obrigatorio */
field cd-frequencia as int /* Frequencia de aplicacao do medicamento por dia - obrigatorio */

/* Campos dos servicos do anexo de OPME (somente insumos) */
field cd-opcao as int /* Opcao - obrigatorio */
field ds-insumo-generico as char /* Descricao do insumo generico (insumos.log-4) */

field nr-op_autoriz as char
field nr-reg_anvisa as char
field vl-unit_autoriz as dec
index tmp1
tp-servico
index tmp2
in-anexo.

/* ------------ Tabela de saida com as mensagens de erro ----------------- */
def temp-table tmp-solicita-prorrog-erro no-undo
field cd-mensagem-mens as int
field ds-erro as char format "x(500)".

/* ------------------ Temporaria de saida com os erros - at1000 ------------- */
def temp-table tmp-erros no-undo /* tabela temporaria de erros de retorno do at1000.p */
field cd-mensagem-mens like mensiste.cd-mensagem /* mantida para manter o padrao dos demais programas */
field ds-erro as char format "x(500)".

/* ------------ Temporaria de retorno com resultado da guia ---------------- */
def temp-table tmp-retorno-guia no-undo
field dt-validade-senha as date
field in-liberado-guias as char format "x(01)"
field aa-guia-atendimento as int format "9999"
field nr-guia-atendimento as int format "99999999"
field cd-unidade as int format "9999".

/* ---------------- Temporaria de retorno com os movimentos ---------------- */
def temp-table tmp-retorno-serv no-undo
field cd-tipo-insumo as int format "99"
field cd-movimento as int format "99999999"
field qt-autorizada as dec
field nr-processo as int
field nr-seq-digitacao as int.

/* ---------- Temporaria de retorno com as glosas -------------------------- */
def temp-table tmp-retorno-glosa no-undo
field cd-unidade as int format "9999"
field aa-guia-atendimento as int format "9999"
field nr-guia-atendimento as int format "99999999"
field nr-processo as int
field nr-seq-digitacao as int
field cd-classe-erro like movatglo.cd-classe-erro
field ds-classe-erro like claserro.ds-classe-erro
field cd-cod-glo as int
field ds-cod-glo like codiglos.ds-cod-glo
field ms-automacao-cons like codiglos.ms-automacao-cons.


/* ------------------- Tabela temporaria contendo parÔmetros de configuraþÒo --------------------------- */
def temp-table tmp-api-parametros no-undo
field validate-block-medicalprocedure as log.

  • Criar programa baseado na api-solic-inter-tiss3.p;
  • Os campos aa-guia-atendimento-ant e nr-guia-atendimento-ant são obrigatórios e a guia informada ali deve existir;

  • A guia principal deve ser de internação. (in-classe-nota 4,5,6,9,10,11,12,19);

  • A guia principal deve estar com status Autorizada ou Processada pelo contas (veja procedure permite-prorrogar-guia - wac0060a);

  • Utilizar a classe de nota 26;

  • Alimentar o campo tmp-servico.in-carater-internacao com o valor guiautor.cd-internacao da guia principal (veja wac0060a.w);

  • Se tmp-api-solicita-prorrog-guia.cd-tipo-internacao = 0 então alimentar tmp-guia.in-tipo-internacao com o tipo de internacao da guia principal, senão alimentar tmp-guia.in-tipo-internacao com tmp-api-solicita-prorrog-guia.cd-tipo-internacao;

  • Se lg-tipo-guia-transacao-principal então alimentar os campos tmp-guia.cd-tipo-guia e tmp-guia.cd-transacao com os mesmos valores da guia principal. Senão, utilizar os valores retornador pelo programa ac0004r.p (a api de exemplo ja chama esse programa, alterar o quarto parametro para "P");

  • Alimentar tmp-guia.in-regime-internacao com o campo guiautor.int-5 da guia principal;

  • Utilizar o prestador executante dos movimentos da prorrogação o mesmo da guia principal;

  • Alimentar com campos da guia principal:

    • tmp-guia.lg-beneficiario-internado = guia-autoriz-comp.log-livre-1;

    • tmp-guia.dt-inter-autorizador = guia-autoriz-comp.dat-livre-1;

    • tmp-guia.dt-alta-autorizador = guia-autoriz-comp.dat-livre-2.

Camada java

Utilizar como exemplo a estrutura de classes da solicitação de internação (internment.xhtml).

A tela deverá seguir o mesmo padrão definido no WAC para o programa wac0060a.w.

Criar um layout no jasperreports para a impressão das guias de prorrogação. Ele deverá ser acessado através da tela de checkin e deverá estar conforme o padrão TISS.

As seguintes propriedades deverão ser disponibilizadas para a nova tela:

  • com.totvs.saude.guide.tissformtype.internmentextension.button.draft: informa-se o valor true ou false. Indica se será exibido o botão Rascunho no momento da solicitação;
  • internmentExtensionGuide.serviceTable: informa-se o código da tabela TISS padrão para os movimentos que serão digitados na guia de prorrogação. O valor informado neste campo será utilizado apenas para inicializar o tipo de tabela. O sistema permite que o usuário altere o valor do campo;
  • com.totvs.saude.guia.prorrogacaointernacao.alteratipointernacao: informa-se o valor true ou false; Esta propriedade indica se o sistema possibilita a troca do tipo de internação na prorrogação. Em caso afirmativo, o sistema abre campo para que seja informado o tipo de internação conforme domínio do padrão TISS;
  • com.totvs.saude.guia.prorrogacaointernacao.lgtipguiatransprincipal: informa-se o valor true ou false. Esta propriedade indica se a prorrogação irá herdar o mesmo Tipo de Guia e Transação da guia de solicitação de internação principal.
  • com.totvs.saude.internmentextension.agendamento.futuro: Indica a ativação da funcionalidade de agendamento futuro para a guia de prorrogação de internação.

As propriedades com.totvs.saude.guia.prorrogacaointernacao.lgtipguiatransprincipal e com.totvs.saude.guia.prorrogacaointernacao.alteratipointernacao podem influenciar na atribuição do Tipo de Guia e Transação da guia digitada. A regra para atribuição desses campos fica conforme segue:

  • Caso a propriedade com.totvs.saude.guia.prorrogacaointernacao.alteratipointernacao esteja ligada, o sistema busca o Tipo de Guia e Transação conforme o cadastro at0110l (Associativa Prestador X Classe de Nota X Tipo de Guia);
  • Caso a propriedade com.totvs.saude.guia.prorrogacaointernacao.lgtipguiatransprincipal esteja ligada, o sistema irá desconsiderar a propriedade com.totvs.saude.guia.prorrogacaointernacao.alteratipointernacao e irá automaticamente assumir o Tipo de Guia e Transação informados na guia principal do atendimento;
  • Caso ambas as propriedades citadas acima estejam desligadas, o sistema assume o tipo de guia informado no cadastro ac0210h (Associativa Prestador X Clínica), campo "Tp. Guia Solic Prorrog". A transação assumida para o atendimento é a transação de internação informada no mesmo cadastro.

 

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

Solicitação de Prorrogação

Criação

openInternmentExtension

-

 

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.