public function selectedrequestcovenantAction() { $responce = new stdClass(); $cdrequest = $_POST["idrequest"]; $requestModel = new RequestModel(); $clientCovenant = $requestModel->fetchRow($requestModel->getClientCovenantForward($cdrequest)); if ($clientCovenant['dtbirth'] != '') { $dtbirth = new Zend_Date($clientCovenant['dtbirth'], 'dd-MM-YYYY'); $year = $dtbirth->toString('YYYY'); $month = $dtbirth->toString('MM'); $day = $dtbirth->toString('dd'); $today = new Zend_Date(); $tdYear = $today->toString('YYYY'); $tdMonth = $today->toString('MM'); $tdDay = $today->toString('dd'); $nrage = 0; $nrage = GslabUtils::calcAgeDifferenceShort($clientCovenant['dtbirth']); if ($tdMonth < $month || $tdMonth == $month && $tdDay < $day) { $nrage--; } } else { $nrage = " "; } $responce->forward = $clientCovenant['nmforward']; $responce->covenant = $clientCovenant['nmcovenant']; $responce->client = $clientCovenant['nmclient']; $responce->fgsex = $clientCovenant['fgsex']; $responce->age = $nrage; $responce = json_encode($responce); print_r($responce); return $responce; }
public function generateprotocolAction($cdrequest = 1) { require_once 'fpdf/pdf_protocol.php'; $gslabSession = Zend_Session::namespaceGet('Gslab_Session'); $cdcompany = $gslabSession['user']->cdcompany; $companyModel = new CompanyModel(); $requestModel = new RequestModel(); $sampleModel = new RequestexaminationsampleModel(); $clientModel = new ClientModel(); $covenantModel = new CovenantModel(); $forwardModel = new ForwardModel(); $examinationModel = new RequestexaminationModel(); $companyData = $companyModel->fetchRow('cdcompany = ' . $cdcompany); $requestData = $requestModel->fetchRow('cdrequest = ' . $cdrequest); $sampleData = $sampleModel->fetchRow('cdrequest = ' . $cdrequest); $clientData = $clientModel->fetchRow('cdclient = ' . $requestData->cdclient); $covenantData = $covenantModel->fetchRow('cdcovenant = ' . $requestData->cdcovenant); $forwardData = $forwardModel->fetchRow('cdforward = ' . $requestData->cdforward); $dtbirth = new Zend_Date($clientData->dtbirth, 'dd-MM-YYYY'); $dtrequest = new Zend_Date($requestData->dtrequest, 'dd-MM-YYYY HH:mm'); $dtdeadline = new Zend_Date($requestData->dtdeadline, 'dd-MM-YYYY HH:mm'); $year = $dtbirth->toString('YYYY'); $month = $dtbirth->toString('MM'); $day = $dtbirth->toString('dd'); $today = new Zend_Date(); $tdYear = $today->toString('YYYY'); $tdMonth = $today->toString('MM'); $tdDay = $today->toString('dd'); $nrage = 0; $nrage = GslabUtils::calcAgeDifferenceShort($clientData->dtbirth); $idade = GslabUtils::calcula_idade($clientData->dtbirth); if ($clientData->fgsex == 1) { $sexo = 'M'; } else { $sexo = 'F'; } if ($tdMonth < $month || $tdMonth == $month && $tdDay < $day) { $nrage--; } $pdf = new PDF_PROTOCOL(); $pdf->AddPage(); $pdf->SetFont('Courier', 'B', 11); $pdf->ln(55); $pdf->Cell(0, 0, utf8_decode(strtoupper($companyData->nmcompany)), 0, 1, 'C'); $pdf->Cell(0, 8, utf8_decode('LABORATÓRIO DE ANÁLISES CLÍNICAS'), 0, 2, 'C'); $pdf->Cell(0, -5, str_repeat('_', 81), 0, 1, 'L'); $pdf->ln(8); $pdf->SetFont('Helvetica', '', 9); $pdf->Cell(0, 0, utf8_decode(strtoupper($companyData->nmstreet) . ', ' . $companyData->nrnumber), 0, 1, 'L'); $pdf->ln(4); $pdf->Cell(0, 0, 'COMPROVANTE DE COLETA', 0, 1, 'L'); $pdf->Cell(0, 0, utf8_decode(strtoupper($companyData->nmneighborhood)) . ' - Fone: (47) 3427-3668', 0, 1, 'R'); //ADICIONAR TELEFONE NA BASE $pdf->ln(4); $pdf->Cell(0, 0, utf8_decode('Ficha: ') . $requestData->cdcompany . "-" . $requestData->cdrequest, 0, 1, 'L'); $pdf->Cell(0, 0, 'Senha: 2301', 0, 1, 'R'); $pdf->ln(8); $pdf->Cell(0, 0, utf8_decode('PRONTUÁRIO'), 0, 1, 'L'); $pdf->ln(4); $pdf->SetFont('Helvetica', '', 10); $pdf->Cell(15, 5, utf8_decode('Amostra: '), 0, 0, 'L'); $pdf->Cell(0, 5, $pdf->SetFont('Helvetica', 'BU', 10) . $sampleData->nmbarcodesample, 0, 1, 'L'); $pdf->ln(4); $pdf->SetFont('Helvetica', 'BU', 10); $pdf->Write(0, utf8_decode(strtoupper($clientData->nmclient))); $pdf->SetFont('Helvetica', '', 10); $pdf->ln(8); $pdf->Write(0, utf8_decode('Idade: ' . $nrage)); $pdf->Write(0, utf8_decode(' Sexo: ' . $sexo)); $pdf->ln(6); $pdf->Write(0, utf8_decode('Convênio: ' . $covenantData->nmcovenant)); $pdf->ln(6); $pdf->Write(0, utf8_decode('Médico: ' . $forwardData->idmaincrm . ' - ' . $forwardData->nmforward)); $pdf->ln(6); $pdf->Write(0, utf8_decode('Coleta: ' . strtoupper($companyData->cdcompany . ' - ' . $companyData->nmfantasyname))); $pdf->ln(6); $pdf->Write(0, utf8_decode('Data e Hora: ') . $dtrequest); $pdf->ln(4); $pdf->SetFont('Courier', 'B', 11); $pdf->Cell(0, 0, str_repeat('_', 81), 0, 1, 'L'); /* CAIXA LATERAL */ $pdf->SetFont('Helvetica', '', 10); $pdf->SetY(89); $pdf->SetX(90); $pdf->drawTextBox(utf8_decode('Provável local e data da entrega: Local: ' . strtoupper($companyData->nmfantasyname) . ' Data: ' . $dtdeadline . ' Salvo quando ocorrer: 1- Imprevistos técnicos 2- Bloqueio de resultado pelo controle de qualidade 3- Atraso no fornecimento de reagentes Autorizo a coleta do(s) exame(s) acima citado(s) e declaro estar ciente dos riscos quanto ao surgimento de possíveis hematomas no local da punção. Assinatura do cliente e/ou responsável:__________________________________________'), 109, 50, 'L', 'M'); /* doze exames */ $Exames = $examinationModel->fetchAll($examinationModel->getExaminationProtocol($cdrequest)); $pdf->ln(13); // Exames $pdf->SetFont('Helvetica', 'B', 9); $pdf->SetWidths(array(50, 23, 18)); $pdf->SetX(10); $pdf->Row(array(utf8_decode('Exames'), utf8_decode('Material'), utf8_decode('Status'))); $pdf->SetFont('Helvetica', '', 9); $i = 0; foreach ($Exames as $examination) { if ($examination['nmmaterial'] == 2) { $status = 'Faltante'; } else { $status = 'OK'; } if ($i == 11) { $pdf->SetY(148); } $pdf->SetX(10); $pdf->Row(array(utf8_decode($examination['nmexamination']), utf8_decode($examination['nmmaterial']), $status)); $i++; } $pdf->ln(5); /* -------------------------------------------------------------- */ /* PESQUISA DE SATISFAÇÃO */ $pdf->SetFont('Helvetica', '', 7); $pdf->SetY(205); $pdf->Cell(0, 0, str_repeat(' -', 125), 0, 1, 'L'); $pdf->SetX(10); $pdf->Write(5, utf8_decode('Prezado cliente: com o objetivo de melhorarmos cada vez mais a')); $pdf->ln(3); $pdf->SetX(10); $pdf->Write(5, utf8_decode('qualidade dos nossos serviços e o atendimento à você, solicitamos')); $pdf->ln(3); $pdf->SetX(10); $pdf->Write(5, utf8_decode('a sua gentileza preenchendo o formulário abaixo.')); $pdf->ln(5); $pdf->SetFont('Helvetica', 'B', 7); $pdf->SetWidths(array(30, 13, 13, 13, 13)); $pdf->SetX(10); $pdf->Row(array(utf8_decode('Assinale sua opinião'), utf8_decode('Ótimo'), 'Bom', 'Regular', 'Ruim')); $pdf->SetFont('Helvetica', '', 7); $pdf->SetX(10); $pdf->Row(array(utf8_decode('1. Como foi o atendimento ao telefone?'), '', '', '', '')); $pdf->SetX(10); $pdf->Row(array(utf8_decode('2. Como foi o atendimento da recepção?'), '', '', '', '')); $pdf->SetX(10); $pdf->Row(array(utf8_decode('3. Quanto ao conforto e bem estar na sala de espera?'), '', '', '', '')); $pdf->SetX(10); $pdf->Row(array(utf8_decode('4. Quanto à coleta do material para o exame?'), '', '', '', '')); $pdf->SetX(10); $pdf->Row(array(utf8_decode('5. Quanto ao prazo e entrega dos resultados?'), '', '', '', '')); $pdf->SetY(215); $pdf->SetX(117); $pdf->Write(5, utf8_decode('6. Como conheceu o Laboratório? _______________________________')); $pdf->ln(7); $pdf->SetX(117); $pdf->Write(5, utf8_decode('7. Você indicaria o laboratório para outras pessoas? ( ) Sim ( ) Não')); $pdf->ln(7); $pdf->SetX(117); $pdf->Write(5, utf8_decode('Se NÃO, por quê?____________________________________________')); $pdf->ln(7); $pdf->SetX(117); $pdf->Write(5, utf8_decode('8. Conhece nosso ')); $pdf->SetFont('Helvetica', 'BU', 7); $pdf->Write(5, utf8_decode('Programa de Coleta Domiciliar')); $pdf->SetFont('Helvetica', '', 7); $pdf->Write(5, utf8_decode(' (tel: 3433-2127)?')); $pdf->ln(7); $pdf->SetX(117); $pdf->Write(5, utf8_decode('( ) Sim ( ) Não')); $pdf->ln(7); $pdf->SetX(117); $pdf->Write(5, utf8_decode('9. Sugestões e críticas:_______________________________________')); $pdf->ln(7); $pdf->SetX(117); $pdf->Write(5, utf8_decode('__________________________________________________________')); $pdf->ln(7); $pdf->SetX(117); $pdf->Write(5, utf8_decode('__________________________________________________________')); $pdf->Output(); //IMPRIME O PDF NA TELA $pdf->Output('teste_pro.pdf', "D"); //IMPRIME O PDF NO ARQUIVO }
public function faturaconvenioAction($cdbilling = 23, $cdcovenant = 1) { /* DADOS DA FATURA */ $billingModel = new BillingModel(); $billingData = $billingModel->fetchRow('cdbilling = ' . $cdbilling); /* EXAMES DA FATURA */ $billingExaminationModel = new BillingExaminationModel(); $billingExaminationData = $billingExaminationModel->fetchAll('cdbilling = ' . $cdbilling); /* DADOS DO CONVÊNIO */ $covenantModel = new CovenantModel(); $covenantData = $covenantModel->fetchRow($cdcovenant); /* VARIÁVEIS DO XML */ $sequencialTransacao = $billingData['nrbatch']; $doc = new DOMDocument(); $doc->formatOutput = true; $root = $doc->appendChild($doc->createElementNS($ans = 'http://www.ans.gov.br/padroes/tiss/schemas http://www.ans.gov.br/padroes/tiss/schemas/tissV2_02_01.xsd', 'ans:mensagemTISS')); $root->setAttributeNS('http://www.w3.org/2001/XMLSchema-instance', 'xsi:schemaLocation', 'http://www.ans.gov.br/padroes/tiss/schemas http://www.ans.gov.br/padroes/tiss/schemas/tissV2_02_01.xsd'); /* * * Cabeçalho padrão * */ /*$cabecalho = $root->appendChild($doc->createElementNS($ans, 'ans:cabecalho')); $identificacaoTransacao = $cabecalho->appendChild($doc->createElementNS($ans, 'ans:identificacaoTransacao')); $identificacaoTransacao->appendChild($doc->createElementNS($ans, 'ans:tipoTransacao', 'ENVIO_LOTE_GUIAS')); $identificacaoTransacao->appendChild($doc->createElementNS($ans, 'ans:sequencialTransacao', $sequencialTransacao)); // ***************************** ?????????????? ******************************** $identificacaoTransacao->appendChild($doc->createElementNS($ans, 'ans:dataRegistroTransacao', date("Y-m-d"))); $identificacaoTransacao->appendChild($doc->createElementNS($ans, 'ans:horaRegistroTransacao', date("H:i:s"))); $origem = $cabecalho->appendChild($doc->createElementNS($ans, 'ans:origem')); $CNPJ = $origem->appendChild($doc->createElementNS($ans, 'ans:codigoPrestadorNaOperadora')); $CNPJ->appendChild($doc->createElementNS($ans, 'ans:CNPJ', $covenantData->idcnpj)); $destino = $cabecalho->appendChild($doc->createElementNS($ans, 'ans:destino')); $registroANS = $destino->appendChild($doc->createElementNS($ans, 'ans:registroANS', $covenantData->nrans)); // ***************************** ADICIONAR NA TABELA ******************************** $versaoPadrao = $cabecalho->appendChild($doc->createElementNS($ans, 'ans:versaoPadrao', '2.02.01')); $prestadorParaOperadora = $root->appendChild($doc->createElementNS($ans, 'ans:prestadorParaOperadora')); $loteGuias = $prestadorParaOperadora->appendChild($doc->createElementNS($ans, 'ans:loteGuias')); $loteGuias->appendChild($doc->createElementNS($ans, 'ans:numeroLote', $sequencialTransacao)); // ***************************** ?????????????? ******************************** $guias = $loteGuias->appendChild($doc->createElementNS($ans, 'ans:guias')); $guiaFaturamento = $guias->appendChild($doc->createElementNS($ans, 'ans:guiaFaturamento')); /* * * Entra no laço dos dados da guia SP/SADT * */ $numeroRequests = $billingExaminationModel->fetchAll($billingExaminationModel->getDistinctRequests($cdbilling)); /* INSTÂNCIAS DOS MODELS */ $RequestModel = new RequestModel(); foreach ($numeroRequests as $requisicao) { /* DADOS DA REQUISIÇÃO, PACIENTE, CONVÊNIOS VINCULADO E EMPRESA */ $RequestData = $RequestModel->fetchRow($RequestModel->getXMLData($requisicao->requisicao, $cdcovenant)); print_r($RequestData); die; $guiaSP_SADT = $guiaFaturamento->appendChild($doc->createElementNS($ans, 'ans:guiaSP_SADT')); $identificacaoGuiaSADTSP = $guiaSP_SADT->appendChild($doc->createElementNS($ans, 'ans:identificacaoGuiaSADTSP')); $identificacaoFontePagadora = $identificacaoGuiaSADTSP->appendChild($doc->createElementNS($ans, 'ans:identificacaoFontePagadora')); $registroANS = $identificacaoFontePagadora->appendChild($doc->createElementNS($ans, 'ans:registroANS', $RequestData->nrans)); $dataEmissaoGuia = $identificacaoGuiaSADTSP->appendChild($doc->createElementNS($ans, 'ans:dataEmissaoGuia', '2012-07-13')); $numeroGuiaPrestador = $identificacaoGuiaSADTSP->appendChild($doc->createElementNS($ans, 'ans:numeroGuiaPrestador')); $numeroGuiaOperadora = $identificacaoGuiaSADTSP->appendChild($doc->createElementNS($ans, 'ans:numeroGuiaOperadora')); $numeroGuiaPrincipal = $guiaSP_SADT->appendChild($doc->createElementNS($ans, 'ans:numeroGuiaPrincipal')); $dadosAutorizacao = $guiaSP_SADT->appendChild($doc->createElementNS($ans, 'ans:dadosAutorizacao')); $dataAutorizacao = $dadosAutorizacao->appendChild($doc->createElementNS($ans, 'ans:dataAutorizacao', date("Y-m-d"))); $senhaAutorizacao = $dadosAutorizacao->appendChild($doc->createElementNS($ans, 'ans:senhaAutorizacao')); $dadosBeneficiario = $guiaSP_SADT->appendChild($doc->createElementNS($ans, 'ans:dadosBeneficiario')); $numeroCarteira = $dadosBeneficiario->appendChild($doc->createElementNS($ans, 'ans:numeroCarteira', $RequestData->idcovenantcard)); $nomeBeneficiario = $dadosBeneficiario->appendChild($doc->createElementNS($ans, 'ans:nomeBeneficiario', utf8_decode($RequestData->nmcardholder))); $nomePlano = $dadosBeneficiario->appendChild($doc->createElementNS($ans, 'ans:nomePlano', $RequestData->nmcovenantplan)); // ***************************** ADICIONAR NA TABELA ******************************** $dadosSolicitante = $guiaSP_SADT->appendChild($doc->createElementNS($ans, 'ans:dadosSolicitante')); $contratado = $dadosSolicitante->appendChild($doc->createElementNS($ans, 'ans:contratado')); $identificacao = $contratado->appendChild($doc->createElementNS($ans, 'ans:identificacao')); $CNPJ = $identificacao->appendChild($doc->createElementNS($ans, 'ans:CNPJ', $RequestData->idcnpj)); $nomeContratado = $identificacao->appendChild($doc->createElementNS($ans, 'ans:nomeContratado', utf8_decode($RequestData->nmcompany))); $numeroCNES = $identificacao->appendChild($doc->createElementNS($ans, 'ans:numeroCNES', $RequestData->nrcnes)); $profissional = $dadosSolicitante->appendChild($doc->createElementNS($ans, 'ans:profissional')); $nomeProfissional = $profissional->appendChild($doc->createElementNS($ans, 'ans:nomeProfissional', utf8_decode($RequestData->nmforward))); $conselhoProfissional = $profissional->appendChild($doc->createElementNS($ans, 'ans:conselhoProfissional')); $siglaConselho = $conselhoProfissional->appendChild($doc->createElementNS($ans, 'ans:siglaConselho', $RequestData->nmtypecrm)); $numeroConselho = $conselhoProfissional->appendChild($doc->createElementNS($ans, 'ans:numeroConselho', $RequestData->idmaincrm)); $ufConselho = $conselhoProfissional->appendChild($doc->createElementNS($ans, 'ans:ufConselho', $RequestData->idmaiscrmstate)); $prestadorExecutante = $guiaSP_SADT->appendChild($doc->createElementNS($ans, 'ans:prestadorExecutante')); $identificacao = $prestadorExecutante->appendChild($doc->createElementNS($ans, 'ans:identificacao')); $CNPJ = $identificacao->appendChild($doc->createElementNS($ans, 'ans:CNPJ', $RequestData->idcnpj)); $nomeContratado = $prestadorExecutante->appendChild($doc->createElementNS($ans, 'ans:nomeContratado', utf8_decode($RequestData->nmcompany))); $numeroCNES = $prestadorExecutante->appendChild($doc->createElementNS($ans, 'ans:numeroCNES', $RequestData->nrcnes)); $caraterAtendimento = $guiaSP_SADT->appendChild($doc->createElementNS($ans, 'ans:caraterAtendimento', 'E')); $dataHoraAtendimento = $guiaSP_SADT->appendChild($doc->createElementNS($ans, 'ans:dataHoraAtendimento', str_replace(" ", "T", $RequestData->dtrequest))); $tipoSaida = $guiaSP_SADT->appendChild($doc->createElementNS($ans, 'ans:tipoSaida', '5')); $tipoAtendimento = $guiaSP_SADT->appendChild($doc->createElementNS($ans, 'ans:tipoAtendimento', '05')); $procedimentosRealizados = $guiaSP_SADT->appendChild($doc->createElementNS($ans, 'ans:procedimentosRealizados')); /* * * Entra no laço dos dados dos procedimentos * */ for ($j = 0; $j < 5; $j++) { $procedimentos = $procedimentosRealizados->appendChild($doc->createElementNS($ans, 'ans:procedimentos')); $procedimento = $procedimentos->appendChild($doc->createElementNS($ans, 'ans:procedimento')); $codigo = $procedimento->appendChild($doc->createElementNS($ans, 'ans:codigo', '2865')); $tipoTabela = $procedimento->appendChild($doc->createElementNS($ans, 'ans:tipoTabela', '02')); $descricao = $procedimento->appendChild($doc->createElementNS($ans, 'ans:descricao', 'ANTIGENO AUSTRALIA HBSAG')); $data = $procedimentos->appendChild($doc->createElementNS($ans, 'ans:data', '2012-07-13')); $horaInicio = $procedimentos->appendChild($doc->createElementNS($ans, 'ans:horaInicio', '13:02:56')); $horaFim = $procedimentos->appendChild($doc->createElementNS($ans, 'ans:horaFim', '14:05:20')); $quantidadeRealizada = $procedimentos->appendChild($doc->createElementNS($ans, 'ans:quantidadeRealizada', '1')); $viaAcesso = $procedimentos->appendChild($doc->createElementNS($ans, 'ans:viaAcesso', 'U')); $tecnicaUtilizada = $procedimentos->appendChild($doc->createElementNS($ans, 'ans:tecnicaUtilizada', 'C')); $reducaoAcrescimo = $procedimentos->appendChild($doc->createElementNS($ans, 'ans:reducaoAcrescimo', '1.00')); $valor = $procedimentos->appendChild($doc->createElementNS($ans, 'ans:valor', '23.25')); $valorTotal = $procedimentos->appendChild($doc->createElementNS($ans, 'ans:valorTotal', '23.25')); } } /*$epilogo = $root->appendChild($doc->createElementNS($ans, 'ans:epilogo')); $els = $doc->getElementsByTagName('*'); for ($i = 0; $i < $els->length; $i++) { if (!$els->item($i)->hasChildNodes()) { } elseif ($els->item($i)->firstChild->nodeType == 3) { $tmp = $els->item($i)->textContent; if (preg_match("/\n/", $tmp)) { $tmp = preg_replace("/\n/", "", $tmp); } $mensagemTISS = $mensagemTISS . ($tmp); } } $hash = md5($mensagemTISS); $hash2 = $root->appendChild($doc->createElementNS($ans, 'ans:hash', $hash));*/ //header("Content-Type: text/xml"); }