Pular para o conteúdo principal

Checklist para Acreditação JCI: foco no Capítulo HCT (Tecnologia de Cuidados de Saúde)

  A tecnologia na saúde deixou de ser coadjuvante. Na 8ª edição da Joint Commission International (JCI), o capítulo HCT posiciona a tecnologia como parte central da assistência segura, ética e eficiente. Se sua instituição busca conformidade com os padrões JCI, este checklist é uma ferramenta prática e atualizada para avaliar os principais requisitos do capítulo HCT – Health Care Technology . Importante: Para todos os elementos de mensuração identificados com a letra (D) , é obrigatória a apresentação de documentação formalmente publicada , como políticas, procedimentos, comunicados institucionais ou outros registros válidos. No entanto, não basta que esses documentos existam : durante a auditoria, será exigida a comprovação prática de que o conteúdo é conhecido, aplicado de forma uniforme e integrado à rotina operacional da instituição. HCT.01.00 – Gerenciamento de tecnologia em saúde Existe um processo formal para avaliação, aquisição, instalação, inspeção e manutenção de...

Diferenças entre FUNCTION e PROCEDURE


Uma function é um bloco muito semelhante a uma procedure.

Usarei o PL/SQL como exemplos, mas o conceito serve para outras linguagens de BD também.

O que podemos entender de início entre esses dois tipos de blocos é que os blocos functions retornam valores e as procedures podem ou não retornar um valor.

As functions tem duas características que diferem das procedures, as quais não podemos deixar de tratar:

  • As functions sempre retornam valores;
  • Functions são usadas como parte de uma expressão.

Para que possamos criar uma função no PL/SQL precisamos entender o seu funcionamento e para isso precisamos entender a sua sintaxe básica. Vejamos:

CREATE [OR REPLACE] FUNCTION function_name
[(parameter_name [IN | OUT | IN OUT] type [, ...])]
RETURN return_datatype
{IS | AS}
BEGIN
< function_body >
END [function_name];
  • CREATE [OR REPLACE] FUNCTION: Caso uma function já exista com o mesmo nome, ela será reescrita devido ao termo ‘replace’. Caso contrário, ela será criada de acordo com o termo ‘create’.
  • Function_name: Será o nome atribuído para essa função.
  • Parameters: a lista opcional de parâmetros contém os nomes, os modos e os tipos que esses parâmetros terão. O IN representa o valor que será passado de fora, já o OUT representa que este parâmetro será utilizado para retornar um valor de fora do procedimento.
  • Return_datatype: é o tipo de retorno que será utilizado, sendo este SQL ou PL/SQL. Podemos neste caso utilizar referências como o %TYPE ou %ROWTYPE se necessário, ou mesmo utilizar qualquer tipo de dados escalar ou composto.
  • IS/AS: por convecção, temos o ‘is’ para a criação de funções armazenadas e o ‘as’ quando criamos pacotes (packages).
  • function_body: contém o bloco PL/SQL que inicia com a claúsula BEGIN e finaliza com END [function_name], e executa neste momento todas as instruções necessárias.

Podemos executar a função de várias formas:

Declarando como variável:func_nome := funcao_de_teste;
Ou então como parte de uma instrução select:SELECT funcao_de_teste FROM dual;
Ou também como uma instrução PL/SQL:dbms_output.put_line(funcao_de_teste);

Uma procedure normalmente possui um cabeçalho e um corpo.
O cabeçalho consiste do nome e de parâmetros ou variáveis que serão passadas para a procedure. Já o corpo consiste da declaração de uma seção, execução de uma seção e uma seção de exceções muito similar a um bloco geral da PL/SQL.

Uma procedure pode ou não ter um valor de retorno. Normalmente as procedures são criadas dentro de pacotes ou em blocos PL/SQL.

Podemos passar os parâmetros para uma procedure de três maneiras:

  • Parâmetros IN – passamos o valor na própria procedure;
  • Parâmetros OUT – recebemos o valor a partir da chamada de blocos externos;
  • Parâmetros IN OUT – passamos um valor inicial para a procedure e recebemos de volta uma atualização.

Vejamos a sintaxe geral (estrutura básica) da criação de uma procedure:

CREATE [OR REPLACE] PROCEDURE proc_name [list of parameters]
IS
Declaration section
BEGIN
Execution section
EXCEPTION
Exception section
END;

O ‘Is’ marca o início do corpo de uma procedure e é bem similar ao DECLARE de um bloco anônimo PL/SQL. O código criado entre o IS e o BEGIN forma a seção de declaração da procedure.
A sintaxe entre os colchetes [] indica que é opcional. Mas de igual forma a uma função, a utilização do CREATE é para criar uma procedure e o REPLACE irá sobrepor uma procedure existente com novas informações de código.
Para utilizar uma Procedure:

  • Usando a palavra-chave EXECUTE;
  • Chamando o nome da procedure de um bloco PL/SQL.
No primeiro caso, executamos da seguinte forma:EXECUTE procedure_de_teste;
E no nosso outro caso, que é a partir de um bloco, temos:BEGIN   procedure_de_teste;END;

Para apagar uma procedure ou uma function, basta utilizar o comando DROP. Exemplos:

  • drop function funcao_de_teste;
  • drop procedure procedure_de_teste.

Abraço a todos.

Postagens mais visitadas deste blog

Diferença entre banco de dados, instância, schema, tablespaces e etc.

Vamos a um pouco de teoria de banco de dados. Tenho certeza que será muito útil para os universitários. 🙂 No mundo da tecnologia e gerenciamento de informações, os bancos de dados desempenham um papel vital. Um banco de dados, ou base de dados, é um conjunto organizado de registros que oferece a capacidade de reorganização e extração de informações. Normalmente, os registros em um banco de dados são agrupados para servir a um propósito comum. A gestão de um banco de dados é tipicamente realizada por meio de um software conhecido como Sistema Gerenciador de Banco de Dados (SGBD). Exemplos notáveis de SGBDs incluem o Oracle, MySQL, SQL Server e PostgreSQL. É importante notar que, às vezes, o termo “banco de dados” é erroneamente usado como sinônimo de SGBD. No contexto atual, o modelo de dados mais amplamente adotado é o modelo relacional, no qual as informações são organizadas em tabelas compostas por linhas e colunas. Instâncias: A Máquina Cerebral do Banco de Dados Quando se trata de...

Diferença entre erro, falha e defeito - conceitos

Se você trabalha com desenvolvimento de software ou engenharia de qualidade, provavelmente já ouviu falar nos termos erro, falha e defeito. Embora esses termos sejam frequentemente usados ​​de forma intercambiável, é importante compreender suas diferenças e como eles se relacionam. Em termos simples, um erro é uma ação humana que produz um resultado incorreto ou inesperado. Um desenvolvedor pode cometer um erro ao escrever um código incorreto para uma determinada função, um testador pode cometer um erro ao não testar corretamente uma determinada funcionalidade, e um usuário pode cometer um erro ao inserir dados incorretos em um formulário. Uma falha, por sua vez, é a manifestação externa de um erro. É quando o produto não executa conforme o esperado. Por exemplo, se uma aplicação de pagamento online apresentar um erro de processamento de pagamento, isso pode ser considerado uma falha. As falhas podem ser detectadas pelos usuários ou por testadores durante o processo de teste. Por fim, ...

Como iniciar, parar e reiniciar o serviço MySQL no Linux

Recentemente fiz um post sobre a instalação do MySQL no Linux , agora vamos falar como verificar o status do serviço e como aplicar os comandos start, stop e restart. Coisas básicas para a manutenção. 1 . Como verificar o status do serviço É importante compreender que, dependendo da versão do Linux, o comando a ser usado pode variar. Em versões mais antigas, utilizamos o comando " service ";  já em versões mais recentes, o comando " systemctl ". Veja os exemplos abaixo: sudo systemctl status mysql ou sudo service mysql status Um retorno semelhante a esse mostra que o serviço está ativo. 2 . Como iniciar o serviço no Linux Novamente importante atentar para a distribuição do linux. Para o Ubuntu ou outras distribuições baseadas no Debian, você usará o comando systemctl, em outras provavelmente o service. Vamos aos exemplos: sudo systemctl start mysql ou sudo service mysql start Importante notar que o comando start pode não gerar output, por isso é importante verificar...

Contar caracteres no MySQL

Vamos fazer uso das funções da linguagem SQL para contar caracteres de um campo salvo em uma tabela. Ou seja, vamos selecionar diversos registros de uma tabela e contar os caracteres de um de seus campos. No MySQL temos várias funções para contar caracteres: LENGTH(cadeia) – comando também existente no Oracle Recebe uma cadeia , conta e retorna o número de caracteres. CHARACTER_LENGTH(cadeia)  Recebe também uma cadeia e retorna o número de caracteres contados. CHAR_LENGTH(cadeia) É um sinônimo de CHARACTER_LENGTH. Embora nem todas as versões de MySQL o tenham. A diferença entre LENGTH e CHARACTER_LENGTH é que em CHARACTER_LENGTH um caractere “multibyte” conta como um só caractere. Em LENGTH conta o número de bytes da cadeia. Assim, no caso de ter uma cadeia com 5 caracteres que ocupam 2 bytes cada um, LENGTH retornaria 10 e CHARACTER_LENGTH só 5. Por enquanto vamos utilizar CHARACTER_LENGTH, ela devolverá os resultados que esperamos obter, o número de caracteres da cadeia, independ...

Procurando textos nos objetos do Oracle

Pessoal, algumas vezes precisamos buscar uma palavra dentro de todos os objetos no banco de dados e não sabemos como fazer. Pois bem, segue uma query que pode ajudar muito. SELECT * FROM ALL_SOURCE WHERE UPPER(TEXT) LIKE '%TEXTO%' Nessa query, ele irá procurar a palavra “TEXTO” em todos os objetos do banco, se encontra algum objeto que contenha, ele irá mostrar. Abraço.