查找

公告
· 9 hr 前

[Vídeo] Avanzando en la interoperabilidad sanitaria: estrategia y visión

Hola, comunidad,

Disfrutad del nuevo vídeo en el YouTube de InterSystems Developers:

⏯ Avanzando en la interoperabilidad sanitaria: estrategia y visión @ Ready 2025

Acompañadnos en un análisis detallado de la estrategia de interoperabilidad sanitaria de InterSystems y su impacto en el intercambio de datos de salud. Descubrid las últimas innovaciones en FHIR, HL7v2, CDA y la interoperabilidad basada en API en Health Connect e InterSystems IRIS for Health. Explorad nuestra hoja de ruta, incluidas las estrategias de FHIR, las transformaciones impulsadas por IA y las soluciones de próxima generación.

🗣 Ponente: @Daniel Franco, Senior Manager, Healthcare Data Platform en InterSystems

¿Buscáis ideas nuevas? ¡Ved el vídeo y suscribíos!

讨论 (0)1
登录或注册以继续
讨论 (0)1
登录或注册以继续
文章
· 11 hr 前 阅读大约需 3 分钟

Cómo encontrar un texto específico en ObjectScript

Probablemente os suene esta situación:

Hace tiempo encontraste una función muy especial, $ZU, para un tipo de problema muy concreto. Como una especie de fórmula mística. Esta se popularizó y muchos desarrolladores la utilizaron en su código.

Tras varias versiones y actualizaciones, ISC informa de que vuestro mágico $ZU está obsoleto y ya no es soportado. Se os recomienda reemplazarlo por un nuevo $loquesea().

Entonces, ¿cómo podrías localizar y documentar el uso de este mágico $ZU? Puede estar en clases, en código MAC, INT o INC o incluso distribuido en múltiples namespaces.

Me he encontrado con esta situación más de una vez en diferentes instalaciones.
En aquel momento, el control de versiones no estaba disponible y, cuando finalmente se introdujo, apenas se utilizaba.

Dado que ObjectScript era la única opción posible para abordar este desafío, escribí mi propia utilidad.
Mi solución ha ido evolucionando a lo largo de los años y, cuando se planificó la migración a IRIS, comprobé de nuevo lo útil que seguía siendo.
Y, como estaba escrita en puro ObjectScript, funcionó en IRIS sin que fuera necesario cambiar ni un solo carácter.
Como sabréis, el problema de buscar un texto específico en ObjectScript no ha cambiado.

Mis objetivos personales para esta utilidad eran:

  • Solo ObjectScript
  • Sin construcciones sofisticadas, milagrosas o frágiles
  • Usar la menor cantidad posible de funciones $avanzadas
  • Priorizar la legibilidad sobre la elegancia para facilitar el mantenimiento futuro
  • Mostrar el número de ocurrencias contadas por namespace y por elemento de código
  • Para clases, distinguir también entre:
    • parámetros
    • propiedades (si son calculadas)
    • métodos
    • índices
  • Opción para mostrar la línea que contiene la ocurrencia
  • Sin preocuparse por el formato de salida:
    • cualquier programa de terminal puede escribir un registro
    • bash tiene STDOUT para ello

Esta utilidad está, por tanto, disponible para vosotros en Open Exchange y GitHub.
También he creado un vídeo para mostrar la herramienta en acción.
Además, está disponible en el Demo Server.

Simplemente ejecutadla desde el terminal:
user>DO ^rcc.find

A continuación se os harán unas cuantas preguntas:

  • ¿Qué texto estás buscando?
  • ¿Verbose?
    • ¿Queréis ver la línea completa que contenga vuestro texto?
    • Advertencia: esto puede generar un listado muy grande.
    • En una prueba reciente se encontraron más de 90.000 coincidencias.
    • Con verbose=1, obtendréis más de 90.000 líneas.
  • ¿Solo mayúsculas?
    • Esto soluciona el problema de funciones escritas en mayúsculas, minúsculas o mezcladas.
    • “Uppercase=1” asegura que no os perdáis ninguna ocurrencia.
  • ¿Qué tipo de código queréis escanear? (CLS, MAC, INT, INC, ALL)
  • ¿En qué namespace queréis buscar?
    • Un namespace específico de la lista o ALL.
    • Para ALL, obtendréis una lista condensada de namespaces y tipos (no visible en el vídeo).

Selecciona el namespace e inicia el escaneo.
¡Vamos a ello!

USER> do ^rcc.find
----------------

enter search string [$ZU] <blank> to exit: RCC
          Verbose? (0,1) [0]:
          Force UpperCase? (1,0) [1]:

enter code type (CLS,MAC,INT,INC,ALL) [ALL]: CLS

select namespace (ALL,%SYS,DOCBOOK,ENSDEMO,ENSEMBLE,SAMPLES,USER) [USER]:

** Scan Namespace: USER **

** CLS **
** 2      User.ConLoad
** 15     User.Main
** 3      csp.form
** 3      csp.winner
** 2      dc.rcc.Contest
** 37     dc.rcc.Main
** 1      dc.rcc.Prize
** 63 CLS **
----------------

Espero que hayáis disfrutado de mi historia.
He intentado evitar listados de código aburridos; para eso están Open Exchange y GitHub.

讨论 (0)1
登录或注册以继续
文章
· 14 hr 前 阅读大约需 7 分钟

FHIRInsightで血液検査を理解する:FHIRをわかりやすく

image

血液検査の結果を見て、何が書いてあるのか全然わからないあの感じ、分かるかと思います。 その問題を解決してくれるのがFHIRInsightです。 そもそも医療データは怖いものや分かりにくいものではなく、誰もが活用できるものであるべきだ、という考えから始まりました。 血液検査は健康チェックではとても一般的ですが、正直なところ、理解するのは多くの人にとって難しく、臨床検査を専門としない医療スタッフにとっても難しいことがあります。 FHIRInsightは、血液検査のプロセスをもっと分かりやすくし、情報をより活用しやすくすることを目指しています。

讨论 (0)0
登录或注册以继续
文章
· 15 hr 前 阅读大约需 4 分钟

ミラー環境でECPを行う場合の設定方法と注意点

これは InterSystems FAQ サイトの記事です。

こちらのトピックでは、ミラー環境でECPを行う場合の設定方法注意すべき点について、ご案内します。

【設定方法】

手順は以下になります。


(1) 両方のフェイルオーバーメンバおよび任意の DR 非同期メンバで、ECPを有効にします

(2) ECP アプリケーションサーバ(ECPクライアント)で、ECPの設定を行います

(3) ECP アプリケーションサーバ(ECPクライアント)で、リモートデータベースの作成を行います

(4) 動作確認&リダイレクトのテストを行います


今回作成するECP構成は、ドキュメントにある以下のイメージの赤丸のインスタンスによる構成になります。

 

  A:プライマリ・
フェイルオーバーメンバ
B:バックアップ・
フェイルオーバーメンバ
C:DR非同期 ECPアプリケーションサーバ
(クライアント)
ミラー名 TESTMIRROR TESTMIRROR TESTMIRROR  
ミラーメンバ名 MACHINEA MACHINEB MACHINEC  
IPアドレス 10.0.0.244 10.0.0.151 10.0.0.60 10.0.0.134


 

(1) 両方のフェイルオーバーメンバおよび任意の DR 非同期メンバで、ECPを有効にします

A、B、Cすべてのインスタンスで、ECPを有効に設定します。

管理ポータル:
[システム管理] > [構成] > [接続性] > [ECP設定]

有効 をクリックし、ダイアログの「サービスを有効」にチェックをして保存

 


 

(2) ECP アプリケーションサーバ(イメージの青丸)で、ECPの設定を行います

ECP アプリケーション・サーバで、[システム管理] > [構成] > [接続性] > [ECP設定] ページに移動し、[データサーバ] をクリックします

 

表示されたダイアログで、以下の情報を入力して保存します。

a. [サーバ名] — プライマリ・フェイルオーバー・メンバのインスタンス名を入力します。

b. [ホスト DNS 名または IP アドレス] — プライマリ・フェイルオーバー・メンバの IP アドレスまたはホスト DNS 名を入力します。(ミラー VIP を入力しないでください。詳細は、"ミラー仮想 IP (VIP) の構成"を参照してください。)

c. [IP ポート] — [ホスト DNS 名または IP アドレス] テキスト・ボックスで指定した IP アドレスまたはホスト DNS 名を持つプライマリ・フェイルオーバー・メンバのスーパーサーバ・ポート番号を入力します。

d. [ミラー接続] — このチェック・ボックスのチェックを付けます。

 


(3) ECP アプリケーションサーバで、リモートデータベースの作成を行います

[システム管理] > [構成] > [システム構成] > [リモートデータベース] より、[新規リモートデータベース作成] を選択して [データベースウィザード] を開始します。

 


(4) 動作確認&リダイレクトのテストを行います

現在のプライマリを適切にシャットダウンすることによってリダイレクト・テストを実施し、アプリケーション・サーバが目的のミラー・メンバに接続していることを確認します


【注意点】

ECPデータサーバ上のデータベースがミラーデータベースかどうか、非ミラーデータベースの場合はジャーナルされているかどうかで、リモートデータベースの 読み取り/書き込み(Read/Wrire)マウント状態が変わります。

*データ・サーバがフェイルオーバー・メンバの場合、

ミラーリングされているデータベースは、
 読み取り/書き込みとして追加され、

ミラーリングされていないデータベースは、
 ジャーナリングされている場合は読み取り専用
 ジャーナリングされていない場合は読み取り/書き込みとして追加されます。

*(通常のECP構成をポータルから設定する場合にはECPアプリケーションサーバがDR非同期に接続するように構成するオプションはありませんが)
 ECPデータ・サーバが DR 非同期メンバの場合

すべてのデータベースが読み取り専用として追加されます。
 

※データベースの読み取り/書き込みは、ECPアプリケーションサーバで、データベースをマウントしたタイミングで決定されます

詳細は以下のドキュメントをご覧ください。
ミラーへのアプリケーション・サーバ接続の構成

讨论 (0)0
登录或注册以继续