Novo
Artigo Heloisa Paiva · 36 minutos atrás 5m read

Visão Geral

O Smart Patient Summary Generator é uma aplicação de demonstração baseada em IA desenvolvida para o InterSystems IRIS for Health. Ele lê dados de pacientes no padrão FHIR R4, extrai informações clínicas essenciais e gera resumos concisos direcionados a quatro papéis (roles) diferentes:

  • Médico Plantonista
  • Gestor de Cuidados
  • Paciente
  • Cuidador Familiar

Ao consolidar registros FHIR fragmentados em resumos específicos para cada papel, a aplicação ajuda profissionais de saúde a compreender rapidamente o quadro atual do paciente, mudanças recentes e riscos de acompanhamento.

0
0 1
InterSystems Developer Community is a community of 27,334 amazing developers
Somos um local onde os programadores do InterSystems IRIS aprendem e compartilham, permanecem atualizados, crescem juntos e se divertem!
Novo
Artigo Aziz Cotrim · 7 h atrás 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 4
Novo
Anúncio Danusa Calixto · 7 h atrás

Temos ótimas notícias para compartilhar! 🎉

Em 30 de Junho de 2026, Global Masters A plataforma será atualizada com uma experiência renovada e alguns recursos muito aguardados.

A melhor parte? Todo o progresso que você conquistou com tanto esforço será mantido. Seus pontos, emblemas e histórico de recompensas serão preservados, e também estamos trazendo de volta os Níveis — um dos recursos mais pedidos pela nossa comunidade. ✨

Todos os desafios ativos do Global Masters estarão disponíveis na nova plataforma, para que você possa continuar sua jornada sem perder nenhum passo.

O quê preciso fazer?

0
0 4
Novo
InterSystems Oficial Danusa Calixto · 22 h atrás

Bem-vindos a mais uma edição da Atualização de Plataformas. Alguns destaques importantes:

  • O Ubuntu 26.04 foi lançado e o suporte correspondente ao IRIS estará disponível em breve.
  • O IRIS 2026.2 encerrará o suporte para Ubuntu 22.04 e Windows 10.
  • As especificações mínimas de CPU revisadas entrarão em vigor a partir da versão 2025.3.
0
0 4
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 11
Novo
Anúncio Danusa Calixto · Jun. 15

 

Tenho o prazer de compartilhar que o FHIR Agent Studio agora está funcionando como uma demonstração ao vivo e hospedada na InterSystems Developer Cloud — sem instalação, sem configuração, basta abri-lo em um navegador.

O FHIR Agent Studio é um portal de desenvolvedores para criar, executar e inspecionar Agentes de IA para fluxos de trabalho FHIR em um único backend InterSystems IRIS for Health.

0
0 3
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 7
Novo
Anúncio Vitor Leal da Silva · Jun. 11

Olá, Comunidade! 

Se você precisa ajudar os prestadores de serviços (médicos/hospitais) a atenderem aos requisitos de documentação de uma operadora de saúde, veja como o módulo de Modelos e Regras de Documentação (DTR) da solução InterSystems Payer Services ePrior Authorization pode ajudar:

 Modelos e Regras de Documentação

Neste vídeo, você aprenderá como o DTR facilita para os prestadores o cumprimento dos requisitos de documentação das operadoras de saúde ao enviarem solicitações de autorização prévia. 

Assista à playlist completa no YouTube  (10 min)

1
0 12
Novo
Artigo Moises Kerschner · Jun. 14 12m read

O problema real

Às 16h57 de uma sexta-feira, um pedido de exame de rotina falhou.

A amostra do paciente já estava em trânsito. O laboratório de referência externo rejeitou a requisição — não conseguiu identificar o paciente de forma única. A operadora de saúde rejeitou a autorização por um motivo diferente. Nenhum dos sistemas falava a mesma linguagem, nenhum expunha mensagens de erro compatíveis, e a única camada de integração no meio simplesmente repassava as requisições.

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

Há um aumento constante na quantidade de metadados que preciso construir no fluxo de mensagens (entre BPs e DTLs) e estou interessado em um bom padrão a seguir que permita uma mistura de tipos de metadados (ex.: json, lista xml, etc.) e que seja acessível rapidamente tanto dentro de DTLs quanto de BPs.

Um exemplo disso seria adicionar diversos conjuntos de códigos localizados aos metadados durante os DTLs, que seriam usados posteriormente para enviar uma solicitação de tradução FHIR para um servidor de terminologia.

0
0 7
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 6
Novo
Artigo Aziz Cotrim · Jun. 12 3m read

Olá!

Estou tentando compilar uma classe com Embedded Python e recebo este erro:

Compilation started on 06/12/2026 11:44:17 with qualifiers 'cuk'
Compiling class User.VectorSearch
ERROR #7802: Worker job/s '749:33' unexpectedly shut down in group '#Default:(446070926892):0'.
ERROR #7812: Work queue unexpectedly removed, shutting down.
ERROR #5002: ObjectScript error: <THROW>WaitForComplete+215^%SYS.WorkQueueMgr *%Exception.StatusException ERROR #7802: Worker job/s '749:33' unexpectedly shut down in group '#Default:(446070926892):0'.
ERROR #7812: Work queue unexpectedly removed, shutting down.
Detected 3 errors during compilation in 1.020s.
0
0 9
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 Vitor Leal da Silva · Jun. 12 2m read

Para desmontar/montar um banco de dados, use os métodos Dismount() e Mount() na classe SYS.Database, disponível no namespace . 

Nota: o ID do banco de dados é o seu diretório (Directory). 

Você encontrará alguns exemplos de como desmontar/montar e verificar se um banco de dados está montado () ou não (), além de visualizar rapidamente todos os atributos de um banco de dados (via zwrite).


%SYS>set db="/opt/irisapp/data" 

%SYS>w ##class(SYS.Database).%OpenId(db).Mounted                     
1
%SYS>w ##class(SYS.Database).%OpenId(db).Dismount()
1
%SYS>w ##class(SYS.Database).%OpenId(db).Mounted   
0
%SYS>w ##class(SYS.Database).%OpenId(db).Mount()   
1
%SYS>w ##class(SYS.Database).%OpenId(db).Mounted
1
%SYS>zw ##class(SYS.Database).%OpenId(db)
+----------------- general information ---------------
|      oref value: 3
|      class name: SYS.Database
|           %%OID: $lb("/opt/irisapp/data","SYS.Database")
| reference count: 2
+----------------- attribute values ------------------
|       %Concurrency = 0  <Set>
|        BlockFormat = 2
|          BlockSize = 8192  <Set>
|             Blocks = 780288
|       BlocksPerMap = 62464
|   ClusterMountMode = 0  <Set>
|     ClusterMounted = 0  <Set>
|        CurrentMaps = 13
|          Directory = "/opt/irisapp/data/"  <Set>
|     DirectoryBlock = 3
|        EncryptedDB = 0  <Set>
|    EncryptionKeyID = ""
|          Expanding = 0
|      ExpansionSize = 0  <Set>
|               Full = 0
| GlobalJournalState = 3  <Get,Set>
|     InActiveMirror = 0
|  LastExpansionTime = "09/06/2023 20:00:01"
|            MaxSize = 0  <Set>
|MirrorActivationRequired = 0
|    MirrorDBCatchup = 0
| MirrorDBCreatedNew = 0
|       MirrorDBName = ""
|     MirrorDBPaused = 0
|   MirrorFailoverDB = 0
|      MirrorNoWrite = 0
|     MirrorObsolete = 0
|      MirrorSetName = ""
|           Mirrored = 0
|            Mounted = 1
| NewGlobalCollation = 5  <Set>
|NewGlobalGrowthBlock = 50  <Set>
|    NewGlobalIsKeep = 0  <Set>
|NewGlobalPointerBlock = 16  <Set>
|   NumberOfConfigDB = 0
|       ROReasonCode = 0
|       ROReasonText = ""
|           ReCreate = 0
|           ReadOnly = 0  <Set>
|    ReadOnlyMounted = 0
|       Reinitialize = 0
|        RequestSize = 0
|       ResourceName = "%DB_IRISAPP-DATA"
|RunCatchupDBOnCreate = 1
|                SFN = 6
|               Size = 6096  <Set>
|           Skeleton = 0
|           SparseDB = 0
+----------------------------------------------------- 
%SYS>
2
0 12
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
Novo
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
Novo
Artigo André Dienes Friedrich · Jun. 3 13m read

Um passeio de engenharia pela arquitetura do projeto IRIS-CardioFlow com código real de suas camadas de IA, FHIR e conectividade e o papel do iris-agentic-dev em um fluxo de trabalho moderno em ObjectScript.


Introdução

Monitorar o fluxo cirúrgico cardiovascular em tempo real é um problema clássico de integração em saúde: os dados chegam de fontes heterogêneas, precisam ser persistidos com semântica clínica, expostos por uma API e apresentados de uma forma sobre a qual a equipe assistencial possa agir.

0
0 13
Novo
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 10
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