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.
Utilizando Flask, API REST e IAM com o InterSystems IRIS
Parte 3 – IAM
O InterSystems API Manager (IAM) é um componente que permite monitorar, controlar e gerir o tráfego de APIs baseadas em HTTP. Ele também atua como uma API gateway entre aplicações e servidores InterSystems IRIS.
O documento publicado em https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=PAGE_apimgr traz as informações sobre o produto.
Já o documento https://docs.intersystems.com/components/csp/docbook/DocBook.UI.Page.cls?KEY=CIAM3.0_install
Utilizando Flask, API REST e IAM com o InterSystems IRIS
Parte 2 – Aplicativo Flask
Flask é um microframework de desenvolvimento web escrito em Python. Ele é conhecido por ser simples, flexível e permitir o desenvolvimento rápido de aplicações.
A instalação do Flask é muito simples. Depois de ter o python instalado corretamente no seu sistema operacional precisamos instalar a biblioteca flask com o comando pip. Para o consumo de API REST é aconselhado o uso da biblioteca requests. O link a seguir traz um guia para a instalação do flask: https://flask.palletsprojects.com/en/stable/installation/
Utilizando Flask, API REST e IAM com o InterSystems IRIS
Parte 1 – API REST
Olá,
Neste artigo vamos ver a implementação de uma API REST para realizar a manutenção de um CRUD, utilizando o Flask e o IAM.
Nesta primeira parte do artigo vamos ver a construção e publicação da API REST no Iris.
Primeiro, vamos criar a nossa classe persistente para armazenar os dados. Para isso vamos para o Iris e criamos nossa classe:
Class ERP.Cliente Extends (%Persistent, %Populate, %XML.Adaptor)
{
Property nome As %String;
Property idade As %Integer;
}
Pronto.
Utilizando o Gateway SQL com Python, Vector Search e Interoperabilidade no InterSystems Iris
Parte 3 – REST e Interoperabilidade
Agora que finalizamos a configuração do Gateway SQL e conseguimos acessar os dados do banco externo via python, e montamos nossa base vetorizada, podemos realizar algumas consultas. Para isso nessa parte do artigo vamos utilizar uma aplicação que desenvolvida com CSP, HTML e Javascript que acessará uma integração no Iris, que então realiza a pesquisa por similaridade dos dados, faz o envio para a LLM e por fim devolve o SQL gerado.
Utilizando o Gateway SQL com Python, Vector Search e Interoperabilidade no InterSystems Iris
Parte 2 – Python e Vector Search
Uma vez que temos acesso aos dados da nossa tabela externa podemos utilizar tudo que o Iris tem de excelente com estes dados. Vamos, por exemplo, ler os dados da nossa tabela externa e gerar uma regressão polinomial com eles.
Para mais informações sobre o uso do python com o Iris veja a documentação disponível em https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=AFL_epython
Utilizando o Gateway SQL com Python, Vector Search e Interoperabilidade no InterSystems Iris
Parte 1 – Gateway SQL
Olá,
Neste artigo vamos ver o uso do Gateway SQL no Iris. O Gateway SQL permite que o Iris tenha acesso a tabelas de outros bancos (externos) via ODBC ou JDBC. Podemos acessar Tabelas ou Visões de diversos bancos, como Oracle, PostgreSQL, SQL Server, MySQL e outros.
Do ponto de vista de uso é como se a tabela estivesse local na nossa instância Iris, porém o armazenamento é realizado em um local externo.
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.
| “A pedido dos sobreviventes, os nomes foram alterados. Por respeito aos mortos, o RESTO foi contado exatamente como aconteceu.” |
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.
Temos algumas rotinas *.mac e precisamos preservar o fonte delas, pois estas rotinas têm autoria intelectual e apenas podem ser utilizadas por sessão de direito de uso (não podendo ser visualizada ou editada). A pergunta: como manter apenas o objeto da rotina no namespace do IRIS, sem interferir na sua execução?
Introdução
O IntegratedML é uma ferramenta poderosa do InterSystems IRIS que permite a criação, treinamento e gerenciamento de modelos de machine learning diretamente no banco de dados, utilizando SQL. Neste artigo, abordaremos a configuração do IntegratedML e sua aplicação em cenários reais, utilizando exemplos SQL que refletem seus dados.
Configuração do IntegratedML
Uma configuração de ML (“ML Configuration”) define o provedor de machine learning que executará o treinamento, além de outras informações necessárias.
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.
.png)
Variáveis de host são um recurso de programação bastante comum em muitas implementações de SQL.
Uma pergunta recente no DC me alertou para o fato de que, no IRIS, Caché, Ensemble, ... variáveis de host existem apenas dentro do SQL incorporado:
> Você pode fornecer variáveis de host apenas para consultas SQL incorporadas. <
Exemplos relacionados estão incluídos na documentação disponível.
Esta é uma descrição de uma solução alternativa caso você não use/não possa usar SQL incorporado.
.png)
Olá Comunidade,
Neste artigo, apresentarei meu aplicativo iris-image-vector-search.
A demonstração de recuperação de vetores de imagem usa IRIS Embedded Python e o modelo OpenAI CLIP para converter imagens em dados vetoriais de 512 dimensões. Através do novo recurso de Busca Vetorial, VECTOR-COSINE é usado para calcular a similaridade e exibir imagens de alta similaridade.
Direção de aplicação da recuperação de imagens
A recuperação de imagens tem importantes cenários de aplicação na área médica, e seu uso pode melhorar muito a eficiência do trabalho.
Enquanto trabalhava para obter suporte JSON para algumas bibliotecas Python, descobri alguns recursos fornecidos pelo IRIS.
- JSON_OBJECT - Uma função de conversão que retorna dados como um objeto JSON.
- JSON_ARRAY - Uma função de conversão que retorna dados como um array JSON.
- IS JSON -Determina se um valor de dados está no formato JSON.
- JSON_TABLE Retorna uma tabela que pode ser usada em uma consulta SQL mapeando JSON.
- JSONPath é uma linguagem de consulta para consultar valores em JSON.
Olá Comunidade,
Aproveite o novo vídeo do InterSystems Developers YouTube:
HealthShare Patient Index – Virtual 19-21 de Fevereiro, 2025 9:00am-5:00pm US-Eastern Time (EST)
- Configure, ajuste e trabalhe com o HealthShare Patient Index, um Enterprise Master Patient Index.
- Este curso de 3 dias ensina a instalação, configuração e uso do HealthShare® Patient Index.
- O primeiro dia se concentra em problemas de identificação do paciente e nas ferramentas que podem ser usadas para revisar registros identificados pelo sistema para atenção humana.
- Esta sessão é apropriada para equipes técnicas e administrativas que gerenciam problemas de identificação do paciente.
As primeiras prévias para desenvolvedores da plataforma de dados InterSystems IRIS® data platform,InterSystems IRIS® for Health, e HealthShare® Health Connect 2025.1 foram publicadas no site de prévia para desenvolvedores do WRC. Os contêineres podem ser encontrados em nosso registro de contêineres e são marcados como última prévia.
Essas prévias de desenvolvedor incluem o recurso para migrar para o compilador IBM "Open XL C/C++ for AIX" 17.x, garantindo compatibilidade com futuras compilações do AIX conforme compiladores mais antigos se aproximam do fim do suporte.
As últimas versões de manutenção estendida do InterSystems IRIS, InterSystems IRIS for Health, and HealthShare Health Connect já estão disponíveis.
✅ 2024.1.3
Versão 2024.1.3 fornece correções de bugs para qualquer uma das versões anteriores a 2024.1.x, incluindo a correção para o seguinte alerta emitido recentemente - Alerta: Dados inválidos introduzidos no Banco de Dados e no Journal com operações $LIST específicas
Não tenho certeza se muitos se conectam ao MS SQL para executar consultas, procedimentos armazenados, etc., mas nosso Sistema de Saúde possui muitos bancos de dados baseados em MS SQL que utilizamos no ambiente de Interoperabilidade por vários motivos.
Com a migração do ambiente local para a nuvem, enfrentamos algumas dificuldades com as conexões do SQL Gateway e como configurá-las para usar o Microsoft Entra para autenticação do Active Directory.
Existem muitos artigos na web, mas nenhum deles forneceu a resposta completa para o que precisávamos fazer, e a Microsoft não foi de grande ajuda.
Já faz um tempo que não posto sobre o Embedded Git na Comunidade de Desenvolvedores, e gostaria de fornecer uma atualização sobre a enorme quantidade de trabalho que fizemos este ano e para onde estamos indo a seguir.
Contexto
Se você estiver construindo soluções no IRIS e quiser usar o Git, isso é ótimo! Basta usar o VSCode com um repositório git local e enviar suas alterações para o servidor - é muito fácil.
Rubrica de perguntas frequentes da InterSystems
Você pode configurar o tamanho máximo do banco de dados IRISTemp na inicialização do IRIS ao definir um parâmetro de configuração chamado MaxIRISTempSizeAtStart.
Após a definição, o sistema truncará o IRISTemp para o valor definido (MB) na próxima inicialização do IRIS. Se o tamanho atual for menor que o MaxIRISTempSizeAtStart especificado, não ocorrerá nenhum truncamento. Além disso, se for especificado 0, o truncamento não será realizado, então o tamanho será inicializado sem alteração. As configurações (padrão) são realizadas no menu abaixo.
A InterSystems corrigiu um defeito que faz com que registros inválidos de banco de dados e diário sejam introduzidos ao usar uma sintaxe $LIST específica. A probabilidade de encontrar esse defeito é muito baixa, mas os impactos operacionais podem ser significativos.
Produtos Afetados
- InterSystems IRIS® data platform: Versões 2023.3, 2024.1.0, 2024.1.1, 2024.1.2, 2024.2, 2024.3
- InterSystems IRIS® for Health: Versões 2023.3, 2024.1.0, 2024.1.1, 2024.1.2, 2024.2, 2024.3
- HealthShare® Health Connect: Versões 2023.3.0, 2024.1, 2024.1.1, 2024.1.2, 2024.2, 2024.
Lançamos o IPM 0.9.0. Anteriormente comentei um pouco da história e do raciocínio aqui; para resumir, este é um grande lançamento por dois motivos: representa uma reunificação há muito esperada do nosso trabalho interno e conduzido pela comunidade em torno do gerenciamento de pacotes ObjectScript centrado no IRIS, e tem algumas incompatibilidades com versões anteriores. Há várias incompatibilidades com versões anteriores necessárias em nosso roteiro, e nós as juntamos; isso não será uma nova norma.
Internamente a nomenclatura de classe e a estrutura do pacote mudaram completamente.
No artigo anterior. Práticas de membros de classe e sua execução dentro do Python embutido. Agora voltaremos nossa atenção para o processo de alternância de espaços de nomes, acesso a variáveis globais, travessia e execução de rotinas dentro do Python embutido.
Antes de prosseguir para as outras funções. vamos revisar brevemente a função executedentro do pacote iris. Esta função é excepcionalmente benéfica para executar funções ObjectScript arbitrárias e invocação de classe.
>>> b
'aaaa'
>>> b = iris.
Olá comunidade,
Neste artigo, vou descrever e ilustrar o processo de implementação do ObjectScript dentro do Python embutido. Esta discussão também fará referência a outros artigos relacionados ao Python embutido, bem como abordará questões que foram benéficas para a minha jornada de aprendizado.
Como você sabe, a integração de recursos Python dentro do IRIS tem sido possível há algum tempo. Este artigo se concentrará em como incorporar perfeitamente o ObjectScript com o Python embutido.
Essencialmente, o Python embutido serve como uma extensão que permite a escrita e execução independentes.
🚨 Aviso de Manutenção Programada 🚨
O site da Developer Community poderá sofrer interrupções temporárias na segunda-feira, 20 de janeiro de 2025, devido a uma manutenção programada.
Pedimos desculpas por qualquer inconveniente que isso possa causar e agradecemos sua compreensão. Obrigado pela paciência enquanto trabalhamos para melhorar nossa plataforma!

Olá pessoal, tudo bem?
Estou enfrentando problemas na replicação de dados do meu Caché 2016 para um banco PostgreSQL. Preciso lidar com cerca de 300 atualizações de dados por minuto, e, sempre que determinadas tabelas sofrem alterações, essas mudanças precisam ser refletidas em outras bases de dados.
Até o momento, já tentei várias abordagens, como:
- Configurar uma API intermediária,
- Utilizar o Azure Service Bus,
- Usar Jobs do Caché,
- E todas elas têm como ponto de entrada as triggers das minhas tabelas.
Aqui está um código de exemplo para exibir JSON ou objeto dinâmico.
Ele mostra como iterar por um objeto, pegar valores de propriedades e seus caminhos.

