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

この記事では、【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 を収集しています。詳細はソースコードをご参照ください。

1 0
0 274

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

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

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

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

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

1 0
0 149

この記事はこちらの投稿の続きの内容です。

前回の記事では、システム統合に必要なコンポーネントの中から、プロダクション内の処理の調整役となるビジネス・プロセスの作成について解説しました。

今回の記事では、プロダクションの情報入力窓口である、ビジネス・サービスの作成について解説します。

1 0
0 714

1. ブロックチェーン

この記事を書いている時点(2019年2月)で、ビットコインの価値はそれが絶頂期だったころの 5 分の 1 未満に下落しています。 そのため、ブロックチェーンの私の体験について誰かに話すときに最初に耳にするのは、「今頃ブロックチェーンを欲しがる人がいるのか」という偽りなく懐疑的な言葉です。

その通り。ブロックチェーンの盛り上がりは衰退しています。 ところが、それが基づいているテクノロジーはここにとどまり、特定の分野で使用され続けるでしょう。一般的にインターネットではこのテクノロジーの使用方法が記述された資料でいっぱいです。

0 0
0 207

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

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

2 0
0 298

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

IRISのInteroperability(相互運用性)機能(Ensembleのプロダクション)を使用してどのようなことができるか、コード例をご覧いただきながら/サンプルを動かしながらご確認いただける記事をまとめてみました。

ぜひご参照ください。

記事一覧:

2 0
1 168

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

Interoperability(相互運用性)コンテストの続報の「テクノロジーボーナス」について紹介します。

対象となる技術は、以下の通りです。

  • BPL エディタを利用したビジネス・プロセスの開発、または、ビジネスルールとデータ変換(DTL)を使用した開発
  • カスタムアダプタを使用した開発
  • プロダクションエクステンション(PEX)Java または .NET を使用した開発
  • ワークフローエンジンを使用した開発
  • ZPM パッケージによるデプロイが行える開発環境
  • Docker コンテナを使用した開発

それぞれの詳細については以下ご参照ください。

0 0
0 165
記事
· 2021年9月23日 1m read
レコードマップで何ができるか?

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

レコード・マップは、区切り文字付きのレコードや固定幅のレコードを含むファイルをInteroperability機能で使用するメッセージクラスへマッピングしたり、Interoperability機能のメッセージクラスからテキストファイルへマッピングする作業を効率的に行うための機能です。

レコードマップのマッピング定義は管理ポータルで作成でき、CSVファイルを読み込ませながら定義するCSVレコードウィザードも提供しています。

プロダクションでレコードマップを利用する場合は、レコードマップ用ビジネス・サービス、またはビジネス・オペレーションを追加し、作成したレコードマップ定義クラスを指定すれば完成です。

使用例は、以下から取得できます。

レコードマップサンプル

0 0
0 258

皆さん、こんにちは!

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

2 0
0 669

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

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

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

アーキテクチャ

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

0 0
0 107

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

管理ポータルから行う手動のパージ(Purge)と、タスクを利用する方法があります。

データを手動でパージするには、[Interoperability] > [管理] > [管理データの削除] ページを使用します。
(このページではバックグラウンド・ジョブとしてパージを実行しますので、ページがタイムアウトしても問題ありません。)

タスクでパージする場合は、[システムオペレーション] > [タスクマネージャ] > [新しいタスク] の画面でInteroperabilityプロダクションのネームスペースを指定し、タスクタイプに「Ens.Util.Tasks.Purge」を指定します。

タスクの場合は、「TypesToPurge」の項目で以下のパージ対象タイプを選択できます(図参照)。

0 0
0 323
記事
· 2021年5月11日 1m read
動画:FHIR プロファイル

*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。

国や地域のニーズに合わせて何のデータをどこにどのように格納するのかを定める共通ルールである FHIR プロファイルは、FHIR による標準化において、非常に重要な要素です。

https://www.youtube.com/embed/B-B6ge_0nHg
[これは埋め込みリンクですが、あなたはサイト上の埋め込みコンテンツへのアクセスに必要な Cookie を拒否しているため、それを直接表示することはできません。埋め込みコンテンツを表示するには、Cookie 設定ですべての Cookie を受け入れる必要があります。]

この動画では、InterSystems IRIS for Health における FHIR リポジトリの構築・設定~ FHIR プロファイルの追加の方法を、最新バージョンおよび今後のバージョンでのサポート内容を含めてご紹介いたします。

0 0
0 279

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

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

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

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

0 0
0 124

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

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

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

1 0
0 91