記事 Toshihiko Minamoto · 2021年4月8日 6m read Jupyter Notebook + Apache Spark + InterSystems IRIS を起動させる方法 皆さん、こんにちは。 今日は、Jupyter Notebook をインストールして、Apache Spark と InterSystems IRIS に接続したいと思います。 注記: 以下にお見せする作業は Ubuntu 18.04 で Python 3.6.5 を使って実行しました。 #Artificial Intelligence (AI) #API #Python #互換性 #初心者 #InterSystems IRIS 0 0 0 359
記事 Megumi Kakechi · 2021年4月7日 4m read ファイル入出力処理をスクリプトで記述する方法 これは InterSystems FAQ サイトの記事です。ファイル入出力処理を行うには、ライブラリクラスを利用する方法が便利です。 ライブラリクラスを使用する以外には、Open/Use/Close コマンドを使用する方法もあります。<※1> ファイル入出力処理には、%Library.Fileクラス、%Stream.FileCharacter/%Stream.FileBinary を使用します。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 1.4K
記事 Makiko Kokubun · 2021年4月6日 1m read 動画:他形式データからFHIR への変換 *この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。 既に運用されている電子カルテ・処方のデータや蓄積されているデータを、FHIR に変換して活用したいというニーズは、FHIR アプリケーションを構築するにあたり最も多いご要望の一つです。 https://www.youtube.com/embed/dsB3cS333LI[これは埋め込みリンクですが、あなたはサイト上の埋め込みコンテンツへのアクセスに必要な Cookie を拒否しているため、それを直接表示することはできません。埋め込みコンテンツを表示するには、Cookie 設定ですべての Cookie を受け入れる必要があります。] この動画では、InterSystems IRIS for Health を使用して、HL7/SS-MIX2 やCSV など他形式のデータから FHIR データへ変換する方法について、デモをまじえてご紹介いたします。 #FHIR #Webセミナー #相互運用性 #InterSystems IRIS for Health 0 0 1 484
記事 Toshihiko Minamoto · 2021年4月5日 11m read WebSocketのチュートリアル はじめに Webで行われるサーバーとクライアント間のほとんどの通信は、リクエストとレスポンスの構造に基づいており、 クライアントがサーバーにリクエストを送信すると、サーバーがそのリクエストに対するレスポンスを送信します。 WebSocketプロトコルは、サーバーとクライアント間の双方向通信チャンネルを提供するプロトコルで、サーバーがリクエストを受信しなくても、クライアントにメッセージを送信することができます。 WebSocketプロトコルと、InterSystems IRISでの実装についての詳細は、以下のリンクをご覧ください。 WebSocketプロトコル InterSystems IRISでのWebSocketsに関するドキュメント #JavaScript #Node.js #ObjectScript #チュートリアル #フロントエンド #ベストプラクティス #Caché #InterSystems IRIS #Open Exchange 0 0 0 3.5K
記事 Mihoko Iijima · 2021年4月2日 2m read コンソールログに "Failed to allocate xxxMB shared memory using large pages..." のエラーメッセージが出ているとき これは InterSystems FAQ サイトの記事です。 MM/DD-hh:mm:ss:938 ( 0) 1 Failed to allocate xxxMB shared memory using large pages. Switching to small pages.MM/DD-hh:mm:ss:938 ( 0) 0 Allocated xxxMB shared memory: yyyMB global buffers, zzzMB routine buffers コンソールログ(cconsole.log/messages.log)に上記のようなメッセージがある場合は、Large Page でのメモリ確保に失敗して、Small Page でメモリを確保したことを示しています。 Allocated xxxMB が設定サイズと同じ場合、Small Pageでメモリ確保ができていますので、設定サイズを減らす必要はありません。 #Microsoft Windows #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 1.9K
記事 Mihoko Iijima · 2021年4月2日 1m read データベースアクセス中にデータベース設定を変更できるかどうか これは InterSystems FAQ サイトの記事です。 アプリケーション等がデータベースにアクセスしている最中に、データベースの最大サイズの変更や未使用領域の開放などのデータベース設定変更を行うことにより、データベース整合性等に悪影響を及ぼすことはありません。 しかし、未使用領域の開放などは、ディスクアクセスの増加やメモリの使用等でシステムに負荷をかける可能性があるため、その観点からシステム運用に影響が出ないよう注意が必要です。 #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 149
記事 Toshihiko Minamoto · 2021年3月31日 13m read Caché のメソッドジェネレータを使ったコード生成の検証 デベロッパーの方なら、反復的なコードを書いた経験があると思います。 プログラムを使ってコードを生成できたら楽なのに、と考えたことがあるかもしれません。 まさに自分のことだと思った方、ぜひこの記事をお読みください! まずは例をお見せします。 注意: 次の例で使用する %DynamicObject インターフェースは Caché 2016.2 以上のバージョンが必要です。 このクラスに馴染みのない方は、Using JSON in Caché と題したドキュメンテーションをお読みください。 とても重宝すると思います! #オブジェクトデータモデル #コンパイラ #Caché #InterSystems IRIS 0 0 0 247
記事 Makiko Kokubun · 2021年3月30日 1m read 動画:FHIR+IRIS for Health 101 *この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。 この動画では、FHIR をご存じない方に向けて FHIR の概要を解説し、日本における FHIR 標準化活動の状況や国内外の事例を紹介しています。 https://www.youtube.com/embed/S7PV3RIpMUM[これは埋め込みリンクですが、あなたはサイト上の埋め込みコンテンツへのアクセスに必要な Cookie を拒否しているため、それを直接表示することはできません。埋め込みコンテンツを表示するには、Cookie 設定ですべての Cookie を受け入れる必要があります。] 後半の16分~くらいからは、InterSystems IRIS for Health が提供する FHIR リポジトリに代表される FHIR 関連機能と、今後の機能ロードマップを紹介しています。 #FHIR #Webセミナー #相互運用性 #InterSystems IRIS for Health 1 0 0 508
お知らせ Toshihiko Minamoto · 2021年3月30日 開発者コミュニティの求人情報セクションについて 開発者の皆さん、こんにちは。 ご存知かもしれませんが、インターシステムズ開発者コミュニティは仕事探しのお手伝いをしています。具体的には開発者自身の仕事探しと会社に必要なスタッフ探しです。インターシステムズ開発者コミュニティにアナウンスを投稿するだけで、探しているものが見つかります。 詳細については以下をご覧ください。 #開発者コミュニティ公式 0 0 0 150
InterSystems公式 Yoichi Miyashita · 2021年3月30日 InterSystems 製品 2018.1.5, 2019.1.2, 2020.1.1 リリースのご案内 インターシステムズは、以下のメンテナンスバージョンをリリースしました。 #リリース #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health #InterSystems公式 0 0 0 179
質問 Yuji Ohata · 2021年3月29日 ObjectScriptの変数の型検知について。 こんにちは、皆さま。業務でIRISを用いて開発を行っている者です。 ObjectScriptでは様々な型の変数定義が可能ですが、実際に定義された変数(Object)から、その変数の型を逆引きする方法をご存じな方はいらっしゃいませんでしょうか? 理想としては、Java等で利用可能な『instanceof』演算子の代替えとなるような仕組みが望ましいです。 力技で何とかなりそうなら、専用のメソッドみたいなものを自作で作ってもよいかなとは考えておりますが、現状その力技すら思いついていない状況です。。。 何か情報をお持ちの方がいらしたら、助言いただけますと幸いです。 #API #ObjectScript #言語 #InterSystems IRIS 0 4 0 389
記事 Toshihiko Minamoto · 2021年3月29日 10m read 単純なObjectScript永続クラスをFHIRのコードシステムと値セットとして公開する FHIR Terminology Serviceの仕様には、 CodeSystem、ValueSet、およびConceptMapリソースでの一連の演算子が記述されています。 これらの演算子の内、以下の4つの演算子が最も広く採用されているようです。 CodeSystem ValueSet $lookup$validate-code $expand$validate-code IRIS for Health 2020.1で導入された新しいFHIRフレームワークを学ぶには、仕様の部分的な実装を開発するのが最も効果的と言えます。 実装には上記の4つの演算が含まれており、CodeSystemとValueSetリソースでreadとsearch操作がサポートされています。 実装には単純なObjectScript永続クラスがソース用語テーブルとして使用されていることに注意することが重要です。 #FHIR #InterSystems IRIS for Health Open Exchange app 0 0 0 286
お知らせ Mihoko Iijima · 2021年3月29日 テクノロジーボーナス詳細:第11回 InterSystems IRIS プログラミングコンテスト(開発者ツール編) 開発者の皆さん、こんにちは! 第11回 IRIS プログラミングコンテスト - 開発者ツール編 の 続報 📣 の「テクノロジーボーナス」についてご紹介します。 今回のコンテストも、チームで開発した作品もご応募いただけます!ぜひコンテスト詳細ページもご確認ください! #コンテスト #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 95
記事 Mihoko Iijima · 2021年3月26日 2m read Linux のシェルスクリプトでルーチンやメソッドの戻り値を取得する方法 これは InterSystems FAQ サイトの記事です。 Linux で シェルスクリプト(shell script) からルーチンやメソッドを実行し戻り値を取得するには、iris コマンドを使用します。 詳細はドキュメント「インスタンスの接続について」 をご参照ください。 コマンド記述例は以下の通りです。 iris session インスタンス名 -U ネームスペース名 "実行ルーチン・メソッド" #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 1.3K
記事 Mihoko Iijima · 2021年3月26日 1m read IRISTEMP / CACHETEMP 上のグローバルのみを参照する方法について これは InterSystems FAQ サイトの記事です。 管理ポータルを使用して確認する場合は、以下の手順で参照できます。 管理ポータル > [システムエクスプローラ] > [グローバル] の画面で、ネームスペースではなく データベース を指定し、IRISTEMP / CACHETEMP データベースを選択すると参照できます。 #グローバル #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 262
記事 Megumi Kakechi · 2021年3月25日 3m read ^%GSIZE で出力される各項目の意味 これは InterSystems FAQ サイトの記事です。 ^%GSIZE ユーティリティでは、グローバルのサイズを算出することができます。 このユーティリティで出力される各項目の意味について説明します。 例えば、USERネームスペースのグローバルについて do ^%GSIZE を実行し、以下のように出力結果を得られたとします。 #ObjectScript #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 491
記事 Toshihiko Minamoto · 2021年3月25日 6m read C-CDA 2.1 からインポートトランスフォーメーションを実行する際の前処理サポート HealthShare HealthConnect と Information Exchange のバージョン 15.03 では、C-CDA 2.1 から SDA へのインポートトランスフォーメーションをサポートしています。 こういったプログラムのビルドは、インストレーションパッケージの csp/xslt/SDA3 ディレクトリにあります。 インポートトランスフォーメーションの概要は、Overview of Health Connect の「CDA Documents and XSL Transforms in HealthShare」をご覧ください。 C-CDA 2.1 サポートに関連するインポート機能の強化の 1 つとして、 C-CDA ファイルをインポートする前に前処理を実行できる機能が追加されました。 前処理サポートの導入により、トランスフォーメーションは大幅に簡素化され、その合計処理時間も削減されます。 考えられるユースケースは以下の 2 つです。 #XML #HealthShare 0 0 0 166
記事 Megumi Kakechi · 2021年3月25日 2m read Base64文字列でクラスに画像を保存・復元する方法 これは InterSystems FAQ サイト の記事です。 以下のサンプルでは、画像ファイルをクラスプロパティにBase64文字列にエンコードして保存し、再びそれをBase64でデコードし、別のファイルに復元しています。 【使用クラス】 Class User.test Extends %Persistent { Property pics As %GlobalBinaryStream; } 【取込み時】 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 1.3K
InterSystems公式 Yoichi Miyashita · 2021年3月25日 警告: ミラーデジャーナリングに関する潜在的なデータ整合性の問題 対象バージョン: Caché/Ensemble、InterSystems IRIS および IRIS for Health のすべてのバージョン、上記のデータプラットフォームバージョンに基づくすべての HealthShare 製品 対象プラットフォーム: すべて InterSystemsは、非常にまれな状況でプライマリミラーメンバー以外のミラーメンバーでデータの不整合を引き起こす可能性がある問題を修正しました。この問題は、上記の InterSystems 製品のバージョンで発生する可能性があります。 [発生する問題]ミラーリングを使用しているシステムでデータの不整合性が発生します。 [問題の詳細]この問題は、ミラーリングされたシステムでの通常の操作中にエラーなく発生します。この問題によりミラーメンバーで一部のジャーナルレコードのデジャーナル処理が失敗し、ミラーメンバー間でデータの不整合が発生します。これは、フェイルオーバーメンバーと非同期メンバーの両方で発生する可能性があります。 #Mirroring #アラート #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health #InterSystems公式 0 0 0 213
記事 Makiko Kokubun · 2021年3月23日 2m read 動画:InterSystems IRIS へのマイグレーション *この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。 この動画では、Caché/EnsembleからInterSystems IRISへの移行プロセスについてご説明しています。 https://www.youtube.com/embed/612KLqB5mdY[これは埋め込みリンクですが、あなたはサイト上の埋め込みコンテンツへのアクセスに必要な Cookie を拒否しているため、それを直接表示することはできません。埋め込みコンテンツを表示するには、Cookie 設定ですべての Cookie を受け入れる必要があります。] Caché/Ensembleから InterSystems IRIS への移行を考えられている方は、まずこちらをご覧ください。「移行する際の注意点」、「移行の方法」、「必読ドキュメント」、「キットや評価ライセンスの入手方法」など、IRIS移行の際に必要となる情報をまとめてご案内しています。 #Webセミナー #InterSystems IRIS 1 0 0 269
記事 Toshihiko Minamoto · 2021年3月22日 5m read Outlier Selectivity (外れ値の選択性) について Caché 2013.1 より、InterSystems は特殊な値を持つフィールドが使われるクエリプランのセレクションを改善する目的で Outlier Selectivity (外れ値の選択性) を導入しました。 この記事では、「Project」テーブルを例に使い、Outlier Selectivity の概要やそれが SQL のパフォーマンスを向上させる仕組み、またクエリを書く際の注意点などについて解説したいと思います。 Selectivity (選択性) まずは、Selectivity についてさっと説明します。 Selectivity とは、テーブル内の 1 つの列の中にある値に関するメタ情報のことです。 データが典型的なかたちで分布されていると想定した場合、「このテーブル内のこの列に特定の値を持つすべての行を要求するとしたら、通常取得できるのはテーブル内のどの程度の割合であろうか?」という疑問の答えとなる情報です。 #SQL #Caché 0 0 0 138
記事 Mihoko Iijima · 2021年3月19日 2m read Webゲートウェイ/CSPゲートウェイ管理のデフォルトパラメータで設定できる各タイムアウト値について これは InterSystems FAQ サイトの記事です。 各タイムアウト値の意味は以下の通りです。 (1) [サーバ応答タイムアウト] この設定時間内に、IRIS/Caché での処理(ルーチンやクエリの実行)が終わらない場合は、ブラウザ側にエラーを返します。 例) この値が60秒の時に、ルーチン/メソッド/クエリ実行に 90秒 かかる場合にはエラーになります。 (2) [キューイングされたリクエストのタイムアウト] CSP/REST で設定する IRIS/Caché サーバごとに、CSP/REST を同時実行できるプロセス数を制限できます。 #CSP #REST API #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 768
記事 Mihoko Iijima · 2021年3月19日 3m read 複数のSQL 文を実行する方法 これは InterSystems FAQ サイトの記事です。 複数の SQL 文を実行する GUI はありませんが、複数の SQL 文を含むファイルを作成しファイルをインポートしながら SQL を実行する方法で対応できます。 ご利用バージョンによって使用するユーティリティメソッドが異なります。 #SQL #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 10.4K
お知らせ Toshihiko Minamoto · 2021年3月18日 グローバルマスターズ:投稿や記事翻訳のポイントが2倍になりました! 開発者の皆さん こんにちは! この度、開発者コミュニティでの投稿や翻訳のポイントが2倍に引き揚げられました! 2021年3月18日以降、記事や質問の投稿で得られるポイントは以下の通りとなります。 ✅ 200 ポイント(英語)✅ 400 ポイント※ (スペイン語、ポルトガル語、中国語、日本語) ✅ 100 ポイント(翻訳記事の投稿) また、一定数の記事やコメントを投稿すると、まとまったポイントがもらえることをご存知でしょうか?こちらをチェックしてください。 #Global Masters 0 0 0 114
記事 Toshihiko Minamoto · 2021年3月17日 31m read Kubernetesにおけるミラーリングを使用しない高可用性IRISデプロイ この記事では、従来のIRISミラーリング構成の代わりに、Kubernetesの Deploymentと分散永続ストレージを使って高可用性IRIS構成を構築します。 このデプロイでは、ノード、ストレージ、アベイラビリティーゾーンといったインフラストラクチャ関連の障害に耐えることが可能です。 以下に説明する方法を使用することで、RTOがわずかに延長されますが、デプロイの複雑さが大幅に軽減されます。 #AWS #Azure #Google Cloud Platform (GCP) #Kubernetes #Mirroring #クラウド #バックアップ #フェイルオーバー #高可用性 #InterSystems IRIS Open Exchange app 0 0 0 1.1K
お知らせ Mihoko Iijima · 2021年3月16日 第11回 InterSystems IRIS プログラミングコンテスト(開発者ツール)開催! 開発者の皆さん、こんにちは! 世界中の開発者からの熱いご要望により、新たなコンテストの開催が決定しました! 🏆 InterSystems IRIS プログラミングコンテスト: 開発者ツール 🏆 応募期間は 2021年3月29日~4月18日 です! 💰 賞金総額: $8,500 💰 (投票期間は 2021年4月19日~25日、勝者発表は 4月26日を予定しています) InterSystems IRIS を使用して、開発の迅速化、より質の高いコードの提供、テスト、デプロイ、サポート、またはソリューションの監視を支援するアプリケーションやツールを開発し、ご応募ください! #イベント #コンテスト #InterSystems IRIS #InterSystems IRIS for Health #IRIS contest #Open Exchange 0 0 0 170
記事 Toshihiko Minamoto · 2021年3月15日 16m read InterSystems IRIS のグローバルを使ったトランザクション。 InterSystems IRIS では、情報を格納する「グローバル」というユニークなデータ構造をサポートしています。 基本的に、グローバルとは、マルチレベルのインデックスを持つ永続配列であり、トランザクションの実行やツリー構造のスピーディなトラバーサルといった機能が備えられているほか、ObjectScript として知られるプログラミング言語にも対応しています。 ここから先、少なくともコードサンプルについては、グローバルの基礎を理解されているという想定のもとに話しを進めていきます。 グローバルはデータを保存するための魔法の剣です パート1 グローバルはデータを保存するための魔法の剣ですパート2 - ツリー グローバルはデータを保存するための魔法の剣です パート3 - 疎な配列 #グローバル #データベース #データベースのトランザクション処理 #Caché #InterSystems IRIS 0 0 0 871
質問 Mitsuru Amano · 2021年3月13日 %CSP.WebSokectの非同期動作(SharedConnection=1)でソケットクローズの検知 こんにちは、皆さん 私は、%CSP.WebSocketの非同期動作(SharedConnection=1)で、ソケットのクローズを検知する手段が見つからなくて困っています。 WebアプリケーションとIRIS間でソケットの接続、データの送受信は出来ましたが、Webアプリケーション側でソケットクローズしたとき、IRIS側でそれを検知する方法が分かりませんでした。 どなたか、IRIS(サーバ側)でソケットのクローズを検知する方法をご存じでしたら教えて下さい。 #JavaScript #InterSystems IRIS 0 3 0 190
お知らせ Toshihiko Minamoto · 2021年3月13日 開発者コミュニティに貢献するには 開発者の皆さん、こんにちは。 最近、インターシステムズ開発者コミュニティにより貢献したいという要望が多く寄せられます。 やり方は簡単です。 1. 質問に答える 開発者コミュニティには多くの 回答のない質問や ベストアンサーのない質問 があります。ぜひ、あなたの知識をシェアして他のメンバーを助けてあげてください。 2. 記事の投稿に貢献する インターシステムズの技術を使ったあなたの経験をぜひ記事に書いてください。ソリューションや開発時のノウハウ、デバッグ時のTipsやトリック、システム構築、その他、健全な開発をするためのその他のアプローチなど、何でも構いません。 こちらには、コミュニティにとって有益となる記事の例がたくさんあり、各国の言語に翻訳されています。 3. Open Exchangeのアプリケーションに貢献する あなたのライブラリやソリューション、ツールをGithubやGitlabのリポジトリを使って Open Exchange でシェアしてください。 #開発者コミュニティ公式 0 0 0 194
記事 Megumi Kakechi · 2021年3月10日 3m read RESTでセッション共有化する方法 これは InterSystems FAQ サイトの記事です。 REST アプリケーションはステートレスであることが想定されています。 しかし、複数の REST 呼び出し間でデータを保持したい場合などの理由で、Webセッションを使用したい場合は、UseSession パラメータを使用することができます。 以下のように、Web アプリケーションのディスパッチクラスとして定義された %CSP.REST のサブクラスでUseSession パラメータを指定することで、CSPと同じようにWebセッションを使用することが可能となります。 Class REST.MyServices Extends %CSP.REST { Parameter UseSession As Integer = 1; 詳細は以下のドキュメントをご覧ください。 #REST API #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 1.1K