記事 Megumi Kakechi · 2023年4月3日 3m read 現在の一般メモリヒープ(gmheap)と取得可能なロックテーブル(locksiz)最大サイズについて これは InterSystems FAQ サイトの記事です。 データ取込み処理の性能・エラー(Lock Table Full)対策として、一般メモリヒープ(gmheap)や ロックテーブルサイズ(locksiz)のパラメータチューニングを行う場合があると思います。 実際に、現在どのくらいの一般メモリヒープが確保できているのかは、ターミナルと管理ポータルで確認することができます。 ★ターミナルの場合 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 1 1 71
記事 Megumi Kakechi · 2023年11月12日 1m read Linux系OS上でインスタンスのstateがwarnになる理由 これは InterSystems FAQ サイトの記事です。 iris list などのコマンドで、IRISインスタンスの情報を表示すると、下記のように、stateが「warn」となっていることがあります。 #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 12
記事 Megumi Kakechi · 2023年11月10日 4m read %Net.SSH.Session()で公開鍵と秘密鍵を使用してSFTP接続する方法 SFTPサーバ側で公開鍵と秘密鍵を作成し、それをIRISサーバにコピーして、%Net.SSH.Session() の AuthenticateWithKeyPair() を使用してSFTP接続する一連の手順(サンプル)をご紹介します。 【環境】 SFTPサーバ:CentOS8SFTPクライアント:Windows10 & IRIS2023.1.2SFTP接続用ユーザ:mysftpuser 【手順】 (1) CentOSでSSHの公開鍵と秘密鍵を作成します (今回は、RSA方式、4096bit) ssh mysftpuser@172.18.xx.xx でログインし、以下 mysftpuser として作業します。 #セキュリティ #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 34
記事 Megumi Kakechi · 2023年10月10日 6m read IRISのライセンス使用量の推移を調査する方法 弊社FAQサイトや開発者コミュニティには、ライセンスに関する記事を数多く掲載しています。 こちらの記事では、上記記事でご紹介している様々な機能をTipsとして使い、実際にライセンス使用量の推移を調査する方法をご紹介します。 1.ライセンス使用状況をスポットで確認する方法(今現在の使用状況) 2.ある一定期間のライセンス使用状況を継続して監視する方法 1.ライセンス使用状況をスポットで確認する方法(今現在の使用状況) 現在のライセンス使用量は管理ポータルで確認できます。[システムオペレーション] > [ライセンス使用量] #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 37
記事 Mihoko Iijima · 2023年10月10日 15m read 複雑なJSONの生成に便利な「JSONテンプレートエンジン」の使い方ご紹介 開発者の皆さん、こんにちは。 この記事では、複雑なJSON形式の文書を「JSONテンプレートエンジン」を利用して生成させる方法をご紹介します。 「JSONテンプレートエンジン」については、6月のウェビナーで使用例をご紹介しましたが、JSON生成対象として医療情報交換標準規格であるFHIRリソースのJSON(例:Patientリソース)を例に解説しています。 このエンジンは、JSON形式の文書であればどのような種類のデータでもご利用いただけますので、一般的なJSON形式の文書を利用して使い方をご紹介します。 #JSON #ObjectScript #オブジェクトデータモデル #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 95
記事 Mihoko Iijima · 2023年10月3日 4m read 5つの便利なSQL関数のご紹介 開発者の皆さん、こんにちは! この記事では、Muhammad Waseem さんが(US開発者コミュニティに)投稿された「SQLのスキルを次のレベルに引き上げることのできる5つの便利なSQL関数」の記事についてご紹介します。 ✅ SQLに関わらず、IRIS/Caché全般で日頃利用されている便利な機能、使い方、関数などなどありましたら、ぜひコミュニティで共有いただければと思います。 ✅ 現在「技術文書ライティングコンテスト」開催中です! 🎁 参加賞/特賞 🏆ありますので、ぜひチャレンジしてみてください! 以下、Muhammad さんの記事です。 この記事では、5つの便利なSQL関数の説明を実行例と共にご紹介します👇 COALESCE RANK DENSE_RANK ROW_NUMBER Function to Get Running Totals まずは、COALESCE関数から始めてみましょう #SQL #ヒントとコツ #初心者 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 67
記事 Megumi Kakechi · 2023年9月24日 3m read IRISアップグレードやインストールが失敗する場合の調査方法について IRISアップグレードやインストールがうまくいかない場合、初めに以下の3点をご確認ください。 インストーラーに問題はないか? 対象バージョンの最新インストーラー(キット)を使用しているか? サポート対象プラットフォームへのインストールを行っているか? 1について:インストーラーのダウンロードに問題があったなどで、インストーラー自体に問題があり、インストールできないというケースがあります。その場合は、インストーラーのハッシュ値(md5 checksum)を比較してファイルの同一性を確認するか、再ダウンロードしてインストールをお試しください。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 31
記事 Mihoko Iijima · 2023年9月20日 2m read VSCode:エラー発生行に移動する方法 開発者の皆さん、こんにちは! ObjectScriptのコード実行中にエラーが発生した場合 "<UNDEFINED>HelloWorld+2^Simple.Demo.1 *name" のようなエラーメッセージが表示されます。 エラーメッセージの読み方については、ObjectScriptクックブックの「ObjectScriptでエラーが発生したら」のエラーメッセージの読み方 をご参照ください。 エラー行の特定を行う際、VSCodeのコマンドパレットを利用すると簡単に対象行にジャンプできますので、以下、方法をご紹介します。 1)VSCodeのView→Command Palette... を開きます。 2) 「ObjectScript:Open Error Location...」を選択します(初回は表示項目に登場しないため > の後ろに ObjectScript と入力すると表示されます)。 3) テキストボックスが表示されるので、エラーメッセージの出力情報の中から ラベル名+行数^生成ルーチン名 をコピーして貼り付け、Enterをクリックします。 ※スタジオにも同様の機能がありますが、VSCodeの場合対象となるコード(生成コードの元コード)をVSCode上で表示していなくても対象となる生成ルーチンを開きエラー行をポイントしてくれます。 #ObjectScript #ヒントとコツ #開発環境 #InterSystems IRIS #InterSystems IRIS for Health #VSCode 3 0 0 90
記事 Mihoko Iijima · 2023年9月18日 4m read VSCode:管理ポータルやスタジオにある「XMLファイルのインポート/エクスポート 」が追加されました 開発者の皆さん、こんにちは! スタジオを利用されている方にはお馴染みのソースコードの「XMLファイルへのエクスポート/インポート機能」がVSCodeのObjectScriptエクステンションに追加されました! (ObjectScript 2.10.0以降に含まれています。こちらのリクエストが元となりました👉https://github.com/intersystems-community/vscode-objectscript/issues/1158 エクステンションの追加番号は#1171です) 今まで、過去エクスポートしたXMLファイルをVSCodeから参照するためには、管理ポータル(またはスタジオ)を利用してインポートする必要がありましたが、VSCodeの画面だけでできるようになりました! 💡注意1: InterSystems IRIS /InterSystems IRIS for Health 2023.2以降のバージョンに接続した状態でご利用いただける機能です。 💡注意2:この機能は管理ポータルやスタジオのインポート/エクスポートのVSCode版のような機能となるため、インポートしたソースコードはサーバ側にインポートされ、エクスポートはサーバ側コードを選択してXMLファイルにエクスポートする動作となります。XMLファイルインポート後、VSCodeのワークスペースでローカルファイル(*.cls や *.mac)として編集 したい場合は、 ObjectScriptエクステンションマークをクリックし、対象のコードを選択→エクスポート の手順でローカルにエクスポートする必要があります。 #ObjectScript #ヒントとコツ #開発環境 #InterSystems IRIS #InterSystems IRIS for Health #VSCode 2 0 0 72
記事 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 38
記事 Megumi Kakechi · 2023年9月4日 3m read Webアプリケーションのトラブルシュート方法(ログの取得方法) こちらの記事では、RESTやCSPなどの「Webアプリケーションのトラブルシューティング」のヒントをご紹介します。 何かしらのトラブルと思われる事象が発生した場合、確認したいのがログファイルになります。各コンポーネント間のやり取りで、どこでどのようなトラブルが発生しているかを、それぞれログを取得して確認することができます。 ① クライアント ⇔ Webサーバ間では、「Webサーバログ(IISやApacheのアクセスログなど)」、② Webサーバ ⇔ Webゲートウェイ間では、「イベントログ」・「HTTPトレース」、③ Webゲートウェイ ⇔ IRISサーバ間では、「ISCLOG」・「監査ログ」・「messages.log」などがあります。 #CSP #REST API #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 3 0 0 52
記事 Megumi Kakechi · 2023年8月31日 4m read 凍結プラン(Frozen Plan)について IRISをアップグレードすると、SQLクエリオプティマイザの機能向上により、旧バージョンとは異なるクエリプランによるクエリ実行コード(クエリキャッシュ)が作成される場合があります。ほとんどの場合はパフォーマンスが向上するのですが、稀にパフォーマンスが低下するケースもあります。 ・アップグレードによりオプティマイザが改善しているとはいえ、中には遅くなるクエリがあるのではないか?・予期しないSQLの問題が起きるのではないか?・アップグレード後に全てのクエリパターンをテストするには時間と労力がかかりすぎる このように、機能向上よりも安定性を優先して「今までのプランのまま実行したい」というご要望もあることでしょう。こちらの記事では、そのようなお客様への解決策をご案内します。 #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 43
記事 Toshihiko Minamoto · 2023年8月23日 7m read DeepSee トラブルシューティングガイド この「DeepSee トラブルシューティングガイド」は、DeepSee プロジェクトの問題を追跡して修正する支援を提供することを目的としています。 このガイドラインに従って問題を修正できない場合でも、少なくとも DeepSee サポートに WRC の問題を提出し、すべての証拠を提供するのに十分な情報を得ることができます。この情報によって、一緒に調査を続け、より迅速に解決することが可能となります。 ご注意ください: 特定のアクションやコマンドによってどのような結果がもたらされるかがよくわからない場合は、実行しないでください。本番システムに影響を与える可能性があります。 この場合は、サポートセンターにお問い合わせください。 左から右の操作列に進むと、このガイドを最も簡単に活用できます。 #ヒントとコツ #ベストプラクティス #InterSystems IRIS BI (DeepSee) 1 0 0 38
記事 Megumi Kakechi · 2023年8月1日 2m read BACK^%ETN でスタックトレースを確認する方法 あるメソッドやルーチンを実行してエラーとなった場合、エラー発生個所はエラーメッセージより取得することができますが、処理の呼び出し履歴(スタックトレース)はエラーメッセージのみではわかりません。また、.Net や Python など IRIS 外からの呼び出しの場合に、エラー情報の詳細がクライアントに返らない場合などもあるかと思います。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 44
記事 Toshihiko Minamoto · 2023年7月28日 1m read ターミナルでのライセンスの期限切れメッセージ ターミナルにライセンス期限切れの警告メッセージ(「*\* Warning: This Cache license will expire in 3 days **」)が表示されており、そのメッセージを表示したくない場合は、以下のコマンドを実行すると、メッセージの表示を無効(または有効)にできます。 Do ExpirationMessageOff^%SYS.LICENSE - Disable Do ExpirationMessageOn^%SYS.LICENSE - Enable #API #オブジェクトデータモデル #システム管理 #ターミナル #ヒントとコツ #Caché 0 0 0 32
記事 Megumi Kakechi · 2021年3月2日 2m read $ZF(-100) で実行したコマンドの出力を取得する方法 これは InterSystems FAQ サイトの記事です。※記事後半に、「2>&1」で 標準エラー出力(2) を 標準出力(1) にリダイレクトする方法を追記しました。 $ZF(-100) では実行したコマンドの出力を取得することはできませんが、代わりにコマンド・パイプ デバイスを使用する方法があります。 詳細は、以下ドキュメントをご参照ください。 コマンド・パイプ デバイスを使用する方法について こちらを %File クラスで使用した例が以下になります。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 1 0 293
記事 Megumi Kakechi · 2023年2月6日 4m read ファイル操作関連のTips ファイルとディレクトリの操作に使用できる API 、%Library.File クラス (%File が省略形) の便利なサンプルコードをご紹介します。 こちらのAPIを使用して、ディレクトリやファイルの中身をのぞいたり、作成・書込み・読込みを行ってみます。 ★ディレクトリ内のファイル一覧をリストする 以下のサンプルは、C:\temp フォルダ内の *.txt ファイルをリストします(ファイルパス_サイズ_作成日)。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 1 0 242
記事 Mihoko Iijima · 2023年7月14日 4m read InterSystemsコンテナレジストリの使い方とコンテナ開始までの流れ(解説ビデオ付き) 開発者の皆さん、こんにちは! InterSystems IRIS 、InterSystems IRIS for Healthのコミュニティエディションは、WindowsやLinuxにインストールするキットの他にコンテナ版も公開されています。 コンテナ版はダウンロードページからではなく、InterSystemsコンテナレジストリ よりpullいただけます。 https://www.youtube.com/embed/HEGWVP0PIfI[これは埋め込みリンクですが、あなたはサイト上の埋め込みコンテンツへのアクセスに必要な Cookie を拒否しているため、それを直接表示することはできません。埋め込みコンテンツを表示するには、Cookie 設定ですべての Cookie を受け入れる必要があります。] この記事では、InterSystemsコンテナレジストリ の使い方と、コンテナ開始までの流れをご紹介します。 #Docker #ヒントとコツ #初心者 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 61
記事 Megumi Kakechi · 2023年7月11日 3m read エラーのステータス値を表示する方法 クラスメソッドの多くは、%Status データ型を使用して、成功 または 失敗 の情報を返します。成功の場合は 1 が返り、失敗の場合はエラーステータス および 1 つ以上のエラーコードとテキストメッセージを含むエンコードされた文字列が返ります。このようなメソッドでは、戻り値を必ず取得して確認するようにしてください。 こちらの記事では、失敗の場合の具体的なエラー情報を確認する方法をご紹介します。 #ObjectScript #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 1 70
記事 Mihoko Iijima · 2023年6月29日 3m read CSVファイルをテーブルにインポートする方法(LOAD DATA編) これは InterSystems FAQ サイトの記事です。 LOAD DATAは、バージョン2022.1から追加されたSQLコマンドで、CSVファイルやJDBCソースからデータをテーブルにロードするコマンドです。データが存在するテーブルにLOAD DATAを実行した場合、データは追記されます。 ※ バージョン2022.1をご利用いただく場合は、バージョン2022.1.3 をご利用ください。(2022.1.0~2022.1.2は、使用するJARファイルの不備により動作しません。) #SQL #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 193
記事 Megumi Kakechi · 2023年6月27日 1m read Apache Configuration: CSP directive 'csp' detected in VirtualHost, only supported at default server level Apache経由でREST通信する場合、ApacheでRESTを動かす場合の設定方法 (含:Webゲートウェイのインストール手順) の方法 で設定を行います。 この際、Apachの構成ファイル(httpd.conf)にRESTを動かすための設定を入れるのですが、設定後のシンタックスチェックで以下の警告が出る場合があります。 ※httpd -t 実行時 Apache Configuration: CSP directive 'csp' detected in VirtualHost, only supported at default server level こちらは、<VirtualHost> ~ </VirtualHost> 内に、CSP ディレクティブ の内容を設定している場合に出力されます。 CSP on CSPFileTypes * #REST API #Web Gateway #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 31
記事 Megumi Kakechi · 2023年6月22日 2m read プロセス単位の詳細情報をコマンドで取得する方法 プロセスの単位の詳細情報(使用メモリサイズ、ユーザ名、実行ルーチンなど)は管理ポータルで確認できますが、それらをコマンドで取得する方法をご紹介します。 管理ポータル:[システムオペレーション] > [プロセス] (プロセス毎の)詳細リンク %SYS.ProcessQuery クラスを使用して、以下のように行います。 #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 92
記事 Mihoko Iijima · 2023年6月13日 1m read プロダクションをリセットする方法、インバウンドアダプタが持つ情報をリセットする方法 これは InterSystems FAQ サイトの記事です。 注意:本番環境では実行しないでください。テスト環境でご利用ください。 開発時にプロダクションに残っているキューを一括でクリアしたり、プロダクションに関連した一次的な情報をすべて消去したい場合、以下メソッドを利用して実行中のプロダクション情報をリセットできます。 #ヒントとコツ #相互運用性 #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 54
記事 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 126
記事 Mihoko Iijima · 2023年6月11日 2m read FHIR Tips:FHIRリポジトリの「条件付き削除結果の最大数」について(ConditionalDeleteOverflow のエラーが出た場合の対応について) 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のエラーが発生しています。 #FHIR #ヒントとコツ #InterSystems IRIS for Health 0 0 0 69
記事 Mihoko Iijima · 2023年6月9日 2m read FHIR Tips:FHIRリポジトリのデータを全消去したい場合の方法 FHIRリソースをリポジトリから削除するには、対象リソースに対してDELETE要求を使用すればよいのですが、例えば「テスト的に登録していたリソースばかりなので、リポジトリのデータを一括で全消去したい!」という場合の方法をご紹介します。 実行前に、エンドポイントのURLを確認します。 管理ポータル > [Health] > ネームスペース選択 > [FHIR Configuration] > [Server Configuration] で確認できます。 データの全消去を行うには、IRIS for HealthのFHIRサーバ機能で提供されているAPIを使用します。実行のため IRISのターミナルを開く、またはIRISにログインします。 #FHIR #ヒントとコツ #InterSystems IRIS for Health 0 0 1 108
記事 Mihoko Iijima · 2023年6月8日 3m read FHIR Tips:リソース新規登録時に特定のIDをリソースの論理IDとして登録する方法 FHIR関連トレーニングの中で複数の方よりいただいたご質問をご紹介していきます。 IRIS for HealthのFHIRリポジトリでは、リソースPOST時のデフォルトの動作としてリポジトリ内でユニークな論理ID(id)を自動的に付与します。 例えば、以下のようなPatientリソースをPOSTした場合 #FHIR #ヒントとコツ #InterSystems IRIS for Health 0 0 0 64
記事 Megumi Kakechi · 2023年6月6日 4m read コンテナ版 WebGateway の使用方法 これは InterSystems FAQ サイトの記事です。 こちらでは、InterSystems Container Registry(ICR) より入手可能なDockerコンテナイメージを使用する方法をご案内します。 ※WRCDirectのダウンロードサイト より入手可能なイメージを使用する場合も同じようにできます。 その際、Name:Web でフィルタリングしていただくと、Web Gateway の Docker イメージが見つけやすくなります。※インターシステムズが提供する webgateway コンテナイメージには、Web ゲートウェイと Apache Web サーバの両方が含まれています。 #Docker #Web Gateway #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 85
記事 Mihoko Iijima · 2023年6月6日 5m read ルーチン/クラスの一括コンパイルの結果からエラー情報を取得する方法 これは InterSystems FAQ サイトの記事です。 ターミナルでルーチンやクラスのコンパイルを行う際、コンパイル結果が画面に表示されるのでエラーが発生した場合でも確認しやすいですが、一括コンパイルの場合は、大量のコンパイル結果の中にエラー情報が含まれてしまうためエラー情報だけを取得したい場合には少し工夫が必要です。 以下、ルーチン/クラスの一括コンパイル時の結果からエラー情報を取得する方法をご紹介します。 #ObjectScript #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 80
記事 Mihoko Iijima · 2023年6月2日 6m read 任意のWebアプリから呼び出せるワークフロー用 REST API の使い方 開発者の皆さん、こんにちは! この記事では、ワークフローコンポーネントを使ってみよう!~使用手順解説~ でご紹介したユーザ操作画面(ユーザポータル)を任意のWebアプリに変更する際に便利な REST API の使用方法をご紹介します。 ワークフロー用 REST APIですが、開発者コミュニティのサンプル公開ページ:Open Exchange に公開されているAPIでどなたでも自由にご利用いただけます。 Open Exchangeの検索ボックスに「Workflow rest」と入力すると出てきます。EnsembleWorkflow が対象のサンプルです。 ちなみに、2023年6月2日時点で724のアプリケーションが公開されているようです👀 #REST API #ヒントとコツ #相互運用性 #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 51