記事 Mihoko Iijima · 2023年5月30日 2m read Embedded Pythonから%SYSTEMパッケージ以下クラスを呼び出す方法 これは InterSystems FAQ サイトの記事です。 %SYSTEMパッケージには沢山の便利なシステムクラスがあり、Embedded Pythonでも一般クラスと同様に%SYSTEMパッケージ以下クラスを操作できます(iris.cls("クラス名").メソッド名()で呼び出せます)。 ObjectScriptでは、$SYSTEM特殊変数を利用して、%SYSTEMパッケージ以下クラスのメソッドを呼び出すことができますが、Embedded Pythonでは、iris.system を利用して実行することができます。 以下実行例をご紹介します。 現在のネームスペースを取得する 一般クラスと同じ呼び出し方の例 #Embedded Python #Python #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 63
記事 Toshihiko Minamoto · 2024年4月8日 10m read Open AI と IRIS の統合 - ファイル管理 人工知能は、命令によってテキストから画像を生成したり、単純な指示によって物語を差作成したりすることだけに限られていません。 多様な写真を作成したり、既存の写真に特殊な背景を含めたりすることもできます。 また、話者の言語や速度に関係なく、音声のトランスクリプションを取得することも可能です。 では、ファイル管理の仕組みを調べてみましょう。 #AI #ビジネスオペレーション #フレームワーク #InterSystems IRIS #Open Exchange Open Exchange app 0 0 0 34
記事 Megumi Kakechi · 2023年5月30日 3m read ApacheでRESTを動かす場合の設定方法 (含:Webゲートウェイのインストール手順) これは InterSystems FAQ サイトの記事です。 Apache環境でRESTを動かすための設定方法は以下のとおりです。 1. Webゲートウェイをインストールします 添付(Webゲートウェイインストール手順.pdf)の手順に従い、Webゲートウェイをインストールします。※Webゲートウェイをインストールする前に、Apacheを停止してください。 #Web Gateway #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 258
記事 Mihoko Iijima · 2023年6月1日 7m read システム連携の自動的な流れの中にユーザからの指示を介入できる「ワークフローコンポーネント」のサンプル 開発者の皆さん、こんにちは。 先日のウェビナーでご紹介した「ワークフローコンポーネント」をお試しいただけるサンプルを公開しました。👉 https://github.com/Intersystems-jp/WorkFlow-DC 《サンプルのテーマ》 店舗で販売している商品に付けるPOPメッセージ候補を予めテーブルに登録できる仕組みが既にある、と仮定しています。 IRISの Interoperability を利用してPOPメッセージ候補が登録されるテーブルに対して一定間隔でSELECT文を実行し、未処理のメッセージを取得します。新たなレコードが存在する場合、ワークフローコンポーネントを利用して担当者に審査を依頼します。 担当者は、ワークフローユーザポータルを使用して、POPメッセージ候補の承認/却下を指示できるようにしています。 #Docker #Embedded Python #ビジネスオペレーション #相互運用性 #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 144
記事 Tomoko Furuzono · 2023年7月2日 3m read プログラムからグローバルのインポート/エクスポート処理を呼び出す方法 これは、InterSystems FAQサイトの記事です。 以下の様な方法で、グローバルのインポート/エクスポート処理をプログラムに組み込むことができます。 1. グローバルエクスポート方法1.1 XML形式でのエクスポートグローバルをXML形式のファイルにエクスポートする場合、$system.OBJ.Export() を使用します。 1.1.1. 指定したグローバルをエクスポートする場合エクスポート対象グローバルを グローバル名.gbl で指定します(先頭の ^ は不要)。例: #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 83
記事 Toshihiko Minamoto · 2023年12月14日 4m read IRIS コンテナに VSCode を追加する IRIS コンテナに VSCode を追加する 繰り返し利用できる開発環境をセットアップするには、環境用のコンテナを起動するのが最も簡単な方法の 1 つです。 素早く繰り返す際には、自分の開発コンテナ内に vscode インスタンスをホストするのが非常に便利なことが分かりました。 そこで、ブラウザベースの vscode を IRIS コンテナに追加するための簡易コンテナスクリプトを作成しました。 これは、ほとんどの 2021.1+ のコンテナで動作するはずです。 私のコードリポジトリはこちらにあります。 vscode を含み事前に接続された InterSystems IRIS コンテナ #DevOps #ベストプラクティス #開発環境 #InterSystems IRIS #VSCode 0 0 0 81
記事 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 268
記事 Toshihiko Minamoto · 2024年1月18日 3m read CPU のマイクロアーキテクチャファミリと命令セットの判定方法 はじめに InterSystems は、最新の CPU 命令セット拡張機能を活用するために、IRIS を最適化したいと考えています。製品のパフォーマンスに対しては素晴らしいことですが、CPU が新しい IRIS ビルドにサポートされるかを知るにはどうすればよいでしょうか。ここでは、CPU のマイクロアーキテクチャファミリと CPU の特定の命令セット拡張機能を知る方法について説明します。 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 54
記事 Megumi Kakechi · 2024年3月11日 2m read SQLのINSERT/UPDATE文でデータ更新時にインデックスを作成しない方法 これは InterSystems FAQ サイトの記事です。 SQLのINSERT/UPDATE/DELETE文で大量のデータを更新する際に、高速化する方法をご紹介します。以下の2つの手順を実行することで、更新処理のパフォーマンスを向上させることが可能です。 1.INSERT/UPDATE/DELETE時にインデックスを作成せず、あとでまとめて作成する 2.INSERT/UPDATE/DELETE時にジャーナルをOFFにする 1は、%NOINDEX キーワードを指定してインデックスの生成を後でまとめて行うことで、インデックスの構築を抑制しパフォーマンスを向上させる方法です。 クエリ実行例は、以下のようになります。 #ObjectScript #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 70
記事 Megumi Kakechi · 2024年4月25日 2m read 大きいデータを持つフィールドに対してインデックスを作成する方法 大きなサイズのデータを持つフィールドに対してインデックスを作成すると、<SUBSCRIPT>エラーとなることがあります。 これは、グローバルの添え字(サブスクリプト)のサイズには制限があり、制限を超えるとエラーとなるためです。 例えば、以下のようなインデックスの場合、 ^Sample.PersonI("NameIdx"," xxx...xxx",1) = "" グローバル名+サブスクリプト部(=の左側)が、エンコード文字数で最長 511 文字を超えるとエラーとなります(日本語の場合はもっと小さな文字数です)。 ※ご参考:グローバル参照の最大長 #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 22
記事 Tomoko Furuzono · 2024年3月18日 1m read Pythonを使用して、外部のサーバからIRISへアクセスする これは、InterSystems FAQサイトの記事です。 Pythonで、IRISサーバ外部から、IRISの処理を呼び出したりIRISのデータを扱いたい場合には、Native API for Pythonを使用します。モジュールのインポートは、 import irisnative で、行います。詳細は、下記ドキュメント及び、各関連トピックをご参照ください。[ドキュメント] InterSystems Native SDK for Python #Python #言語 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 23
記事 Mihoko Iijima · 2023年6月1日 21m read ワークフローコンポーネントを使ってみよう!~使用手順解説~ 開発者の皆さん、こんにちは! この記事では、システム連携の自動的な流れの中にユーザからの指示を介入できる「ワークフローコンポーネント」のサンプル でご紹介した内容を、お手元のIRIS、IRIS for Healthを利用して体験いただくための手順を解説します。 なお、ワークフローコンポーネントでどんなことができるのか?の概要説明については、ウェビナーをご参照ください。 A.事前準備 1) InterSystems IRIS または、IRIS for Healthのインストール環境をご用意ください。 まだインストール環境がない場合は、コミュニティエディション(コンテナ版かキット版)をご利用ください。 #チュートリアル #初心者 #相互運用性 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 201
記事 Megumi Kakechi · 2024年3月24日 2m read テーブル統計情報をエクスポートして別環境にインポートする方法 これは InterSystems FAQ サイトの記事です。 クエリパフォーマンスを左右するクエリプランは、テーブルチューニングを行った結果の統計情報を元に生成されます。 ある環境で期待したプランになったけれど、他の環境では意図したプランにならない場合、(期待したプランとなる)既存環境からテーブル統計情報をエクスポートして別の環境にインポートし、同じ統計情報をもとにしたクエリプランで実行することができます。 #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 26
記事 Toshihiko Minamoto · 2024年4月1日 5m read Embedded Python と OpenAI API を使った IRIS でのデータのタグ付け 大規模言語モデル(OpenAI の GPT-4 など)の発明と一般化によって、最近までは手動での処理が非現実的または不可能ですらあった大量の非構造化データを使用できる革新的なソリューションの波が押し寄せています。 データ検索(検索拡張生成に関する優れた紹介については、Don Woodlock の ML301 コースをご覧ください)、センチメント分析、完全自律型の AI エージェントなど、様々なアプリケーションが存在します。 #AI #API #Embedded Python #ObjectScript #Python #分析 #非構造化データ #InterSystems IRIS 0 0 0 25
記事 Tomoko Furuzono · 2024年3月18日 3m read 任意のXMLドキュメントの読み込み・書き出しを行う これは、InterSystems FAQサイトの記事です。 【任意のXMLドキュメントの読み込み】任意のXMLドキュメントの読み込み・書き出しを行うには、%XML.TextReaderクラスを使用します。Parseメソッド(※ドキュメントがファイルの場合はParseFile())を使用してドキュメントをParseし、各ノードのプロパティを取得します。 例えば、下記のXMLの場合、 <emp empid="1"> <name>Suzuki</name> <address>Tokyo</address> </emp> 各赤枠が、"ノード"の単位となり、 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 30
記事 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 137
記事 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 507
記事 Megumi Kakechi · 2024年4月2日 3m read クエリパフォーマンスが出ない場合の対処方法(凍結プランが関係している場合) これは InterSystems FAQ サイトの記事です。 #SQL #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 29
記事 Toshihiko Minamoto · 2024年3月21日 7m read 開発者用の clinFHIR この記事では、FHIR を理解し、FHIR アーティファクトを使用するアプリケーションを開発できるようにするために clinFHIR アプリケーションを使用する方法を説明しています。 FHIR の紹介を意図したものではなく、学習 / 開発の過程で clinFHIR がどのように役立てられるかを説明しています。 相応に概要レベルでの説明となっています。その他の情報は、特に私の個人ブログで提供しています。 #InterSystems IRIS for Health 0 0 1 17
記事 Toshihiko Minamoto · 2024年4月23日 2m read サーバーの共有ネームスペースにて作業する皆さんに VS Code の設定、スニペット、およびデバッグ構成を提供する方法 VS Code を使ってコードを編集する場合、設定モデルでは、ワークスペースルートフォルダの .vscode サブフォルダにある settings.json ファイルを使用して、一部の設定にフォルダ固有の値を指定できます。 ワークスペースのルートフォルダ内で作業している場合、ここで設定した値は個人設定の値よりも優先されます。 #開発環境 #VSCode Open Exchange app 0 0 0 26
記事 Toshihiko Minamoto · 2023年8月15日 9m read Docker による Apache Web ゲートウェイ Docker による Apache Web ゲートウェイ コミュニティの皆さん、こんにちは。 この記事では、以下を使用して、Docker でプログラムによって Apache Web ゲートウェイを構成します。 HTTPS プロトコル Web ゲートウェイと IRIS インスタンス間の安全な通信を確保する TLS/SSL イメージには、Web ゲートウェイ用と IRIS インスタンス用の 2 つを使用します。 すべての必要なファイルは、こちらの GitHub リポジトリで入手可能です。 では、git clone から始めましょう。 #DevOps #Web Gateway #ベストプラクティス #InterSystems IRIS 0 0 0 143
記事 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 126
記事 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 1 143
記事 Hiroshi Sato · 2023年12月26日 7m read CSPアプリケーションをReactを使って書き換えるその3 それでは、今回はより具体的にReact開発方法について解説します。ショップデモのリポジトリの配下にreactというディレクトリがあります。 この下にReactのコードがあります。 ここのreact-setup.mdに記載されている通り、前準備としてreactのテンプレートを作ります。 npx create-react-app shopdemo --template typescript あとはこのReactプロジェクトを動かすためのライブラリのインストールを行います。 詳細は、react-setup.mdに書いてあります。 まず3つのディレクトリがあって、これは絶対こうしなければならないというものでもないのですが、基本的なお作法として用意するのが一般的なようです。 #CSP #React #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 91
記事 Megumi Kakechi · 2024年3月3日 2m read ユーザではなくロールに対してSQL権限を割り当てる方法 これは InterSystems FAQ サイトの記事です。 ユーザに権限を与えたい場合、「GRANT」コマンドや「GrantPrivilegeメソッド」を使用しますが、ロールに対しても権限を与えることができます。 例えば、特定スキーマにのみ何でもできるロールを作成し、それを特定のユーザに割り当てるようなことが可能となります。 こちらの記事では、その方法をご紹介します。 (1) GrantPrivilegeメソッドを使用して「スキーマXXX に何でもできるロール」を作成し、(2) 該当ユーザに (1) のロールを割り当てる ★GRANT文を使う場合 #SQL #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 38
記事 Toshihiko Minamoto · 2024年4月18日 13m read レシピデータセットを外部テーブルで読み込み、組み込みPythonでLLMを使って分析する (Langchain + OpenAI) 我々には、Redditユーザーが書いた、おいしいレシピデータセット がありますが, 情報のほとんどは投稿されたタイトルや説明といったフリーテキストです。埋め込みPythonやLangchainフレームワークにあるOpenAIの大規模言語モデルの機能を使い、このデータセットを簡単にロードし、特徴を抽出、分析する方法を紹介しましょう。 データセットのロード まず最初に、データセットをロードするかデータセットに接続する必要があります。 #AI #Code Snippet #CSV #Embedded Python #JSON #ObjectScript #Python #SQL #ターミナル #InterSystems IRIS 0 0 0 43
記事 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 66
記事 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 185
記事 Hiroshi Sato · 2023年12月26日 3m read CSPアプリケーションをReactを使って書き換えるその4 IRIS側の処理は、IRISでREST APIを実装する方法を理解していれば、簡単です。 前回のログイン処理でユーザー認証をIRIS側でどのように実装されているか確認して見ましょう。 まずはディスパッチクラスの定義です。 Shop.Brokerというクラスの中で定義されています。 checkpasswordというメソッドが最後に定義されていて、最終的にShop.Rest.Customer:checkPasswordという(クラス)メソッドが呼ばれているのがわかると思います。 ここで定義しているパラメータは、とりあえずおまじない的に含めておくことをお勧めします。 (説明し出すと少し長くなるので) Class Shop.Broker Extends %CSP.REST{ Parameter CONVERTINPUTSTREAM = 1; Parameter HandleCorsRequest = 1; #CSP #React #REST API #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 55
記事 Megumi Kakechi · 2024年2月28日 2m read InterSystems IRIS との通信に SSL/TLS を使用する際のクライアントの構成について これは InterSystems FAQ サイトの記事です。 InterSystems IRIS との通信に SSL/TLS を使用する際のクライアントの構成は、使用する技術によって変わってきます。 1. ODBCクライアント、IRISクライアントから接続の場合(IRISスタジオやターミナルなど)2. .NET クライアントから接続の場合(SSLDefs.iniは要りません) ★1.ODBCクライアント、IRISクライアントから接続の場合(IRISスタジオやターミナルなど) ODBCやIRISクライアントから接続する場合は、以下の記事にある設定が必要となります。具体的には、SSLDefs.iniという設定ファイルを作成し、決められた場所に配置します。 #セキュリティ #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 43