Descrição | PLSA090IMP- Ponto de Entrada Para Customizar Guia de Serviço/Consulta |
|---|---|
Observações | |
Exemplos | |
Preview | |
Veja também | |
Idioma | Português(Brasil) |
Versões | Versões_Anteriores |
Sistemas Operacionais Suportados | Todos |
Compatível com as Bases de Dados | Todas |
Updates | |
Parâmetros | |
Retorno | Nulo() |
Eventos de chamada do Ponto de Entrada | |
Variáveis | |
Programa Fonte | PLSA090.PRW |
#include "PLSR430.CH" #include "PROTHEUS.CH" #define cPicCNES PesqPict("BB8","BB8_CNES") /*/ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±± ±±³Fun‡…o ³ plsa090imp ³ Autor ³ Sandro Hoffman Lopes ³ Data ³ 18.10.06 ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±± ±±³Descri‡ao ³ Guia de Consulta ³±± ±±³ ³ Guia de Servico Profissional / Servico Auxiliar de Diag- ³±± ±±³ ³ nostico e Terapia - SP/SADT ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±± ±±³Sintaxe ³ plsa090imp(void) ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±± ±±³ Uso ³ Generico ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±± ±±³ ATUALIZACOES SOFRIDAS DESDE A CONSTRUCAO INICIAL. ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±± ±±³ PROGRAMADOR ³ DATA ³ BOPS ³ MOTIVO DA ALTERACAO ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±± ±±³ ³ ³ ³ ³±± ±±ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±± ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß /*/ user Function plsa090imp(aPar) //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ Define Variaveis ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Local CbCont, Cabec1, Cabec2, Cabec3, nPos, wnrel Local Tamanho := "M" Local cDesc1 := "Impressao da Guia de Consulta/SADT" Local cDesc2 := "de acordo com a configuracao do usuario." Local cDesc3 := " " Local aArea := GetArea() Local lPrinter := .T. Local lGerTXT := .T. Local nSvRecno := BEA->(Recno()) Private aReturn := { "Zebrado", 1,"Administracao", 1, 1, 1, "", 1 } Private aLinha := { } Private NomeProg := "PLSR430" Private nLastKey := 0 Private Titulo := "GUIA DE CONSULTA/SADT" Private cPerg DEFAULT aPar := {"1",.F.} MsgStop("Guia Customizada") If aPar[1] == "1" cPerg := "" Else cPerg := "PLR430" EndIf lGerTXT := aPar[2] // Imprime Direto sem passar pela tela de configuracao/preview do relatorio If aPar[1] == "1" .And. ! (BEA->BEA_STATUS $ "1,4,3") Help("",1,"PLSR430") Return EndIf If aPar[1] == "2" .And. lGerTXT If ! Pergunte("PLR430", .T.) Return EndIf EndIf //--Altera o Set Epch para 1910 nEpoca := SET(5, 1910) //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ Variaveis utilizadas para Impressao do Cabecalho e Rodape ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ CbCont := 0 Cabec1 := OemtoAnsi(Titulo) Cabec2 := " " Cabec3 := " " cString := "BEA" aOrd := {} wnRel := "PLSR430" // Nome Default do relatorio em Disco wnRel := SetPrint(cString, wnRel, cPerg, @Titulo, cDesc1, cDesc2, cDesc3, .F., aOrd, .F., Tamanho,,.F.,,, lGerTXT) If nLastKey = 27 Set Filter To Return Endif If lGerTXT SetPrintFile(wnRel) EndIf RptStatus({|lEnd| R430Imp(@lEnd, wnRel, cString, aPar, lGerTXT)}, Titulo) //-- Posiciona o ponteiro BEA->(dbGoto(nSvRecno)) /* ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³Restaura Area e Ordem de Entrada ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ*/ //--Retornar Set Epoch Padrao SET(5, nEpoca) RestArea(aArea) Return
/*/ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±± ±±³Funcao ³ R430IMP ³ Autor ³ Sandro Hoffman Lopes ³ Data ³ 18/10/06 ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±± ±±³Descri‡…o ³ Chamada do Relatorio ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±± ±±³ Uso ³ PLSR430 ³±± ±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±± ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß /*/ Static Function R430Imp(lEnd, wnRel, cString, aPar, lGerTXT)
Local cCodOpe Local cGrupoDe Local cGrupoAte Local cContDe Local cContAte Local cSubDe Local cSubAte Local nTipo Local cSQL Local aConsulta := {} Local aSADT := {} DEFAULT aPar := {"1",.F.} If aPar[1] == "1" .Or. BEA->(FieldPos("BEA_GUIIMP")) == 0 // Impressao Individual If BEA->BEA_TIPO == "1" aAdd(aConsulta, MtaDados(BEA->BEA_TIPO)) Else aAdd(aSADT, MtaDados(BEA->BEA_TIPO)) EndIf Else // Impressao por Lote... de acordo com o pergunte //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ Busca dados de parametros... ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Pergunte(cPerg,.F.) cCodOpe := mv_par01 cGrupoDe := mv_par02 cGrupoAte := mv_par03 cContDe := mv_par04 cContAte := mv_par05 cSubDe := mv_par06 cSubAte := mv_par07 nTipo := mv_par08 cSQL := "SELECT R_E_C_N_O_ AS REG FROM " + RetSQLName("BEA") cSQL += " WHERE BEA_FILIAL = '" + xFilial("BEA") + "'" cSQL += " AND BEA_OPEMOV = '" + cCodOpe + "'" cSQL += " AND (BEA_CODEMP >= '" + cGrupoDe + "' AND BEA_CODEMP <= '" + cGrupoAte + "')" cSQL += " AND (BEA_CONEMP >= '" + cContDe + "' AND BEA_CONEMP <= '" + cContAte + "')" cSQL += " AND (BEA_SUBCON >= '" + cSubDe + "' AND BEA_SUBCON <= '" + cSubAte + "')" If nTipo == 1 cSQL += " AND BEA_STATUS = '4'" ElseIf nTipo == 2 cSQL += " AND BEA_GUIIMP = '1'" Endif cSQL += " AND D_E_L_E_T_ = ' '" PLSQuery(cSQL,"Trb") If Trb->(Eof()) Trb->(dbCloseArea()) Help("",1,"RECNO") Return Else Do While ! Trb->(Eof()) BEA->(dbGoTo(Trb->REG)) If BEA->BEA_TIPO == "1" aAdd(aConsulta, MtaDados(BEA->BEA_TIPO)) Else aAdd(aSADT, MtaDados(BEA->BEA_TIPO)) EndIf Trb->(dbSkip()) Enddo Trb->(dbCloseArea()) EndIf EndIf
If Len(aConsulta) > 0 PlsTISS1(aConsulta, lGerTXT) EndIf If Len(aSADT) > 0 PlsTISS2(aSADT, lGerTXT) EndIf Return
/*/ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±± ±±³Funcao ³ MtaDados ³ Autor ³ Sandro Hoffman Lopes ³ Data ³ 19/10/06 ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±± ±±³Descri‡ao ³ Grava STATUS da tabela BEA e chama a funcao "PLSGSADT" ³±± ±±³ ³ que ira retornar o array com os dados a serem impressos. ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±± ±±³ Uso ³ PLSR420N ³±± ±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±± ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß /*/ Static Function MtaDados(nGuia)
Local aDados := {}
If BEA->BEA_STATUS $ "1,4,3" // ALTERACAO PARA IMPRESSAO DE USUARIOS NAO AUTORIZADOS
BEA->(RecLock("BEA", .F.)) If BEA->BEA_STATUS == "4" BEA->BEA_STATUS := "1" EndIf If BEA->(FieldPos("BEA_GUIIMP")) > 0 BEA->BEA_GUIIMP := "1" EndIf BEA->(MsUnLock()) aDados := U_PLSGSADT(nGuia) // Funcao que monta o array com os dados da guia de CONSULTA ou SP/SADT EndIf Return aDados
/* ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±± ±±³Fun‡ao ³ PLSGSADT ³ Autor ³ Sandro ³ Data ³ 10.01.07 ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±± ±±³Descri‡ao ³ Dados Relatório TISS (Guia Consulta e SP/SADT ) ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±± ±±³ Uso ³ SigaPLS ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±± ±±³Parametros³ nGuia ( Informe 1- Guia de Consulta e 2-Guia de SP/SADT ) ³±± ±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±± ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß */
User Function PLSGSADT(nGuia)
Local aDados Local aCpo25 Local aCpo26 Local aCpo27 Local aCpo28 Local aCpo29 Local aCpo40 Local aCpo51 Local aCpo52 Local aCpo53 Local aCpo54 Local aCpo55 Local aCpo56 Local aCpo57 Local aCpo58 Local aCpo59 Local aCpo60 Local aCpo61 Local aCpo62 Local aCpo63 Local aCpo72 Local aCpo73 Local aCpo74 Local aCpo75 Local aCpo76 Local aCpo77 Local aCpo78 Local aCpo79 Local aCpo80 Local aCpo81 Local aCpo82 Local aCpo83 Local aCpo84 Local nVrProc Local nVrMater Local nVrMedic Local nVrTaxas Local nVrDiar Local nVrGases Local nTotOPM Local lTemPFExe Local lExecPF Local lBE2Aut
aDados := {}
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ Posiciona Operadora ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ BA0->(dbSetOrder(1)) BA0->(dbSeek(xFilial("BA0")+BEA->(BEA_OPEUSR))) //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ Posiciona Usuario ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ BA1->(dbSetOrder(2)) BA1->(dbSeek(xFilial("BA1")+BEA->(BEA_OPEUSR+BEA_CODEMP+BEA_MATRIC+BEA_TIPREG))) //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ Posiciona Vidas ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ BTS->(dbSetOrder(1)) BTS->(dbSeek(xFilial("BTS")+BA1->BA1_MATVID)) //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ Posiciona Familias/Usuarios ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ BA3->(dbSetorder(01)) BA3->(dbSeek(xFilial("BA3")+BA1->(BA1_CODINT+BA1_CODEMP+BA1_MATRIC))) //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ Posiciona Produtos de Saude - Plano ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ BI3->(dbSetOrder(1)) BI3->(dbSeek(xFilial("BI3")+BA3->(BA3_CODINT+BA3_CODPLA+BA3_VERSAO))) //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ Posiciona Medico Solicitante ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ BB0->(dbSetOrder(4)) BB0->(dbSeek(xFilial("BB0")+BEA->(BEA_ESTSOL+BEA_REGSOL+BEA_SIGLA))) //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ Posiciona Rede de Atendimento ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ BAU->(dbSetOrder(1)) BAU->(dbSeek(xFilial("BAU")+BEA->BEA_CODRDA)) //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ Posiciona Contas Medicas ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ BD5->(dbSetOrder(1)) BD5->(MsSeek(xFilial("BD5")+BEA->(BEA_OPEMOV+BEA_CODLDP+BEA_CODPEG+BEA_NUMGUI))) //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ Posiciona Especialidade ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ BAQ->(dbSetOrder(1)) BAQ->(MsSeek(xFilial("BAQ")+BEA->(BEA_OPEMOV+BEA_CODESP))) If nGuia == "1" // Guia de Consulta // Cabecalho aAdd(aDados, BA0->BA0_SUSEP) // 1 aAdd(aDados, BEA->(BEA_OPEMOV+"."+BEA_ANOAUT+"."+BEA_MESAUT+"-"+BEA_NUMAUT)) // 2 aAdd(aDados, BEA->BEA_DTDIGI) // 3 // Dados do Beneficiario If BA1->BA1_CODINT == BA1->BA1_OPEORI .Or. empty(BA1->BA1_MATANT) aAdd(aDados, BEA->(SubStr(BEA_OPEMOV,1,1)+SubStr(BEA_OPEMOV,2,3)+"."+BEA_CODEMP+"."+BEA_MATRIC+"."+BEA_TIPREG+"-"+BEA_DIGITO) ) // 4 Else aAdd(aDados, BA1->BA1_MATANT) // 4 EndIf aAdd(aDados, BI3->BI3_NREDUZ) // 5 aAdd(aDados, BA1->BA1_DTVLCR) // 6 aAdd(aDados, BEA->BEA_NOMUSR) // 7 aAdd(aDados, BTS->BTS_NRCRNA) // 8 // Dados do Contratado //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ Posiciona Profissional de Saude ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ lTemPFExe := .F. // Tem Profissional Executante informado na Guia lExecPF := .F. // O executante (RDA) eh pessoa fisica If ! Empty(BEA->BEA_REGEXE) BB0->(dbSetOrder(4)) lTemPFExe := BB0->(dbSeek(xFilial("BB0")+BEA->(BEA_ESTEXE+BEA_REGEXE+BEA_SIGEXE))) Else If BAU->BAU_TIPPE == "F" BB0->(dbSetOrder(1)) lExecPF := BB0->(dbSeek(xFilial("BB0")+BAU->BAU_CODBB0)) EndIf EndIf cCodRdaEsp := "000364" nRec := BAU->(Recno()) BAU->(DbSeek(xFilial("BAU")+cCodRdaEsp)) aAdd(aDados, IIf(BAU->BAU_TIPPE == "F", Transform(BAU->BAU_CPFCGC, "@R 999.999.999-99"), Transform(BAU->BAU_CPFCGC, "@R 99.999.999/9999-99"))) // 9 aAdd(aDados, BAU->BAU_NOME) // 10 BAU->(DbGoTo(nRec)) BB8->(dbSetOrder(1)) BB8->(dbSeek(xFilial("BB8")+BAU->BAU_CODIGO+BEA->(BEA_OPEMOV+BEA_CODLOC))) aAdd(aDados, Transform(BB8->BB8_CNES, cPicCNES)) // 11 aAdd(aDados, BB8->BB8_TIPLOG) // 12 aAdd(aDados, BB8->BB8_END) // 13 aAdd(aDados, BB8->BB8_NR_END) // 14 aAdd(aDados, BB8->BB8_COMEND) // 15 aAdd(aDados, BB8->BB8_MUN) // 16 aAdd(aDados, BB8->BB8_EST) // 17 aAdd(aDados, BB8->BB8_CODMUNI) // 18 aAdd(aDados, Transform(BB8->BB8_CEP, "@R 99999-999")) // 19 aAdd(aDados, IIf(lTemPFExe, BB0->BB0_NOME, "")) // 20 aAdd(aDados, IIf(lTemPFExe .Or. lExecPF, BB0->BB0_CODSIG, "")) // 21 aAdd(aDados, IIf(lTemPFExe .Or. lExecPF, BB0->BB0_NUMCR, "")) // 22 aAdd(aDados, IIf(lTemPFExe .Or. lExecPF, BB0->BB0_ESTADO, "")) // 23 aAdd(aDados, IIf(lTemPFExe .Or. lExecPF, BAQ->BAQ_CBOS, "")) // 24 // Hipoteses Diagnosticas aAdd(aDados, BEA->BEA_TIPDOE) // 25 aAdd(aDados, { BEA->BEA_TPODOE, BEA->BEA_UTPDOE } ) // 26 aAdd(aDados, BEA->BEA_INDACI) // 27 aAdd(aDados, BEA->BEA_CID) // 28 aAdd(aDados, BEA->BEA_CIDSEC) // 29 aAdd(aDados, BEA->BEA_CID3) // 30 aAdd(aDados, BEA->BEA_CID4) // 31 // Dados do Atendimento/Procedimento realizado BE2->(dbSetOrder(1)) cChave := xFilial("BE2")+BEA->(BEA_OPEMOV+BEA_ANOAUT+BEA_MESAUT+BEA_NUMAUT ) If BE2->(MsSeek(cChave)) aAdd(aDados, BEA->BEA_DATPRO) // 32 BD6->(dbSetOrder(1)) BD6->(MsSeek(xFilial("BD6")+BD5->(BD5_CODOPE+BD5_CODLDP+BD5_CODPEG+BD5_NUMERO+BD5_ORIMOV)+BE2->(BE2_SEQUEN+BE2_CODPAD+BE2_CODPRO))) aAdd(aDados,Posicione("BF8", 2, xFilial("BF8")+BD6->(BD6_CODPAD+BD6_CODOPE+BD6_CODTAB), "BF8_TABTIS"))//33 // aAdd(aDados, BE2->BE2_CODPAD) // 33 aAdd(aDados, PlsPicPro(BE2->BE2_CODPAD, BE2->BE2_CODPRO)) // 34 aAdd(aDados, BEA->BEA_TIPCON) // 35 Else aAdd(aDados, StoD("")) // 32 aAdd(aDados, "") // 33 aAdd(aDados, "") // 34 aAdd(aDados, "") // 35 EndIf aAdd(aDados, BEA->BEA_TIPSAI) // 36 aAdd(aDados, AllTrim(BEA->BEA_MSG01) + " " + AllTrim(BEA->BEA_MSG02)) // 37 aAdd(aDados, dDataBase) // 38 aAdd(aDados, dDataBase) // 39 ElseIf nGuia == "2" // Guia de SP/SADT // Dados da Autorizacao aAdd(aDados, BA0->BA0_SUSEP) // 1 aAdd(aDados, BEA->(BEA_OPEMOV+"."+BEA_ANOAUT+"."+BEA_MESAUT+"-"+BEA_NUMAUT)) // 2 aAdd(aDados, BD5->BD5_GUIINT) // 3 ?? BD5_REGATE, BD5_GUIINT, BD5_REGFOR DEVEM ESTAR NO BOLETIM TECNICO. aAdd(aDados, BEA->BEA_DATPRO) // 4 aAdd(aDados, BEA->BEA_SENHA) // 5 aAdd(aDados, IIf(Empty(BEA->BEA_SENHA), StoD(""), BEA->BEA_VALSEN)) // 6 aAdd(aDados, BEA->BEA_DTDIGI) // 7 // Dados do Beneficiario If BA1->BA1_CODINT == BA1->BA1_OPEORI .Or. empty(BA1->BA1_MATANT) // 8 aAdd(aDados, BEA->(SubStr(BEA_OPEMOV,1,1)+SubStr(BEA_OPEMOV,2,3)+"."+BEA_CODEMP+"."+BEA_MATRIC+"."+BEA_TIPREG+"-"+BEA_DIGITO) ) Else aAdd(aDados, BA1->BA1_MATANT) EndIf aAdd(aDados, BI3->BI3_NREDUZ) // 9 aAdd(aDados, BA1->BA1_DTVLCR) // 10 aAdd(aDados, BEA->BEA_NOMUSR) // 11 aAdd(aDados, BTS->BTS_NRCRNA) // 12 // Dados do Contratado Solicitante //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ Posiciona Medico Solicitante ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ BB0->(dbSetOrder(4) ) BB0->(dbSeek(xFilial("BB0")+BEA->(BEA_ESTSOL+BEA_REGSOL+BEA_SIGLA))) aAdd(aDados, IIf(Len(AllTrim(BAU->BAU_CPFCGC)) == 11, Transform(BAU->BAU_CPFCGC, "@R 999.999.999-99"), Transform(BB0->BB0_CGC, "@R 99.999.999/9999-99"))) // 13 aAdd(aDados, BAU->BAU_NOME) // 14 BB8->(dbSetOrder(1)) BB8->(dbSeek(xFilial("BB8")+BAU->BAU_CODIGO+BEA->(BEA_OPEMOV+BEA_CODLOC))) aAdd(aDados, Transform(BB8->BB8_CNES, cPicCNES)) // 15 aAdd(aDados, BEA->BEA_NOMSOL) // 16 aAdd(aDados, BEA->BEA_SIGLA) // 17 aAdd(aDados, BEA->BEA_REGSOL) // 18 aAdd(aDados, BEA->BEA_ESTSOL) // 19 aAdd(aDados, BAQ->BAQ_CBOS) // 20 // Dados da solicitacao/procedimentos/exames solicitados aAdd(aDados, { BEA->BEA_DATSOL, BEA->BEA_HORSOL }) // 21 BDR->(dbSetOrder(1)) // BDR_FILIAL + BDR_CODOPE + BDR_CODTAD BDR->(MsSeek(xFilial("BDR")+BEA->(BEA_OPEMOV+BEA_TIPADM))) aAdd(aDados, BDR->BDR_CARINT) // 22 aAdd(aDados, BEA->BEA_CID) // 23 aAdd(aDados, AllTrim(BEA->BEA_INDCLI)+" "+AllTrim(BEA->BEA_INDCL2)) // 24 aCpo25 := {} aCpo26 := {} aCpo27 := {} aCpo28 := {} aCpo29 := {} aCpo51 := {} aCpo52 := {} aCpo53 := {} aCpo54 := {} aCpo55 := {} aCpo56 := {} aCpo57 := {} aCpo58 := {} aCpo59 := {} aCpo60 := {} aCpo61 := {} aCpo62 := {} aCpo63 := {} aCpo72 := {} aCpo73 := {} aCpo74 := {} aCpo75 := {} aCpo76 := {} aCpo77 := {} aCpo78 := {} aCpo79 := {} aCpo80 := {} aCpo81 := {} aCpo82 := {} aCpo83 := {} aCpo84 := {} nVrProc := 0 nVrMater := 0 nVrMedic := 0 nVrTaxas := 0 nVrDiar := 0 nVrGases := 0 nTotOPM := 0
BE2->(dbSetOrder(1)) cChave := xFilial("BE2")+BEA->(BEA_OPEMOV+BEA_ANOAUT+BEA_MESAUT+BEA_NUMAUT) If BE2->(dbSeek(cChave)) Do While !BE2->(Eof()) .And. cChave == BE2->(BE2_FILIAL+BE2_OPEMOV+BE2_ANOAUT+BE2_MESAUT+BE2_NUMAUT) // If BE2->BE2_STATUS <> "1" // BE2->(dbSkip()) // Loop // Endif
lBE2Aut := BE2->BE2_QTDPRO > 0 BR8->(dbSetOrder(1)) BR8->(dbSeek(xFilial("BR8")+BE2->(BE2_CODPAD+BE2_CODPRO))) If BR8->BR8_TPPROC <> "5" // OPM (Orteses, Proteses e Materiais Especiais) BD6->(dbSetOrder(1)) BD6->(MsSeek(xFilial("BD6")+BD5->(BD5_CODOPE+BD5_CODLDP+BD5_CODPEG+BD5_NUMERO+BD5_ORIMOV)+BE2->(BE2_SEQUEN+BE2_CODPAD+BE2_CODPRO))) aAdd(aCpo25,Posicione("BF8", 2, xFilial("BF8")+BD6->(BD6_CODPAD+BD6_CODOPE+BD6_CODTAB), "BF8_TABTIS"))//25 // aAdd(aCpo25, BE2->BE2_CODPAD) // 25 aAdd(aCpo26, PlsPicPro(BE2->BE2_CODPAD, BE2->BE2_CODPRO)) // 26 aAdd(aCpo27, BE2->BE2_DESPRO) // 27 aAdd(aCpo28, BE2->BE2_QTDPRO) // 28 aAdd(aCpo29, BE2->BE2_QTDPRO) // 29 EndIf //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ Posiciona Vias de Acesso ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ If BEA->BEA_ORIGEM == "1" BGR->(dbSetOrder(1)) BGR->(MsSeek(xFilial("BGR")+BE2->(BE2_OPEMOV+BE2_VIA))) If lBE2Aut .And. BR8->BR8_TPPROC <> "5" // OPM (Orteses, Proteses e Materiais Especiais) aAdd(aCpo51, BE2->BE2_DATPRO) // 51 aAdd(aCpo52, BE2->BE2_HORPRO) // 52 aAdd(aCpo53, BE2->BE2_HORFIM) // 53 BD6->(dbSetOrder(1)) BD6->(MsSeek(xFilial("BD6")+BD5->(BD5_CODOPE+BD5_CODLDP+BD5_CODPEG+BD5_NUMERO+BD5_ORIMOV)+BE2->(BE2_SEQUEN+BE2_CODPAD+BE2_CODPRO))) aAdd(aCpo54,Posicione("BF8", 2, xFilial("BF8")+BD6->(BD6_CODPAD+BD6_CODOPE+BD6_CODTAB), "BF8_TABTIS"))//54 // aAdd(aCpo54, BE2->BE2_CODPAD) // 54 aAdd(aCpo55, PlsPicPro(BE2->BE2_CODPAD, BE2->BE2_CODPRO)) // 55 aAdd(aCpo56, BE2->BE2_DESPRO) // 56 aAdd(aCpo57, BE2->BE2_QTDPRO) // 57 aAdd(aCpo58, BGR->BGR_VIATIS) // 58 aAdd(aCpo59, BE2->BE2_TECUTI) // 59 aAdd(aCpo60, BE2->BE2_PERVIA) // 60 EndIf BD6->(dbSetOrder(1)) // BD6_FILIAL + BD6_CODOPE + BD6_CODLDP + BD6_CODPEG + BD6_NUMERO + BD6_ORIMOV + BD6_SEQUEN + BD6_CODPAD + BD6_CODPRO If BD6->(dbSeek(xFilial("BD6")+BE2->BE2_OPEMOV+BEA->BEA_CODLDP+ BEA->BEA_CODPEG +BE2->BE2_NUMERO+BEA->BEA_ORIMOV+BE2->BE2_SEQUEN+BE2->BE2_CODPAD+BE2->BE2_CODPRO)) If lBE2Aut .And. BR8->BR8_TPPROC <> "5" // OPM (Orteses, Proteses e Materiais Especiais) aAdd(aCpo61, Round(BD6->BD6_VLRPAG / BD6->BD6_QTDPRO, 2)) // 61 aAdd(aCpo62, BD6->BD6_VLRPAG) // 62 EndIf BR8->(dbSetOrder(1)) If BR8->(dbSeek(xFilial("BR8")+BE2->(BE2_CODPAD+BE2_CODPRO))) Do Case Case lBE2Aut .And. BR8->BR8_TPPROC == "0" // Procedimento nVrProc += BD6->BD6_VLRPAG Case lBE2Aut .And. BR8->BR8_TPPROC == "1" // Material nVrMater += BD6->BD6_VLRPAG Case lBE2Aut .And. BR8->BR8_TPPROC == "2" // Medicamento nVrMedic += BD6->BD6_VLRPAG Case lBE2Aut .And. BR8->BR8_TPPROC == "3" // Taxas nVrTaxas += BD6->BD6_VLRPAG Case lBE2Aut .And. BR8->BR8_TPPROC == "4" // Diarias nVrDiar += BD6->BD6_VLRPAG Case lBE2Aut .And. BR8->BR8_TPPROC == "7" // Gases Medicinais nVrGases += BD6->BD6_VLRPAG Case BR8->BR8_TPPROC == "5" // OPM (Orteses, Proteses e Materiais Especiais) // OPM SOLICITADOS BD6->(dbSetOrder(1)) BD6->(MsSeek(xFilial("BD6")+BD5->(BD5_CODOPE+BD5_CODLDP+BD5_CODPEG+BD5_NUMERO+BD5_ORIMOV)+BE2->(BE2_SEQUEN+BE2_CODPAD+BE2_CODPRO))) aAdd(aCpo72,Posicione("BF8", 2, xFilial("BF8")+BD6->(BD6_CODPAD+BD6_CODOPE+BD6_CODTAB), "BF8_TABTIS"))//72 // aAdd(aCpo72, BE2->BE2_CODPAD) // 72 aAdd(aCpo73, PlsPicPro(BE2->BE2_CODPAD, BE2->BE2_CODPRO)) // 73 aAdd(aCpo74, BE2->BE2_DESPRO) // 74 aAdd(aCpo75, BE2->BE2_QTDSOL) // 75 aAdd(aCpo76, BR8->BR8_FABRIC) // 76 aAdd(aCpo77, Round(BD6->BD6_VLRPAG / BD6->BD6_QTDPRO, 2)) // 77 // OPM UTILIZADOS If lBE2Aut BD6->(dbSetOrder(1)) BD6->(MsSeek(xFilial("BD6")+BD5->(BD5_CODOPE+BD5_CODLDP+BD5_CODPEG+BD5_NUMERO+BD5_ORIMOV)+BE2->(BE2_SEQUEN+BE2_CODPAD+BE2_CODPRO))) aAdd(aCpo78,Posicione("BF8", 2, xFilial("BF8")+BD6->(BD6_CODPAD+BD6_CODOPE+BD6_CODTAB), "BF8_TABTIS"))//78 //aAdd(aCpo78, BE2->BE2_CODPAD) // 78 aAdd(aCpo79, PlsPicPro(BE2->BE2_CODPAD, BE2->BE2_CODPRO)) // 79 aAdd(aCpo80, BE2->BE2_DESPRO) // 80 aAdd(aCpo81, BE2->BE2_QTDPRO) // 81 aAdd(aCpo82, BR8->BR8_CODBAR) // 82 aAdd(aCpo83, Round(BD6->BD6_VLRPAG / BD6->BD6_QTDPRO, 2)) // 83 aAdd(aCpo84, BD6->BD6_VLRPAG) // 84 nTotOPM += BD6->BD6_VLRPAG EndIf EndCase EndIf Else aAdd(aCpo61, 0) // 61 aAdd(aCpo62, 0) // 62 EndIf Endif BE2->(dbSkip()) Enddo EndIf aAdd(aDados, aCpo25) aAdd(aDados, aCpo26) aAdd(aDados, aCpo27) aAdd(aDados, aCpo28) aAdd(aDados, aCpo29) // Dados do Contratado executante lTemPFExe := .F. // Tem Profissional Executante informado na Guia lExecPF := .F. // O executante (RDA) eh pessoa fisica //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ Posiciona Rede de Atendimento ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ BAU->(dbSetOrder(1)) BAU->(MsSeek(xFilial("BAU")+BEA->BEA_CODRDA)) //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ Posiciona Profissional de Saude ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ If ! Empty(BEA->BEA_REGEXE) BB0->(dbSetOrder(4) ) lTemPFExe := BB0->(dbSeek(xFilial("BB0")+BEA->(BEA_ESTEXE+BEA_REGEXE+BEA_SIGEXE))) Else If BAU->BAU_TIPPE == "F" BB0->(dbSetOrder(1)) lExecPF := BB0->(dbSeek(xFilial("BB0")+BAU->BAU_CODBB0)) EndIf EndIf BB8->(dbSetOrder(1)) BB8->(dbSeek(xFilial("BB8")+BAU->BAU_CODIGO+BEA->(BEA_OPEMOV+BEA_CODLOC))) If BEA->BEA_ORIGEM == "1" aAdd(aDados, IIf(BAU->BAU_TIPPE == "F", Transform(BAU->BAU_CPFCGC, "@R 999.999.999-99"), Transform(BAU->BAU_CPFCGC, "@R 99.999.999/9999-99"))) // 30 aAdd(aDados, BAU->BAU_NOME) // 31 aAdd(aDados, BB8->BB8_TIPLOG) // 32 aAdd(aDados, BB8->BB8_END) // 33 aAdd(aDados, BB8->BB8_NR_END) // 34 aAdd(aDados, BB8->BB8_COMEND) // 35 aAdd(aDados, BB8->BB8_MUN) // 36 aAdd(aDados, BB8->BB8_EST) // 37 aAdd(aDados, BB8->BB8_CODMUNI) // 38 aAdd(aDados, Transform(BB8->BB8_CEP, "@R 99999-999")) // 39 Else //Enquanto eh uma liberacao nao tem executante aAdd(aDados, "") // 30 aAdd(aDados, "") // 31 aAdd(aDados, "") // 32 aAdd(aDados, "") // 33 aAdd(aDados, "") // 34 aAdd(aDados, "") // 35 aAdd(aDados, "") // 36 aAdd(aDados, "") // 37 aAdd(aDados, "") // 38 aAdd(aDados, "") // 39 Endif aCpo40 := {} If BEA->BEA_ORIGEM == "1" aAdd(aCpo40, Transform(BB8->BB8_CNES, cPicCNES)) // 40 Else aAdd(aCpo40, "") // 40 Endif If ( lTemPFExe .Or. lExecPF ) .And. BEA->BEA_ORIGEM == "1" aAdd(aCpo40, IIf(lTemPFExe, IIf(Len(AllTrim(BB0->BB0_CGC)) == 11, Transform(BB0->BB0_CGC, "@R 999.999.999-99"), Transform(BB0->BB0_CGC, "@R 99.999.999/9999-99")), "")) // 40a aAdd(aDados, aCpo40) // 40 e 40a aAdd(aDados, IIf(lTemPFExe, BB0->BB0_NOME, "")) // 41 aAdd(aDados, IIf(lTemPFExe .Or. lExecPF, BB0->BB0_CODSIG, "")) // 42 aAdd(aDados, IIf(lTemPFExe .Or. lExecPF, BB0->BB0_NUMCR, "")) // 43 aAdd(aDados, IIf(lTemPFExe .Or. lExecPF, BB0->BB0_ESTADO, "")) // 44 aAdd(aDados, { IIf(lTemPFExe .Or. lExecPF, BAQ->BAQ_CBOS, ""), "" }) // 45 e 45a ??????(45a)?????grau de participacao????? Else aAdd(aCpo40, "") // 40a aAdd(aDados, aCpo40) // 40 e 40a aAdd(aDados, "") // 41 aAdd(aDados, "") // 42 aAdd(aDados, "") // 43 aAdd(aDados, "") // 44 aAdd(aDados, { "", "" }) // 45 e 45a ??????(45a)?????grau de participacao????? EndIf // Dados do Atendimento aAdd(aDados, BEA->BEA_TIPATE) // 46 aAdd(aDados, BEA->BEA_INDACI) // 47 aAdd(aDados, BEA->BEA_TIPSAI) // 48 // Consulta de referencia aAdd(aDados, BEA->BEA_TIPDOE) // 49 aAdd(aDados, { BEA->BEA_TPODOE, BEA->BEA_UTPDOE } ) // 50 // Procedimentos e exames realizados aAdd(aDados, aCpo51) aAdd(aDados, aCpo52) aAdd(aDados, aCpo53) aAdd(aDados, aCpo54) aAdd(aDados, aCpo55) aAdd(aDados, aCpo56) aAdd(aDados, aCpo57) aAdd(aDados, aCpo58) aAdd(aDados, aCpo59) aAdd(aDados, aCpo60) aAdd(aDados, aCpo61) aAdd(aDados, aCpo62) aAdd(aDados, aCpo63) // Data e Assinatura de Procedimentos em Serie If BEA->BEA_ORIGEM == "1" aAdd(aDados, AllTrim(BEA->BEA_MSG01) + " " + AllTrim(BEA->BEA_MSG02)) // 64 Else aAdd(aDados, "") // 64 Endif aAdd(aDados, nVrProc) // 65 - Vr Procedimentos aAdd(aDados, nVrTaxas) // 66 - Vr Taxas e Alugueis aAdd(aDados, nVrMater) // 67 - Vr Materiais aAdd(aDados, nVrMedic) // 68 - Vr Medicamentos aAdd(aDados, nVrDiar) // 69 - Vr Diarias aAdd(aDados, nVrGases) // 70 - Vr Gases Medicinais aAdd(aDados, nVrProc+nVrTaxas+nVrMater+nVrMedic+nVrDiar+nVrGases) // 71 - Vr Total Geral // OPM Solicitadas aAdd(aDados, aCpo72) aAdd(aDados, aCpo73) aAdd(aDados, aCpo74) aAdd(aDados, aCpo75) aAdd(aDados, aCpo76) aAdd(aDados, aCpo77) // OPM Utilizadas aAdd(aDados, aCpo78) aAdd(aDados, aCpo79) aAdd(aDados, aCpo80) aAdd(aDados, aCpo81) aAdd(aDados, aCpo82) aAdd(aDados, aCpo83) aAdd(aDados, aCpo84) aAdd(aDados, nTotOPM) // 85 - Valor Total de OPM aAdd(aDados, dDataBase) // 86 - Data e Assinatura do Solicitante aAdd(aDados, dDataBase) // 87 - Data e Assinatura do Responsavel pela Autorizacao aAdd(aDados, dDataBase) // 88 - Data e Assinatura do Beneficiario ou Responsavel If BEA->BEA_ORIGEM == "1" aAdd(aDados, dDataBase) // 89 - Data e Assinatura do Prestador Executante Else aAdd(aDados, ctod("")) // 89 - Data e Assinatura do Prestador Executante Endif Else MsgInfo("Guia Originada da Internação, para Impressão ir a Rotina de Internação.") EndIf Return aDados