記事 Mihoko Iijima · 2024年3月11日 2m read Embedded Pythonで$LIST()形式のデータを扱う方法 これは 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コマンドを利用した通常の方法でインストールできます。 #Embedded Python #ObjectScript #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 1 27
記事 Mihoko Iijima · 2024年3月6日 2m read プロダクションの設定項目をクラスメソッドで取得する方法 これは InterSystems FAQ サイトの記事です。 Ens.Directorクラスのクラスメソッドを使用して取得できます。 プロダクション名(FAQSample.Interop.Production)とホスト名(FAQSample.Interop.FileOperation)を指定して設定リストを取得する方法は以下の通りです。 #ヒントとコツ #相互運用性 #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 29
記事 Mihoko Iijima · 2024年3月4日 9m read オブジェクト同時(並行)処理オプションについて これは InterSystems FAQ サイトの記事です。 永続クラス定義(またはテーブル定義)に対してオブジェクト操作でデータの参照・更新を行うとき、オブジェクトオープンで使用する%OpenId()、オブジェクトの削除に使用する%DeleteId()の第2引数を使用して並行処理の制御方法を選択できます。 ご参考:オブジェクト同時処理のオプション 既定値は1です。(永続クラスのDEFAULTCONCURRENCYクラスパラメータでデフォルト値を指定できます。特に変更していない場合は 1を使用します) 並行処理の基本事項は以下の通りです。 #オブジェクトデータモデル #データベースのトランザクション処理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 32
記事 Mihoko Iijima · 2024年2月29日 3m read インデックス再構築が終わるまで新しく定義したインデックスを使用させない方法 これは InterSystems FAQ サイトの記事です。 新しいインデックスを定義した後、インデックスの再構築が完了する前にクエリを実行するとデータが存在しているにもかかわらず「検索結果0件」や検索結果数が徐々に増えるような状況が発生します。 インデックスを永続クラス定義(またはテーブル定義)に追加しコンパイルすることで今まで使用していたクエリ実行経路が削除され、再度同じクエリを実行するタイミングで新しいインデックス定義を含めた実行経路が作成されるためです。(この時にインデックス再構築が完了していないとインデックスデータが存在しない、または不完全であるため0件や徐々に検索結果数が増えるような状況を起こします。) これを起こさなために、新しいインデックスの再構築が終了するまでクエリオプティマイザにインデックスを使用させないように指定する方法が用意されています。 ※インデックスの再構築が完了したら、必ず指定を元に戻してください。 #SQL #インデックス付け #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 25
記事 Mihoko Iijima · 2024年2月27日 5m read もう1つの $ListBuild() の実装:Pythonライブラリ「iris-dollar-list」 1. iris-dollar-list DollarListは、Pythonのための$LIST()インタープリタです。 このインタプリタが作成された理由は以下の通りです。 Pythonで $LIST()を使いたいため。 Embedded Python で$LIST()がサポートされていないため。 NatveAPIでは、$LIST()の中に$LIST()のデータを埋め込むことをサポートしていないため。 この機能は、開発途中です。現時点では、$LIST()の中に、$LIST()、int 、string のデータを含めることができます。 作成中タイプ:fload、decimal、double このモジュールはPypiで利用できます: pip3 install iris-dollar-list Embedde PythonとNativeAPIに対応しています。 #InterSystems IRIS Open Exchange app 2 1 0 41
記事 Mihoko Iijima · 2024年2月27日 7m read REST経由で情報を入力する場合の Interoperability(相互運用性機能)のサンプル これは InterSystems FAQ サイトの記事です。 InterSystems製品のInteroperability(相互運用性機能)を利用する際、REST経由で情報入力を行う場合の作成方法についてサンプルプロダクションを利用しながらご紹介します。 サンプルはこちら👉https://github.com/Intersystems-jp/FAQ-Interop-REST 作成概要 サンプルプロダクションの流れ 作成方法 サンプルのインポート #ObjectScript #REST API #ヒントとコツ #ビジネスサービス #相互運用性 #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 39
記事 Mihoko Iijima · 2024年1月25日 6m read プライベートWebサーバ(PWS)を使用しないバージョンのコンテナ版IRIS利用時のWebサーバ設定例 この記事は、「プライベートWebサーバ(PWS)を使用しないバージョンの新規インストール/アップグレード:概要」の続きの記事で、コンテナ版IRISを利用する場合のWebサーバ設定例をご紹介します。(先に「概要」の記事をお読みいただくことをお勧めします。) バージョン2023.2以降のコンテナ版IRISを利用する場合、以下いずれかの方法で管理ポータルを含めたWebアクセスを行うための設定が必要です。 任意の場所にWebサーバを用意する Webゲートウェイ用コンテナを利用する この記事では、【Webゲートウェイ用コンテナを利用する】方法についてご紹介します。 #Docker #Web Gateway #コンテナ化 #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 79
バージョン2023.2以降のコンテナ版IRISを利用する場合、以下いずれかの方法で管理ポータルを含めたWebアクセスを行うための設定が必要です。 任意の場所にWebサーバを用意する Webゲートウェイ用コンテナを利用する この記事では、【Webゲートウェイ用コンテナを利用する】方法についてご紹介します。
記事 Mihoko Iijima · 2024年1月25日 12m read ApacheをWebサーバとする場合のプライベートWebサーバ(PWS)を使用しないバージョンの新規インストール/アップグレード この記事は、「プライベートWebサーバ(PWS)を使用しないバージョンの新規インストール/アップグレード:概要」の続きの記事で、ApacheをWebサーバとする場合の設定概要をご紹介します。(先に「概要」の記事をお読みいただくことをお勧めします。) 同一サーバ上にApacheとInterSystems製品をインストールする場合、事前にApacheをインストールしておくとApacheに必要なWebゲートウェイのインストールとIRISへの接続設定をインストーラーが自動で行います。 以降の説明では、以下のインストール方法について解説します。 1. Apacheを事前に準備しない状態での新規インストール 2. Apacheを事前に準備しない状態でのアップグレード 3. Apacheをインストールした後の新規/アップグレードインストール 4. Apacheの設定 ※ 図解では、InterSystems IRISを使用していますが、InterSystems製品で操作は共通です。 #Web Gateway #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 80
記事 Mihoko Iijima · 2024年1月25日 5m read IISをWebサーバとする場合のプライベートWebサーバ(PWS)を使用しないバージョンの新規インストール/アップグレード この記事は、「プライベートWebサーバ(PWS)を使用しないバージョンの新規インストール/アップグレード:概要」の続きの記事で、IISをWebサーバとする場合の設定概要をご紹介します。(先に「概要」の記事をお読みいただくことをお勧めします。) 同一サーバ上にIISとInterSystems製品をインストールする場合、事前にIISを有効化しておくとIISに必要なWebゲートウェイのインストールと設定をIRISのインストーラーが自動で行います。 以降の説明では、以下のインストール方法について解説します。 1. IISを事前に準備しない状態での新規インストール 2. IISを事前に準備しない状態でのアップグレード 3. IISをインストールした後の新規/アップグレードインストール 4. IISの設定 ※ 図解では、InterSystems IRISを使用していますが、InterSystems製品で操作は共通です。 #Web Gateway #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 64
記事 Mihoko Iijima · 2024年1月25日 4m read プライベートWebサーバ(PWS)を使用しないバージョンの新規インストール/アップグレード:概要 開発者の皆さん、こんにちは。 こちらの記事👉「Apache Webサーバ(プライベートWebサーバ: PWS)インストレーションの廃止」でご案内していましたが、コミュニティエディションを除くInterSystems製品のバージョン2023.2以降では、プライベートWebサーバ(*)を使用した管理ポータル/Webアクセスを非推奨に変更しました。 (*)プライベートWebサーバとは、バージョン2023.1以前のInterSystems製品をインストールすると自動でインストールされる簡易的なApacheで、52773番ポートで管理ポータルやWebアクセスのテストにご利用いただけるWebサーバです。(本番運用環境には適さない簡易的なWebサーバです) 新規インストール/アップグレードインストールによるプライベートWebサーバの利用可否やインストール時の選択項目の違いについての概要は以下表をご参照ください。 #Web Gateway #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 3 0 130
記事 Mihoko Iijima · 2024年1月18日 5m read Webサーバ(IISやApache)を利用してVSCodeからInterSystemsサーバに接続するときの注意点(バージョン2023.1以下) 開発者の皆さん、こんにちは! VSCodeのObjectScriptエクステンションを利用してInterSystems製品に接続するときに「プライベートWebサーバ (*1)」ではなく、「Webサーバ(IISやApache)」を利用される場合、接続時に使用するREST用パスが通るようにWebサーバに仮想パスを追加する必要があります。 (*1) プライベートWebサーバとは、バージョン2023.1以前のInterSystems製品をインストールすると自動でインストールされる簡易的なApacheで、52773番ポートで管理ポータルやWebアクセスのテストにご利用いただけるWebサーバです。(本番運用環境には適さない簡易的なWebサーバです) 対象バージョン:2023.1以下のInterSystems製品 追加が必要なパス: /api #ObjectScript #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health #VSCode 0 0 0 119
記事 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 405
記事 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 251
記事 Mihoko Iijima · 2023年9月26日 4m read SQLAlchemy - IRISのデータベースでPythonとSQLを使う最も簡単な方法(過去のコンテスト記事ご紹介) この記事では、2023年3月1日~31日の期間に開催された「技術文書ライティングコンテスト:InterSystems IRISチュートリアル」に応募された24作品の中から、Open Exchangeに公開されている sqlalchemy-iris を利用してPythonとSQLでIRISのデータを操作する方法を投稿された Heloisa Paivaさんの記事をご紹介します。 Open Exchangeは、世界各地にいる開発者コミュニティメンバーが開発したインターシステムズ製品で利用できるサンプルアプリが登録されているページで、自由にダウンロードしてご利用いただけます。 Heloisaさんの記事のように公開されている Open Exchange の利用例があると、「ちょっと使ってみたいな・・」と思われているメンバーの方への情報共有ができてとても有用な記事になると思います!丁度日本で初開催の「技術文書ライティングコンテスト」開催中ですので、ぜひ使用例や感想など、投稿してみてください!💪 #Innovatium #Python #SQL #チュートリアル #InterSystems IRIS #Open Exchange Open Exchange app 0 0 0 215
記事 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 252
記事 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 216
記事 Mihoko Iijima · 2023年9月13日 3m read Quick sample:データベース作成チュートリアル(過去のコンテスト投稿記事のご紹介) この記事では、2023年3月1日~31日の期間に開催された「技術文書ライティングコンテスト:InterSystems IRISチュートリアル」に応募された24作品の中から、Heloisa Paivaさんが投稿されたシンプルですぐに試せる記事をご紹介します。 はじめに このチュートリアルは、テストやチュートリアル用のサンプル作成など、あらゆる目的でサンプルデータベースを作成するための、私が見つけた最も簡単な方法についての簡単なチュートリアルです。 ネームスペースの作成 ターミナルを開きます。 次のコマンドを実行します。 "Do $SYSTEM.SQL.Shell()" (※または :sql の入力でもSQLシェルに切り替えできます) "CREATE DATABASE " コマンドを実行します。実行時、作成したいネームスペース名をコマンドの引数に指定します。(TESTネームスペースを作成する例:CREATE DATABASE TEST) これで、管理ポータルから新しいネームスペースを作成するより簡単で素早い方法でネームスペースを作成できます。 #Innovatium #SQL #チュートリアル #InterSystems IRIS 1 0 0 86
記事 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 133
記事 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 483
記事 Mihoko Iijima · 2023年6月13日 1m read プロダクションをリセットする方法、インバウンドアダプタが持つ情報をリセットする方法 これは InterSystems FAQ サイトの記事です。 注意:本番環境では実行しないでください。テスト環境でご利用ください。 開発時にプロダクションに残っているキューを一括でクリアしたり、プロダクションに関連した一次的な情報をすべて消去したい場合、以下メソッドを利用して実行中のプロダクション情報をリセットできます。 #ヒントとコツ #相互運用性 #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 89