Artigo Heloisa Paiva · Abr. 28, 2025 9m read

Tenho um novo projeto para armazenar informações de respostas REST em um banco de dados IRIS. Precisarei sincronizar informações de pelo menos duas dúzias de endpoints REST separados, o que significa criar quase essa quantidade de classes ObjectScript para armazenar os resultados desses endpoints.

Poderia usar o ChatGPT para ter uma vantagem inicial na criação dessas classes? A resposta é "Sim", o que é ótimo, já que esta é minha primeira tentativa de usar IA generativa para algo útil. Gerar fotos de girafas tomando sopa estava ficando meio batido.

0
0 62
Artigo Heloisa Paiva · Abr. 24, 2025 3m read

Quem nunca passou pela situação de estar desenvolvendo um belo exemplo usando uma imagem Docker do IRIS e o processo de geração da imagem falhar no Dockerfile porque a licença sob a qual a imagem foi criada não contém certas permissões?

No meu caso, o que eu estava implantando no Docker é uma pequena aplicação que usa o tipo de dado Vector. Com a versão Community, isso não é um problema porque ela já inclui o Vector Search e o armazenamento de vetores.

0
0 46
Artigo Heloisa Paiva · Abr. 22, 2025 6m read

Há treze anos, obtive dois diplomas de graduação em engenharia elétrica e matemática, e logo em seguida comecei a trabalhar em tempo integral na InterSystems, sem usar nenhuma das duas. Uma das minhas experiências acadêmicas mais memoráveis e perturbadoras foi em Estatística II. Em uma prova, eu estava resolvendo um problema de intervalo de confiança moderadamente difícil. O tempo estava acabando, então (sendo um engenheiro) escrevi a integral definida na folha de prova, digitei-a na minha calculadora gráfica, escrevi uma seta com "calculadora" sobre ela e depois escrevi o resultado.

0
0 44
Artigo Heloisa Paiva · Abr. 20, 2025 6m read

Sei que pessoas completamente novas no VS Code, Git, Docker, FHIR e outras ferramentas podem, às vezes, ter dificuldades com a configuração do ambiente. Por isso, decidi escrever um artigo que percorre todo o processo de configuração passo a passo para facilitar o início.

Eu realmente agradeceria se você pudesse deixar um comentário no final – me diga se as instruções foram claras, se algo ficou faltando ou se há mais alguma coisa que você acharia útil.

A configuração inclui:

✅ VS Code – Editor de código
✅ Git – Sistema de controle de versão
✅ Docker – Executa uma instância do IRIS for Health Community
Extensão REST Client do VS Code – Para executar consultas à API FHIR
✅ Python – Para escrever scripts baseados em FHIR
✅ Jupyter Notebooks –Para tarefas de IA e FHIR

Antes de começar: Certifique-se de ter privilégios de administrador no seu sistema.

Além de ler o guia, você também pode seguir os passos nos vídeos:

Para Windows

0
0 61
Artigo Heloisa Paiva · Abr. 18, 2025 18m read

Image generated by OpenAI DALL·E

Sou um grande fã de ficção científica, mas embora eu esteja totalmente a bordo da nave Star Wars (desculpas aos meus colegas Trekkies!), sempre apreciei os episódios clássicos de Star Trek da minha infância. A tripulação diversificada da USS Enterprise, cada um dominando suas funções únicas, é uma metáfora perfeita para entender os agentes de IA e seu poder em projetos como o Facilis. Então, vamos embarcar em uma missão intergaláctica, utilizando a IA como a tripulação da nossa nave e  audaciosamente ir audaciosamente ir homem jamais esteve

1
0 68
Discussão Heloisa Paiva · Abr. 16, 2025

Existe uma lista de números de 1 a 190.

ListaCompleta="1,2,3,4,5,6,7,8,9,.....,187,188,189,190"

Existe uma coleção de conjuntos desses valores:

Lista(1)="3,5,6,7,9"
Lista(2)="1,2,6,9"
Lista(3)="5,8,9"
Lista(4)="2,4,6,8"
Lista(5)="4,7,9"

Qual é uma abordagem elegante em ObjectScript para selecionar o menor número de itens da lista

  • Lista(1)
  • Lista(5)
  • Lista(n)

Que, juntos, cobririam o máximo de números possível da ListaCompleta.

Estou interessado na melhor cobertura, e não na eficiência.

0
0 23
Artigo Heloisa Paiva · Abr. 14, 2025 10m read

Introdução

O desempenho do banco de dados tornou-se um fator crítico de sucesso em um ambiente de aplicações moderno. Portanto, identificar e otimizar as consultas SQL que consomem mais recursos é essencial para garantir uma experiência de usuário fluida e manter a estabilidade da aplicação.

Este artigo explorará uma abordagem rápida para analisar as estatísticas de execução de consultas SQL em uma instância InterSystems IRIS para identificar áreas de otimização dentro de uma macro-aplicação.

Em vez de focar no monitoramento em tempo real, configuraremos um sistema que coleta e analisa estatísticas pré-calculadas pelo IRIS uma vez por hora. Essa abordagem, embora não permita o monitoramento instantâneo, oferece um excelente compromisso entre a riqueza de dados disponíveis e a simplicidade de implementação.

Usaremos o Grafana para visualização e análise de dados, o InfluxDB para armazenamento de séries temporais e o Telegraf para coleta de métricas. Essas ferramentas, reconhecidas por seu poder e flexibilidade, nos permitirão obter uma visão clara e explorável.

Mais especificamente, detalharemos a configuração do Telegraf para recuperar estatísticas. Também configuraremos a integração com o InfluxDB para armazenamento e análise de dados, e criaremos dashboards personalizados no Grafana. Isso nos ajudará a identificar rapidamente as consultas que exigem atenção especial.

Para facilitar a orquestração e o deploy desses vários componentes, empregaremos o Docker.

logos.png

0
0 110
Artigo Heloisa Paiva · Abr. 10, 2025 2m read

Devido à interpretação de SCHEMA pelo MySQL diferir do entendimento comum em SQL (como visto em IRIS/SQL Server/Oracle), nosso Assistente de Tabelas Vinculadas automatizado pode encontrar erros ao tentar recuperar informações de metadados para construir a Tabela Vinculada

(Isto também se aplica a Linked Procedures e Views)

Ao tentar criar uma Tabela Vinculada através do Assistente, você encontrará um erro semelhante a este

ERROR #5535: SQL Gateway catalog table error in 'SQLPrimaryKeys'. Error: ' SQLState: (HY000) NativeError: [0] Message: [MySQL][ODBC 8.3(a) Driver][mysqld-5.5.5-10.4.

0
0 59
Artigo Heloisa Paiva · Abr. 8, 2025 2m read

E se você pudesse conversar em um chat para verificar o que acontece na Interoperabilidade, se há algum erro e até mesmo resolver alguns tipos de problemas?

Com o servidor MCP, você pode conectar qualquer um de seus Clientes MCP por exemplo, Claude, ao IRIS e pedir para verificar a Interoperabilidade.

0
0 44
Artigo Heloisa Paiva · Abr. 7, 2025 5m read

Eu decidi escrever isso antes que o tempo apagasse minha memória.
É uma história muito pessoal como parceiro, como competidor, como funcionário,
como cliente e, finalmente, como um observador externo da InterSystems.

1
0 46
Artigo Heloisa Paiva · Abr. 4, 2025 1m read

Rubrica de Perguntas Frequentes (FAQ) da InterSystems

As configurações padrão para Stay Connected e Pool Size para hosts de negócios que usam o adaptador TCP são as seguintes:

StayConnected = -1(no timeout)
PoolSize = 1

Se um problema de rede causar a perda de conexão com um host de negócios, o lado da produção não conseguirá detectar isso e não aceitará novas conexões. Nessa situação, nenhum evento é registrado no log de eventos.

0
0 30
Artigo Heloisa Paiva · Abr. 3, 2025 4m read

No artigo anterior, apresentamos o aplicativo d[IA]gnosis, desenvolvido para auxiliar na codificação de diagnósticos na CID-10. Neste artigo, veremos como o InterSystems IRIS for Health nos fornece as ferramentas necessárias para a geração de vetores a partir da lista de códigos da CID-10, usando um modelo de linguagem pré-treinado, seu armazenamento e a subsequente busca por similaridades em todos esses vetores gerados.

1
0 56
Artigo Heloisa Paiva · Abr. 1, 2025 19m read

Frequentemente, clientes, fornecedores ou equipes internas me pedem para explicar o planejamento de capacidade de CPU para para grandes bancos de dados de produção rodando no VMware vSphere.

Em resumo, existem algumas práticas recomendadas simples a seguir para dimensionar a CPU para grandes bancos de dados de produção:

  • Planeje um vCPU por núcleo de CPU físico.
  • Considere o NUMA e, idealmente, dimensione as VMs para manter a CPU e a memória locais para um nó NUMA.
  • Dimensione as máquinas virtuais corretamente. Adicione vCPUs apenas quando necessário.
0
0 63
Artigo Heloisa Paiva · Mar. 26, 2025 27m read

As soluções de Infraestrutura Hiperconvergente (HCI) têm ganhado força nos últimos anos, com o número de implementações agora aumentando rapidamente. Os tomadores de decisão de TI estão considerando HCI ao planejar novas implementações ou atualizações de hardware, especialmente para aplicações já virtualizadas no VMware.

0
0 50
Artigo Heloisa Paiva · Mar. 18, 2025 3m read

Eu e os outros Arquitetos de Tecnologia frequentemente precisamos explicar aos clientes e fornecedores os requisitos de E/S do Caché e a forma como as aplicações Caché utilizarão os sistemas de armazenamento. As tabelas a seguir são úteis ao explicar o perfil e os requisitos típicos de E/S do Caché para uma aplicação de banco de dados transacional com clientes e fornecedores. As tabelas originais foram criadas por Mark Bolinsky.

Em publicações futuras, discutirei mais sobre E/S de armazenamento, portanto, estou publicando essas tabelas agora como referência para esses artigos.


0
0 59
Artigo Heloisa Paiva · Mar. 13, 2025 12m read

Plataformas de Dados e Desempenho da InterSystems - Parte 5: Monitoramento com SNMP

Em posts anteriores, mostrei como é possível coletar métricas de desempenho histórico usando pButtons. Recorro ao pButtons primeiro porque sei que ele é instalado com todas as instâncias de Plataformas de Dados (Ensemble, Caché, .).

0
0 67
Artigo Heloisa Paiva · Mar. 9, 2025 2m read

Olá, colegas!

Como vocês podem ver, o novo tópico do concurso de programação é Agentes de IA.

O tópico tem sido muito comentado recentemente na Internet e possui diferentes significados. Vocês podem estar curiosos sobre o que queremos dizer com agentes de IA em relação ao concurso de programação da InterSystems.

0
0 49
Artigo Heloisa Paiva · Mar. 7, 2025 7m read

Introdução

Uma API REST (Representational State Transfer ou Transferência de Estado Representacional) é uma interface que permite que diferentes aplicações se comuniquem entre si através do protocolo HTTP, usando operações padrão como GET, POST, PUT e DELETE. APIs REST são amplamente utilizadas no desenvolvimento de software para expor serviços acessíveis por outras aplicações, possibilitando a integração entre diferentes sistemas.

No entanto, para garantir que as APIs sejam fáceis de entender e usar, uma boa documentação é essencial. É aqui que o OpenAPI entra em cena.

0
0 69
Artigo Heloisa Paiva · Mar. 5, 2025 6m read

O que é JWT?

JWT (JSON Web Token) é um padrão aberto (RFC 7519) que oferece um método leve, compacto e auto-contido para transmitir informações de forma segura entre duas partes. É comumente usado em aplicações web para autenticação, autorização e troca de informações.

Um JWT é tipicamente composto por três partes:

1. Cabeçalho JOSE (JSON Object Signing and Encryption) 
2. Payload (Carga útil)
3. Assinatura

Essas partes são codificadas no formato Base64Url e concatenadas com pontos (.) separando-as.

0
0 65
Artigo Heloisa Paiva · Fev. 27, 2025 6m read

A InterSystems está na vanguarda da tecnologia de bancos de dados desde sua criação, sendo pioneira em inovações que consistentemente superam concorrentes como Oracle, IBM e Microsoft. Ao se concentrar em um design de kernel eficiente e adotar uma abordagem intransigente em relação ao desempenho de dados, a InterSystems criou um nicho em aplicações de missão crítica, garantindo confiabilidade, velocidade e escalabilidade.

0
0 69
Artigo Heloisa Paiva · Fev. 25, 2025 3m read

Para um de nossos clientes, precisei integrar com o endpoint AFAS imageconnector/imageconnector/{imageId}?format={format}. Esse endpoint retorna uma mensagem JSON com a imagem como uma propriedade de string codificada em base64, além do mimetype da imagem.

/// Image Object
Class Mycustomer.Model.AfasGet.Image Extends (%SerialObject, %XML.Adaptor, %JSON.Adaptor)
{
/// file data (base64 encoded)
Property Filedata As %String(%JSONFIELDNAME = "filedata");

/// MimeType e.g.
0
0 46
Artigo Heloisa Paiva · Fev. 23, 2025 1m read

Rubrica de Perguntas Frequentes da InterSystems

Para executar SQL no Terminal, use $system.SQL.Shell().

Por favor, consulte o exemplo abaixo.

SAMPLES>do $System.SQL.Shell()
SQL Command Line Shell
---------------------------------------------------- The command prefix is currently set to: <>.
Enter q to quit, ? for help.
SAMPLES>>select * from Sample.Vendor
1. select * from Sample.
0
0 50
Artigo Heloisa Paiva · Fev. 21, 2025 4m read

Introdução: Quando o IRISTEMP Armazena Dados Demais

Então, você verificou seu servidor e viu que o IRISTEMP está crescendo demais. Não precisa entrar em pânico. Vamos investigar o problema antes que seu armazenamento acabe.

Passo 1: Confirmar o Problema de Crescimento do IRISTEMP

Antes de assumir que o IRISTEMP é o problema, vamos verificar seu tamanho real.

Verificar o Espaço Livre

Execute o seguinte comando no terminal IRIS:

%SYS>do ^%FREECNT

Quando solicitado, digite:

Database directory to show free space for (*=All)?
0
0 42
Artigo Heloisa Paiva · Fev. 19, 2025 7m read


Olá!

Este artigo é uma pequena visão geral de uma ferramenta que ajuda a entender classes e sua estrutura dentro dos produtos InterSystems: do IRIS ao Caché, Ensemble e HealthShare.

Em resumo, ela visualiza uma classe ou um pacote inteiro, mostra as relações entre as classes e fornece todas as informações possíveis para desenvolvedores e líderes de equipe sem fazê-los ir ao Studio e examinar o código lá.

Se você está aprendendo os produtos InterSystems, revisando muitos projetos ou apenas interessado em algo novo nas soluções de tecnologia InterSystems - você é mais do que bem-vindo para ler a visão geral do ObjectScript Class Explorer!

0
0 95
Artigo Heloisa Paiva · Fev. 17, 2025 6m read

Monitorar sua implantação do IRIS é crucial. Com a descontinuação do System Alert and Monitoring (SAM), uma solução moderna e escalável é necessária para obter insights em tempo real, detecção precoce de problemas e eficiência operacional. Este guia aborda a configuração do Prometheus e Grafana no Kubernetes para monitorar o InterSystems IRIS de forma eficaz.

Este guia pressupõe que você já tenha um cluster IRIS implantado usando o InterSystems Kubernetes Operator (IKO), que simplifica a implantação, integração e gerenciamento.


Por que Prometheus e Grafana?

0
0 95
Artigo Heloisa Paiva · Fev. 13, 2025 4m read

No WRC, frequentemente vemos clientes entrarem em contato conosco porque seus Web Gateways são incapazes de servir páginas web. Este artigo explicará um motivo frequente para a ocorrência desses erros e descreverá algumas ferramentas que podem ser usadas para depurar o problema. Esta explicação está focada no Web Gateway servindo instâncias do InterSystems IRIS, mas a mesma explicação deve se aplicar ao CSP Gateway servindo instâncias do Caché também.

0
1 62
Artigo Heloisa Paiva · Fev. 11, 2025 4m read

Você pode encontrar erros durante qualquer ponto da execução do programa, e existem várias maneiras de levantar e tratar essas exceções. Neste artigo, exploraremos como as exceções são tratadas de forma eficiente no IRIS.

Um dos tipos de retorno mais comumente usados é %Status, que é usado por métodos para indicar sucesso ou falha. Vamos começar discutindo os valores de %Status.

Trabalhando com %Status

O tipo de retorno %Status é usado para representar erros ou sucesso. Muitos métodos do sistema retornam %Status quando ocorre um erro.

0
0 65
Artigo Heloisa Paiva · Fev. 7, 2025 3m read

Atualizado 01/04/25

Olá Comunidade,

Vocês podem desbloquear todo o potencial do InterSystems IRIS — e ajudar sua equipe a se integrar — com a gama completa de recursos de aprendizado da InterSystems oferecidos online e presencialmente, para todas as funções em sua organização. Desenvolvedores, administradores de sistema, analistas de dados e integradores podem rapidamente se atualizar.

0
0 99
Artigo Heloisa Paiva · Fev. 5, 2025 2m read

Você precisa instalar o aplicativo primeiro. Se não estiver instalado, por favor, consulte o artigo anterior.

Demonstração do aplicativo

Após executar com sucesso o aplicativo de busca de vetores de imagem de íris, alguns dados precisam ser armazenados para suportar a recuperação de imagens, pois não são inicializados na biblioteca.

Armazenamento de imagens

Primeiramente, arraste e solte a imagem ou clique no ícone de upload, selecione a imagem e clique no botão de upload para enviar e vetorizá-la. Este processo pode ser um pouco lento.

0
0 51