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

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

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

アーキテクチャ

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

0 0
0 108

IRIS for HealthのFHIRリポジトリには、「条件付き削除結果の最大数」がデフォルトで3件に設定されています。

そのため、条件指定のDELETE要求で4件以上が対象となる場合、以下のエラーが発生します。

例えば、あるcodeで条件指定したリソースが5件あるとします。

これをDELETE要求に変えて実行すると、以下のようにHTTPステータス412が戻り、「Conditional delete search found more than maximum allowed number of 3 results」のエラーが発生します。

HTTP応答を確認すると、ConditionalDeleteOverflowのエラーが発生しています。

0 0
0 113

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

$ZF(-100)で外部コマンドを実行する場合、その外部コマンドの子プロセスからの応答が返らない限り、$ZF(100)コマンドを発行したIRISプロセスはその応答を待って残り続けます。

従ってIRISプロセスを終了させるためにはその応答がない子プロセスを強制終了させる必要があります。

0 0
0 23

警告:"NOT %INLIST" を使用した SQL クエリが結果を返さない

インターシステムズは、一部の SQL クエリが不正な結果を返す原因となる 3 つ
の不具合を修正しました。 影響を受けるクエリの詳細については、以下を参照し
てください。

この問題は、以下の製品のリストにあるバージョンに存在します:

  • InterSystems IRIS® data platform
  • InterSystems IRIS for Health™
  • HealthShare® Health Connect

同様に上記製品をベースとしたその他のインターシステムズ製品

影響を受けるバージョン:

0 0
0 6

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

最近では、誰もが GithubGitLabbitbucket などのリポジトリにプロジェクトのソースコードを保管していると思います。 InterSystems IRIS プロジェクトについても同様で、Open Exchange にチェックされています。

InterSystems Data Platform で特定のリポジトリの操作を開始または継続するたびに、何をしているでしょうか?

ローカルの InterSystems IRIS マシン、プロジェクト用の環境のセットアップ、ソースコードのインポートが必要です。

つまり、すべての開発者は以下を実行しています。

  1. リポジトリからコードをチェックアウトする。
  2. ローカル IRIS インストールをインストール/実行する。
  3. プロジェクト用の新しいネームスペース/データベースを作成する
  4. コードをこの新しいネームスペースにインポートする。
  5. すべての残りの環境をセットアップする。
  6. プロジェクトのコーディングを開始/継続する。

リポジトリを Docker 化すると、この手順は次の 3 つのステップに短縮できます。

  1. リポジトリからコードをチェックアウトする。
  2. docker-compose build を実行する。
  3. プロジェクトのコーディングを開始/継続する。

メリット: 実行に数分かかる上、頭が痛くなるようなステップ 3、4、5 を行わなくて済みます。

次の数ステップで、(ほぼ)すべての InterSystems リポジトリを Dcoker 化できます。 では、やってみましょう!

0 0
1 185
記事
· 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 54

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

    インストール時に選択できる初期セキュリティ設定のレベルには以下の3つがあります。
    ※バージョンにより、表記(日本語/英語)が違う場合があります。

    • 最小 (Minimal)
    • 通常 (Normal)
    • ロック・ダウン (Locked Down)

    各レベルの違いの詳細は以下の資料をご確認ください。

    セキュリティの説明資料

    0 0
    0 38

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

    新しいインデックスを定義した後、インデックスの再構築が完了する前にクエリを実行するとデータが存在しているにもかかわらず「検索結果0件」や検索結果数が徐々に増えるような状況が発生します。

    インデックスを永続クラス定義(またはテーブル定義)に追加しコンパイルすることで今まで使用していたクエリ実行経路が削除され、再度同じクエリを実行するタイミングで新しいインデックス定義を含めた実行経路が作成されるためです。(この時にインデックス再構築が完了していないとインデックスデータが存在しない、または不完全であるため0件や徐々に検索結果数が増えるような状況を起こします。)

    これを起こさなために、新しいインデックスの再構築が終了するまでクエリオプティマイザにインデックスを使用させないように指定する方法が用意されています。

    ※インデックスの再構築が完了したら、必ず指定を元に戻してください。

    0 0
    0 35

    この記事では、EC2(ubuntu)に IAM をデプロイする手順を説明します。

    IAM とは?

    IAM は InterSystems API Manager です。
    IAM の詳細については、以下のリンクをご覧ください。

    https://docs.intersystems.com/components/csp/docbook/Doc.View.cls?KEY=PAGE_apimgr

    生成された説明: apimgr description.jpg

    0 0
    0 55

    cAdvisorContainer Advisor)は、実行中のコンテナのリソースの使用率とパフォーマンスデータを分析して公開します。 cAdvisor は初期設定のままで Prometheus メトリクスを公開します。

    https://prometheus.io/docs/guides/cadvisor/

    Prometheus は SAM に統合されています。 このため、cAdvisor メトリクスと利用して Prometheus と Grafana で公開することが可能です。

    cAdvisor はポート 8080 でリッスンしますが、これは Nginx のポートと競合するため、それに対応するように Nginx ポートを変更することができます。

    構成手順:

    1. nginx ポートを変更します。

    nghix.conf を変更します。

    0 0
    0 228
    記事
    · 2023年10月18日 7m read
    OpenAPI Suite - パート 2

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

    パート 1 では、すべてのパッケージ、使用されているライブラリ、および REST サービスについて説明しました。

    次は、コンバーターサービスとバリデーターサービスについて詳しく説明したいと思います。

    OpenAPI-Suite はデフォルトで、仕様バージョンが 3.0 未満である場合に HTTP リクエストを converter.swagger.io に送信し、別の HTTP リクエストを validator.swagger.io に送信して仕様ドキュメントの構造を単純化します。

    オンラインユーティリティの使用は便利ではありますが、場合によっては独自のコンバーターとバリデーターのインスタンスを使用する方が便利な場合もあります。 たとえば、OpenAPI-Suite が ObjectScript 開発者向けに組織のサーバーに提供されている場合、外部サービスへのリクエストを回避する方が好ましいことがあります(プライバシーやリクエストレートの制限を回避するため)。

    以下を実行してください。

    docker run -d -p 8085:8080 --name swagger-converter swaggerapi/swagger-converter:latest
    docker run -d -p 8086:8080 --name swagger-validator-v2 swaggerapi/swagger-validator-v2:latest

    0 0
    0 46

    最後にCSP機能の中でReactでうまく置き換えできなかった処理について紹介します。

    該当する処理は、サーバー上の商品データに含まれるその商品の画像データ(GIF形式)を取得して、ブラウザにイメージとして描画させるものです。

    CSPにはStreamServer.clsというサーバー側で動作する機能が用意されています。

    この機能を使ってデータベース上に格納されているストリームデータをHTML IMGタグで処理できる形式に変換してくれます。

    StreamServer機能を使って画像を表示する処理

    Reactで同様の機能を実現する方法が見つからなかったため(そもそもReactはサーバーサイドではなくクライアント上の技術なので)、データベース内に格納されているイメージを取得するのではなく、静的なイメージファイルをウェブサーバーが参照可能な場所に置くことで解決しました。

    0 0
    0 43

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

    永続クラス定義(またはテーブル定義)に対してオブジェクト操作でデータの参照・更新を行うとき、オブジェクトオープンで使用する%OpenId()、オブジェクトの削除に使用する%DeleteId()の第2引数を使用して並行処理の制御方法を選択できます。

    ご参考:オブジェクト同時処理のオプション

    既定値は1です。(永続クラスのDEFAULTCONCURRENCYクラスパラメータでデフォルト値を指定できます。特に変更していない場合は 1を使用します)

    並行処理の基本事項は以下の通りです。

    0 0
    0 38

    前の記事 - AI による臨床文書の保管、取得、検索の単純化

    この記事では、AI を使用した文字起こしと要約によってヘルスケアに変革を起こす OpenAI の高度な言語モデルの可能性を探ります。 OpenAPI の最先端 API を活用して、録音データを文字起こしし、自然言語処理アルゴリズムを使って簡潔な要約を生成するための重要なインサイトを抽出するプロセスを掘り下げていきます。

    似たような機能は Amazon Medical Transcibe や Medvoice などの既存のソリューションでも提供されていますが、この記事では、OpenAI テクノロジーを使用してこれらの強力な機能を InterSystems FHIR に実装することに焦点を当てています。

    0 0
    1 100

    インターシステムズは InterSystems IRIS data platform、InterSystems IRIS for Health、InterSystems IRIS Studio のバージョン 2023.3 をリリースしました。


    リリースハイライト

    2023.3 は Continuous Delivery(CD)リリースです。
    2023.3 には多くのアップデートや拡張機能が追加されています。


    クラウドとオペレーションの強化

    0 0
    0 80

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

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

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

    0 0
    0 32

    問題

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

    0 0
    0 74

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

    VSCodeのObjectScriptエクステンションを利用してInterSystems製品に接続するときに「プライベートWebサーバ (*1)」ではなく、「Webサーバ(IISやApache)」を利用される場合、接続時に使用するREST用パスが通るようにWebサーバに仮想パスを追加する必要があります。

    (*1) プライベートWebサーバとは、バージョン2023.1以前のInterSystems製品をインストールすると自動でインストールされる簡易的なApacheで、52773番ポートで管理ポータルやWebアクセスのテストにご利用いただけるWebサーバです。(本番運用環境には適さない簡易的なWebサーバです)

    対象バージョン:2023.1以下のInterSystems製品

    追加が必要なパス: /api

    0 0
    0 139

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

    現時点(2024年3月)では、コミュニティに掲載されているPythonライブラリ「iris-dollar-list」を利用することでIRISの$LIST()形式のデータをPythonのリストとして利用することができます。

    ※標準ツールではありませんがご利用いただけます。詳細はコミュニティの記事「もう1つの $ListBuild() の実装:Pythonライブラリ「iris-dollar-list」」をご参照ください。

    WindowsにインストールしたIRISで使用する場合は、以下の方法で「iris-dollar-list」をインストールしてください。

    ※Windows以外にインストールしたIRISでは、pipコマンドを利用した通常の方法でインストールできます。

    0 0
    1 29
    記事
    · 2023年6月27日 13m read
    REST の設計と開発

    はじめに

    今日の相互運用性分野に従事する多くの人にとって、REST は最高峰にあります。 REST API 開発用のツールとアプローチが溢れかえる中、コードを書き始める前に、どのツールを選び、何を計画する必要があるでしょうか? この記事では、堅牢性、適応性、および一貫性に優れた REST API を構築できるようにする設計パターンと考慮事項を焦点としています。 CORS サポートと認証管理の課題に他する実行可能なアプローチについて、REST API 開発の全段階に適用できる様々なヒントとテクニック、最適なツールを織り交ぜながら説明します。 InterSystems IRIS Data Platform で利用できるオープンソース REST API と複雑化し続ける API の課題にどのように取り組むかについてお読みください。 これは、同じトピックに関する最近のウェビナーを記事にしたものです。

    0 0
    1 223

    InterSystems IRIS data platform がサポートするプラットフォームやフレームワークを取り巻く変更点について、みなさまから良く質問をいただきます。この記事では、サポート対象プラットフォームで最近おこなわれた変更点や今後予定されている変更点に関する情報を共有させていただきます。ただ、将来の予測は難しい側面があり、ロードマップは約束されたものではないということを十分ご理解くださいませ。

    0 0
    0 239
    記事
    · 2024年1月11日 3m read
    DeepSee で有効な階層を設計

    DeepSee で階層を設計する場合、子メンバーに 1 つの親しか指定できません。 子が 2 つの親に対応する場合には、信頼性のない結果が得られることになります。 類似する 2 つのメンバーが存在する場合、そのキーがそれぞれ一意になるように変更する必要があります。 これが起きる場合とそれを回避する方法について、2 つの例を見ながら説明します。

    例 1

    (アメリカには)Boston と言う都市がある州がたくさんあります。 私のサンプルデータでは、Boston, MA(マサチューセッツ州ボストン)と Boston, NY(ニューヨーク州ボストン)のレコードがあります。 次元は次のように定義されています。

    0 0
    0 30

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

    インスタンスの開始が失敗し、コンソールログに"There exists a MISMATCH.WIJ file"が記録されている場合、何らかのシステム障害の影響でデータベースの整合性に関して問題が生じていることを示しています。

    このような状況が発生した際にインスタンスの開始ができるようにするためには、以下の手順を実施します。

    (1) a. インスタンスをNOSTUモードで起動
    (2) b. データベースの整合性チェック

    ◆(2)の整合性チェックでエラーを検出しなかった場合、
     (3) d. MISMATCH.WIJ ファイルのリネーム
     (4) e. インスタンスの再起動
    を実施します。

    0 0
    0 16

    2023.2 の開発者プレビュープログラムの一環として、3番目の開発者プレビューを公開いたします。今回リリースされたのは、InterSystems IRIS と InterSystems IRIS for Health です。

    本リリースの注目点

    2023.2では、多くの機能修正と改善に加えて、時間認識モデリング強化された外部テーブル読み込み専用の FEDERATED テーブルといった新機能が含まれる予定です。これら新機能の一部は、今回の開発者プレビュー版にはまだ含まれていません。ご注意ください。

    0 0
    0 81

    はじめに

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

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

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

    0 0
    0 58