#InterSystems IRIS

2 Seguidores · 1K 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 Aziz Cotrim · 43 minutos atrás 8m read

Introdução

Estava configurando uma Business Operation dentro de uma Production no Portal de Gerenciamento, no meu estágio. Preenchi host, porta, um caminho de arquivo e o endpoint de um serviço externo. Tudo certo, a Production subiu. O problema veio um minuto depois, quando pensei em levar aquilo para o ambiente de teste. No .NET, esse pensamento nem chega a virar pergunta: eu teria um appsettings.Test.json com os valores de teste e pronto. Fui procurar o equivalente no IRIS e não achei.

0
0 1
Novo
Artigo Aziz Cotrim · Jun. 16 5m read

Quando comecei a trabalhar com Productions no InterSystems IRIS, achei que entendia bem os papéis de cada componente. O Business Service recebe a mensagem do mundo externo. O Business Process coordena o fluxo. O Business Operation entrega o resultado. Parecia simples.

Aí veio a primeira dúvida real: se eu preciso validar uma mensagem antes de rotear, onde essa validação deve ficar? No Business Service, antes de enviar para frente? Ou no início do Business Process, que é quem vai decidir o que fazer com ela?

0
0 5
Novo
Artigo Vitor Leal da Silva · Jun. 12 4m read

Na época em que eu trabalhava como Engenheiro de Suporte ao Desenvolvedor no Worldwide Response Center (WRC) da InterSystems, ocasionalmente eu recebia casos envolvendo grandes acúmulos (backlogs) de mensagens em um ambiente de produção. 

O cliente descobria que um subconjunto das mensagens enfileiradas não era mais útil e fazia uma pergunta semelhante a esta:

Existe uma prática recomendada (best practice) consagrada para abortar em massa mensagens na fila de um componente específico que correspondam a um conjunto específico de critérios?
2
0 15
Novo
Artigo Aziz Cotrim · Jun. 15 6m read

Durante minhas primeiras semanas estudando IRIS, cheguei a um momento que mudou bastante minha forma de olhar para essa plataforma. Eu estava explorando uma classe persistente simples, daquelas que a gente cria seguindo qualquer tutorial introdutório, e decidi abrir o Management Portal para ver como os dados estavam armazenados de fato. Esperava encontrar algo parecido com uma tabela do SQL Server, com linhas e colunas bem definidas. Em vez disso, encontrei uma global.

Para quem vem do modelo relacional, como é o meu caso, isso quebra um pouco a intuição.

0
0 8
Novo
Discussão Aziz Cotrim · Jun. 12

Olá pessoal!

Suponha que uma nova versão da sua incrível solução de software construída sobre o IRIS precise de alguma mudança de persistência: alguns dados precisam ser convertidos, algumas classes recebem novas propriedades ou até são renomeadas, e alguns dados devem ser pré-populados para classes persistentes recém-introduzidas, para manter toda a base de dados da aplicação consistente.

Quais são as abordagens de vocês?

Scripts baseados em SQL? ObjectScript, ou Python? Para as duas direções da migração, up e down?

Vocês geram isso automaticamente com Claude/Codex?

0
0 8
Pergunta Vitor Leal da Silva · Maio 25

Olá a todos. 

Após tentar executar métodos Python no Docker intersystemsdc/irishealth-community, que agora não permite executar nenhum método com Python, decidi deixar essa versão e começar a trabalhar com o [containers.intersystems.com/intersystems/iris-community](https://containers.intersystems.com/intersystems/iris-community)

Neste ambiente os métodos Python funcionam, o que já foi um passo bem grande. Estou tentando importar minhas bibliotecas com pip install -r requirements.txt

3
0 26
Novo
Artigo Yuri Marx · Jun. 11 2m read

A construção e implementação bem-sucedidas de agentes de IA para atender a diversos casos de uso no setor de saúde dependem de dados e APIs de alta qualidade, governança eficaz e gerenciamento eficiente. O servidor InterSystems IRIS FHIR oferece tudo isso e também é fluente em Python, vetores e interoperabilidade. Combinado com um LLM robusto, pacientes, médicos, cuidadores e gestores obtêm acesso à tecnologia de ponta para saúde pessoal e pública.

2
0 21
Novo
Artigo Vitor Leal da Silva · Jun. 5 2m read

Se o seu código em Embedded Python chamar a biblioteca tkinter (que é utilizada por várias bibliotecas de geração de gráficos, incluindo a matplotlib), você poderá se deparar com o seguinte erro:

<THROW> *%Exception.PythonException <CLASS DOES NOT EXIST> 230 ^^0^DO ##CLASS(User.Test).Test() 
<class '_tkinter.TclError'>: Can't find a usable init.tcl in the following directories:

c:/intersystems/irispy/lib/python/lib/tcl8.6
c:/intersystems/irispy/lib/tcl8.6
c:/intersystems/lib/tcl8.6
c:/intersystems/irispy/library
c:/intersystems/library
c:/intersystems/tcl8.6.9/library
c:/tcl8.6.9/library

This probably means that Tcl wasn't installed properly.
2
0 22
Novo
Artigo Aziz Cotrim · Jun. 11 7m read

Introdução

Quando comecei a trabalhar com InterSystems IRIS no meu estágio, o primeiro obstáculo não foi o banco de dados nem a arquitetura da plataforma. Foi a linguagem em si. Olhei para o ObjectScript (COS) pela primeira vez e não consegui ler o que estava na tela. Parecia familiar o suficiente para me dar confiança, e diferente o suficiente para me confundir logo em seguida.

Venho do C# e do .NET, com foco em arquitetura em camadas, Windows Forms e SQL Server.

0
0 10
Novo
Artigo Heloisa Paiva · Jun. 10 6m read

Bem-vindo ao próximo capítulo da minha série sobre CI/CD, onde discutimos possíveis abordagens para o desenvolvimento de software com tecnologias InterSystems e GitLab. Hoje, continuamos falando sobre Interoperabilidade, especificamente sobre o monitoramento de implantações de Interoperabilidade. Se você ainda não fez isso, configure o Alerting para todas as suas produções de Interoperabilidade para receber alertas sobre erros e sobre o estado geral da produção.

Inactivity Timeout é uma configuração comum a todos os Business Hosts de Interoperabilidade.

1
0 12
Novo
Artigo Aziz Cotrim · Jun. 11 1m read

Assim como no pacote anterior, tudo roda a partir de uma página CSP. O código é todo escrito no estilo clássico de CSP, usando InterSystems ObjectScript, JavaScript e HTML.
Além do gráfico, você também obtém números concretos coletados em tempo real da sua instância local ou de instâncias remotas que também tenham o pacote instalado. 

O resultado final

As etapas do processamento

  • Uma página CSP é chamada pela sua URL
  • No método OnPreHTTP
    • A System Query preenche a tabela temporária a partir do %SYS
    • Se o parâmetro de URL correto for fornecido: 
0
0 7
Novo
Artigo Vitor Leal da Silva · Jun. 5 3m read

No artigo anterior, usamos o pyprod para criar componentes de produção enquanto dependíamos da interface de usuário (UI) para a configuração da produção. Essa mesma produção agora pode ser definida inteiramente em Python:

from intersystems_pyprod import Production, ServiceItem, ProcessItem, OperationItem

iris_package_name = "HelloWorld"

class MyProduction(Production):
    services = [
        ServiceItem(
            "MyServiceName",
            "HelloWorld.MyService",
            host_settings={"target": "MyProcessName"},
        )
    ]
    processes = [
        ProcessItem(
            "MyProcessName",
            "HelloWorld.MyProcess",
            host_settings={"target": "MyOperationName"},
        )
    ]
    operations = [
        OperationItem("MyOperationName", "HelloWorld.MyOperation")
    ]
2
0 22
Artigo Heloisa Paiva · Jun. 3 6m read

O IRIS 2026.1 trouxe as Partitioned Tables (tabelas particionadas) como uma nova opção para grandes conjuntos de dados. É uma excelente melhoria, pois padroniza esse recurso de forma nativa.

No entanto:
Já era possível atingir esse mesmo objetivo antes, atendendo aos requisitos e deixando espaço para a criatividade. Uma abordagem menos elegante, com um pouco mais de código e menos automatismos.

3
0 30
Artigo Vitor Leal da Silva · Jun. 2 1m read

Ao desenvolver produções de interoperabilidade, pode ser útil ter configurações fora de um Business Host. O motivo principal é quando você precisa que uma configuração afete vários Business Hosts diferentes e quer garantir que o valor seja o mesmo. Embora as Configurações Padrão do Sistema (System Default Settings - SDS) possam ser usadas para propagar configurações para Business Hosts, elas podem ser alteradas ao sobrescrever o valor no nível do BH (embora a vantagem das configurações de Business Host definidas via SDS seja que elas não exigem código personalizado, o que a nossa abordagem atual exige).

Outro motivo é quando você precisa afetar partes da configuração do Business Host que não são propriedades de configuração padrão (PoolSize, Enabled, etc.).

Nós adicionaremos uma configuração de ambiente (env setting) a uma produção.

0
0 11
Artigo Vitor Leal da Silva · Jun. 2 6m read

Olá,

Sou eu de novo 😁, recentemente estou trabalhando na geração de alguns dados fictícios de pacientes para fins de teste com a ajuda do Chat-GPT usando Python. E, ao mesmo tempo, gostaria de compartilhar minha curva de aprendizado. 😑

Antes de mais nada, construir um serviço de API REST personalizado é fácil estendendo a classe %CSP.REST. Criando um Serviço REST Manualmente Vamos começar! 😂

1. Crie uma classe datagen.restservice que estende %CSP.REST

ClassExtends%CSP.REST

2. Adicione uma função

0
0 15
Artigo Vitor Leal da Silva · Jun. 1 6m read

Geralmente, parece haver um uso generoso de ClassMethods no código ObjectScript. Espero que minhas próprias experiências não sejam representativas, mas aposto que são. Perdoe-me por revelar o final deste artigo, mas em resumo: não os use. A menos que você consiga apresentar um argumento bastante convincente de que precisa, simplesmente nunca os use.¹

O que é um ClassMethod? Em uma classe ObjectScript, você pode definir métodos de duas maneiras diferentes: em um Method (método de instância), você deve instanciar uma instância da classe para chamar o método; e em um ClassMethod (método de classe), você pode chamar o método sem instanciar a classe. Claro que, em um ClassMethod, você não tem acesso a nenhuma propriedade do objeto (porque não há objeto), mas pode acessar globais (afinal, elas são globais) e Parâmetros (que são constantes da classe).

0
0 11
InterSystems Oficial Danusa Calixto · Maio 29

A InterSystems tem o prazer de anunciar a disponibilidade geral de:

  • InterSystems IRIS Data Platform 2026.1.0.237.3
  • InterSystems IRIS for Health 2026.1.0.237.3
  • HealthShare Health Connect 2026.1.0.237.3

Esta versão adiciona suporte ao sistema operacional Ubuntu 26.04. O Ubuntu 26.04 inclui o kernel Linux 7.0, melhorias de segurança, além de melhorias no instalador e na interface do usuário.

No momento, estamos lançando o IRIS apenas para processadores Intel/AMD (x86_64) Observamos problemas ocasionais de rede em servidores ARM.

0
0 9
Artigo Aziz Cotrim · Maio 29 8m read

Introdução

Quando comecei meu estágio com foco em desenvolvimento usando InterSystems IRIS, uma das primeiras dificuldades que encontrei foi justamente a configuração do ambiente local. Documentações técnicas, instaladores e extensões — parecia muita coisa para ligar ao mesmo tempo.

Se você está chegando agora ao ecossistema InterSystems, possivelmente com background em outra linguagem (C#, Java, PHP, ou qualquer outra), este artigo é para você.

0
0 21
Artigo Evandro Wendt · Maio 27 3m read

Atualizado em 14/04/26

Antes de começar a desenvolver com o InterSystems IRIS, você precisa de uma instalação local ou em servidor funcionando. Este guia mostra como baixar a distribuição e instalar o IRIS no Windows de forma direta, focando nas etapas e decisões que realmente importam em um ambiente de desenvolvimento.

Vou abordar onde obter a versão apropriada, quais pré-requisitos verificar antes da instalação e como executar o instalador na sua plataforma. O objetivo é proporcionar um ambiente limpo e utilizável com o mínimo de atrito, para que você possa seguir para a escrita de código, exploração da plataforma de dados e integração com suas ferramentas existentes.

Para baixar uma versão Community, leia este artigo: How to get InterSystems IRIS Community Edition. Ele explica as diferentes formas de obter o InterSystems IRIS Community Edition, destacando opções para ambientes locais, conteinerizados e baseados em nuvem. Também mostra como usar o Docker para baixar e executar rapidamente uma instância IRIS pronta para uso. Você também pode aprender como implantar o IRIS na nuvem por meio de marketplaces como AWS para evitar uma instalação local. O mais importante aqui é que este guia mostra como baixar um kit de instalação a partir do InterSystems Evaluation Service e selecionar a versão e a plataforma corretas.

0
0 19
Artigo Evandro Wendt · Maio 26 5m read

Contexto

Por diversos motivos, os usuários podem desejar montar um volume persistente em dois ou mais pods distribuídos por múltiplas zonas de disponibilidade. Um desses casos de uso é disponibilizar dados armazenados fora do IRIS para ambos os membros do espelhamento (mirror) em caso de failover.

0
0 10
Artigo Heloisa Paiva · Maio 26 5m read

Para quem não esteve no READY na semana passada, vocês podem ter perdido o anúncio empolgante de que o Early Access Program (EAP) do AI Hub está oficialmente aberto. Ele foi anunciado durante uma demonstração incrível do @Benjamin De Boe e do @Jeff Fried. Recomendo fortemente assistir a essa demo assim que a gravação for liberada! Eu tive a oportunidade de mexer no AI Hub com antecedência e achei que seria legal compartilhar uma introdução com a comunidade.

0
0 27
Artigo Evandro Wendt · Maio 25 4m read

Durante meu trabalho com clientes, e também acompanhando discussões, frequentemente encontrei a pergunta, explícita ou implícita: o que são essas “GLOBAIS"?

Vou tentar explicar a história para contextualizar melhor o assunto.

0
0 17
Artigo Evandro Wendt · Maio 24 3m read

Bem-vindo ao próximo capítulo da minha série sobre CI/CD, onde discutimos possíveis abordagens para o desenvolvimento de software com tecnologias InterSystems e GitLab.

Hoje quero compartilhar algumas abordagens que podem reduzir o tempo de compilação (especialmente se você estiver fazendo compilação incremental/diferencial em vez de um build completo).

Flags e qualificadores do compilador

O carregamento e a compilação do código são afetados por uma variedade de flags e qualificadores.

0
0 9
Artigo Evandro Wendt · Maio 23 3m read

IRIS Audio Query é uma aplicação full-stack que transforma áudio em uma base de conhecimento pesquisável.

Estrutura do projeto

community/
├── app/                   # FastAPI backend application
├── baml_client/           # Generated BAML client code
├── baml_src/              # BAML configuration files
├── interop/               # IRIS interoperability components
├── iris/                  # IRIS class definitions
├── models/                # Data models and schemas
├── twelvelabs_client/     # TwelveLabs API client
├── ui/                    # React frontend application
├── main.py                # FastAPI application entry point
└── settings.py            # IRIS interoperability entry point
0
0 14
Artigo Heloisa Paiva · Maio 22 6m read

    Olá a todos! 👋
    Estou animado em compartilhar o projeto que enviei para o atual InterSystems .Net, Java, Python, and JavaScript Contest — ele se chama IRIStool and Data Manager, e você pode encontrá-lo no InterSystems Open Exchange e na minha página do GitHub.

0
0 25
Pergunta Aziz Cotrim · Maio 21
Atualmente, meu código Caché dispara e-mails usando Autenticação Básica. Agora a Microsoft vai encerrar a Autenticação SMTP Básica. Nesse caso, qual é a melhor abordagem para disparar um alerta de e-mail a partir do banco de dados? Parece que o OAuth 2.0 é a melhor opção. Alguém tem algum exemplo usando o Azure Entra ID?
0
0 17