Olá Desenvolvedores,
Aproveite o novo vídeo no canal InterSystems Developers do YouTube
⏯ Por Dentro do Vector Search - Inovações Técnicas no InterSystems IRIS @ READY 2025
SQL é uma linguagem padrão para armazenar, manipular e recuperar dados em bancos de dados relacionais.
Olá Desenvolvedores,
Aproveite o novo vídeo no canal InterSystems Developers do YouTube
⏯ Por Dentro do Vector Search - Inovações Técnicas no InterSystems IRIS @ READY 2025
O ObjectScript permite definir métodos que aceitam um número variável de argumentos usando a sintaxe `args...`. Em vez de fixar quantos parâmetros um método recebe, você deixa que quem chama decida quantos enviar.
Eles podem ser invocados de duas formas:
1. Com argumentos individuais: `metodo(val1, val2, val3)`
2. Expandindo um array: `metodo(args...)`

Você pode definir um método com um parâmetro fixo e um número variável de extras:
ClassMethod MiMetodo(fijo As%String, extras...) As%Status
{
Write"Parâmetro fixo: ",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.
Para este experimento, escolhi o Samples BI
Primeiramente, precisamos entender o que são palavras de prompt e quais são suas funções.
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.
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 Ideias,
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
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.
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.
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)),!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 (%Library,
Eu estava enfrentando o mesmo problema que o Jerry enfrentou ao conectar o IRIS ao SQL Server. Minha conexão ODBC está configurada para autenticar via autenticação do Windows.
Configure IRIS ODBC connection with Windows authentication using a
Como eu resolvi isso?
<ORGNAME>\<ASSETID>$. O SQL não tinhaNo cenário atual de dados de saúde, o FHIR se tornou o padrão para a troca de dados clínicos estruturados. No entanto, embora o FHIR se destaque em interoperabilidade, seu formato JSON torna a análise desafiadora — incluindo os FHIR QuestionnaireResponse.
Este projeto demonstra como transformar dados de FHIR QuestionnaireResponse de JSON aninhado em tabelas SQL relacionais e embeddings vetoriais. Ao integrar o InterSystems IRIS FHIR SQL Builder e Vector Search, desbloqueamos o significado semântico por trás das respostas dos pacientes.
Esta é uma produção de exemplo do Ensemble/Health Connect que demonstra como receber um pedido HL7 (ORM) de entrada a partir de um arquivo, extrair campos (neste caso, informações demográficas básicas) e inseri-los em uma tabela de um banco de dados SQL externo via ODBC.
Incluído no arquivo zip:
Olá, pessoal. Quanto tempo! Mais uma vez, gostaria de compartilhar o que tenho estudado recentemente, criar tabelas estrangeiras usando SQL via JDBC.
Como estou aprendendo sobre o IRIS BI ao mesmo tempo, comecei utilizando este ambiente Docker de exemplo do Sample-BI.
https://github.com/intersystems/Samples-BI
Após iniciar o ambiente, faça login no portal de gerenciamento http://localhost:52773/csp/sys/UtilHome.csp como Superuser.
Troque para o namespace IRISAPP.
.png)
😀 Vamos descobrir que todos os dados de exemplo estão armazenados no namespace IRISAPP. Vamos encontrar uma tabela simples para
Existe uma Master Table dentro do IRIS que estou preenchendo a partir do Epic, mas quero compartilhá-la com nossa equipe de Enterprise Application Development (Web). Como teste, consegui usar _SYSTEM a partir do Postman para executar o seguinte.
POST /api/atelier/v1/xxxx/action/query HTTP/1.1
Host: xxxxxxxx
Content-Type: application/json
Authorization: ••••••
Cookie: CSPSESSIONID-SP-443-UP-api-atelier-=00f0000000000AKyLjBfUvU$MpFD8UT8y$EoNKNw1ixZeXN4_Q; CSPWSERVERID=hzZAT5rb
Content-Length: 86
{"query": "SELECT * FROM osuwmc_Epic_Clarity.DepartmentMaster WHERE ID = '300000000'"}Se eu
Olhando para o meu banco de dados, vejo que tenho um ^rINDEXSQL muito grande! Por que isso? 😬
Na página de SQL do Management Portal, em "SQL Statements", vejo um botão 'Clean stale' – o que ele faz? 🤔
Na lista de Statements, alguns têm um valor em 'Location' e outros não. Como isso acontece? 🤨
Tenho o prazer de anunciar a publicação do gj :: dataLoader, uma nova extensão do VS Code que simplifica a tarefa de carregar dados de arquivos CSV locais em tabelas SQL dos seus servidores InterSystems IRIS.
Aqui está um vídeo introdutório:
gj :: dataLoader já está disponível no Marketplace para instalação direta no VS Code. É a minha proposta para o concurso “Bringing Ideas to Reality” 2025 e coloca em prática esta ideia: https://ideas.intersystems.com/ideas/DPI-I-667
Seus comentários serão bem-vindos.
No dia a dia de qualquer organização, a informação flui entre aplicações, serviços e sistemas muito diferentes entre si. Integrá-los de forma eficiente pode ser um desafio… a menos que você use o InterSystems IRIS.
Neste novo vídeo, eu mostro como construir um fluxo completo de integração combinando múltiplas tecnologias — APIs REST, arquivos CSV, bancos de dados e serviços SOAP — tudo dentro do ambiente visual oferecido pelo motor de interoperabilidade do IRIS.
👉 Você pode assistir ao vídeo aqui:
<iframe width="560" height="315" src="https://www.youtube.com/embed/82xA51nThqQ?si=CzRfwyLSwcKvOGGH" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>SET atribui um valor à variável em tempo de execução.
#DIM declara a variável e o seu tipo de dado em tempo de compilação.
SET |
#DIM |
| Torna a variável dinâmica. | Melhora a legibilidade. |
| Sem tipagem. | Habilita IDE auto-completion. |
| Tempo de execução | Util para referência a objetos. |
#DIM name As%StringSet name = "Micheal Scott"#DIM age As%NumericSet age = 36#DIM employer As App.Employer ; compile timeSet employer = ##class(App.Employer).%New() ; runtime
SETou #DIM? Seu design, suas regras.Olá Comunidade!👋
Bem-vindos à segunda parte da série Utilitário IRIS IO. Esta extensão representa minha inscrição para o Concurso "Trazendo Ideias à Realidade" 2025 da InterSystemse oferece uma interface intuitiva e poderosa para importar e exportar dados diretamente no VS Code.
Se você achar esta extensão útil, por favor, considere votar em mim no concurso!
No artigo anterior,
Boas-vindas ao resumo mensal de atualizações e lançamentos do VS Code e das extensões relacionadas à InterSystems que são relevantes para os desenvolvedores IRIS.
Vamos detalhar as atualizações que são relevantes para os desenvolvedores InterSystems com dicas sobre como elas podem ser aplicadas em seus projetos diários.
Não se esqueça, se você está migrando do InterSystems Studio para o VS Code, ou deseja aprofundar seu conhecimento, confira os cursos de treinamento do VS Code da George James Software: georgejames.com/vscode-training.
VS Code versão 1.106
O utilitário Load Data é uma excelente ferramenta para carregar dados de arquivos CSV/TXT para uma tabela SQL do IRIS, mas é necessário enviar o arquivo de destino para o servidor IRIS e escrever a instrução Load Data para ingerir o conteúdo do arquivo. Agora é possível selecionar um arquivo no VSCode, definir a tabela de destino e enviar a solicitação. O utilitário vscode-load-data enviará o arquivo para o servidor IRIS e executará o comando Load Data para você! Muito simples:
.png)
Temos o prazer de anunciar o Programa de Acesso Antecipado para Modelos Personalizados do IntegratedML, um novo e poderoso recurso que estará disponível no IRIS 2026.1!
O recurso Modelos Personalizados do IntegratedML amplia a funcionalidade existente do IntegratedML/AutoML, permitindo que você implante seus próprios modelos de aprendizado de máquina em Python diretamente em consultas SQL.
InterSystems IRIS - Shells
Olá,
Quando abrimos um terminal no IRIS estamos entrando no ambiente ObjectScript. Nele podemos executar comandos do IRIS, tais como:

Ou seja, o comando ObjectScript é executado no shell corrente. Mas é sempre bom lembrar que o IRIS tem outros shells:
Uma questão bem interessante são os atalhos. Podemos acessar estes shells pelas suas chamadas ou através de atalhos, conforme a tabela abaixo:
|
Shell |
Chamada |
Atalho |
|
SQL |
Do $SYSTEM.SQL.Shell() |
:sql |
|
Python |
Do $SYSTEM.Python.Shell |
:py |
|
TSQL |
Do |
Oi Comunidade!
Temos o prazer de compartilhar um novo vídeo do nosso canal do YouTube InterSystems Developers:
⏯ Tabelas Estrangeiras na versão 2025.2 @ Ready 2025

Ao usar SQL padrão ou a camada de objetos no InterSystems IRIS, a consistência dos metadados é geralmente mantida por meio de validação integrada e imposição de tipo. No entanto, sistemas legados que ignoram essas camadas—acessando globals diretamente—podem introduzir inconsistências sutis e graves.
Compreender como os drivers se comportam nesses casos extremos é crucial para diagnosticar problemas de dados legados e garantir a confiabilidade da aplicação.
O banco de dados DATATYPE_SAMPLE foi projetado para ajudar a analisar cenários de erro onde os valores das colunas não estão em conformidade
Quando precisamos integrar o Caché/IRIS com outros bancos de dados relacionais, uma pergunta comum surge: “Como configuro a conexão JDBC?”. A documentação oficial nem sempre fornece um guia passo a passo direto, o que pode ser frustrante, especialmente para iniciantes.
Neste artigo, vou guiá-lo por todo o processo de configuração de uma conexão JDBC com MySQL, desde o download do conector até o espelhamento de tabelas no Caché/IRIS.
Nota: Conexões JDBC no Caché/IRIS têm algumas limitações, especialmente em relação ao caching e ao uso de ResultSet. Em muitos casos, você pode precisar adaptar
Oi pessoal! Esse artigo é para quem está começando com InterSystems IRIS. Espero que ajude!
O InterSystems IRIS é uma plataforma de dados unificada: uma base de dados de alta performance com ferramentas de interoperabilidade e análise integradas em um só produto. Você tem SQL e NoSQL na mesma máquina, além de jeitos nativos de rodar Python com seus dados. Em resumo: menos peças móveis, mais capacidade de processamento.
Uma coisa que aprendi ao longo dos anos é que, não importa o quão aprimorada seja a lógica do seu aplicativo, o desempenho do banco de dados acabará por determinar o sucesso ou fracasso da experiência do usuário. Trabalhando com o InterSystems IRIS, recentemente vivenciei isso em primeira mão. Um de nossos clientes estava construindo um painel de relatórios que funcionava perfeitamente durante os testes, mas assim que o conjunto de dados de produção cresceu para milhões, os tempos de resposta ficaram extremamente lentos.
À primeira vista, parecia um problema de hardware.
O artigo do August Article Bounty sobre Global Masters, e um dos tópicos propostos me pareceu bastante interessante para uso futuro em minhas aulas. Então, é isso que eu gostaria de dizer aos meus alunos sobre tabelas no IRIS e como elas se correlacionam com o modelo de objeto.
Primeiro, o InterSystems IRIS possui um modelo de dados unificado. Isso significa que, ao trabalhar com dados, você não está preso a um único paradigma. Os mesmos dados podem ser acessados e manipulados como uma tabela SQL tradicional, como um objeto nativo, ou até mesmo como um array multidimensional (um global). Isso significa que, ao criar uma tabela SQL, o IRIS cria automaticamente uma classe de objeto correspondente. Ao definir uma classe de objeto, o IRIS a torna automaticamente disponível como uma tabela SQL. Os dados em si são armazenados apenas uma vez no eficiente motor de armazenamento multidimensional do IRIS. O motor SQL e o motor de objeto são simplesmente diferentes "lentes" para visualizar e trabalhar com os mesmos dados.
Primeiro, vamos ver a correlação entre o modelo relacional e o modelo de objeto:
| Relacional | Objeto |
| Tabela | Classe |
| Coluna | Propriedade |
| Linha | Objeto |
| Chave primária | Identificador de objeto |
Nem sempre é uma correlação de 1:1, já que você pode ter várias tabelas representando uma classe, por exemplo. Mas é uma regra geral.
InterSystems FAQ rubric
Por padrão, a ordem das colunas em uma tabela é determinada automaticamente pelo sistema.
Para alterar a ordem, defina explicitamente a ordem de cada propriedade utilizando a palavra-chave SqlColumnNumber ao definir a classe.
Exemplo:
Property Name As %String [SqlColumnNumber = 2];
Consulte a documentação abaixo.
Se você deseja alterar o nome da tabela SQL, especifiqueSqlTableName. Se você deseja alterar o nome da coluna (nome do campo), especifiqueSqlFieldName.
Ambos se aplicam apenas a classes persistentes.