記事 Toshihiko Minamoto · 2021年11月1日 9m read REST経由でファイル転送しプロパティに格納する - パート2 この連載の第1回目の記事では、「大規模な」チャンクのデータをHTTP POSTメソッドのRaw本体から読み取って、それをクラスのストリームプロパティとしてデータベースに格納する方法について説明しました。 では、そのようなデータとメタデータをJSON形式で格納する方法について見てみましょう。 #REST API #InterSystems IRIS Open Exchange app 0 0 0 389
記事 Toshihiko Minamoto · 2021年12月24日 3m read InterSystems IRISのGrafanaサポート 皆さん、こんにちは。私の最新のプロジェクトの1つをご紹介します。 Grafana用データソースプラグインです。これは、InterSystems IRISに直接接続して(将来的に)あらゆるデータを収集できるプラグインです。 #SAM - System Alerting and Monitoring #監視 #InterSystems IRIS Open Exchange app 1 0 0 81
記事 Megumi Kakechi · 2022年1月30日 1m read アプリケーションのログを^ERRORSグローバルに入れる方法 これは、InterSystems FAQサイトの記事です。 TRY-CATCHで行うことが可能です。以下のように行ってください。 #dim ex As %Exception.AbstractException TRY { "<何かエラーを発生させる処理>" } CATCH ex { do ex.Log() } ^%ETNを使用する場合は、^%ETNを呼び出す際にBACKエントリ(BACK^%ETN)から呼び出してください。 あわせて、以下の関連記事も是非ご覧ください。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 1 212
記事 Toshihiko Minamoto · 2022年3月15日 13m read InterSystems IRIS で Python を使って IMAPクライアントを実装する これまでの記事では、メールサーバーのメールボックスからのメッセージを処理する IMAP プロトコルの基本的な使用方法を学習しました。 とても興味深いものではありましたが、他の人が作成してすぐに利用できるようにライブラリに提供されている実装を利用することも可能です。 IRIS データプラットフォームの改善の 1 つに、同じ IRIS プロセスで ObjectScript に並行して Python コードを記述できる機能があります。 この新機能は、組み込み Python と呼ばれます。 組み込み Python を使用すると、ObjectScript コードに巨大な Python エコシステムのライブラリの力を取り込むことができます。 #Embedded Python #Python #相互運用性 #InterSystems IRIS 2 0 0 294
記事 Mihoko Iijima · 2022年3月29日 11m read データベース空き容量の監視方法について これは、InterSystems FAQサイトの記事です。 データベースの空き容量は、システムモニタを使用して監視することができます。 システムモニタは、システム開始時に自動開始され、予め設定された閾値に対してアラートが通知されます。 #システム管理 #データベース #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 153
記事 Megumi Kakechi · 2022年5月6日 1m read InterSystems IRIS Data Platformはリレーショナルデータベースと何が違うのか これは、InterSystems FAQサイトの記事です。InterSystems IRIS Data Platform(以下IRISと表記)はSQLのサポートをはじめ、リレーショナルデータベースとの高い互換性を有します。 さらに、IRISは多次元データエンジンをベースにしており、通常のリレーショナルデータベースシステムに比べて柔軟なデータ構造を持つことができ、一般的にパフォーマンス、スケーラビリティ、データ保守性に優れています。 また完全なオブジェクト指向をサポートしており、Javaなどのオブジェクト指向開発環境との親和性という点でも優れています。 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 223
記事 Mihoko Iijima · 2022年5月29日 2m read プログラムでCSVファイルをテーブルにインポート/テーブルからCSVファイルにエクスポートする方法 これは InterSystems FAQ サイトの記事です。 InterSystems IRIS/Caché の管理ポータルメニュー:SQLデータインポートウィザードの処理で行うようなCSVファイルをテーブルへインポート、テーブルからファイルにエクスポートする方法をプログラムで実行することができます。 ※ サンプルはバージョン 2017.1以降で動作確認しています。 ※ バージョン 2016.2.3以前でお試しいただく場合は、SQL.Utilsクラス の20行目をコメント化してからご利用ください。 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 468
記事 Toshihiko Minamoto · 2022年9月26日 8m read プログラムによるインターオペラビリティの実行例 プログラムによる本番環境アクセス プログラムで本番環境(インターフェース)を編集するには、相互運用性 apis と SQL クエリを組み合わせて使用できます。 現在のネームスペース 大まかに言えば、その時点で作業しているネームスペースと本番環境を知ることが重要です。 // Object script // アクティブなネームスペースはこの変数に格納される $$$NAMESPACE // ネームスペースを出力 Write $$$NAMESPACE # Python import iris # このメソッドからアクティブなネームスペースが返される iris.utils._OriginalNamespace() # ネームスペースを出力 print(iris.utils._OriginalNamespace()) >>> DEMONSTRATION 現在の本番環境(アクティブまたは最後に実行した本番環境) 本番環境の名前を知ることも重要です。次の API を使用してネームスペース内のアクティブな本番環境を取得できます。 #Embedded Python #ObjectScript #相互運用性 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 121
記事 Toshihiko Minamoto · 2022年12月8日 5m read InterSystems IRIS における一意のインデックスと null 値 一意のインデックスにまつわる興味深いパターンが最近持ちあがったので(isc.rest に関する内部ディスカッション)、コミュニティ向けに強調したいと思います。 動機付けのユースケースとして: ツリーを表すクラスがあるとします。各ノードには名前があるため、名前と親ノードでノードを一意にしたいと考えています。 各ルートノードにも一意の名前を持たせます。 この場合の自然な実装は以下のようになります。 #SQL #インデックス付け #Caché #InterSystems IRIS 0 0 0 178
記事 Megumi Kakechi · 2022年9月21日 2m read SQL ゲートウェイを使用した外部データベースへのアクセス方法について SQL ゲートウェイ接続を使用した、外部データベースへのアクセス方法についてご説明します。 手順は以下になります。 1. 外部ソースへの SQL ゲートウェイ接続の作成を行います ※こちらの例では、IRISの別インスタンスへの接続を試しています。 ※ODBCを使用される場合は、事前にシステムDSN(64bit)の準備が必要です。管理ポータルより [システム管理] > [構成] > [接続性] > [SQLゲートウェイ接続] の 新規接続作成 ボタンをクリックします。 接続の種類を選択し、必要項目を設定します。以下のサンプルは、ODBC接続(別IRISインスタンスのDSN設定)を行っています。 #JDBC #ODBC #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 310
記事 Mihoko Iijima · 2022年10月23日 24m read JP Core などのカスタムプロファイルを IRIS の FHIR リポジトリで検証する方法 FHIR開発者の皆さん、こんにちは! IRIS の FHIR リポジトリは、HL7 FHIR 標準プロファイルに対する検証をサポートしていますが、カスタムプロファイルに対する検証は、まだサポートできていません(将来のリリースバージョンで対応予定です)。 カスタムプロファイルの Search Parameter の追加はサポートしています!詳しくは、「動画:FHIR プロファイル」をご参照ください。 この記事では、IRIS の FHIR リポジトリに対して、カスタムプロファイルの検証を行う方法についてご紹介します。 #FHIR #ヒントとコツ #InterSystems IRIS for Health 1 0 1 946
記事 Toshihiko Minamoto · 2023年7月5日 39m read 開発者コミュニティの記事によるInterSystems IRISの学習 この記事では、InterSystems IRIS の学習に関連したトピックについて、開発者コミュニティでの厳選された記事にアクセスすることができます。機械学習や Embedded Python、JSON、API と REST アプリ、InterSystems環境の構築と管理、DockerとCloud、VSCode、SQL、Analytics/BI、グローバル、セキュリティ、DevOps、インターオペラビリティNative API、それぞれでランク付けされたトップの記事を見ることができます。ぜひ、楽しみながら学んでください! 機械学習 機械学習は、高度なデータ分析を構築し、優れた効率で手動活動を自動化するための必須技術です。既存のデータから学習する認知モデルを作成し、自己調整されたアルゴリズムに基づいて予測、確率計算、分類、識別、「非創造的」な人間の活動の自動化を実行します。 #Docker #Embedded Python #ObjectScript #REST API #SQL #クラウド #グローバル #分析 #機械学習 #InterSystems IRIS 0 0 1 124
記事 Mihoko Iijima · 2023年2月14日 4m read irissqlcli(IRIS SQLの高度なターミナル):InterSystemsデベロッパーツールコンテスト2023入賞作品のご紹介 開発者の皆さん、こんにちは! InterSystems デベロッパーツールコンテスト2023が開催され、21の応募作品の中から勝者が発表されました🏆 この記事では、世界のIRIS開発者の皆さんから注目を集めた作品をご紹介します。 最初は、Experts Nomination 第1位に輝いた @Dmitry Maslennikov さんの作品をご紹介します! #SQL #ツール #InterSystems IRIS #InterSystems IRIS for Health #IRIS contest 0 0 0 131
InterSystems公式 Toshihiko Minamoto · 2023年3月12日 3m read クラスの生成方法、呼び出し方法の変更(IRIS 2023.1~) IRIS 2023.1でのメソッドコードの生成と呼び出し方法の変更について、お知らせしたいと思います。 IRIS のクラスは、2 つの主要なランタイムコンポーネントで構成されています。 クラスディスクリプタ - クラスを構成するメソッド、プロパティ、クラスパラメータ、およびこれらのそれぞれに関連する属性(パブリック/プライベート設定など)が最適化されたリストです。 ObjectScriptコード - メソッドが呼び出されたときに実行される ObjectScript コードを含むルーチンのセットです。 クラス/オブジェクトのメソッドを呼び出すと、ディスパッチコードがクラス記述子からメソッドを探し、呼び出しが許可されているかどうかを確認し、正しいクラスコンテキストを設定し(その過程で $this を更新)、最後に関連するクラスルーチンにある ObjectScript コードを呼び出します。 #ObjectScript #InterSystems IRIS #InterSystems公式 2 0 0 149
記事 Tomoko Furuzono · 2023年4月11日 2m read マッピングしたグローバルのエクスポートについて これは、InterSystems FAQサイトの記事です。%Library.GlobalクラスのExport()メソッドを使用してエクスポートする際に、エクスポート形式(第4引数:OutputFormat)を 7 の「ブロックフォーマット/Cachéブロックフォーマット(%GOF)」にした場合、マッピングされたグローバルはエクスポートできない仕様となっています(対象はネームスペースのデフォルトグローバルデータベースのグローバルのみ)。マッピングされたグローバルを「ブロックフォーマット/Cachéブロックフォーマット(%GOF)」でエクスポートする為には、%Library.Global.Export()の第1パラメータにマッピング先のデータベースディレクトリを指定します。実行例は以下の通りです。 #グローバル #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 91
記事 Toshihiko Minamoto · 2023年5月30日 7m read InterSystems IRIS 開発リポジトリで Docker を使用する コミュニティの皆さん、こんにちは! 最近では、誰もが Github、GitLab、bitbucket などのリポジトリにプロジェクトのソースコードを保管していると思います。 InterSystems IRIS プロジェクトについても同様で、Open Exchange にチェックされています。 InterSystems Data Platform で特定のリポジトリの操作を開始または継続するたびに、何をしているでしょうか? ローカルの InterSystems IRIS マシン、プロジェクト用の環境のセットアップ、ソースコードのインポートが必要です。 つまり、すべての開発者は以下を実行しています。 リポジトリからコードをチェックアウトする。 ローカル IRIS インストールをインストール/実行する。 プロジェクト用の新しいネームスペース/データベースを作成する コードをこの新しいネームスペースにインポートする。 すべての残りの環境をセットアップする。 プロジェクトのコーディングを開始/継続する。 リポジトリを Docker 化すると、この手順は次の 3 つのステップに短縮できます。 リポジトリからコードをチェックアウトする。 docker-compose build を実行する。 プロジェクトのコーディングを開始/継続する。 メリット: 実行に数分かかる上、頭が痛くなるようなステップ 3、4、5 を行わなくて済みます。 次の数ステップで、(ほぼ)すべての InterSystems リポジトリを Dcoker 化できます。 では、やってみましょう! #Docker #コンテナ化 #ベストプラクティス #開発環境 #InterSystems IRIS 0 0 1 185
記事 Mihoko Iijima · 2023年6月12日 2m read FHIR Tips:FHIRドキュメント(診療情報提供書や退院時サマリ―など)をPOSTする方法 FHIRドキュメント(診療情報提供書や退院時サマリ―など)をFHIRリポジトリにPOSTする場合、 エンドポイント/Bundle 上記URLでPOSTできます。(以下の例では、IRIS for Healthに用意したFHIRリポジトリを使用しています。) GET要求で確認してみます。 登録できたことを確認できました。 #FHIR #ヒントとコツ #InterSystems IRIS for Health 1 0 0 188
記事 Toshihiko Minamoto · 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 への仕様の変換。 #REST API #相互運用性 #InterSystems IRIS #InterSystems アイデアポータル #Open Exchange Open Exchange app 0 0 0 53
記事 Megumi Kakechi · 2023年9月6日 1m read WindowsにWebゲートウェイのみインストールすると503エラーになる場合の対処方法 Windows環境にWebGatewayのみをインストールした場合に、「Service Unavailable / HTTP Error 503. The service is unavailable.」エラーとなりWebアプリケーションに接続できない場合があります。 こちらは、Visual C++ 再頒布可能パッケージ がインストールされていない環境に、Webゲートウェイをインストールした場合に見られる事象です。 Microsoft社のホームページより、Visual C++ 再頒布可能パッケージ(X64)をダウンロードしてインストールしてください。 インストール後IISを再起動し、以下のリンクよりWebゲートウェイ管理ページに接続できることをご確認ください。 #CSP #REST API #Web Gateway #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 83
記事 Hiroshi Sato · 2024年1月5日 1m read インストール時に指定する初期セキュリティ設定について これは InterSystems FAQ サイトの記事です。 インストール時に選択できる初期セキュリティ設定のレベルには以下の3つがあります。※バージョンにより、表記(日本語/英語)が違う場合があります。 最小 (Minimal) 通常 (Normal) ロック・ダウン (Locked Down) 各レベルの違いの詳細は以下の資料をご確認ください。 セキュリティの説明資料 #セキュリティ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 38
記事 Mihoko Iijima · 2024年2月29日 3m read インデックス再構築が終わるまで新しく定義したインデックスを使用させない方法 これは InterSystems FAQ サイトの記事です。 新しいインデックスを定義した後、インデックスの再構築が完了する前にクエリを実行するとデータが存在しているにもかかわらず「検索結果0件」や検索結果数が徐々に増えるような状況が発生します。 インデックスを永続クラス定義(またはテーブル定義)に追加しコンパイルすることで今まで使用していたクエリ実行経路が削除され、再度同じクエリを実行するタイミングで新しいインデックス定義を含めた実行経路が作成されるためです。(この時にインデックス再構築が完了していないとインデックスデータが存在しない、または不完全であるため0件や徐々に検索結果数が増えるような状況を起こします。) これを起こさなために、新しいインデックスの再構築が終了するまでクエリオプティマイザにインデックスを使用させないように指定する方法が用意されています。 ※インデックスの再構築が完了したら、必ず指定を元に戻してください。 #SQL #インデックス付け #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 33
記事 Hiroshi Sato · 2024年3月18日 1m read Embedded Python で Excel ファイルを操作する これは InterSystems FAQ サイトの記事です。 以下は、EXCELのシートから指定したセルのデータを取得してその値を返すメソッドの例です。 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 24