Olá Comunidade!
Estamos felizes em compartilhar um novo vídeo do nosso canal InterSystems Developers YouTube:
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.
Olá Comunidade!
Estamos felizes em compartilhar um novo vídeo do nosso canal InterSystems Developers YouTube:
Parece-me que, por alguma razão, isto não chegou à documentação oficial e aparenta ser pouco conhecido, embora já tenha sido implementado no IRIS 2020.1.
Graças a @Dan Pasco, obtive uma pista sobre as classes envolvidas. Usei a sequência recomendada de como utilizá-lo. Tudo foi retirado diretamente da Referência de Classe e eu apenas compilei para criar uma primeira visão geral.
Com a rápida adoção da telemedicina, consutlas remotas e digitação digital, profissionais da saúde estão se comunicano mais do que nunca por voz. Pacientes em conversas virtuais geram uma vasta quantidade de dados sonoros não estruturados, então como clínicos e administradores pesquisam e extraem informações d horas de gravações de voz?
Apresentamos o IRIS Audio Query – um aplicativo full-stack que transforma áudio em uma base de conhecimento pesquisável. Com ele, você pode:
Olá Comunidade,
Estamos felizes em compartilhar um novo tutorial do Instruqt:
🧑🏫 RAG usando a Pesquisa Vetorial do InterSystems IRI
Este laboratório prático orienta você na construção de um chatbot de IA de Geração Aumentada de Recuperação (RAG) com tecnologia InterSystems IRIS Vector Search. Você verá como a pesquisa vetorial pode ser utilizada para fornecer respostas atualizadas e precisas, combinando os pontos fortes do IRIS com a IA generativa.
.jpg)
✨ Por que tentar?
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.
Se um dos seus pacotes no OEX recebe uma avaliação, você é notificado pelo OEX apenas sobre o seu próprio pacote.
A classificação reflete a experiência do avaliador com o status encontrado no momento da avaliação.
É como uma fotografia instantânea e pode já ter mudado desde então.
As avaliações feitas por outros membros da comunidade são marcadas com * na última coluna.
Também abri vários Pull Requests no GitHub quando encontrei um problema que consegui corrigir.
Alguns foram aceitos e mesclados, e outros simplesmente ignorados.
Começar a usar ObjectScript é realmente empolgante, mas também pode parecer um pouco estranho se você está acostumado com outras linguagens. Muitos iniciantes tropeçam nos mesmos obstáculos, então aqui estão alguns "pegadinhas" que você vai querer evitar. (Além de algumas dicas amigáveis para contorná-las.)
Nomear Coisas Aleatoriamente
Todos nós já fomos culpados de nomear algo como Test1 ou MyClass apenas para seguir em frente rapidamente. Mas quando seu projeto cresce, esses nomes se tornam um pesadelo.
➡ Escolha nomes claros e consistentes desde o início.
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.
Um benefício de usar o Doxygenerate é que ele faz mais do que um simples output HTML. Altere o arquivo Doxyfile que informa ao Doxygen o que fazer e você poderá facilmente criar um PDF. Nosso exemplo de aplicação MARINA gerou um PDF de 524 páginas. Aqui está a página 94:
.png)
Você pode olhar todas as páginas aqui.
No print acima, note que nós só temos detalhes da superclasse que é parte do app (AuditHistory) A superclasse primeira superclasse, %Library.SerialObject é mostrada desbotada e sem detalhes do que o BankDetails herda dela.
Você pode verificar o espaço em disco a qualquer momento usando a classe utilitária do sistema: SYS.Database e a consulta: FreeSpace.
Aqui está como testar no terminal IRIS (vá para o namespace %SYS e então execute):
zn "%SYS"
set stmt=##class(%SQL.Statement).%New()
set st=stmt.%PrepareClassQuery("SYS.Database","FreeSpace")
set rset=stmt.%Execute()
do rset.O mirror sincroniza apenas arquivos de banco de dados.
Para sincronizar outros arquivos necessários para sua aplicação (arquivos CSP, imagens, documentos, etc.) entre os dois servidores que compõem o conjunto de espelhamento, siga uma das seguintes abordagens:
O artigo foi motivado pelo 2025 September Article Bounty
********************************************************
O princípio do Docker é simplesmente convincente para mim.
Essa foi a base técnica que me permitiu executar cerca de 700 revisões no OEX
quase sem efeitos colaterais (exceto aqueles causados por mim mesmo).
Para iniciantes, vou começar com o IRIS puro, sem *health, *ML, *whatever.
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.
Rubrica InterSystems FAQ
No InterSystems IRIS, você pode criar tabelas vinculadas usando comandos, ao invés de usar o caminho System Explorer > SQL > Wizard > Linked Tables do Portal de Administração:
.png)
Para criar uma tabela vinculada, use o método CreateLinkedTable da classe %SYSTEM.SQL.Schema. Veja a documentação da classe para detalhes.
Para executar, siga os passos:
set sc = $SYSTEMSQL.Schema.Tenho o prazer de anunciar o lançamento de tree-sitter-objectscript, uma nova gramática de código aberto para tree-sitters que oferece suporte de primeira classe a ObjectScript para editores modernos. Se você viu a prévia na READY '25, ficará feliz em saber que ela já está disponível no Github:
https://github.com/intersystems/tree-sitter-objectscript
InterSystems FAQ rubric
Existem dados, como registros de log de execução, que você pode não querer que voltem ao estado anterior mesmo se ocorrer um rollback durante uma transação.
Esse requisito pode ser atendido colocando esses dados no banco de dados IRISTEMP, que não sofre rollback.
Temporary Globals and the IRISTEMP Database
Ao mapear para esse banco as entidades de tabela que você não deseja que sofram rollback, é possível manter as informações após a reversão.
No entanto, o conteúdo desse banco será apagado quando o IRIS for reiniciado
Como parte de um projeto técnico recente de documentação para otimizar a busca, precisei usar Embedded Python no meu código ObjectScript.
O principal obstáculo foi passar uma lista do Python, criada em um método de classe Python, para um método ObjectScript.
Enviar a lista por referência para o método Python, preenchê-la com o método Insert(), e retornar a referência para o método ObjectScript resultava em uma lista do tipo %SYS.Python. Esse processo era simples, mas pouco eficiente.
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.
Ao começar a usar o InterSystems IRIS ou Cache, os desenvolvedores frequentemente se deparam com três conceitos principais: Objetos Dinâmicos, Globals e Tabela Relacional. Cada um tem seu papel na construção de soluções escaláveis e fáceis de manter. Neste artigo, vamos percorrer exemplos de código práticos, destacar as melhores práticas e mostrar como esses conceitos se conectam.
1. Trabalhando com Objetos Dinâmicos
Objetos dinâmicos (%DynamicObject e %DynamicArray) permitem que os desenvolvedores manipulem estruturas semelhantes a JSON diretamente no ObjectScript.
Olá Comunidade!
🚨 Estima-se que até 44% da população da América Latina conviva com condições graves de saúde sem diagnóstico.
Entre elas, a MASH - uma condição hepática progressiva e silenciosa - e a inflamação sistema, que pode representar um fator de risco cardiovascular significativo. Ambas seguem subdiagnosticadas, com consequências potencialmente fatais.
De 5 a 7 de setembro, o Einstein Hospital Israelita sedia, pela primeira vez no Brasil, por meio da Eretz.
Este ótimo artigo despertou recentemente algumas discussões privadas, e eu gostaria de compartilhar algumas reflexões próprias a partir dele.
A preocupação central se resume a: Por que precisamos de regras ou convenções de codificação, afinal? O que aconteceu com a maravilhosa era do programador-artista renascentista, trilhando seu próprio caminho, antes de ser substituído pelo artesão e agora (ainda pior) pela IA?
Resumindo, há alguns motivos pelos quais padrões e diretrizes de codificação são úteis — e o programador-artista renascentista não desapareceu totalmente.
Olá Comunidade!
Este é um desafio técnico aberto a todos os participantes do hackathon MIT Hacking Medicine:
Melhor Uso do GenAI com a Busca Vetorial da InterSystems
Ao encarar seu desafio na área da saúde neste fim de semana, pense em como a IA Generativa pode aumentar a eficácia e a inteligência da sua solução.
Siga os passos do repositório GitHub do InterSystems IRIS Vector Search para começar.
Os mentores da InterSystems estarão no local para ajudar você a começar e implementar.
Esperamos por vocês 😉
O Guia do Mochileiro do Object Script
O Object Script é nossa linguagem de programação principal no ambiente InterSystems IRIS. Ele também oferece recursos modernos que o tornam poderoso para desenvolvedores.
Para iniciantes, adotar boas práticas de programação desde o início é fundamental para escrever um código de fácil manutenção, eficiente, escalável e claro, seguindo as melhores práticas
Este guia apresenta dicas essenciais para ajudar desenvolvedores “novatos” em ObjectScript a escreverem um código melhor e compreenderem alguns recursos da linguagem.
Olá, Comunidade !
Precisa conectar sua aplicação .NET à plataforma de dados InterSystems IRIS®? Veja como o Entity Framework Core pode ajudar:
Usuários do framework %UnitTest agora podem obter informações de cobertura de teste dentro do VS Code combinando a versão mais recente (v2.0.0) da extensão InterSystems Testing Manager com a impressionante Test Coverage Tool de @Timothy.Leavitt.

Acima, você pode ver o painel Cobertura de Teste, que movi para a barra lateral secundária à direita para que possa ser explorado mais facilmente em conjunto com o Explorador de Testes à esquerda.
Observe como a execução de teste mais recente (de todos os testes unitários da Ferramenta de Cobertura de Teste) cobriu o método BitValue de TestCoverage.
#InterSystems Demo Games entry
Uma demonstração de texto para sql sobre análise de dados mqtt com RAG.
🗣Apresentador: @Jeff Liu, Sales Engineer, InterSystems
Revisando meus pacotes publicados, identifiquei um bug sério na IRIS Native API.
Existe um método em %Net.DB.Iris chamado function().
Ele é equivalente ao comando ObjectScript $$label^routine(param).
Isso funcionava bem há 2 anos, quando publiquei meus pacotes de extensões para linha de comando.
Agora, está quebrado há pelo menos 1 ano e gera o erro <PROTECT>.
Identifiquei o problema em ObjectScript, Java, Python e Node.js.
Foi registrado como WRC# 1002589.
Para todos os 4 casos, também verifiquei uma solução alternativa:
Em vez de chamar uma Function do ObjectScript, você deve chamar um ClassMethod.
Se você gostou do que viu, por favor apoie esta ferramenta no Developer Tools 2025 contest. A votação se encerra à meia-noite (EDT) no domingo, dia 3.