Artigo Heloisa Paiva · Fev. 3 6m read

Olá Pessoal! 

Você sabia que pode implantar o InterSystems IRIS Community Edition na nuvem sem pagar por uma licença? Você pode experimentar gratuitamente, e pode até ser útil se quiser exibir aquele novo aplicativo brilhante que você criou (talvez para a competição full stack..? ) 

Neste artigo, fornecerei um passo a passo completo sobre como implantar o IRIS na Amazon Web Services (AWS), e também adicionarei um acompanhamento para a implantação no Azure. 

Agora, antes de começar o passo a passo, quero admitir que fiquei apavorado ao usar a AWS pela primeira vez porque vi memes sobre como é

0
0 17
Artigo Evandro Wendt · jan 30 2m read

Se você está começando com o InterSystems ObjectScript, certamente vai se deparar com o comando XECUTE.
E iniciantes podem se perguntar: onde e por que eu precisaria usar isso?

A documentação oficial traz uma rica coleção de trechos de código, mas nenhum caso prático.
Recentemente, encontrei um caso de uso que gostaria de compartilhar com você.

O cenário:
Quando você constrói um container do IRIS com Docker, na maioria dos casos,
você executa o script de inicialização.

iris session iris < iris.script 

Isso significa que você abre uma sessão de terminal e fornece sua entrada linha por linha a partir

1
0 20
Artigo Evandro Wendt · jan 31 3m read

Os dados estão no centro da transformação digital que está varrendo a área da saúde. Mudanças radicais exigem uma nova base capaz de lidar com as enormes demandas de dados da saúde moderna.

O tempo de chegada ao mercado é crucial à medida que você desenvolve os próximos avanços terapêuticos, insights genômicos e fluxos de trabalho clínicos inteligentes. É preciso entregá-los agora.

É por isso que ampliamos o poder da nossa plataforma de dados InterSystems IRIS para atender às características únicas das informações de saúde. O InterSystems IRIS for Health é a primeira e única plataforma de dados do mundo projetada especificamente para o desenvolvimento rápido de aplicações em saúde, capaz de gerenciar os dados mais críticos do mundo.

IRIS Health diagram

0
0 15
Artigo Evandro Wendt · jan 30 2m read

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

0
0 18
Artigo Evandro Wendt · jan 30 3m read

Ao longo do último ano, a equipe de desenvolvimento do CCR priorizou mudanças na aplicação CCR para expor melhor e incentivar as boas práticas de uso do CCR. Este artigo destacará algumas das áreas em que nos concentramos:

  • Painel de Organização
  • Alertas do Sistema
  • Higiene de Branch

Em cada uma dessas áreas, aumentamos a visibilidade de possíveis problemas no uso do CCR e fornecemos aos usuários ferramentas para abordá-los de forma proativa.

Painel de Organização

Continuamos a expandir as informações disponíveis na página de detalhes da Organização.

A visão geral é um ótimo lugar para obter

0
0 15
Artigo Evandro Wendt · jan 30 2m read

Ao longo dos últimos 9 anos, publiquei mais de 90 pacotes no OEX.
E, durante esse período, condições e ambientes mudaram.

No início, não havia

  • Docker
  • IPM/ZPM
  • Python embarcado, nem IA
  • Caché, Ensemble, CSP, ZEN, etc. eram predominantes.

Com o passar do tempo, as versões dos produtos e as linguagens externas também mudaram.
No começo, ajustar alguns poucos pacotes não era um problema
e fazia parte da qualidade do suporte oferecido aos meus “consumidores”.

Com o volume atual, não vejo como manter esse nível para todos os meus pacotes.
E, com base nas verificações de qualidade, tenho a impressão de

0
0 11
Artigo Evandro Wendt · jan 30 2m read

Se um dos seus pacotes no OEX receber uma avaliação, você será notificado pelo OEX apenas sobre o seu próprio pacote.
A nota reflete a experiência do avaliador com o estado encontrado no momento da avaliação.
É como uma espécie de “fotografia” e pode ter mudado nesse meio-tempo.
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 algum problema que eu podia corrigir.
Alguns foram aceitos e incorporados, e outros simplesmente foram ignorados.
Então, se você fez uma mudança importante e espera uma

0
0 13
Artigo Edilson Eberle Carvalho · jan 29 3m read

Pessoal, a quem interessar possa.....

Desenvolvi uma Classe utilizando o python para ler um arquivo excel e gravar o conteúdo em global. Vejam como ficou: (fiquem a vontade para melhorias ou ajustes)

Class Utils.Importador Extends %RegisteredObject
{/// Importa uma planilha Excel para a global ^ExcelData
/// Parâmetro: caminhoArquivo (Ex: "C:\Temp\dados.xlsx")
/// Exemplo de uso: Do ##class(Utils.Importador).LerExcel("C:\Temp\minha_planilha.xlsx",$username)
ClassMethod LerExcel(caminhoArquivo As %String, nomeUsuario As %String) [ Language = python ]
{
    import os
    try:
        from openpyxl

1
0 18
Artigo Heloisa Paiva · jan 25 7m read

Às vezes é mais conveniente, eficiente e seguro limitar as Buscas FHIR por "Listas" de Recursos pré-definidas.

Desde a v2025.1, suportamos vários recursos relacionados a Listas em nosso Servidor FHIR.

Vou destacar estes recursos aqui e fornecer alguns exemplos.

Em geral, você pode ver os detalhes sobre o Recurso List na documentação oficial do FHIR.

Mas aqui está uma breve descrição baseada no link acima:

O Recurso FHIR List representa uma coleção plana (opcionalmente ordenada) de registros usados para listas clínicas (ex: alergias, medicamentos, alertas, históricos) e gerenciamento de fluxo de

0
0 17
Artigo Heloisa Paiva · jan 24 1m read

Em sua Produção de Interoperabilidade, você sempre pôde ter uma Business Operation que atua como um cliente HTTP utilizando OAuth 2.0 para autenticação, mas era necessário customizar a Operation para essa metodologia de autenticação. Desde a v2024.3, que foi lançada recentemente, há uma nova capacidade, fornecendo novas configurações para lidar com isso de forma mais fácil.

Em sua Business Operation que utiliza o HTTP Outbound Adapter, você encontrará novas Configurações (Settings), sob o grupo OAuth.

Por exemplo:

  • Access Token Placement (Header | Body | Query)
  • Grant Type (Password | JWT
0
0 20
Artigo Heloisa Paiva · jan 23 2m read

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.

0
0 24
Artigo Heloisa Paiva · jan 22 1m read

O InterSystems IRIS for Health v2024.3 já está disponívelcomo Developer Preview há algum tempo, e eu gostaria de destacar o novo suporte relacionado à Busca FHIR (FHIR Search) que foi introduzido.

Foram adicionados suportes a dois Modificadores -

Estes permitirão consultas de busca mais flexíveis, sofisticadas e ricas.

E um Parâmetro de Resultado de Busca -

Isso permitirá resultados mais compactos (e potencialmente mais eficientes).

Veja também as Notas de Lançamento (Release Notes) relacionadas.

0
0 14
Artigo Heloisa Paiva · jan 21 3m read

Olá, agora gostaria de continuar com o tópico que discutimos anteriormente

Usando o Postman para testar o OAuth2.0 do repositório InterSystems FHIR - Parte 1


Pergunta 1: De onde vêm meu client_id e meu client_secret?

Resposta curta: Do Servidor de Autenticação.

Se você não possui um Servidor de Autenticação, pode configurar um da seguinte forma:

Forneça o hostname (o host deve suportar Https), pelo menos 1 tipo de concessão (escolhemos client credential aqui) e a configuração SSL/TLS

Insira os escopos (aqui inserimos user/.read e user/.write, que são baseados no suporte de escopo do servidor

0
0 20
Artigo Heloisa Paiva · jan 20 4m read

Olá a todos, sou eu novamente para compartilhar o que ando estudando recentemente.😓

Recentemente, estou estudando como configurar a autenticação OAuth2 para o repositório InterSystems FHIR. E descobri que os seguintes artigos são muito bons e fáceis de seguir.😁

SMART on FHIR EHR Launch com IRIS for Health

Construindo um Repositório FHIR + Configuração de Servidor de Autorização OAuth2/Servidor de Recursos no IRIS for Health Parte 2

Para mim, como um usuário que não possui muito conhecimento sobre OAuth2.0, acho bastante difícil entender como configurar todo o ambiente OAuth2.0 antes de saber

0
0 19
Artigo Evandro Wendt · jan 19 1m read

Aqui está um exemplo prático de como importar dados de um arquivo CSV para o Intersystems CACHÉ usando ObjectScript. Supondo que seu arquivo CSV seja simples (por exemplo, separado por vírgulas e com cabeçalhos), você pode usar %Stream.FileCharacter para lê-lo linha por linha e analisar os dados.


 

ClassMethod ImportCSV(filePath As %String) As %Status {
    Set stream = ##class(%Stream.FileCharacter).%New()
    Set sc = stream.LinkToFile(filePath)
    If 'sc Quit sc

    While 'stream.AtEnd {
        Set line = stream.ReadLine()
        Set fields = $ListFromString(line, ",")
        // Example: Save

0
0 21
Artigo Heloisa Paiva · jan 19 4m read

O InterSystems IRIS é construído sobre uma arquitetura que separa a organização lógica dos dados (namespaces) de seu local de armazenamento físico (bancos de dados). Compreender essa separação e a distinção entre Namespaces e Bancos de Dados é crucial para uma gestão de dados eficaz, segurança e, especialmente, para o compartilhamento de dados de alta performance.

Neste artigo, discutirei esses componentes fundamentais e fornecerei um guia prático sobre como aproveitar os mapeamentos de globals para compartilhar estruturas de dados nativas (globals) entre diferentes ambientes lógicos.

Bancos de

0
0 16
Artigo Evandro Wendt · jan 19 1m read

A nova versão do InterSystems Testing Manager, que lancei na semana passada, traz a incrível Test Coverage Tool do @Timothy Leavitt para o VS Code e é a minha participação no concurso Developer Tools 2025.

Aqui está uma imagem de prévia mostrando como os testes unitários do projeto IPM ainda não cobrem um recurso que aparentemente permite que um repositório IPM sobrescreva sua ordem de classificação.

Observe como a linha 88 é destacada em vermelho como um aviso para o desenvolvedor.

Uma decoração no estilo “indicador de bateria” na visualização do Explorer do VS Code aparece em âmbar porque os

0
0 19
Artigo Evandro Wendt · jan 16 2m read

🔥 Curioso sobre o padrão FHIR de que todo mundo está falando?

📚 Leia para uma breve introdução e, em seguida, experimente um novo caminho de aprendizado para adquirir conhecimento mais aprofundado!

  

O padrão HL7® FHIR® revolucionou a forma como os desenvolvedores da área de saúde enfrentam os desafios da interoperabilidade de dados. O FHIR permite que sistemas de saúde troquem informações de forma fluida, e os dados dos pacientes podem ser consolidados em tempo real, independentemente de onde estejam armazenados.

O FHIR é uma API REST que pode lidar com dados narrativos e codificados, e

0
0 26
Artigo Evandro Wendt · jan 16 3m read

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.

  • Acesso direto a global: o mais rápido para operações de leitura/gravação em massa. Por exemplo, se eu precisar percorrer índices e buscar dados de pacientes, posso percorrer as globais para processar milhões de registros. Isso economiza muito tempo.
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)),!
  • Usando SQL: Útil para relatórios ou necessidades analíticas, embora seja mais lento para conjuntos de dados muito grandes.
0
0 18
Artigo Evandro Wendt · jan 16 5m read

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,

0
0 25
Artigo Evandro Wendt · jan 16 2m read

Meu problema era separar mensagens HL7 por tipo de mensagem. Eu precisava criar várias Operações de Arquivo. Com código personalizado, consegui usar 1 adaptador de arquivo para 1 interface e vários tipos de mensagem. Cheguei a experimentar extrair o MSH-4 do conteúdo bruto para acessar informações dinâmicas adicionais, mas isso pode trazer a necessidade de verificações de erro mais robustas e/ou ações padrão de consulta.

Seguindo a convenção de nomenclatura recomendada de "To_FILE_<IntegrationName>"

Eu decidi usar um nome e um caminho de arquivo genéricos nas configurações padrão.

Criei uma

0
0 18
Artigo Evandro Wendt · jan 16 3m read

Em um projeto em que estou trabalhando, precisamos armazenar alguns XMLs arbitrários no banco de dados. Esse XML não tem nenhuma classe correspondente no IRIS; precisamos apenas armazená-lo como uma string (ele é relativamente pequeno e cabe em uma string).
Como existem MUITOS (milhões!) de registros no banco de dados, decidi reduzir o tamanho o máximo possível sem usar compressão. Sei que parte do XML a ser armazenado está indentada, parte não, isso varia.

Para reduzir o tamanho, decidi minificar o XML, mas como minificar um documento XML no IRIS?
Pesquisei em todas as classes e utilitários e

0
0 15
Artigo Evandro Wendt · jan 16 2m read

Se um dos seus pacotes no OEX receber uma avaliação, você será notificado pelo OEX apenas sobre o SEU próprio pacote.
A classificação reflete a experiência do avaliador com o estado encontrado no momento da avaliação.
É como um tipo de snapshot e pode ter mudado nesse meio-tempo.
Avaliações feitas por outros membros da comunidade são marcadas com * na última coluna.

Também fiz vários Pull Requests no GitHub quando encontrei algum problema que eu podia corrigir.
Alguns foram aceitos e incorporados, e outros simplesmente foram ignorados.
Portanto, se você fez uma mudança importante e espera uma

0
0 24
Artigo Evandro Wendt · jan 12 2m read

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?

Causa raiz

  • O DSN do SQL Server estava configurado para Autenticação Integrada do Windows.
  • O IRIS abre a conexão ODBC via irisdb.exe, que é executado sob a conta de logon dos serviços do IRIS no Windows.
  • Meus serviços do IRIS estavam rodando como LocalSystem, então o SQL via a conta da máquina <ORGNAME>\<ASSETID>$. O SQL não tinha
0
0 23
Artigo Evandro Wendt · jan 12 3m read

No 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.

Três Etapas para Construí-lo

1.

0
0 25
Artigo Evandro Wendt · jan 12 4m read

Quando criamos um repositório FHIR no IRIS, temos um endpoint para acessar informações, criar novos recursos, etc. Mas existem alguns recursos no FHIR que provavelmente não teremos em nosso repositório, por exemplo, o recurso Binary (esse recurso retorna um documento, como um PDF, por exemplo).

Criei um exemplo em que, quando um recurso Binary é solicitado, o endpoint FHIR retorna uma resposta como se ele existisse no repositório.

Antes de tudo, precisamos de um Namespace e de um endpoint FHIR. Depois disso, precisamos configurar uma produção de Interoperabilidade que será conectada ao endpoint

0
0 19
Artigo Heloisa Paiva · jan 12 5m read

Motivação

Eu não conhecia ObjectScript até começar meu novo emprego. Objectscript não é exatamente uma linguagem de programação jovem. Comparada a C++, Java e Python, a comunidade não é tão ativa, mas estamos empenhados em tornar este lugar mais vibrante, não estamos?

Notei que alguns dos meus colegas acham complicado entender as relações de classes nesses projetos enormes. Não existe nenhuma ferramenta moderna de diagrama de classes fácil de usar para ObjectScript.

Trabalhos Relacionados

Eu testei trabalhos relevantes:

- InterSystems class view: 1.

0
0 22
Artigo Evandro Wendt · jan 11 2m read

Um aplicativo que converte mensagens HL7 em objetos JSON. Há cerca de um ano, comecei um repositório no GitHub para coletar materiais relacionados a HL7. Recentemente, minha equipe adicionou uma interface HL7 à nossa Produção de Interoperabilidade e fomos solicitados a persistir as mensagens HL7. Criamos um tópico Kafka para receber as mensagens HL7. Usamos Kafka Bridges para enviar mensagens para os tópicos Kafka. As mensagens Kafka são enviadas para o Kafka Bridge em formato JSON.

Pensei em como transformar mensagens HL7 em JSON.

0
0 24
Artigo Evandro Wendt · jan 11 1m read

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:

  • Código exportado
  • Mensagem ORM de exemplo
  • Documento "Como configurar"

 demo_hl7tosqlproduction.zip

0
0 25