#InterSystems IRIS

2 Seguidores · 941 Postagens

InterSystems IRIS é uma plataforma de dados completa
A InterSystems IRIS oferece tudo que você precisa para capturar, compartilhar, entender e agir com base no ativo mais valioso de sua organização - seus dados.
Como uma plataforma completa, a InterSystems IRIS elimina a necessidade de integração de múltiplas tecnologias de desenvolvimento. As aplicações requerem menos código, menos recursos do sistema e menos manutenção.

Novo
Artigo Yuri Marx · Fev. 22 4m read

O reconhecimento facial tornou-se o método mais popular para validar a identidade das pessoas, permitindo assim o acesso a sistemas, a confirmação de dados pessoais e documentais e a aprovação de ações e documentos.
Os desafios estão relacionados ao desempenho quando o banco de dados é muito grande, à precisão e, principalmente, à privacidade dos dados faciais biométricos. Para esses desafios, nada é melhor do que usar o InterSystems Vector Search, pois ele permite:

  1. Realizar buscas vetoriais em milhões de registros com respostas muito mais rápidas do que os métodos tradicionais.
  2. Os modelos vetori


0
0 4
Novo
Artigo Evandro Wendt · Fev. 17 6m read

O APM normalmente se concentra na atividade da aplicação, mas coletar informações sobre o uso do sistema fornece dados de contexto importantes que ajudam a entender e gerenciar o desempenho da sua aplicação, portanto estou incluindo o Monitor de Histórico do IRIS nesta série.

Neste artigo, descreverei brevemente como iniciar o Monitor de Histórico do IRIS ou Caché para criar um registro da atividade em nível de sistema, complementando as informações de atividade e desempenho da aplicação que você coleta. Também apresentarei exemplos de SQL para acessar as informações.

O que é o Monitor de Hi

0
0 7
Novo
Artigo Heloisa Paiva · Fev. 12 6m read

image1

Alguns conceitos fazem todo sentido no papel, enquanto outros exigem que você coloque a mão na massa.
Veja dirigir, por exemplo. Você pode memorizar cada componente da mecânica do motor, mas isso não significa que você realmente saiba dirigir.

Você só consegue compreender de verdade quando está no banco do motorista, sentindo fisicamente o ponto de fricção da embreagem e a vibração da estrada sob você.
Embora alguns conceitos de computação sejam intuitivos, Agentes Inteligentes são diferentes. Para entendê-los, você precisa sentar no banco do motorista.

Em meus artigos anteriores sobre agente

2
0 18
Novo
Artigo Heloisa Paiva · Fev. 17 6m read

Como eu "Vibecodei" um Backend (e Frontend) no InterSystems IRIS

Eu queria testar o **vibecoding** em uma configuração real de backend + frontend no InterSystems IRIS, idealmente usando algo realista em vez de um exemplo de brinquedo. O objetivo era simples: pegar um pacote persistente existente e bem conhecido no IRIS e construir rapidamente uma interface de usuário (UI) e uma API utilizáveis ao redor dele — deixando a IA cuidar do máximo possível de código repetitivo (boilerplate). Aqui está o resultado dos experimentos.

Escolhendo o Modelo de Dados

Para este experimento, escolhi o Samples BI D





0
0 2
Novo
Artigo Heloisa Paiva · Fev. 17 12m read

Na Parte 1, estabelecemos a base técnica do MAIS (Multi-Agent Interoperability Systems). Conectamos com sucesso o "Cérebro", construímos um Adapter robusto usando LiteLLM, protegemos nossas chaves de API com o IRIS Credentials e, finalmente, deciframos o código do quebra-cabeça da interoperabilidade com Python.

No entanto, neste momento, nosso sistema é apenas um cano bruto para um LLM. Ele processa texto, mas carece de identidade.

Hoje, na Parte 2, definiremos a Anatomia de um Agente. Passaremos de simples chamadas de API para Personas estruturadas. Aprenderemos como envolver o LLM em uma ca


0
0 7
Novo
Artigo Henry Pereira · Fev. 14 3m read

cover

Imagine uma sala escura. A única luz vem de uma parede de telas e de um prompt piscando que educadamente informa:

“LINK PARA M-U5K-3T: ALTA LATÊNCIA – CONTROLE DIRETO DESABILITADO.”

Perfeito.

Você é o comandante de Rover da Musketeer Corp. Em algum lugar absurdamente distante, você tem uma unidade autônoma estacionada em um exoplaneta hostil. Este exoplaneta quer te destruir, mas também está coberta de minerais que poderiam financiar uma pequena civilização.

O minério em M-U5K-3T está por toda parte. Infelizmente, todo o resto na superfície está ativamente tentando matar você.

Então, nós não

0
0 1
Novo
Artigo Evandro Wendt · Fev. 14 2m read

Prompt

Primeiramente, precisamos entender o que são palavras de prompt e quais são suas funções.

Engenharia de Prompt

A engenharia de palavras de prompt é um método especificamente projetado para otimizar modelos de linguagem.
Seu objetivo é orientar esses modelos a gerar textos de saída mais precisos e direcionados por meio do design e ajuste das palavras de prompt de entrada.

Funções principais dos prompts

  • Melhorar a correspondência de conteúdo: Ao expressar suas necessidades com precisão, a IA pode gerar conteúdo de alta qualidade que atende melhor às expectativas
  • Eficiência e otimiz


0
0 11
Novo
Artigo Evandro Wendt · Fev. 13 1m read

Em um ambiente containerizado, você pode gerenciar o horário do seu container usando a variável TZ ou por meio dos arquivos /etc/timezone e /etc/localtime:

environment:
      - TZ=Europe/Paris
volumes:
    - "/etc/timezone:/etc/timezone:ro"
    - "/etc/localtime:/etc/localtime:ro"

Você pode encontrar exemplos completos aqui:

IRIS Community

IRISHealth_Community

IRIS production

IRISHealth production

0
0 10
Novo
Artigo Evandro Wendt · Fev. 13 2m read

As versões recentes do IRIS já vêm com o Lite Terminal disponível no VSCode. Ele funciona como um servidor WebSocket, com comunicação via mensagens JSON. Aqui está como se conectar a ele a partir do Python:

import websocket
import argparse
import requests
import json


defterminal(host, port, namespace, username, password, command, secure):
    session = requests.Session()
    r = session.get(f"http{"s"if secure else""}://{host}:{port}/api/atelier/", auth=(username, password))
    cookies = session.cookies.get_dict()
    ws = websocket.WebSocket()
    ws.connect(f"ws{"s"if secu
0
0 15
Novo
Artigo Evandro Wendt · Fev. 13 3m read

Você já precisou alterar um IP ou porta antes de implantar uma interface em produção? Precisou remover itens de uma exportação? Ou modificar valores em uma tabela de lookup antes de implantar? Já quis desativar uma interface antes da implantação? Ou ainda adicionar um comentário, categoria ou configuração de alerta a uma interface antes de enviá-la para produção?

Se você já precisou fazer qualquer alteração em uma interface ou tabela de lookup antes de implantar em produção, então o Export Editor é para você!

O Export Editor é uma aplicação web Python/WSGI que fornece uma maneira de editar

0
0 6
Novo
Artigo Evandro Wendt · Fev. 13 3m read

A Kong fornece uma ferramenta open source de gerenciamento de configuração (escrita em Go), chamada decK (que significa Kong declarativo).

  • Verifique se o decK reconhece sua instalação do Kong Gateway por meio do comando deck gateway ping
deck gateway ping   
Successfully connected to Kong!
Kong version:  3.4.3.11

  • Exporte a configuração do Kong Gateway para um arquivo chamado "kong.yaml" por meio do comando deck gateway dump
deck gateway dump -o kong.yaml

  • Após modificar os endereços IP no arquivo kong.yaml, verifique as diferenças por meio do comando deck gateway diff
     
dec
0
0 7
Novo
InterSystems Oficial Danusa Calixto · Fev. 13

A versão de manutenção 2025.1.3 da plataforma de dados InterSystems IRIS®, InterSystems IRIS® for HealthTM, and HealthShare® Health Connect já estão disponíveis para o público em geral (GA). Essas versões incluem correções para diversos alertas e avisos emitidos recentemente, incluindo os seguintes

Compartilhe seu feedback através do Portal de Idei

0
0 8
Novo
InterSystems Oficial Danusa Calixto · Fev. 13

As terceiras versões de pré-visualização para desenvolvedores da plataforma de dados InterSystems IRIS®, InterSystems IRIS® for Health e do HealthShare® Health Connect 2026.1 foram publicadas no site de pré-visualização para desenvolvedores do WRC. Os contêineres podem ser encontrados em nosso registro de contêineres e estão marcados com a tag latest-preview.

Essas pré-visualizações para desenvolvedores incluem a remoção do suporte a Mac Intel a partir da versão 2026.1.0 e a reintegração do suporte ao Windows Server 2019 na versão 2026.1.0.

A documentação inicial pode ser encontrada nos link

0
0 7
Novo
Artigo Evandro Wendt · Fev. 12 2m read

Já tínhamos o Webterminal há algum tempo, mas ele era limitado e nem todos os recursos funcionavam. Não havia suporte a shell nem aos recursos mais recentes, como suporte a Python embutido. Havia também alguns problemas com ferramentas que exigem o modo programador. A autenticação básica não era tão prática quanto uma página de login simples, onde você poderia ter a opção de adicionar sua própria página de login, caso quisesse alterar a forma de acesso à aplicação, como usando SSO.

Com o terminal IRIS original, incorporado em um formulário web, utilizando o xterm.js — muito usado no mundo web e em ferramentas como o VSCode — e um pouco de magia do Python, que ajuda na comunicação entre processos via tty, conseguimos levar o terminal para a web em sua capacidade total.

iTerm

0
0 15
Novo
Artigo Evandro Wendt · Fev. 12 2m read

Visão Geral

Após algumas discussões no Global Summit e usando vários gerenciadores de pacotes no meu dia a dia de desenvolvimento (npm, NuGet, Chocolatey etc.), além de recentemente utilizar o InterSystems Package Manager para alguns processos de CICD que estou construindo com InterSystems IRIS e IRIS for Health, eu queria uma forma fácil e integrada de buscar, visualizar e instalar pacotes relacionados a stack de tecnologia da InterSystems.

Recentemente, construí uma extensão do VSCode para repositórios IPM que pretendo tornar open source e publicar no Marketplace, mas quis criar este post

0
0 6
Artigo Heloisa Paiva · Fev. 9 4m read

A PEP 578 adicionou hooks de auditoria ao Python. Uma grande variedade de eventos (carregamento de módulos, interações com o sistema operacional e assim por diante) aciona eventos de auditoria aos quais você pode se inscrever.

Veja como fazer isso. Primeiro, crie um hook de Python embutido (embedded python hook):

Class User.Python {

/// do ##class(User.Python).Audit() ClassMethod Audit() [ Language = python ] 
{ 
    import sys 
    import time
    
    def logger(event,args):      
        if event=='import':         
        module = args[0]         
        print(f"Carregando
0
0 15
Artigo Heloisa Paiva · Fev. 9 7m read

Olá! 

No meu último artigo, fiz um passo a passo sobre como você pode tentar implantar o InterSystems IRIS Community Edition, ou IRIS for Health Community Edition, gratuitamente na AWS. Nesta continuação, mostrarei o mesmo para o próximo maior provedor de nuvem, o Microsoft Azure. 

Assim como na AWS, o Azure também oferece uma opção gratuita ao se cadastrar, embora seja um pouco menos generosa - você recebe US$ 200 de crédito gratuito para gastar no primeiro mês. Isso significa que você pode, mais uma vez, tentar implantar o IRIS Community Edition gratuitamente no Azure, embora eu recomen

0
0 15
Artigo Heloisa Paiva · Fev. 4 5m read

Quantas vezes você teve que receber ou gerar um JSON e desejou poder trabalhar nele usando DTLs sem ter que lidar com DynamicObjects tentando lembrar o nome de cada campo? Você quer dividir e tornar seu arquivo JSON gigante mais digerível?

No meu caso, nunca, mas pensei que alguém poderia achar útil ter um recurso que captura seu JSON e o divide em uma série de classes ObjectScript com as quais você pode trabalhar de forma mais fácil e conveniente.

Pois bem... contemplem o JSON2Class em toda a sua glória!

Como o JSON2Class funciona?

É muito simples: ele aproveita os recursos do Embed

1
0 18
Artigo Heloisa Paiva · Fev. 3 6m read

Olá Pessoal! 

Você sabia que pode implantar o InterSystems IRIS Community Edition na nuvem sem pagar por uma licença? Você pode experimentar gratuitamente, e pode até ser útil se quiser exibir aquele novo aplicativo brilhante que você criou (talvez para a competição full stack..? ) 

Neste artigo, fornecerei um passo a passo completo sobre como implantar o IRIS na Amazon Web Services (AWS), e também adicionarei um acompanhamento para a implantação no Azure. 

Agora, antes de começar o passo a passo, quero admitir que fiquei apavorado ao usar a AWS pela primeira vez porque vi memes sobre como

0
0 17
Artigo Evandro Wendt · jan 30 2m read

Se você está começando com o InterSystems ObjectScript, certamente vai se deparar com o comando XECUTE.
E iniciantes podem se perguntar: onde e por que eu precisaria usar isso?

A documentação oficial traz uma rica coleção de trechos de código, mas nenhum caso prático.
Recentemente, encontrei um caso de uso que gostaria de compartilhar com você.

O cenário:
Quando você constrói um container do IRIS com Docker, na maioria dos casos,
você executa o script de inicialização.

iris session iris < iris.script 

Isso significa que você abre uma sessão de terminal e fornece sua entrada linha por linha a

1
0 20
Artigo Evandro Wendt · jan 30 2m read

SQLToolsé uma extensão do Visual Studio Code (VS Code) com mais de 3,5 milhões de downloads, que fornece conexões para muitos dos bancos de dados mais usados, incluindo o InterSystems IRIS, utilizando drivers.

Para desenvolvedores que são novos no VS Code, ou aqueles já familiarizados com ele mas que desejam simplificar suas conexões com o InterSystems IRIS, este tutorial irá guiá-lo na instalação da extensão SQLTools e do driver do InterSystems IRIS. Em seguida, ele mostra como estabelecer uma conexão com sua instância do InterSystems IRIS e executar uma consulta.
Você vai precisar de: VS C

0
0 18
Artigo Edilson Eberle Carvalho · jan 29 3m read

Pessoal, a quem interessar possa.....

Desenvolvi uma Classe utilizando o python para ler um arquivo excel e gravar o conteúdo em global. Vejam como ficou: (fiquem a vontade para melhorias ou ajustes)

Class Utils.Importador Extends %RegisteredObject
{/// Importa uma planilha Excel para a global ^ExcelData
/// Parâmetro: caminhoArquivo (Ex: "C:\Temp\dados.xlsx")
/// Exemplo de uso: Do ##class(Utils.Importador).LerExcel("C:\Temp\minha_planilha.xlsx",$username)
ClassMethod LerExcel(caminhoArquivo As %String, nomeUsuario As %String) [ Language = python ]
{
    import os
    try:
        from openpyxl i

1
0 17
Artigo Heloisa Paiva · jan 25 7m read

Às vezes é mais conveniente, eficiente e seguro limitar as Buscas FHIR por "Listas" de Recursos pré-definidas.

Desde a v2025.1, suportamos vários recursos relacionados a Listas em nosso Servidor FHIR.

Vou destacar estes recursos aqui e fornecer alguns exemplos.

Em geral, você pode ver os detalhes sobre o Recurso List na documentação oficial do FHIR.

Mas aqui está uma breve descrição baseada no link acima:

O Recurso FHIR List representa uma coleção plana (opcionalmente ordenada) de registros usados para listas clínicas (ex: alergias, medicamentos, alertas, históricos) e gerenciamento de


0
0 17
Artigo Heloisa Paiva · jan 24 1m read

Em sua Produção de Interoperabilidade, você sempre pôde ter uma Business Operation que atua como um cliente HTTP utilizando OAuth 2.0 para autenticação, mas era necessário customizar a Operation para essa metodologia de autenticação. Desde a v2024.3, que foi lançada recentemente, há uma nova capacidade, fornecendo novas configurações para lidar com isso de forma mais fácil.

Em sua Business Operation que utiliza o HTTP Outbound Adapter, você encontrará novas Configurações (Settings), sob o grupo OAuth.

Por exemplo:

  • Access Token Placement (Header | Body | Query)
  • Grant Type (Password | JWT

0
0 19
Artigo Heloisa Paiva · jan 23 2m read

A auditoria é uma capacidade crítica que garante a segurança do seu servidor e, há algum tempo, incluímos a capacidade de auditar instruções SQL executadas no servidor.

Com a v2024.3 já disponível, estamos fornecendo opções com granularidade mais refinada para definir esses eventos a serem auditados.

Anteriormente, você podia decidir auditar instruções SQL de acordo com o mecanismo de acesso, por exemplo, executando instruções via JDBC/ODBC vs. SQL embarcado (ex: usando &sql em seu código) vs. SQL Dinâmico (ex: usando %SQL.Statement no código, ou usando a Execução de Consulta SQL do Portal d

0
0 24
Artigo Heloisa Paiva · jan 21 3m read

Olá, agora gostaria de continuar com o tópico que discutimos anteriormente

Usando o Postman para testar o OAuth2.0 do repositório InterSystems FHIR - Parte 1


Pergunta 1: De onde vêm meu client_id e meu client_secret?

Resposta curta: Do Servidor de Autenticação.

Se você não possui um Servidor de Autenticação, pode configurar um da seguinte forma:

Forneça o hostname (o host deve suportar Https), pelo menos 1 tipo de concessão (escolhemos client credential aqui) e a configuração SSL/TLS

Insira os escopos (aqui inserimos user/.read e user/.write, que são baseados no supor




0
0 20
Artigo Heloisa Paiva · jan 19 4m read

O InterSystems IRIS é construído sobre uma arquitetura que separa a organização lógica dos dados (namespaces) de seu local de armazenamento físico (bancos de dados). Compreender essa separação e a distinção entre Namespaces e Bancos de Dados é crucial para uma gestão de dados eficaz, segurança e, especialmente, para o compartilhamento de dados de alta performance.

Neste artigo, discutirei esses componentes fundamentais e fornecerei um guia prático sobre como aproveitar os mapeamentos de globals para compartilhar estruturas de dados nativas (globals) entre diferentes ambientes lógicos.

Bancos


0
0 16
Artigo Evandro Wendt · jan 19 1m read

A nova versão do InterSystems Testing Manager, que lancei na semana passada, traz a incrível Test Coverage Tool do @Timothy Leavitt para o VS Code e é a minha participação no concurso Developer Tools 2025.

Aqui está uma imagem de prévia mostrando como os testes unitários do projeto IPM ainda não cobrem um recurso que aparentemente permite que um repositório IPM sobrescreva sua ordem de classificação.

Observe como a linha 88 é destacada em vermelho como um aviso para o desenvolvedor.

Uma decoração no estilo “indicador de bateria” na visualização do Explorer do VS Code aparece em âmbar p

0
0 19
Artigo Evandro Wendt · jan 16 3m read

Olá comunidade,

Quero compartilhar minha experiência trabalhando em projetos que lidam com um volume masivo de dados. Ao longo dos anos, tive a oportunidade de lidar com enormes volumes de dados de pacientes, dados de pagadores e logs transacionais enquanto trabalhava na indústria hospitalar. Tive a chance de criar relatórios enormes, que precisavam ser escritos usando lógicas avançadas para buscar dados em múltiplas tabelas, cujos índices não ajudavam a escrever código eficiente.

Aqui está o que aprendi sobre como gerenciar grandes volumes de dados de forma eficiente.

Escolhendo o melhor método de acesso aos dados

Como todos nós da comunidade sabemos, o IRIS oferece múltiplas maneiras de acessar dados. A escolha do método correto depende do requisito.

  • Acesso direto a global: o mais rápido para operações de leitura/gravação em massa. Por exemplo, se eu precisar percorrer índices e buscar dados de pacientes, posso percorrer as globais para processar milhões de registros. Isso economiza muito tempo.
Set ToDate=+HSet FromDate=+$H-1ForSet FromDate=$O(^PatientD("Date",FromDate)) Quit:FromDate>ToDate  Do
. Set PatId=""ForSet PatId=$Order(^PatientD("Date",FromDate,PatID)) Quit:PatId=""Do
. . Write$Get(^PatientD("Date",FromDate,PatID)),!
  • Usando SQL: Útil para relatórios ou necessidades analíticas, embora seja mais lento para conjuntos de dados muito grandes.
0
0 18
Artigo Evandro Wendt · jan 16 5m read

Entrei na InterSystems há menos de um ano. Mergulhar em ObjectScript e no IRIS foi empolgante, mas também cheio de pequenas surpresas que me pegaram de surpresa no começo. Neste artigo, reúno os erros mais comuns que eu, e muitos colegas novos, cometemos, explico por que eles acontecem e mostro exemplos concretos e correções práticas. Meu objetivo é ajudar outros desenvolvedores iniciantes a economizarem tempo e evitarem os mesmos tropeços no caminho.

1. Se perder entre as classes de sistema e por onde começar

O problema: ObjectScript/IRIS vem com muitas classes e pacotes de sistema (%Lib

0
0 25