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. |
---|