Nueva publicación

Encontrar

Artículo
· 5 jun, 2025 Lectura de 3 min

IRIS Interop DevTools: Um Ponto de Partida para Transformações CCDA e FHIR no IRIS

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.

Além do ambiente de transformação IRIS XML, XPath e CCDA, o pacote Interop DevTools agora inclui:

  • Configuração para transformação FHIR-SDA
  • Configuração para transformação SDA-FHIR
  • Exibição de erros de validação FHIR
  • Carregamento de contexto necessário para transformações FHIR

A interface do painel foi atualizada para ser mais intuitiva e amigável. A execução ocorre dentro do IRIS para aproveitar o ambiente, enquanto a interface permite visualização, repetição e a capacidade de isolar modificações e módulos para testes.

As cinco utilidades disponíveis:

1. XPath Evaluator: Avalia uma expressão XPath sobre um CCD de entrada e retorna o resultado.

2. CCDA to SDA Transform: Executa um CCD de entrada através de uma transformação XSL base selecionada e exibe o resultado em SDA.

3. XSL Template Tester: Aplica um template XSL específico sobre um CCD de entrada e exibe o CCD resultante.

4. FHIR to SDA Transform: Executa a transformação padrão de FHIR para SDA em um recurso ou pacote FHIR de entrada e exibe o resultado SDA ou a resposta de erro de validação FHIR.

5. SDA to FHIR Transform: Executa a transformação padrão de SDA para FHIR em uma mensagem SDA de entrada e exibe o resultado em um pacote FHIR.

 Como começar:

1. O IRIS Interop DevTools está disponível para download no Open Exchange

2. Após instalado, a interface roda em um contêiner Docker. Siga as instruções no arquivo README para construir e iniciar o Docker (há instruções adicionais para usuários MacOS).

3. Acesse a interface em: http://localhost:4000  

Instalação local

O aplicativo foi desenvolvido para rodar no Docker com uma imagem IRIS for Health Community, mas a solução só exige um namespace Foundation e é compatível com HealthConnect, IRIS for Health ou HealthShare UCR.

1.O backend (aplicação web IRIS e APIs REST) pode ser instalado via IPM.

Pelo terminal do IRIS:

zpm "install iris-ccd-devtools"

2. A aplicação frontend pode ser instalada localmente acessando a pasta "frontend/CCD-Tools-Frontend" e executando os seguintes comandos:

  • npm install
  • npm rundev

3. Acesse a interface em:: http://localhost:4000  

Dados de exemplos

Há dados de exemplo anonimizados na pasta de testes. Também há duas coleções do Postman para testar as APIs backend. O arquivo interop-devtools-ccd-fhir.postman_collection.json contém as APIs atualizadas de FHIR-SDA.

Utilizando o  Toolset

Envie ou cole o conteúdo de um arquivo de amostra apropriado para testar cada ferramenta.

Exemplo para o testador de transformação FHIR para SDA:

 

Conte para a gente o que achou. Um conjunto de ferramentas como esse seria útil para o seu trabalho? Que recursos você gostaria de ver no futuro? Estamos animados para continuar aprimorando esse conjunto de ferramentas no nosso grupo de Inovação.

Comentarios (0)1
Inicie sesión o regístrese para continuar
Anuncio
· 5 jun, 2025

Workshop de Preparación – HL7 Interface Specialist

Video de Preparación a la Certificación "InterSystems HL7 Specialist" 

He diseñado este workshop en vídeo para ayudarte a preparar el examen de certificación InterSystems HL7 Interface Specialist. Si ya trabajas con integraciones HL7 usando tecnología InterSystems y estás pensando en certificarte, este material te servirá como guía práctica para repasar los temas clave y afrontar el examen con mayor seguridad.


Requisitos Previos

Para aprovechar estos videos al máximo, necesitas algo de experiencia previa: al menos unos 6 meses trabajando con productos de InterSystems. Si además has hecho cursos como Building and Managing HL7 Integrations o Building Basic HL7 V2 Integrations, ¡mejor que mejor! También te recomiendo practicar con las preguntas disponibles en el portal de formación oficial. Todo suma.


Contenido

Diseño de Producciones HL7
Empezamos por lo fundamental: cómo interpretar los requisitos de una interfaz, definir correctamente los namespaces, los componentes y las rutas de mensajes. También te muestro cómo trabajar con reglas de enrutamiento y esquemas personalizados.

Construcción y Configuración
Aquí te explico cómo montar y ajustar tu producción HL7: añadir componentes, configurar opciones esenciales, crear transformaciones DTL y trabajar con ACK/NACK. Incluyo trucos prácticos, por ejemplo, para desplegar cambios de forma segura.

Solución de Problemas
No puede faltar la parte de troubleshooting. Te enseño a usar herramientas como Visual Trace, Message Viewer, los logs y configuraciones de alerta. Todo lo necesario para diagnosticar y resolver errores en producción, como lo harías en un entorno real.


Examen y Certificación

El examen está disponible online a través de CertiVerse, y es tipo test. A lo largo del workshop te voy guiando por los temas que entran en el examen, con ejemplos reales, buenas prácticas y consejos que te van a venir muy bien el día de la prueba.


Espero que este workshop te sirva de impulso para dar el paso hacia la certificación. Puedes seguirlo a tu ritmo, y volver sobre los vídeos tantas veces como quieras. ¡Nos vemos dentro!
Aquí estan los vinculos:

Workshop InterSystems HL7 Interface Specialist-1

Workshop InterSystems HL7 Interface Specialist - 2

Workshop InterSystems HL7 Interface Specialist- 3

Comentarios (0)1
Inicie sesión o regístrese para continuar
Anuncio
· 5 jun, 2025

Presentamos el Bot de IA de la Comunidad de Desarrolladores

Hola desarrolladores,

Tenemos buenas noticias: la Comunidad de Desarrolladores tiene un nuevo ayudante inteligente y proactivo:

🤖 Bot de IA de la Comunidad de Desarrolladores, también conocido como @DC AI Bot 🤖

Impulsado por la misma tecnología IRIS Vector Search que el asistente de IA de la comunidad, nuestro nuevo @DC AI Bot va un paso más allá:

👉 escanea automáticamente cada nueva pregunta publicada y, si encuentra una respuesta relevante, deja una respuesta directamente en los comentarios.


Aunque el bot tiene como objetivo ofrecer respuestas útiles y oportunas, tened en cuenta que sus respuestas pueden no ser siempre completamente precisas o completas. Por eso, todas las respuestas de @DC AI Bot son revisadas por nuestro equipo de moderadores, quienes son desarrolladores con experiencia en IRIS, para garantizar la mejor calidad posible.

Así que, si acabáis de publicar una pregunta, manteneos atentos a vuestras notificaciones: ¡el Bot de IA de la Comunidad podría tener ya la respuesta que necesitáis!

Contadnos qué os parece — ¡y dad la bienvenida a nuestro nuevo ayudante, @DC AI Bot, a la Comunidad!

Comentarios (0)1
Inicie sesión o regístrese para continuar
Pregunta
· 5 jun, 2025

$Name from a parameter

Hi IRIS experts!

I have a parameter in a class that stores a global name:

Parameter GlobalName = "^AGlobal";

then I'm trying to call it as:

set gn=$name(..#GlobalName)

to use it later as:

set @gn@("index")="value"

But! I'm having syntax at set gn=$name(..#GlobalName)

What am I doing wrong?

12 comentarios
Comentarios (12)4
Inicie sesión o regístrese para continuar
Artículo
· 5 jun, 2025 Lectura de 7 min

发布使用 IRIS for Health 的 SMART on FHIR EHR

在过去的几个月里,我一直在从事 SMART on FHIR EHR Launch 的工作,使用 CSIRO 的两个开源应用程序:SMART-EHR-Launcher 和 SMART 表单应用程序来测试 IRIS for Health 的功能。这段旅程非常有趣,我非常感谢能有机会参与这项任务并探索 IRIS for Health 的更多潜力。

在 HL7 AU FHIR Connectathon 上成功演示了多个外部 SMART 应用程序的无缝启动后,我很高兴能与社区分享我的心得。我希望我的见解能帮助其他人更快地开始类似的项目。

这项任务涉及使用 SMART-EHR-Launcher 作为 EHR 来启动 SMART 表单应用程序。同时,IRIS for Health 被用作 EHR 的 FHIR 资源库,其 OAuth2 服务器被用作授权服务器。

在进入激动人心的时刻之前,让我们先仔细了解一下 SMART on FHIR 和 SMART on FHIR EHR 启动仪式。让我们问问我们的好朋友 ChatGPT 和 豆包。

什么是 SMART on FHIR?

SMART on FHIR 是一种用于开发医疗保健应用程序的平台,旨在实现医疗保健系统之间的互操作性、安全性和可扩展性。以下是其详细介绍:

  • 含义:SMART 代表可替代医疗应用程序和可重用技术(Substitutable Medical Applications, Reusable Technologies),FHIR 指快速医疗互操作性资源(Fast Healthcare Interoperability Resources),由健康级别七国际(HL7)组织开发。SMART on FHIR 就是基于 FHIR 标准的可替代医疗应用程序和可重用技术框架,它将两者的优势结合起来,为构建和部署医疗保健应用程序提供了强大而灵活的平台

什么是 SMART on FHIR EHR Launch?

SMART on FHIR EHR Launch 是一种在电子健康记录(EHR)系统中启动基于 SMART on FHIR 应用程序的流程和机制,

作用和意义

  • 实现互操作性:让不同的 EHR 系统和基于 SMART on FHIR 的应用程序能够以标准化的方式进行交互和集成,打破信息孤岛,使得医疗数据可以在不同的系统和应用之间流动,为医疗服务提供者和患者提供更全面、便捷的服务。
  • 提升医疗服务效率和质量:医护人员可以在 EHR 系统中快速启动各种专业的医疗应用程序,获取更多的临床信息和决策支持,有助于更准确地诊断和治疗患者。例如,通过启动特定的疼痛管理摘要应用程序,医护人员可以快速获取患者的疼痛相关信息,为疼痛管理提供更好的方案。
  • 增强患者参与度:患者也可能通过 EHR 系统启动一些与自身健康管理相关的应用程序,如查看自己的健康数据、预约挂号等,从而更好地参与到自己的医疗保健过程中

从 SMART App Launch 网站 (https://build.fhir.org/ig/HL7/smart-app-launch/app-launch.html) 我们可以找到 SMART App Launch 的详细信息。

现在游戏开始啦!

应用程序部署和配置
 

SMART-EHR-Launcher: 按照 GitHub repository 存储库中的步骤部署 SMART-EHR-Launcher. 确保通过将VITE_FHIR_SERVER_URL
设置为 IRIS for Health FHIR server endpoint 来配置应用程序的 .env 文件。

部署完成后,打开应用程序,点击从practitioner旁边的箭头。

接下来,点击 patient 旁边的箭头。

最后,我们可以启动 launch 按钮。

让我们仔细看看Launch Button URL: https://localhost:5173/launch?iss=https%3A%2F%2Fmyfhirserver%2Fr4&launch=xyz123

从电子病历启动 SMART 应用程序,需要两个参数 iss and launch.

  • iss 指的是 EHR 的 FHIR 端点,应用程序可使用该端点获取 EHR 的其他详细信息,包括其授权 URL。
  • Launch 指的是一个不透明标识符,用于标识此特定启动和与之相关的任何电子健康记录上下文。该参数必须在授权时通过传递一个启动参数传回 EHR。

SMART Forms: 按照 GitHub repository 的步骤来部署 SMART Forms. 确保网络服务器支持 HTTP (SSL/TLS ) 以启用安全通信,例如 https://localhost:5173

  • 更新 scope 配置: 检查 .env 文件,确保其中包含 user/Practitioner.rs. I如果缺少该文件,请将其添加到 scope 中.
  • Library 的使用:此应用程序使用 fhirclient.js 库管理 FHIR 进程上的 SMART。有关详细信息,请访问 fhirclient.js documentation.

IRIS OAuth2 配置

FHIR 上的 SMART 使用 OAuth 2.0 进行安全授权。让我们来探讨如何在 IRIS for Health 上配置 OAuth 2.0。要深入了解 IRIS 上的 OAuth 2.0,有很多出色的文章和视频可供参考。如果您感兴趣,请随时查看这篇文章和这段视频。

在本文中,我将重点关注在 IRIS 上配置 OAuth 2.0 以支持 SMART 应用启动框架。

在本例中,IRIS 是授权服务器和资源服务器。SMART 表单是客户端应用程序,它将在 IRIA OAuth2 客户端注册中注册。

IRIS OAuth2 Authorization Server 配置

点开并找到 IRIS for Health Management 管理界面 -> 系统管理 -> 安全 -> OAuth 2.0 -> Server

  • 输入 OAuth server 的描述.
  • 配置Issuer Endpoint, 允许授权服务器引用自身的端点。生成的 URL 将在稍后的客户端配置过程中使用。
  • 在公共客户端启用 PKCE(代码交换证明密钥)
  • 选择适当的Grant Types。对于 SMART App Launch,确保Authorization Code 授予类型。
  • 设置 SSL/TLS configuration 并确保选择安全的通信线路 .

 

找到并打开 Scopes 页 并添加与项目相关的scopes

找到并打开 JWT 并进行设置选项。选择默认签名算法。如果未指定客户端设置,将使用服务器端配置。
 

找到并打开 Customization tab.

  • Authentication Class:定义了登录屏幕,可以根据组织的需要进行定制。(由于这不是我的主要关注点,所以我保持原样)
  • Validate User Class: 该类验证用户的用户名和密码以及作用域和令牌信息。(同样,用户身份验证和自定义作用域验证也不是我的主要关注点,所以我没有对它们进行改动)。对于您的项目,您应该实现适当的逻辑以满足您的特定要求)

不过,为了确保令牌包含用于SMART on FHIR 的正确信息的发布,我们需要创建一个自定义验证类 (例如 MyOAuth2.Server.Validate).

这个 class 需要:

  • 扩展 %OAuth2.Server.Validate
  • 覆盖 the class method ValidateUser
  • 添加实现所需的附加声明

代码示例:


// Get the launch_id
Set launch = $get(%request.Data("launch",1))


// Using the opaque launch_id, 
// getting patient and practitioner ids according to the individual systems' implementations
<<Logic to get patient and practitioner ids>>


//  Add claims for the tokens
Do properties.SetClaimValue("profile","Practitioner/"_practitioner,"string")

Do properties.SetClaimValue("fhirUser","Practitioner/"_practitioner,"string")

Do properties.SetClaimValue("patient",patient,"string")

Set claim=##class(%OAuth2.Server.Claim).%New()

If (properties.IDTokenClaims) {

  Do properties.IDTokenClaims.SetAt(claim,"profile")

}

Do properties.ResponseProperties.SetAt(patient,"patient")

 

  • 升级 Generate Token Class to %OAuth2.Server.JWT  

IRIS OAuth2 客户端配置

找到并打开 IRIS for Health 管理界面 -> 系统管理 -> 安全 -> OAuth 2.0 -> 客户端

  • 点击 Create Server Description.
  • 在 OAuth2 Server 配置并通过 Issuer Endpoint 录入创建 form . (Open the OAuth2 Server configuration and copy the endpoint.)
  • 选择 the appropriate SSL/TLS configuration.
  • 点击 Discover and Save.
  • 所有的 endpoints 将被展示.

 

找到并打开上一个界面并点击 Client Configuration. 接下来, 我们将创建一个 public client.

 

创建一个 public client:

  • 输入 Application Name, Client Name, and Description.
  • 启用 the client
  • 选择 Client Type 类型为 "Public".
  • 选择适当的 SSL/TLS 配置.
  • 输入 Host Name.
  • 所需授权类型为 "Authorization Code"
  • 选择 “form encoded body” 为 验证类型.
  • 在 JWT Settings, 选择 Access token algorithm.
  • 点击 Dynamic Registration 并保存.
  • 生成一个 Client ID . (Note: There is no secret for a public client.)
  • 找到并打开 IRIS for Health Management Portal -> System Administration -> Security -> OAuth 2.0 -> Server.
  • 点击 Client Description 并打开一个 public client.
  • 添加 https://localhost:5173/  到 Redirect URLs.
  • 点击保存.

IRIS OAuth2 Resource Server 配置

找到并打开 to IRIS for Health Management Portal -> System Administration -> Security -> OAuth 2.0 ->Client.

和之前一样点击 Client Configuration. 这次,我们将创建一个资源服务器(客户端)

  • 输入 Application Name, Client Name, 以及 Description.
  • 启用 the client.
  • 客户端类型选择 Resource Server.
  • 选择合适的 SSL/TLS Configuration.
  • 将 Authentication Type 设置为 basic.
  • 点击 Dynamic Registration 并保存
  • 一个 Client ID 和 Client Secret 就创建好了

配置 the FHIR Server

打开并找到  IRIS for Health Management Portal: Health → Namespace → FHIR Configuration → Server Configuration.

输入 the OAuth Client Name 如下图所示,并保存更改

 

发布!

完成所有配置后,就可以单击电子病历中的启动按钮了

通用 IRIS 验证屏幕打开.

单击 “登录 ”后,将显示scopes 列表。
 

 

选择 “接受 ”授予访问权限后,会出现问卷调查页面。SMART 表单应用程序成功地从 EHR FHIR 资源库中检索并显示了患者和从业者数据。


 

感谢您阅读本指南,了解如何使用 IRIS for Health 启动 SMART on FHIR EHR。希望它能为您提供开始自己项目的知识和工具。祝您好运,并尽情探索各种可能性!

Comentarios (0)1
Inicie sesión o regístrese para continuar