Artigo Heloisa Paiva · Set. 8, 2024 1m read

Rubrica InterSystems FAQ

Isso pode ser conseguido usando o procedimento CSV() da classe %SQL.Util.Procedures .
Abaixo está o exemplo de uso do código. (Assumindo que o arquivo test.csv está em c:\temp.)

 Set rowtype="Name VARCHAR(50),UID VARCHAR(50), PHONE VARCHAR(50)"
 Set filename="c:\temp\test.csv"
 Set result=##class(%SQL.Statement).%ExecDirect(,"call %SQL_Util.CSV(,?,?)",.rowtype,.filename)
 Set rset =result.%NextResult()
 
 // To display all results, use do rset.%Display()
 While rset.%Next() {
     Write "Name:",rset.%GetData(1)," UID:",rset.%GetData(2)," PHONE:",rset.%GetData(3),!
0
0 72
Artigo Heloisa Paiva · Set. 6, 2024 2m read

Incluo esse post para ajudar os usuários de WebTerminal que atualizaram à versão IRIS 2024.2 -- (Build 247U) Tue Jul 16 2024 09:52:30 EDT -- liberada recentemente, ou estão considerando fazê-lo.

Essa versão 2024.2 contém uma mudança (DP-432503) que precisa que o usuário através do qual se conecta inicialmente ao Web Gateway (normalmente CSPSystem) deva ter permissões de leitura (READ) sobre a base de dados em que se encontra a classe de dispatching da aplicação web de tipo REST.

0
0 97
Artigo Heloisa Paiva · Set. 4, 2024 7m read

Como parte do concurso IRIS Python 2024, meu colega Damir e eu tivemos uma ideia de onstruir uma plataforma chamada ShelterShare para conectar vítimas e voluntários para requisições de abrigo. Para isso, escolhemos Django como uma framework e procedemos para construir a primeira versão ccom 3 docker containers diferentes, django, iris e nginx, que iriam então utilizar o IRIS puramente como uma máquina de base de dados pelo muito bem composto django_iris (cumprimentos ao Dimitry).

0
0 69
Artigo Heloisa Paiva · Set. 2, 2024 5m read

Faz bastante tempo desde a última vez que escrevi uma postagem de atualização do IoP.

image

Então, o que há de novo desde o lançamento da interface de linha de comando IoP?

Dois novos grandes recursos foram adicionados ao IoP:

  • Rebranding: o módulogrongier.pex foi renomeado para iop para refletir o novo nome do projeto.
  • suporte Async: IoP agora suporta funções assíncronas e co-rotinas.

Rebranding

O módulo grongier.pex foi renomeado para iop para refletir o novo nome do projeto.

O módulo grongier.pex ainda está disponível para compatibilidade retroativa, mas será removido no futuro.

0
0 59
Artigo Heloisa Paiva · Ago. 31, 2024 5m read

Rubrica InterSystems FAQ 

Os dados dos produtos InterSystems (linha de tabela, instância de objeto) são guardados em variáveis globais.
O tamanho de dados de cada global pode ser obtido clicando nas propriedades da global que você quer ver da página Portal de Adminitração > Sistema > Configuração > Base de dados Local > Globais, então clicando no botão Calcular Tamanho na página de atributos globais que aparece.

0
0 79
Artigo Heloisa Paiva · Ago. 29, 2024 1m read

Se você encontrou o problema de que nem todas as linhas do seu resultado estão retornando no seu snapshot, você está no lugar certo.

Ao usar snapshots, existe uma informação não trivial de que eles têm um máximo de linhas que vem por padrão como 250.

Para mudar isso é muito simples. Ao invés de enviar o snapshot como referência direto no seu método de execução de query ou procedure, vamos inicializá-lo antes e definir um valor na propriedade MaxRowsToGet.

Set resultSet = ##class(%ListOfObjects).%New()
Set snapshot = ##class(EnsLib.SQL.Snapshot).%New()
Set snapshot.
0
0 40
Artigo Heloisa Paiva · Ago. 27, 2024 7m read

Tenho orgulho de anunciar o novo lançamento de iris-pex-embedded-python (v2.3.1) com uma nova interface de linha de comando.

Essa linha de comando é chamada iop, de Interoperability On Python.

Primeiro, eu gostaria de apresentar em algumas palavras as maiores mudanças no projeto desde a primeira versão.

Um breve histórico do projeto

A versão 1.0 foi uma prova de conceito para mostrar como a framework de interoperabilidade do IRIS pode ser usada com uma abordagem primeiro python enquanto permanece compatível com qualquer código ObjectScript existente.

O que isso significa? Significa que qualquer desenvolvedor python pode usar a framework de interoperabilidade do IRIS sem ter nenhum conhecimento de ObjectScript.

Exemplo:

from grongier.pex import BusinessOperation

class MyBusinessOperation(BusinessOperation):

    def on_message(self, request):
        self.log.info("Received request")

Incrível, não é?

0
0 75
Artigo Heloisa Paiva · Ago. 25, 2024 1m read

Rubrica do InterSystems FAQ

Aqui, vamos introduzir um código de exemplo para registrar e referenciar agendas de tarefas.

 ①Exemplo de registro de agenda de tarefa

*Crie uma tarefa  para executar ^TEST todos os dias à 1:00 da manhã.

 set task=##class(%SYS.Task).%New()
 set task.Name="MyTask1"
 set task.Description="Execute ^xxx every day at 1:00 AM" // Optional
 set task.NameSpace="USER"
 set task.TimePeriod=0
 set task.DailyFrequency=0
 set task.DailyFrequencyTime=""
 set task.DailyIncrement=""
 set task.DailyStartTime=$ZTimeh("01:00:00")
 set task.DailyEndTime=""
 set task.TaskClass="%SYS.Task.
0
0 62
Artigo Heloisa Paiva · Ago. 19, 2024 1m read

Perguntas Frequentes de InterSystems

Se necessita migrar seu servidor por algum motivo, pode reduzir o trabalho de configuração do novo ambiente. Basta copiar a informação de configuração de seu ambiente prévio ao novo.

Você pode migrar as seguintes informações de configuração.

  • iris.cpf
  • Configuração do SQL gateway 
  • Configuração do  web gateway *Nota 1
  • rotinas de usuário, etc... armazenadas na base de dados IRISSYS *Nota 2
  • Configuração de segurança 
  • Configuração de tarefas
0
0 66
Artigo Heloisa Paiva · Ago. 16, 2024 3m read

Rubrica InterSystems FAQ 

Globais temporárias armazenadas nas bases de dados IRISTEMP/CACHETEMP são usadas quando um processo não precisa guardar dados indefinidamente, mas requere a poderosa performance das globais. As bases de dados IRISTEMP/CACHETEMP não são jounralizadas, então usar globais temporárias não cria arquivos de journal.

O sistema usa as bases de dados IRISTEMP/CACHETEMP para armazenamento temporário e estão disponíveis para usuários para o mesmo objetivo.

0
0 76
Artigo Heloisa Paiva · Ago. 15, 2024 11m read

Iris-python-template

Projeto template com vários códigos Python para ser usado com InterSystems IRIS Community Edition com container.

Apresentando:

  • Notebooks
    • Kernel de Python Embutido
    • ObjectScript Kernel
    • Vanilla Python Kernel
  • Python Embutido
    • Exemplo de código
    • Flask demo
  • IRIS Python Native APIs
    • Exemplo de código

Diagrama

2. Tabela de Conteúdos

0
0 99
Anúncio Heloisa Paiva · Ago. 12, 2024

Os lançamentos de 2024.2 do InterSystems IRIS Data PlatformInterSystems IRIS for Health, e HealthShare Health Connect são agora Generally Available (GA), ou geralmente disponíveis.

DESTAQUES DO LANÇAMENTO

2024.2 é um lançamento de Continuous Delivery (CD), ou entrega contínua. Muitas atualizações e melhorias foram adicionadas a esse lançamento:

Melhorando a Experiência do Desenvolvedor

  • Remoção do Studio - 2024.2 instalações de Windows não incluem o IDE Studio, e atualizar uma instância existente remove o Studio do diretório bin dela.
0
0 73
Discussão Heloisa Paiva · Ago. 8, 2024

Hoje teremos um code golf diferente: construir um programa (usando apenas caracteres ASCII imprimíveis, tabs e caractere de nova linha) que imprima exatamente os caracteres no espaço imprimível ASCII (de 32 a 126) que não apaecem no código fonte do seu programa (em qualquer ordem, mas quantas vezes você quiser).

Como sempre o objetivo é produzir o menor código fonte que seja capaz disso.

O meu (admito que não muito bom, mas faz o trabalho!) código:

Class ascii.ascii {

ClassMethod ascii()
{
    set x="!#$%&'()*+,-./0123456789:;<>?
0
0 51
Artigo Heloisa Paiva · Ago. 6, 2024 4m read

Desenvolvimento de frontend pode ser uma tarefa muito difícil, especialmente para desenvolvedores focados em backend. Mais cedo na minha carreira, as linhas entre frontend e backend eram borradas, e se experava de todos que conseguissem manejar ambos. CSS em particular era um desafio constante, parecia uma missão impossível.

Apesar de eu aproveitar trabalho de frontend, CSS ainda é um desafio complexo para mim, especialmente porque aprendi por tentativa e erro.

0
0 106
Artigo Heloisa Paiva · Jul. 30, 2024 3m read

Introdução

Talvez você já tenha reparado que a base HSAUDIT não tem uma tarefa de expurgo já configurada na maioria das versões do HealthShare, e isso pode ser um problema já que ela tem mapeamentos de globais em vários namespaces.

Se você notou que essa base está ocupando muito espaço em disco e está com dificuldades de limpá-la, esse artigo é para você.

Se você já tem uma ideia de como fazer isso, mas está utilizando uma versão mais antiga do HealthShare, onde a tarefa não existe pronta, ou o PurgeByDaysToKeep não existe, esse artigo também é para você.

0
0 55
Artigo Heloisa Paiva · Jul. 29, 2024 4m read

Com a introdução dos tipos de dados vetoriais e da funcionalidade de Vector Search em IRIS, se abre todo um mundo de possibilidades para o desenvolvimento de aplicações para nós, e um exemplo delas é a que vi recentemente publicada num concurso do Conselho de Saúde de Valencia, onde solicitavam uma ferramenta para ajudar na codificação CID-10 utilizando modelos de IA.

Como poderíamos implementar uma aplicação similar à solicitada? Vejamos o que seria necessário:

  1. Lista de códigos do CID-10, que usaremos como contexto da nossa aplicação RAG para buscar diagnósticos dentro dos textos livres.
0
0 65
Artigo Heloisa Paiva · Jul. 23, 2024 8m read

image

Olá Comunidade,

Nesse artigo, demonstrarei os seguintes passos para criar seu próprio chatbot utilizando spaCy (spaCy é uma biblioteca de software de código aberto para o processamento avançado de linguagem natural, escrita nas linguagens de programação Python e Cython):

  • Passo 1: Instalar as livrarias necessárias

  • Passo 2: Criar o arquivo de padrões e respostas

  • Passo 3: Treinar o modelo

  • Passo 4: Criar uma aplicação ChatBot baseada no modelo treinado

Comecemos

0
0 131
Artigo Heloisa Paiva · Jul. 18, 2024 3m read

Introdução ao WSGI em IRIS

Com o IRIS 2024+, os usuários podem hospedar aplicações WSGI usando Security.Applications. Por exemplo, um usuário pode fazer algo como o seguinte:

Exemplo funcional mínimo

zn "%SYS"
Kill props
Set props("Description") = "Sample WSGI Application"
Set props("MatchRoles") = ":%All"
Set props("WSGIAppLocation") = "/path/to/flaskapp"
Set props("WSGIAppName") = "myapp"
Set props("WSGICallable") = "app"
Set props("DispatchClass") = "%SYS.Python.WSGI" // importante, se não será reconhecido como uma aplicação CSP
Set sc = ##class(Security.Applications).Create("/flask", .
0
0 46
Artigo Heloisa Paiva · Jul. 16, 2024 2m read

Olá!

Recentemente estive investigando uma situação incômoda enquanto editava classes ou rotinas ObjectScript no VSCode. O que acontecia era que, como estava escrevendo as linhas de código na minha classe (por exemplo: a adição de um novo método, mudança da assinatura de classe ou de um bloco de código) isso ocasionava uma rápida revisão da sintaxe, reformatação e compilação - e inevitavelmente (já que eu estava apenas na metade da escrita), isso gerava erros de compilação.

0
0 221
Artigo Heloisa Paiva · Jul. 10, 2024 1m read

Por que usá-la?

Esse app oferece uma interface fácil para analisar armazenamento:

  • Filtro por base de dado (namespace), nome da global, tamanho utilizado ou tamanho alocado;
  • Veja a soma dos tamanhos usado e alocado para os filtros aplicados;
  • Exporte a tabela para JSON, CSV, ou XML.

Como usar

Siga as instruções no arquivo README do repositório GitHub e configure as definições para conectar à sua instância.

Como adaptar às suas necessidades

Já que foi construído com Python e Django, você pode facilmente adicionar métodos de análises específicas em api/methods.py e usar as views em views.

0
0 64
Artigo Heloisa Paiva · Jul. 8, 2024 19m read

Nosso objetivo

Hoje vamos continuar expandindo o último artigo compartilhando informações sobre alguns recursos que adicionamos em nosso portal. Vamos incluir uma pitada de CSS para visualizar os dados disponíveis melhor e exportá-los. Finalmente, estudaremos como adicionar opções de filtros e ordenação. Ao fim deste artigo, você deve ser capaz de exibir esteticamente uma query simples completa.

Anteriormente, em "Um portal para administrar armazenamento feito com Django"...

0
0 75
Artigo Heloisa Paiva · Jul. 4, 2024 9m read

Integrar aplicações frontend de React com serviços backend como a base de dados IRIS através de APIs REST pode ser uma forma poderosa de contruir aplicações web robustas. No entanto, um obstáculo comum que os desenvolvedores costumam encontrar é o problema de Cross-Origin Resource Sharing (CORS), que pode impedir que o frontend acesse os recursos no backend devido a restrições de segurança impostas pelos navegadores web. Nesse artigo, exploraremos como abordar os problemas de CORS ao integrar aplicações web de React com serviços backend de IRIS.

0
0 131
Artigo Heloisa Paiva · Jul. 3, 2024 10m read

Nosso objetivo

No último artigo, falamos sobre alguns fatores iniciais do Django. Aprendemos como começar um projeto, garantir que temos todos os requisitos e fazer um CRUD. No entanto, hoje vamos um pouco mais além.

Às vezes precisamos acessar métodos mais complexos, então hoje vamos conectar o IRIS a um ambiente Python, construir algumas funções e exibir seus resultados numa página web. Será similar à última discussão, mas mais adiante para que você possa fazer algo novo, mas não demais para que você se sinta perdido.

0
0 102
Artigo Heloisa Paiva · Jun. 30, 2024 7m read

Por que conectar Flask com InterSystems IRIS?

A primeira coisa que vem à mente quando pensamos sobre a combinação de Flask com IRIS é um portal para interagir com seus clientes e parceiros. Um bom exemplo seria um website para pacientes acessarem seus exames clínicos. É claro, nesse caso seria necessário uma boa camada de segurança, que nós não cobrimos no último artigo. No enteando, podemos adicioná-la sem esforços com o Werkzeug, por exemplo.

0
0 76
Artigo Heloisa Paiva · Jun. 29, 2024 2m read

Olá, comunidade!
Você já reparou nesse novo quadro que aparece no canto direito da tela no feed de postagens?

E mais importante... Já clicou nele? 

É isso mesmo: agora a comunidade de desenvolvedores InterSystems tem sua própria IA, desenvolvida, é claro, com tecnologia InterSystems, para te ajudar com suas dúvidas e ideias sobre programação com nossos produtos.

Você pode usar a nova ferramenta para fazer perguntas, criar códigos e pesquisar assuntos discutidos nas comunidades em todas as línguas.

0
0 69