#InterSystems IRIS

2 Seguidores · 945 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.

Artigo Evandro Wendt · jan 2 3m read

Você provavelmente conhece essa situação:

Algum tempo atrás, você encontrou uma função $ZU muito especial para um tipo de problema bem específico. Uma espécie de fórmula mística. Ela se tornou popular e foi usada por muitos desenvolvedores em todo o seu código e em todas as suas instalações.

Depois de várias versões e atualizações, você é informado pela ISC de que seu $ZU místico está obsoleto (deprecated) e não é mais suportado. Você é aconselhado a substituí-lo por um novo $something().

Então, como encontrar e documentar o uso desse código misterioso?
Ele pode estar localizado em classes, em

0
0 28
Artigo Evandro Wendt · Dez. 31, 2025 1m read

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.

0
0 32
Artigo Evandro Wendt · Dez. 31, 2025 2m read

Há um padrão com o qual já me deparei várias vezes em que preciso usar um arquivo ou pasta temporária e que ela seja limpa em algum momento mais tarde.

O natural aqui é seguir os padrões de "Robust Error Handling and Cleanup in ObjectScript" , usando um try/catch/pseudo-finally ou um objeto registrado para gerenciar a limpeza no destrutor. %Stream.File* também tem a propriedade RemoveOnClose, que vocês podem ativar… mas usem com cuidado, pois podem acabar excluindo acidentalmente um arquivo importante. Além disso, esse indicador é redefinido ao chamar %Save(), então será necessário configurá-lo novamente como 1 depois disso.

Mas existe um caso complicado: imaginem que vocês precisam que o arquivo temporário sobreviva em um nível superior da pilha. Por exemplo:

0
0 18
Artigo Evandro Wendt · Dez. 31, 2025 1m read

Foi encorajador ver mais pessoas criando extensões do VS Code para o concurso recente. No entanto, notei que, das três extensões que exigem credenciais para realizar suas conexões, apenas a de @John Murray, gj :: dataLoader, aproveita a extensão InterSystems Server Manager
, amplamente estabelecida e oficialmente suportada, para obter as definições de conexão e gerenciar as credenciais de forma segura.

0
0 30
Artigo Evandro Wendt · Dez. 30, 2025 4m read

Se você olhar o arquivo values.yaml do Helm chart do IKO, você encontrará:

useIrisFsGroup:false

Vamos detalhar o que isso é e em quais situações você pode querer configurá-lo como true.

FsGroup se refere ao grupo do sistema de arquivos.

Por padrão, os volumes do Kubernetes pertencem ao usuário root, mas precisamos que o IRIS seja o dono de seus arquivos (o IRIS em containers é instalado sob o usuário irisowner). Para contornar isso, utilizamos um de dois métodos:

1) initContainers

Os initContainers são executados antes dos containers da aplicação (como o IRIS) em um pod.

0
0 21
Artigo Heloisa Paiva · Dez. 27, 2025 2m read

Você envia uma requisição HTTP e recebe de volta um erro HTTP, mas com uma página de erro HTML que você não esperava... o que está acontecendo? 🤔

Especificamente, por exemplo: talvez você tenha tentado ler um recurso FHIR (ex: /Patient/123) e recebeu uma página de erro 404, embora com outros IDs de pacientes você receba o payload do recurso normalmente — então "a página" definitivamente existe... por que você estaria recebendo uma página de erro 404? 🙄

1
0 37
Artigo Heloisa Paiva · Dez. 26, 2025 1m read

As capacidades integradas de busca vetorial do InterSystems IRIS nos permitem pesquisar dados não estruturados e semiestruturados. Os dados são convertidos em vetores (também chamados de ‘embeddings’) e, em seguida, armazenados e indexados no InterSystems IRIS para busca semântica, geração aumentada de recuperação (RAG), análise de texto, motores de recomendação e outros casos de uso.

Esta é uma demonstração simples do IRIS sendo usado como um banco de dados vetorial e de busca por similaridade no IRIS.

Pré-requisitos:

  • Python
  • InterSystems IRIS for Health – que será utilizado como o banco de
0
0 35
Artigo Heloisa Paiva · Dez. 23, 2025 3m read

Olá amigo! 😊 Como você está hoje?

Gostaria de compartilhar uma pequena parte dos meus aprendizados no meu primeiro projeto oficial: a integração de máquinas de POS/EDC com nosso sistema de faturamento. Foi um desafio empolgante onde tive experiência prática trabalhando com APIs e fornecedores.

Como uma máquina de pagamento realmente funciona?

É simples: comece iniciando/criando uma transação e, depois, recupere o status do pagamento dela.

Aqui, iniciar/criar refere-se ao método POST, e recuperar refere-se ao GET.

0
0 39
Artigo Evandro Wendt · Dez. 23, 2025 4m read

Se você quiser saber se já existe uma classe sobre um determinado tópico fazendo uma simples pergunta em linguagem natural, isso agora é possível. Baixe e execute a aplicação https://openexchange.intersystems.com/package/langchain-iris-tool para conhecer tudo sobre as classes do seu projeto em um chat.

0
0 24
Artigo Heloisa Paiva · Dez. 22, 2025 2m read

O Poder da Indexação em Tabelas de Banco de Dados

Ao trabalhar com bancos de dados, a maioria dos desenvolvedores entende o conceito de um índice e por que ele é usado: para acelerar a recuperação de dados. Mas o real impacto da indexação muitas vezes só fica claro quando comparamos cenários com e sem ela.

Você sabe o que acontece sem um índice?
Imagine uma tabela com três colunas: Name, Age, e MobileNumber.


Considere esta consulta:

Se a coluna Idade (Age) não tiver um índice, o motor do banco de dados irá:

  • Verificar se o campo da condição WHERE possui um índice.
  • Se não houver, ele fará uma
0
0 36
Artigo Evandro Wendt · Dez. 19, 2025 6m read

Neste artigo, vamos discutir todas as ferramentas de depuração incluídas noMicrosoft Visual Studio Code.

O que será abordado:

  • Breakpoints  
  • Janela de observação (Watch window)  
  • Call Stack  

Vamos começar aprendendo sobre os requisitos para depuração!

Pré-requisitos

Existem dois plugins (extensões) para depuração de ObjectScript:

O primeiro faz parte doInterSystems ObjectScript Extension Pack. O segundo éSerenji, um plugin independente que fornece um editor, gerenciador de arquivos e funcionalidades de depuração. Ambos os plugins podem ser instalados a partir da loja de plugins. Para ativar funcionalidades principais, o Serenji requer uma licença. Para este artigo, usaremos o InterSystems ObjectScript Extension Pack para reduzir a curva de aprendizado. Depois de dominar o básico, você pode considerar a compra de uma licença paga para o Serenji.
 

1
0 40
Artigo Heloisa Paiva · Dez. 17, 2025 6m read

Sumário

  1. Introdução
  2. Controle de Versão
  3. Exportando Classes
  4. Exportando Classes de BI Analytics
  5. Exportando Globals

Introdução

Neste artigo, cobriremos um início rápido para o desenvolvimento com Git na Comunidade de Desenvolvedores InterSystems e as práticas de controle de versão ao trabalhar com IRIS InterSystems. Abordaremos cenários em que precisamos exportar classes de Interoperabilidade, globals e elementos de analytics, como cubos e dashboards. Esses cenários englobam as principais práticas de controle de versão com o IRIS.

Para começar, você precisará:

  1. Registrar-se e fazer login noGit
0
0 53
Anúncio Danusa Calixto · Dez. 15, 2025

Olá, Comunidade!Com o fim de mais um ano incrível, gostaria de avisar sobre uma mudança que está por vir na extensão vscode-objectscript.Para reduzir o tamanho da extensão, simplificar a manutenção e melhorar a usabilidade, a InterSystems planeja remover algumas configurações pouco utilizadas.Nossos dados indicam que menos de 2% dos usuários alteram essas configurações em relação aos valores padrão.No entanto, antes de finalizar a remoção, gostaria de dar aos usuários dessas configurações a oportunidade de explicar por que elas não deveriam ser removidas.

0
0 37
Artigo Heloisa Paiva · Dez. 15, 2025 5m read

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,

0
0 40
Artigo Heloisa Paiva · Dez. 9, 2025 4m read

Um dos recursos mais recentes do .Net Core 10 com C# 14 são os aplicativos baseados em arquivo. Este recurso permite que você execute código C# em um arquivo .cs simples, sem a necessidade de criar uma solution, um projeto ou qualquer uma das estruturas relacionadas.

Por exemplo, você pode criar um arquivo script.cs usando o bloco de notas com o seguinte conteúdo:

Console.WriteLine(“This is a script in c#.”);

Então, na linha de comando ou no terminal, você executa o comando:

dotnet run script.cs

Há muitas informações sobre este novo recurso do .Net 10.

0
0 36
Artigo Yuri Marx · Dez. 2, 2025 2m read

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:

0
1 41
Anúncio Danusa Calixto · Nov. 28, 2025

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 que é?

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.

0
0 42
InterSystems Oficial Danusa Calixto · Nov. 26, 2025

A versão 2025.3 do InterSystems IRIS® data platform, InterSystems IRIS® for Health, e HealthShare® Health Connect já estão disponíveis para o público em geral (GA). Esta é uma versão de distribuição contínua (CD).

Destaques do Lançamento::

  • Carteira Segura: Uma nova estrutura criptografada para gerenciamento de dados sensíveis, construída sobre o banco de dados IRISSECURITY, que aprimora a segurança do sistema e o controle de acesso.
  • Observabilidade Expandida & Integrações em Nuvem: As métricas aprimoradas do OpenTelemetry, incluindo novas métricas de processo e ECP, além do arquivamento de
0
0 47
InterSystems Oficial Danusa Calixto · Nov. 26, 2025

Olá Comunidade!

Tenho o prazer de anunciar que, desde o início deste ano, publicamos muitos dos SDKs de cliente para InterSystems IRIS, InterSystems IRIS for Health e Health Connect nos repositórios externos correspondentes (Maven, NuGet, npm e PyPI). Isso oferece muitos benefícios para você, como:

  • Você pode acessar as versões mais recentes de um SDK de cliente assim que forem publicadas, independentemente do ritmo de lançamento do InterSystems IRIS.
  • Você pode integrar os SDKs como uma dependência com a ferramenta de gerenciamento de pacotes nativa dentro do seu ecossistema e gerenciar
0
0 35
Artigo Julio Esquerdo · Nov. 21, 2025 1m read

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:

  • SQL
  • Python
  • TSQL
  • MDX

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

1
1 54
Artigo Heloisa Paiva · Nov. 24, 2025 4m read

Olá!

A migração de dados costuma parecer uma simples "tarefa de mover dados de A para B" até você realmente fazê-lo. Na realidade, é um processo complexo que combina planejamento, validação, testes e precisão técnica.

Em vários projetos nos quais lidei com a migração de dados para um HIS (Sistema de Informação Hospitalar) que roda em IRIS (TrakCare), percebi que o sucesso é resultado de uma combinação de disciplina e automação.

Aqui estão alguns pontos que desejo destacar:

1. Comece com um Formato de Dados Definido.

Antes mesmo de abrir seu primeiro arquivo, certifique-se de que todos, especialmente os fornecedores de dados, entendam claramente o formato de dados exato que você espera. Definir modelos (templates) logo no início evita idas e vindas desnecessárias e retrabalho mais tarde.

Embora os formatos Excel ou CSV sejam comuns, eu pessoalmente sinto que usar um arquivo de texto delimitado por tabulação (.txt) para upload de dados é a melhor opção. É leve, consistente e evita problemas com vírgulas dentro de campos de texto.

PatID   DOB Gender  AdmDate
10001   2000-01-02  M   2025-10-01
10002   1998-01-05  F   2025-10-05
10005   1980-08-23  M   2025-10-15

Certifique-se de que os formatos de data fornecidos no arquivo estejam corretos e constantes em todo o arquivo, pois todos esses arquivos geralmente são convertidos de um arquivo Excel e um usuário básico de Excel pode cometer erros ao fornecer formatos de data incorretos. Formatos de data errados podem ser irritantes ao tentar converter para o formato $Horolog.

0
0 51
Artigo Yuri Marx · Nov. 18, 2025 12m read

As arquiteturas de dados modernas utilizam soluções de captura, transformação, movimentação e carregamento de dados em tempo real para construir data lakes, data warehouses analíticos e repositórios de big data. Isso permite a análise de dados de diversas fontes sem impactar as operações que os utilizam. Para alcançar esse objetivo, é essencial estabelecer um fluxo de dados contínuo, escalável, elástico e robusto. O método mais comum para isso é a técnica de CDC (Change Data Capture). O CDC monitora a produção de pequenos conjuntos de dados, captura esses dados automaticamente e os entrega a um ou mais destinatários, incluindo repositórios de dados analíticos. O principal benefício é a eliminação do atraso D+1 na análise, já que os dados são detectados na origem assim que são produzidos e, posteriormente, replicados para o destino.

Este artigo demonstrará as duas fontes de dados mais comuns para cenários de CDC, tanto como origem quanto como destino. Para a origem dos dados, exploraremos o CDC em bancos de dados SQL e arquivos CSV. Para o destino dos dados, utilizaremos um banco de dados colunar (um cenário típico de banco de dados analítico de alto desempenho) e um tópico do Kafka (uma abordagem padrão para transmitir dados para a nuvem e/ou para vários consumidores de dados em tempo real).

Visão Breve

Este artigo fornecerá um exemplo para o seguinte cenário de interoperabilidade:

 

0
0 56
InterSystems Oficial Danusa Calixto · Nov. 17, 2025

Visão Geral

Esta versão introduz o FHIR Server 2025.10.0, oferecendo a mais recente conformidade com os padrões e melhorias de desempenho. Também aprimora o processo de atualização do Health Connect Cloud (HCC) para maior confiabilidade e adiciona nova flexibilidade ao Network Connect por meio do suporte a listas de prefixos em configurações de VPN.


Novos Recursos e Melhorias

Categoria

Recurso / Melhoria

Detalhes

FHIR Server

Recurso do FHIR Server 2025.10.0

Apresenta a versão mais recente do InterSystems FHIR Server, com escalabilidade aprimorada, maior conformidade

0
0 30
Artigo Heloisa Paiva · Nov. 15, 2025 1m read

O ObjectScript não inclui nenhum método embutido para anexar um array dinâmico JSON a outro. Aqui está um trecho de código que uso, que é equivalente ao método concat() do JavaScript.

Chame-o com qualquer número de argumentos para concatená-los em um novo array. Se um argumento for um array dinâmico, seus elementos serão adicionados. Caso contrário, o próprio argumento será adicionado.

ClassMethod ConcatArrays(pArgs...) As %DynamicArray
{
	set outArray = ##class(%DynamicArray).%New()
	for i=1:1:pArgs {
		set arg = pArgs(i)
		if ($IsObject(arg) && arg.%IsA("%DynamicArray")) {
			set iter =
0
0 39
Artigo Edilson Eberle Carvalho · Nov. 14, 2025 5m read

Pessoal, segue Classe para validar CNPJ alfanumérico Receita Federal, que entra em vigor a partir de julho de 2026.

link: CNPJ Alfanumérico — Receita Federal

Class Utils.Br.Validador
{/// <summary>
/// Valida um CPF, CNPJ numérico ou CNPJ alfanumérico.
/// Detecta o tipo (11 ou 14 dígitos) e chama o validador apropriado.
/// Retorna 1 (true) se válido, 0 (false) se inválido.
/// </summary>
/// <param name="documento">O número do CPF ou CNPJ, com ou sem formatação.</param>
ClassMethod Validar(documento As %String) As %Boolean
{
    // 1.
0
0 55
Artigo Heloisa Paiva · Nov. 13, 2025 2m read

Rubrica de FAQ da InterSystems

Ao exportar usando o método Export() da classe %Library.Global, se o formato de exportação (quarto argumento: OutputFormat) for definido como 7, "Block format/Caché block format (%GOF)", os globais mapeados não podem ser exportados (apenas os globais no banco de dados global padrão do namespace são exportados). Para exportar globais mapeados no formato "Block format/Caché block format (%GOF)", especifique o diretório do banco de dados para o qual você deseja mapeá-los no primeiro parâmetro de %Library.Global.Export().

Um exemplo de execução é mostrado abaixo:

 set
0
0 43