#相互運用性

0 フォロワー · 96 投稿

ヘルスケアでは、相互運用性とは、さまざまな情報技術システムとソフトウェアアプリケーションが通信し、データを交換し、交換された情報を使用する能力です。

記事 Toshihiko Minamoto · 9月 28, 2023 22m read

コミュニティの皆さん、こんにちは。

私が作成した OpenAPI-Suite という最新のパッケージをご紹介します。これは、OpenAPI 仕様バージョン 3.0 から ObjectScript コードを生成するツールセットです。  簡単に言うと、これらのパッケージでは以下を行うことができます。

  • サーバーサイドクラスの生成。  ^%REST による生成コードに非常に似ていますが、バージョン 3.0 がサポートされていることに付加価値があります。
  • HTTP クライアントクラスの生成。
  • クライアントプロダクション(ビジネスサービス、ビジネスオペレーション、ビジネスプロセス、Ens.Request、Ens.Response)クラスの生成。
  • コードの生成とダウンロードまたはサーバーでの直接コンパイルを行う Web インターフェース。
  • バージョン 1.x からバージョン 3.0 への仕様の変換。
  • 0
    0 148
    記事 Toshihiko Minamoto · 8月 7, 2023 7m read

    この記事では、.Net/Java ゲートウェイを簡単にコンテナ化する方法を説明します。

    この例では、Apache Kafka との統合を開発します。

    Java/.Net と相互運用するために、PEX を使用しています。

    アーキテクチャ

    このソリューションは完全に docker で実行し、以下のように構成されます。

    Java ゲートウェイ

    まず、メッセージを Kafka に送信する Java オペレーションを開発しましょう。 このコードはお好きな IDE で書くことができ、こちらのようになります。

    要約すると:

    • 新しい PEX ビジネスオペレーションを開発するには、抽象型の com.intersystems.enslib.pex.BusinessOperation クラスを実装する必要があります。
    • public プロパティはビジネスホスト設定です。
    • OnInit メソッドは Kafka への接続を初期化し、InterSystems IRIS へのポインターを取得するために使用されます。
    • OnTearDown は、(プロセスのシャットダウン時に)Kafka から切断するために使用されます。
    • OnMessagedc.KafkaRequest メッセージを受け取って、Kafka に送信します。

    では、これを Docker にパックしましょう!

    これがこの例の dockerfile です。

    0
    0 206
    記事 Toshihiko Minamoto · 7月 13, 2023 5m read

    開発者の皆さん、こんにちは!

    ご存知のように、InterSystems IRIS インターオペラビリティソリューションには、プロダクション、ビジネスルール、ビジネスプロセス、データ変換、レコードマッパーなどの様々なエレメントが含まれています。 また、UI ツールを使用してこれらの要素を作成し、変更することもあります。  もちろん、UI ツールで行った変更をソース管理する便利で堅牢な方法も必要です。

    長い間、これは手動(クラス、エレメント、グローバルなどのエクスポート)か面倒な設定作業手順によって行われてきました。そのため、ソース管理 UI の自動化で節約された時間は、設定のセットアップとメンテナンスの時間で相殺されていました。

    現在では、この問題はなくなりました。 パッケージファースト開発と @Timothy Leavittgit-source-control という IPM パッケージの使用という 2 つのアプローチによる結果です。

    詳細は以下のとおりです!

    0
    0 263
    記事 Mihoko Iijima · 6月 13, 2023 1m read

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

    注意:本番環境では実行しないでください。テスト環境でご利用ください。

    開発時にプロダクションに残っているキューを一括でクリアしたり、プロダクションに関連した一次的な情報をすべて消去したい場合、以下メソッドを利用して実行中のプロダクション情報をリセットできます。

    set$namespace="プロダクションのあるネームスペース名指定"do##class(Ens.Director).CleanProduction()

    ドキュメント:ネームスペースでのプロダクションのリセット

    プロダクション全体ではなく、一部コンポーネントの実行中データをリセットする場合は、アダプタの ClearAllAppData() を使用します。
    引数にはプロダクションに登録している構成名を指定してください。

    例)SQLインバウンドアダプタが保持している永続値をリセットする

    do##class(EnsLib.SQL.InboundAdapter).ClearAllAppData("構成名称")

    ドキュメント:受信アダプタで以前に処理された行のリセット

    例)FTPインバウンドアダプタが処理したファイルの情報をリセットする

    do##class(EnsLib.FTP.InboundAdapter).ClearAllAppData("構成名称")
    0
    0 145
    記事 Mihoko Iijima · 6月 2, 2023 6m read

    開発者の皆さん、こんにちは!

    この記事では、ワークフローコンポーネントを使ってみよう!~使用手順解説~ でご紹介したユーザ操作画面(ユーザポータル)を任意のWebアプリに変更する際に便利な REST API の使用方法をご紹介します。

    ワークフロー用 REST APIですが、開発者コミュニティのサンプル公開ページ:Open Exchange に公開されているAPIでどなたでも自由にご利用いただけます。

    Open Exchangeの検索ボックスに「Workflow rest」と入力すると出てきます。EnsembleWorkflow が対象のサンプルです。

    ちなみに、2023年6月2日時点で724のアプリケーションが公開されているようです👀

    0
    0 408
    記事 Mihoko Iijima · 6月 1, 2023 21m read

    開発者の皆さん、こんにちは!

    この記事では、システム連携の自動的な流れの中にユーザからの指示を介入できる「ワークフローコンポーネント」のサンプル でご紹介した内容を、お手元のIRIS、IRIS for Healthを利用して体験いただくための手順を解説します。

    なお、ワークフローコンポーネントでどんなことができるのか?の概要説明については、ウェビナーをご参照ください。

    A.事前準備

    1) InterSystems IRIS または、IRIS for Healthのインストール環境をご用意ください。

    まだインストール環境がない場合は、コミュニティエディション(コンテナ版かキット版)をご利用ください。

    0
    0 422
    記事 Mihoko Iijima · 6月 1, 2023 7m read

    開発者の皆さん、こんにちは。

    先日のウェビナーでご紹介した「ワークフローコンポーネント」をお試しいただけるサンプルを公開しました。👉 https://github.com/Intersystems-jp/WorkFlow-DC

    《サンプルのテーマ》

    店舗で販売している商品に付けるPOPメッセージ候補を予めテーブルに登録できる仕組みが既にある、と仮定しています。

    IRISの Interoperability を利用してPOPメッセージ候補が登録されるテーブルに対して一定間隔でSELECT文を実行し、未処理のメッセージを取得します。
    新たなレコードが存在する場合、ワークフローコンポーネントを利用して担当者に審査を依頼します。

    担当者は、ワークフローユーザポータルを使用して、POPメッセージ候補の承認/却下を指示できるようにしています。

    0
    0 227
    記事 Tomoko Furuzono · 4月 11, 2023 1m read

    これは、InterSystems FAQサイトの記事です。
    HL7の仕様では、日本語データを送受信する場合はJISを文字コードとして利用し、メッセージヘッダ(MSH)の18番目の2項目に iso-ir87 を指定します。
    HL7用プロダクションでは、情報の入力はビジネスサービス、情報の出力はビジネスオペレーションを利用します。
    日本語を含むHL7を送受信する場合は、入力/出力の対象となる全てのコンポーネントの設定で [追加の設定] の「キャラクターセット(Charset)」に iso-ir87 を指定することで正しく日本語データを取り扱うことができます。

    0
    0 431
    記事 Mihoko Iijima · 3月 28, 2023 3m read

    開発者の皆さん、こんにちは。

    前の記事では「機械学習を試せるチュートリアル:IntegratedML」で試せる内容をご紹介しましたが、この記事では Interoperability(相互運用性)チュートリアル の内容を少しご紹介します。

    Interoperability(相互運用性)チュートリアルでは、Redditに新しく投稿された記事=(https://www.reddit.com/new/)を一定間隔で取得し、全投稿の中から「猫(cat)」🐈について記載されている情報のみを抽出し、対象記事をファイル出力する流れをご体験いただけます。

    0
    0 379
    記事 Toshihiko Minamoto · 2月 27, 2023 7m read

    今回は、「孤立メッセージ」について説明します。

    孤立メッセージとは何ですか?

    すべてのメッセージボディは、メタデータを保持するメッセージヘッダと関連付けらます。ヘッダーには、ソース構成名称、ターゲット構成名称、作成時刻、処理時刻、関連するメッセージボディ参照、セッション情報、メッセージボディのクラス名称、メッセージステータスなどの情報が格納されます。 メッセージボディに対応するヘッダーレコードが存在しない場合、そのメッセージボディは孤立メッセージボディと呼ばれます。ここでは、孤立メッセージボディの原因となる可能性があるものについて説明します。

    ヘッダーのみを削除する場合

    削除タスクの設定において、BodiesToo メッセージヘッダとともにメッセージボディも削除するかどうかを指定するものです。この設定をOFFにすると、削除タスクはメッセージヘッダーのみを削除し、メッセージボディは残します。これらのメッセージボディは、参照されたヘッダが削除されることから、孤立したレコードとなります。 メッセージヘッダの削除したが、メッセージボディは残している場合、マネジメントポータルでは孤立メッ セージボディを削除する方法はありません。この場合、プログラムによってメッセージボディを削除する必要があります。

     

    削除タスクについては、ドキュメントをご参照ください。

    0
    0 186
    記事 Mihoko Iijima · 2月 21, 2023 3m read

    開発者の皆さん、こんにちは!

    開発者向け情報を集めた「Developer Hub」ページが新たに登場しました!

    (2025/10/9更新: 新たなチュートリアルが加わりましたので情報更新しました。)

    このページには、5種類のチュートリアルが用意されています。チュートリアはブラウザ上で動作し、VSCodeやIRISターミナル、管理ポータルなどチュートリアルで使用するすべての画面が1つのタブ内で開くようになっています。

    チュートリアルを試すための事前準備は不要で、クリック1回ですぐにお試しいただけます!(ユーザ登録も不要です)(チュートリアル開始方法は、ページ末尾をご覧ください。)

    0
    0 370
    お知らせ Maki Hashizawa · 1月 18, 2023

     

    インタ―システムズでは、医療ITソリューション・サービスを提供される方々向けに、医療DXの推進やデータ活用を支援するシステムの要件、求められる姿について考察するオンラインセミナーをシリーズで開催しております。ソリューション開発編の第2段として、今回は「相互運用性/FHIR®の実装」をテーマに、下記の通り、開催する運びとなりました。 是非、ご参加いただきたくご案内致します。

    【開催概要】

    日時:2023年2月9日(木)13:00 - 14:30 (予定)

    参加:無料(事前登録制)

    対象:医療情報ステムベンダー、医療機器メーカー、医療向けサービスプロバイダーの事業企画・開発の皆様

    主催:インタ―システムズジャパン株式会社

    お申込み・詳細はこちらから

    【プログラム】

    13:00~13:05 開会挨拶

    インターシステムズジャパン株式会社
    カントリーマネージャー 林 雅音

    13:05~13:45「高度な医療DXを実現するための情報基盤とは」

    宮崎大学医学部
    名誉教授 荒木 賢二 様

    13:50 - 14:25「HL7® FHIR® × InterSystems IRIS for Health」

    インターシステムズジャパン株式会社
    古薗 知子

    13:25 - 14:30 閉会挨拶

    ※ プログラムは、変更の場合がございます。最新の情報はWebサイトでご確認ください。

    詳細・お申込みはこちらをご覧ください。

    0
    0 153
    記事 Toshihiko Minamoto · 9月 26, 2022 8m read

    プログラムによる本番環境アクセス

    プログラムで本番環境(インターフェース)を編集するには、相互運用性 apis と SQL クエリを組み合わせて使用できます。

    現在のネームスペース

    大まかに言えば、その時点で作業しているネームスペースと本番環境を知ることが重要です。

    // Object script 
    // アクティブなネームスペースはこの変数に格納される
    $$$NAMESPACE 
    // ネームスペースを出力
    Write $$$NAMESPACE
    
    # Python
    import iris
    # このメソッドからアクティブなネームスペースが返される
    iris.utils._OriginalNamespace()
    # ネームスペースを出力
    print(iris.utils._OriginalNamespace())
    >>> DEMONSTRATION
    

    現在の本番環境(アクティブまたは最後に実行した本番環境)

    本番環境の名前を知ることも重要です。次の API を使用してネームスペース内のアクティブな本番環境を取得できます。

    0
    0 214
    記事 Mihoko Iijima · 8月 25, 2022 1m read

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

    メモ:xxx にはネームスペース名が入ります。

    xxxENSTEMPは、プロダクション実行中に作成される一時データが保存されるデータベースです。
    ^IRIS.Temp.Ens* のグローバルがこのデータベースにマッピングされています。なお、xxxENSTEMPはジャーナルにかかれない設定のデータベースです。

    xxxSECONDARYは、プロダクションで使用される資格情報を保存するデータベースです。
    ^Ens.SecondaryData* のグローバルがこのデータベースにマッピングされています。

    注意:InterSystems IRIS for Health、HealthShare ではこれらデータベースは作成されません

    詳細は以下ドキュメントをご覧下さい。

    InterSystems IRIS の一時プロダクション・データの格納場所

    InterSystems IRIS のパスワード資格情報の格納場所

    関連する記事もご参照ください。

    プロダクション:システムのデフォルト設定と認証情報の移行方法について

    0
    0 136
    お知らせ Mihoko Iijima · 8月 19, 2022

    開発者の皆さん、こんにちは!

    Interoperability を使った開発のスキルを披露してみませんか?
    次回のコンテストのお題は 🏆 InterSystems Interoperability Contest: サステナブルなソリューションの構築 🏆です!
    ​​​​

    期間: 2022年8月29日~9月18日

    💰賞金💰 $13,500 – 賞金の配分方法が変更されました!

    0
    0 123
    記事 Toshihiko Minamoto · 7月 14, 2022 2m read

    開発者の皆さん、こんにちは! DICOM 統合を実装したことはありますか? おそらく例やシミュレーターを探したことはあるかもしれません。 この記事では、有用な例を紹介したいと思います。

    DICOM はヘルスケアの分野で画像診断に広く使用されているメッセージ規格です。DICOM 規格は、IRIS For HealthHealth Connect の両方を使用して、相互運用性の本番環境で使用することができます。これについては、ドキュメントをご覧ください。

    多くの場合、DICOM 統合を開発する際に外部システム(PACS など)をシミュレーターで実行すると非常に便利です。実際のシステムに接続する前に、実装したいフローを完全にテストすることができます。

    IRIS For Health と dcm4che というシミュレーターを使った DICOM 統合の例があります。

    この例では、2 つのシナリオが実装されています。

    埋め込み PDF で DICOM メッセージを受信する

    DICOM 画像をクエリして PACS から取得する

    クエリフロー:

    取得フロー:

    さまざまな貢献をぜひお待ちしています :)

    0
    0 235
    記事 Mihoko Iijima · 7月 13, 2022 1m read

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

    管理ポータルメニュー [Interoperability] > [構成] > [システムのデフォルト設定] で設定したデータを移行する場合、設定値が格納されているグローバル変数をエクスポートし、移行先システムでインポートします。

    画面で登録した以下のような情報は、

    グローバル変数 ^Ens.Config.DefaultSettingsD に格納されています。

    認証情報については、グローバル変数 ^Ens.SecondaryData.Password に格納されます。

    InterSystems IRIS をご利用の場合は、このグローバルは xxxSECONDARY(xxx はネームスペース名)のデータベースに格納されます。

    InterSystems IRIS for Health をご利用の場合は、このグローバルはネームスペースのデフォルトデータベースに格納されます。

    xxxSECONDARYデータベースについて詳細は、以下ドキュメントをご参照ください。

    InterSystems IRIS のパスワード資格情報の格納場所

    【関連トピックのご紹介】

    0
    0 258
    記事 Tomohiro Iwamoto · 7月 11, 2022 2m read

    オリジナルの「InterSystems IRIS で Python を使って IMAPクライアントを実装する」は、埋め込みPythonを使用してIMAPインバウンドアダプタを実装されていますが、最近メールプロバイダがあいついでoAuth2認証しか受け付けなくなってきているので、その対応をしてみました。

    本稿のGitHubはこちらです。

    変更点

    GMAILに対してメールの送受信を可能とするためにオリジナルに以下の修正を施しています。

    1. IMAP(Python版)インバウンドアダプタにoAuth2認証およびRefreshTokenによるAccessTokenの更新を追加
    2. oAuth2認証およびRefreshTokenによるAccessTokenの更新機能を持つSMTPアウトバウンドアダプタを新規作成
    3. IMAPにバイナリの添付ファイルの処理を追加
    4. メッセージ削除に、推奨APIであるclient.uid("STORE")を使用するように変更
    5. ClientIdなど、センシティブな情報をコンテナ起動時に動的に適用するように変更
    6. 日本語使用時の文字化けに対処

    3.添付ファイルが存在する場合、追加設定/ファイル・パスで指定したファイルパス(既定値は/var/tmp/)上に保存します。

    0
    0 662
    記事 Toshihiko Minamoto · 4月 12, 2022 3m read

    コミュニティの皆さん、こんにちは。お元気ですか?

    皆さんは、創造性をどのようにして発揮していますか? 新しいアイデアはどのようにしてテストしていますか?

    数年にもわたって、私はずっと新しいものを作り出し、既存のものを改良し、実験、テスト、破壊(いつも壊れてしまいます)を経て作り直し、そしてこのプロセスを繰り返してきました。

    InterSystems が推進するコンテストは、モチベーションを大きく持ち上げてくれます。もちろん、賞品に目が行ってしまうことは否定できませんが。 しかし、賞品や報酬だけでなく、こういったコンテストでは自分の創造性が試されますし、作成、改良、テスト、実験の機会が得られます。 さらに、最も素晴らしいのは、何をやるのも自由であるということです!

    私の場合、こういった機会は、独自の ホワット・イフ...?(マーベルが作家に自由にストーリーを改良させるシリーズ)を作成できるチャンスと見なしているため、これらのアイデアを私と一緒に受け入れてくれる人がいたのは幸運でしたlaugh @José Pereira に感謝です。

    前回の相互運用性コンテストでは Message Viewer を作成したのですが、今回の相互運用性コンテストでも Message Viewer をもう一度取り上げました。ただし独自のビジュアルトレース機能を追加して、です!

    0
    0 187
    記事 Toshihiko Minamoto · 4月 7, 2022 4m read

    皆さん、こんにちは!

    @Henrique.GonçalvesDias と私は、MessageViewer の最近のアップデートにおいて、IRIS Interoperability でメッセージを可視化する新しい方法を提案しました。 そのアップデートでは、UML シーケンス図に基づく可視化を提供しようとしました。 詳細は、の記事をご覧ください。

    このようなダイアグラムを描画するために必要な困難な幾何学計算を行えるように、素晴らしい mermaid JS オープンソースライブラリを使用しました。 この記事で紹介したいのは、このライブラリの使用方法です。 ここでは、シーケンス図のみに焦点を当てますが、このライブラリでは非常にたくさんのことを行えることを忘れないでください。

    mermaid では Markdown に着想を得た構文を使用して、ダイアグラムを定義します。 非常に直感的であるため、退屈な文章を長々と書くのではなく、例を紹介したいと思います。

    0
    0 1141
    記事 Hiroshi Sato · 3月 27, 2022 2m read

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

    • まず予め Visual Studioを使用して、呼び出したい内容のクラスライブラリを作成します。
    • そのプロジェクトをコンパイルし、DLLを作成します。
    • 管理ポータルでオブジェクトゲートウェイを作成します。   システム管理 > 構成 > 接続性 > オブジェクトゲートウェイ ゲートウェイ名 : testGateway サーバ名 / IPアドレス : 127.0.0.1 ポート : 55000 (後はデフォルト)  
    • testGateway を開始します。


    ※管理ポータルから、もしくはコマンドから開始できます。 

    do##class(%Net.Remote.Service).StartGateway(gateway.Name)
    •   以下のいずれかの方法でDLLを呼び出すプロキシクラスを作成します。

           a. コマンドで作成する場合 

         set dllPath="C:\temp\TestDll.dll
         do ##class(%Net.Remote.Gateway).%ExpressImport(dllPath, 55000, "127.0.0.1")

           b. スタジオで作成する場合

    0
    0 464
    記事 Toshihiko Minamoto · 3月 15, 2022 14m read

    これまでの記事では、メールサーバーのメールボックスからのメッセージを処理する IMAP プロトコルの基本的な使用方法を学習しました。 とても興味深いものではありましたが、他の人が作成してすぐに利用できるようにライブラリに提供されている実装を利用することも可能です。

    IRIS データプラットフォームの改善の 1 つに、同じ IRIS プロセスで ObjectScript に並行して Python コードを記述できる機能があります。 この新機能は、組み込み Python と呼ばれます。 組み込み Python を使用すると、ObjectScript コードに巨大な Python エコシステムのライブラリの力を取り込むことができます。

    この記事では、imaplib というライブラリを使用して IMAP クライアントを実装し、それを IRIS Email フレームワーク に統合することにします。 また、Python エコシステムの力を借りて、組み込み Python を使用して、IRIS プラットフォームでの実際の課題を解決する方法を示す実用的な例も確認します。

    ここで実装されているすべてのコードは、こちらの GitHub リポジトリpython ディレクトリにあります。

    0
    0 440
    質問 Yuji Ohata · 2月 17, 2022

    こんにちは、皆さま。
    業務でIRISを用いて開発を行っている者です。

    現在、共通のIRIS環境を複数個所に用意するため、
    インストール・マニフェストを利用した環境構築の仕組みを作成しております。
    https://docs.intersystems.com/iris20211/csp/docbookj/DocBook.UI.Page.cl…

    Interoperabilityを有効にしたNMSPについて、
    管理ポータル上から作成すると、資格情報を保持する用のSECONDARYのローカルデータベースが
    自動で作成されるように認識しております。
    https://docs.intersystems.com/iris20211/csp/docbookj/DocBook.UI.Page.cl…

    しかし、マニフェスト経由で作成した場合にはそれが作成されていません


    ■作成しているマニフェスト

    2
    0 206
    記事 Mihoko Iijima · 11月 4, 2021 6m read

    開発者の皆さん、こんにちは!

    この記事では、【GettingStarted with IRIS】シリーズの MQTT アダプタを簡単に試せるサンプルの利用方法についてご紹介します!

    (MQTTブローカーはインターネット上に公開されているテスト用ブローカーを利用しています)​​

    サンプルは、こちら👉https://github.com/Intersystems-jp/Samples-MQTT-EKG-Devices (コンテナで動作します)

    IRIS/IRIS for Health のバージョン2020.1から、IoT の世界でよく利用される MQTT プロトコルに対応できる MQTT アダプタが追加されました。

    MQTTインバウンドアダプタでは、メッセージの Subscribe が行え、MQTTアウトバンドアダプタでは、メッセージの Publish が行えます。

    サンプルでは、MQTT を使った遠隔モニタリングをテーマに、患者さんに装着した心電図から心拍数(BPM)をリアルタイムに近い状態で取得し、モニタ画面に患者さん毎の心拍数を表示します(IRIS の MQTT インバウンドアダプタを利用したメッセージの Subscribe をご体験いただけます)。

    Publish されるトピックについて

    サンプルでは、演習環境毎にユニークになるようにコンテナ開始時に以下の形式でトピックを作成しています(末尾の # はワイルドカードの指定です)。

    /Student_4629/acmeHospital/EKG/#

    実際に Publish されるトピックは患者さんに装着した心電図のデータになるので、# の部分は、Patient-1 や Patient-2 などのように患者さんを特定できる文字列が入ります。

    サンプルのシナリオは、1つの医療機関の患者情報を取得する流れにしています(本来であれば複数の医療機関の患者情報をモニタできるようにしたほうが良いのですがシンプルに試すため、1つの医療機関の患者情報を取得する流れにしています)。

    トピックの流れ

    サンプルには1つHTMLファイルが用意されています。このファイルをブラウザで開くと MQTT ブローカーに接続し、データ(心拍数)を1秒ごとにブローカーへ Publish します。

    IRIS は、MQTTブローカーから指定のトピックを Subscribe します。

    ​​​

    MQTT ブローカーを Subscribe する設定を行った IRIS のサービスは、ブローカーからトピックを取得します。

    実際の設定は以下の通りです。

    受信したトピックは IRIS の中では​​​メッセージ(EnsLib.MQTT.Message)として扱われ、次のコンポーネントであるプロセス(図では Process_MQTT_Request)に渡します。

    プロセスでは、受信した MQTT 用メッセージからモニタ表示に利用するデータ(Solution.HeartRate)に変換するため、データ変換を呼び出します。

    プロセスエディタの開き方と、中で行われているデータ変換の呼び出しの設定を確認する方法は以下の通りです。

     

    患者ごとの測定値を参照する流れ

    MQTT ブローカーから Subscribe した心拍数をリアルタイムに近い状態で画面表示するため、データ変換で作成された Solution.HeartRate から1秒ごとに患者ごとの心拍数を収集し、画面に表示しています。

    この表示を行うため、1秒間隔で Solution.HeartRate に対するSELECT文が実行されています。

    このクエリを実行しているのが、メトリックと呼ぶクラスです。プロダクションでは以下の場所に設定されています。

    メトリックでは、指定の呼び出し間隔で Solution.HeartRate から患者ごとの BPM を収集しています。詳細はソースコードをご参照ください。

    0
    0 397
    記事 Hiroshi Sato · 10月 20, 2021 1m read

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


    InterSystems IRIS Data Platformにはシステム接続に良く使われる一般的な電子メール、ファイル、FTP、HTTP、ウェブサービス、REST、SQL、TCPアダプタなどが標準で含まれています。

    特定アプリケーション向けに IBM WebSphere MQ アダプタや SAP Java Connector アダプタも提供します。

    そしてJavaアプリケーションを呼び出すためや .Net アプリケーションを呼び出すための PEX(Production EXtension)というフレームワーク もあります。

    そのほか、IRIS for HealthにはHL7 FHIR、HL7 V2、HL7 V3、CDA、DICOM、X12、ASTM,EDIFACT などのアダプタもあります。

    さらに標準で用意していないカスタムアプリケーション用にはカスタムアダプタを作成することもできます。

    0
    0 335
    記事 Hiroshi Sato · 10月 19, 2021 2m read

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

    2つのシステムをつなぐだけだったら、わざわざInterSystems IRIS Data Platform(以下IRISと表記)のようなものを仲介させるのは無駄に思えるかもしれません。 

    ですが、システムの接続は複数システム間に跨るのが一般的です。 

    そしてシステムの数が増えるにつれ、その接続は複雑になっていき、接続のタイミング、接続プロジェクトの進行管理などが重荷になっていきます。 

    また各接続は時が経つにつれ変化するのが一般的で、そういうことが起こると双方のシステムにその都度修正が必要になります。 

    相互依存性が高まるわけです。 

    また時が経つにつれ各システムが本来持っている機能と接続に関わる処理が混在するケースが多く、変更の影響範囲が多岐に渡ってしまい、 ちょっとした修正でも影響範囲の特定が困難となり、修正作業が膨大になるケースがあります。 

    IRISを使ってシステム接続を中継させることにより、接続に関する様々な雑用をIRISが担うようになれば、やがて接続の標準化が促進され、各システムには全く変更を加えることなく接続が可能になり、何か変更があった場合にも影響範囲が限定され、その変更作業に必要な工数を最小化できます。 

    0
    0 185
    お知らせ Mihoko Iijima · 10月 18, 2021

    開発者の皆さん、こんにちは!

    今週から、InterSystems Interoperability コンテスト 2021の投票が始まりました!InterSystems IRIS を使い開発されたベストソリューションにぜひ、投票をお願いします!

    🔥 投票はこちらから! 🔥

    投票方法については、以下ご参照ください。

    1
    0 173
    お知らせ Mihoko Iijima · 10月 6, 2021

    開発者の皆さん、こんにちは!

    InterSystems Interoperability コンテスト 2021 の投票でポイントが加算される「テクノロジーボーナス」が発表されました!

    加点があるテクノロジは以下の内容です:

    • Business Process BPL または Business Rule の使用
    • カスタムアダプタの使用
    • Production EXtension(PEX) Java または .NET の使用
    • ワークフローエンジンの使用
    • Docker コンテナの使用
    • ZPM パッケージによるデプロイ
    • オンラインデモ公開
    • Code Quality pass
    • コミュニティに記事を投稿する
    • YouTubeでビデオを公開する

    詳細は以下の通りです。<--break->

    0
    0 214