記事
· 2023年9月28日 22m read
OpenAPI Suite - パート 1

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

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

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

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

    前回の記事では、プロダクションとは?について確認しました。また、サンプルコードを動かしながらプロダクションに流れるメッセージの中身をトレース画面で確認しました。

    今回は記事では、システム統合を行うための必要な開発内容の中から、コンポーネント間のデータ送受信に使用される メッセージ について、作成するときの考え方や定義方法を確認していきます。

    0 0
    0 478

    1. ブロックチェーン

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

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

    0 0
    0 211

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

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

    現在のネームスペース

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

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

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

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

    0 0
    0 123

    問題

    あわただしい臨床環境では迅速な意思決定が重要であるため、文書保管とシステムへのアクセスが合理化されていなければいくつもの障害を生み出します。 文書の保管ソリューションは存在しますが(FHIR など)、それらの文書内で特定の患者データに有意にアクセスして効果的に検索するのは、重大な課題となる可能性があります。

    0 0
    0 81

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

    前回の記事では、コンポーネント間のデータ送受信に使用される メッセージ について、作成するときの考え方や定義方法を確認しました。

    今回の記事では、コンポーネントの作成方法の中から、ビジネス・オペレーションの作成について解説します。

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

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

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

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

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

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

    レコードマップサンプル

    0 0
    0 260

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

    本稿のGitHubはこちらです。

    変更点

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

    0 0
    0 420

    はじめに

    InterSystems IRIS 2020.1 には、Java または .NET で記述されたコンポーネントで IRIS 相互運用性プロダクションの開発を容易にする PEX(プロダクション拡張フレームワーク)が含まれています。

    この PEX により、Java または .NET の知識を備える統合開発者は、InterSystems IRIS 相互運用性フレームワークの力、スケーラビリティ、および堅牢性を利用し、すぐに生産性を高めることができます。

    IRIS 相互運用性フレームワークエキスパートに対し、PEX は既存の Java 言語または .NET 言語の外部コンポーネントとの統合を簡単にリッチ化することができます。

    0 0
    0 63

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

    前回の記事では、システム統合に必要なコンポーネントの中から、ビジネス・オペレーションの作成について解説しました。

    今回の記事では、確認した2つのビジネス・オペレーションを順番を守って呼び出しを行うビジネス・プロセスの作成について解説します。

    0 0
    0 583
    記事
    · 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 280

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

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

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

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

    0 0
    0 175

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

    InterSystems製品のInteroperability(相互運用性機能)を利用する際、REST経由で情報入力を行う場合の作成方法についてサンプルプロダクションを利用しながらご紹介します。

    サンプルはこちら👉https://github.com/Intersystems-jp/FAQ-Interop-REST

    1 0
    0 50

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

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

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

    1 0
    0 718
    記事
    · 2021年5月23日 2m read
    VDOC (仮想ドキュメント)とは?

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

    仮想ドキュメント(以降VDOC)とは複雑な構造のドキュメント(メッセージ)を効率良く高速に処理するために考えられたメッセージ処理の仕組みです。

    HL7に代表される EDI 標準は電子データ交換のための汎用的なかなり複雑なメッセージ形式を含んでいます。

    また、メッセージの種類を増やすと運用が複雑になってしまうため、1 つのメッセージに様々なデータを詰め込む傾向があります。

    その結果 1 つのメッセージは複雑かつデータ量が多いものになりがちです。

    一方、実際のメッセージ交換では、メッセージの全てのデータを処理することはまれで一部のデータのみが必要となるケースがほとんどです。

    0 0
    0 719

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

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

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

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

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

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

    0 0
    0 82

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

    Ens.Directorクラスのクラスメソッドを使用して取得できます。

    プロダクション名(FAQSample.Interop.Production)とホスト名(FAQSample.Interop.FileOperation)を指定して設定リストを取得する方法は以下の通りです。

    0 0
    0 38

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

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

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

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

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

    0 0
    0 330

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

    HL7 メッセージの送受信を行うプロダクションでは、以下3個のグローバルが非常に大きくなることがあります。

    グローバルの大きさを確認する場合は、^%GSIZEユーティリティを利用します。詳細は関連トピック/記事をご参照ください。

    ^EnsHL7.Segment
    ^EnsLib.H.MessageD
    ^EnsLib.H.MessageI

    HL7メッセージは EnsLib.HL7.Message.cls で定義されます。
    ^EnsLib.H.MessageD はデータを保存するグローバル、^EnsLib.H.MessageI はインデックスを保存するグローバルです。

    また、HL7メッセージは多数のセグメントで構成されており、メッセージデータを含むそれらのセグメントは ^EnsHL7.Segment に保存されます。

    0 0
    0 123
    記事
    · 2023年2月27日 7m read
    Ensembleでの孤立メッセージ

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

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

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

    0 0
    0 121

    バージョン 2023.3(InterSystems IRIS for Health)の新機能は、FHIR プロファイル基準の検証を実行する機能です。

    (*)

    この記事では、この機能の基本的な概要を説明します。

    FHIR が重要な場合は、この新機能を絶対にお試しになることをお勧めします。このままお読みください。

    2 0
    1 36

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

    Java ゲートウェイを使用することで、Java クラスのモジュールを InterSystems IRIS から実行できます。

    【メモ】Java ゲートウェイは、外部 Java オブジェクトを InterSystems IRIS 内のネイティブ・オブジェクトと同じようにインスタンス化し、Javaオブジェクトを操作するための方法です。

    詳細は以下ドキュメントをご参照ください。
    Java ゲートウェイについて

    Java ゲートウェイを使用する手順は以下の通りです。

    1) Java ゲートウェイサーバを開始する

    0 0
    0 352

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

    FHIR プラットフォームとして InterSystems IRIS for Health を選択する利点の一つは、クラウド/オンプレミスを含む豊富なプラットフォームの選択肢です。

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

    0 0
    0 108

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

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

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

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

    2 0
    0 198

    皆さんこんにちは。

    IRIS 2020.1からMQTTアダプタが新たに追加されました。MQTTはPublish/Subscribe型のシンプルで軽量なメッセージングプロトコルです。帯域が低いネットワーク環境やArduinoやRaspberry PIといったワンボードマイコンやシングルボードコンピュータなどでも動作できます。
    今回はクラウド上のUbuntuサーバにIRISをインストールし、MQTTアダプタを使いEsp8266というマイコンで取得した温度、湿度、気圧データをIRIS上のデータベースに登録する方法について説明したいと思います。

    アーキテクチャ

    今回のアーキテクチャは以下の通りです。

    1 0
    0 1.3K

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

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

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

    0 0
    0 213

    皆さん、こんにちは

    前回のつづきとしてESP8266からMQTTブローカーに接続し、データを送信する部分の内容ついて説明したいと思います。

    今回は温度湿度センサーのDHT11と気圧センサーのBME180を使って気温、湿度、気圧を計測し、1分に1回、MQTTブローカーに送信しています。

    ハードウェア

    回路図は以下のようにDHT11のDATAピンはGPIO、BMP180のSDA,SCLピンはそれぞれGPIO2,GPIO5に接続しました。
    電源は紆余曲折の末、単純にmicro USBから供給し、NodeMCUのボードから出力されている3.3Vをそれぞれのセンサーで使用しています。

    0 0
    0 2K

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

    一般的なシステム統合製品はメッセージエンジン製品を中心にビジネスプロセス管理製品、ポータル製品、ビジネスアクティビティモニタリング製品などの付随する製品を1つのパッケージ製品(スイート製品と呼ばれることも多い)として提供しています。

    パッケージとして提供はしていますが、個々の構成製品は通常別々に作成されたもので、操作法、リポジトリ管理、開発手法、管理手法等が各製品バラバラでシステム統合プロジェクトを実施するに当たり、これら全ての製品に習熟するためには膨大な時間がかかります。

    また各製品毎に担当者をアサインするということも考えられますが、そうすると各担当者間のコミュニケーションが必要となりプロジェクト管理の手間が増えます。

    InterSystems IRIS data platform にはシステム統合に必要な全ての機能が1つの製品に含まれており、統一された操作法、一元化されたリポジトリ、1つの首尾一貫した開発/管理環境が提供されます。

    0 0
    0 128

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

    HL7の仕様では、日本語データを送受信する場合はJISを文字コードとして利用し、メッセージヘッダ(MSH)の18番目の2項目に iso-ir87 を指定します。

    HL7用プロダクションでは、情報の入力はビジネスサービス、情報の出力はビジネスオペレーションを利用します。

    日本語を含むHL7を送受信する場合は、入力/出力の対象となる全てのコンポーネントの設定で [追加の設定] の「キャラクターセット(Charset)」に iso-ir87 を指定することで正しく日本語データを取り扱うことができます。

    iso-ir-87の設定

    0 0
    0 193