1 Seguidor · 60 Postagens

JSON (JavaScript Object Notation) é um formato de intercâmbio de dados leve. É fácil para humanos ler e escrever.

Novo
Artigo Evandro Wendt · Mar. 31 1m read

Introdução

FHIR (Fast Healthcare Interoperability Resources) é o padrão moderno para armazenar e trocar dados clínicos. Mas, depois que seus dados estão em um servidor FHIR, como você realmente os explora? Os dados FHIR são armazenados em JSON — poderoso, mas não prático para leitura direta. Eu queria uma ferramenta onde você pudesse clicar em um paciente, ver suas condições, medicamentos, resultados laboratoriais e muito mais — em um formato limpo e legível. Então, eu criei o FHIR Patient Viewer.

0
0 2
Novo
Artigo Evandro Wendt · Mar. 21 3m read

Introdução

O InterSystems IRIS permite criar APIs REST usando classes ObjectScript e o framework %CSP.REST. Isso possibilita o desenvolvimento de serviços modernos para expor dados para aplicações web, aplicativos móveis ou integrações de sistemas.

Neste artigo, você aprenderá como criar uma API REST básica no InterSystems IRIS, incluindo:

  • Uma classe de dados persistente
  • Uma classe REST com métodos GETe POST 
  • Uma aplicação web para expor a API
  • Uma demonstração completa usando Docker

Passo 1: Criar a classe de dados Demo.Producto

Class Demo.Producto Extends (%Persistent, %JSON.
0
0 9
Novo
Artigo Bruno Santos · Mar. 19 8m read

O problema

Quantas vezes migramos uma instância do IRIS para outra máquina, talvez até para outra versão, e depois de alguns dias percebemos que esquecemos aquela configuração de SSL essencial para que um Business Operation funcione? Ou talvez uma credencial, ou até uma classe solitária em um pacote isolado?

A solução

A solução simples é fazer um checklist¹. Um checklist das entidades que precisamos mover. Porém, checklists simples em documentos do Word muitas vezes são esquecidos ou simplesmente ignorados.

0
1 19
Artigo Evandro Wendt · Mar. 6 2m read

iris-budget

Eu criei o aplicativo iris-budget para o InterSystems Full Stack Contest em 2026. Por full stack, queremos dizer uma aplicação web ou móvel de frontend que insere, atualiza ou exclui dados no InterSystems IRIS via REST API, Native API, ODBC/JDBC ou Embedded Python.

Meu aplicativo usa múltiplas REST APIs para adicionar uma nova categoria ou recuperar uma lista de categorias de despesas e receitas.

Primeira aplicação web /csp/coffee

Eu herdei /csp/coffee do module.xml no iris-fullstack-template.

Sergunda aplicação web /csp/budget

Para este projeto, criei um arquivo Swagger chamado "budget.

0
0 14
Artigo Heloisa Paiva · Mar. 2 2m read

Inspirado pela postagem de @Ashok Kumar T no portal de ideias aqui, bem como pelos meus próprios desejos de uma solução para este problema, criei uma maneira simples de permitir consultas JSON mais completas e consistentes sem ter que especificar cada campo desejado. Desenvolvi uma classe que estende a classe integrada %JSON.Adaptor e torna seus métodos %JSONExportToString e %JSONExportToStream acessíveis através de SQL com apenas alguns métodos SqlProc simples.

Class DH.JSONAdaptor Extends %JSON.Adaptor [ Abstract ]
{
ClassMethod jsonstring(id, map = "") [ SqlProc ]
{
	try{
		set myobj = .
0
0 18
Artigo Heloisa Paiva · Fev. 17 3m read

O que são parâmetros variádicos?

O ObjectScript permite definir métodos que aceitam um número variável de argumentos usando a sintaxe `args...`. Em vez de fixar quantos parâmetros um método recebe, você deixa que quem chama decida quantos enviar.

Eles podem ser invocados de duas formas:

1. Com argumentos individuais: `metodo(val1, val2, val3)`

2. Expandindo um array: `metodo(args...)`

Crie seus próprios métodos variádicos

Você pode definir um método com um parâmetro fixo e um número variável de extras:

ClassMethod MiMetodo(fijo As %String
0
0 14
Artigo Heloisa Paiva · Fev. 4 5m read

Quantas vezes você teve que receber ou gerar um JSON e desejou poder trabalhar nele usando DTLs sem ter que lidar com DynamicObjects tentando lembrar o nome de cada campo? Você quer dividir e tornar seu arquivo JSON gigante mais digerível?

No meu caso, nunca, mas pensei que alguém poderia achar útil ter um recurso que captura seu JSON e o divide em uma série de classes ObjectScript com as quais você pode trabalhar de forma mais fácil e conveniente.

Pois bem... contemplem o JSON2Class em toda a sua glória!

1
0 34
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=+H
Set FromDate=+$H-1 For  Set FromDate=$O(^PatientD("Date",FromDate)) Quit:FromDate>ToDate  Do
. Set PatId="" For  Set 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 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 27
Artigo Evandro Wendt · jan 10 2m read

Eu gostaria de compartilhar com você um pequeno truque para personalizar como as mensagens são exibidas no Message Viewer. Em particular, como você pode exibir as mensagens em JSON (em vez da representação padrão em XML).

image

Mensagens são objetos usados para comunicar componentes de produções de interoperabilidade. No meu exemplo, eu defini uma mensagem que mais tarde eu serializo como JSON para enviar a uma API externa. Essa mensagem é definida como uma mensagem regular e também como um %JSON.Adaptor, para que eu possa exportar/importar diretamente para ou a partir de JSON.

Class interop.msg.
0
0 28
Artigo Evandro Wendt · jan 10 5m read

Olá a todos,

Sou eu de novo 😁. No artigo anterior, Writing a REST api service for exporting the generated FHIR bundle in JSON, nós geramos um recurso DocumentReference, com o conteúdo codificados em Base64.

Question!! Is it possible to write a REST service for decoding it? Because I am very curious what is the message data talking about🤔🤔🤔

Duvida!! É possível escrever um serviço REST para decodificar isso? Porque estou muito curioso para saber o conteúdo da mensagem 🤔🤔🤔

OK, Vamos começar!

1. Crie uma nova classe utilitária datagen.utli.

0
0 39
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 48
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.
0
0 42
Artigo Yuri Marx · Out. 9, 2025 4m read

A linguagem ObjectScript possui um suporte incrível a JSON por meio de classes como %DynamicObject e %JSON.Adaptor. Esse suporte se deve à imensa popularidade do formato JSON em relação ao domínio anterior do XML. O JSON trouxe menos verbosidade à representação de dados e aumentou a legibilidade para humanos que precisavam interpretar conteúdo JSON. Para reduzir ainda mais a verbosidade e aumentar a legibilidade, o formato YAML foi criado.

0
0 40
Artigo Heloisa Paiva · Ago. 25, 2025 3m read

Ao começar a usar o InterSystems IRIS ou Cache, os desenvolvedores frequentemente se deparam com três conceitos principais: Objetos Dinâmicos, Globals e Tabela Relacional. Cada um tem seu papel na construção de soluções escaláveis e fáceis de manter. Neste artigo, vamos percorrer exemplos de código práticos, destacar as melhores práticas e mostrar como esses conceitos se conectam.

1. Trabalhando com Objetos Dinâmicos

Objetos dinâmicos (%DynamicObject e %DynamicArray) permitem que os desenvolvedores manipulem estruturas semelhantes a JSON diretamente no ObjectScript.

0
0 67
Artigo Larissa Prussak · Jun. 30, 2025 3m read

Olá, desenvolvedores!

Observando a avalanche de ferramentas para desenvolvedores movidas por IA e baseadas em vibe-coding que vêm surgindo quase todo mês, com recursos cada vez mais interessantes, eu fiquei me perguntando se seria possível aproveitá-las com o InterSystems IRIS. Pelo menos para construir um frontend. E a resposta é: sim! Pelo menos com a abordagem que eu segui.

Aqui está minha receita para construir a interface via prompting conectada ao backend IRIS:

  1. Tenha uma REST API no lado do IRIS, que siga uma especificação Open API (swagger).
  2. Gere a interface com alguma ferramenta de vibe-coding (por exemplo, Lovable) e aponte essa interface para o endpoint da REST API.
  3. Pronto!

Aqui está o resultado do meu próprio exercício — uma interface 100% criada via prompt conectada a uma REST API IRIS, que permite listar, criar, atualizar e excluir registros de uma classe persistente (Open Exchange, código do frontend, vídeo):

Qual é a receita em detalhes?

0
0 52
Artigo Julio Esquerdo · Jun. 7, 2025 18m read

Olá,

Neste artigo vamos ver o uso do python como linguagem de programação no InterSystems Iris. Para tal vamos usar como referência a versão Community 2025.1 que está disponível para ser baixada em https://download.intersystems.com mediante o login no ambiente. Para maiores informações sobre o download e instalação do Iris veja o link da comunidade https://community.intersystems.com/post/how-download-and-install-intersystems-iris

Uma vez instalado o íris agora precisamos ter o python disponível no nosso ambiente. Temos vários tutoriais explicando a instalação e configuração do python no Iris.

0
0 70
Artigo Larissa Prussak · Jun. 5, 2025 5m read

Por muito tempo, eu quis aprender o framework Django, mas sempre surgia algum projeto mais urgente que acabava tomando prioridade. Como muitos desenvolvedores, eu uso Python para projetos de machine learning, mas quando comecei a aprender programação para web, o PHP ainda dominava. Então, quando precisei escolher um framework mais robusto para criar aplicações web e publicar meu trabalho de machine learning, acabei voltando para o PHP.

0
0 68
Artigo Larissa Prussak · Jun. 5, 2025 3m read

O IRIS oferece suporte nativo para transformações CCDA e FHIR, mas o acesso e a visualização desses recursos exigem tempo considerável de configuração e conhecimento do produto. O aplicativo IRIS Interop DevTools foi desenvolvido para preencher essa lacuna, permitindo que implementadores comecem a utilizar e visualizar imediatamente as capacidades de transformação embutidas no produto.

0
0 62
InterSystems Oficial Danusa Calixto · Abr. 3, 2025

Resumo de Alertas






Alerta ID Produto & Versões Afectadas Requisitos Explícitos
DP-439207  InterSystems IRIS® data platform 2024.3 (AIX) Instalações AIX Usando JSON e conjuntos de Caracteres Unicode non-Latin-1 
DP-439280  InterSystems IRIS 2024.3 (containers com IntegratedML)  IntegratedML Containers usando TensorFlow

Detalhes dos Alertas

DP-439207 - Problemas no Parser JSON Unicode em AIX

Um bug foi identificado no InterSystems IRIS 2024.3.0 em instâncias do AIX que afeta a análise de strings JSON Unicode.

0
0 54