#InterSystems IRIS for Health

0 フォロワー · 930 投稿

InterSystems IRIS for Health™は、世界で最も重要なデータを管理する医療アプリケーションの迅速な開発を目的に特別に設計された世界初、かつ唯一のデータプラットフォームです。 トランザクションの処理と分析、拡張可能な医療データモデル、FHIRベースのソリューション開発、医療情報の相互運用性に関わる標準規格への対応など、すぐに使える強力な機能を搭載しています。 これらすべての機能により、開発者は価値を実現し、画期的なアプリケーションをすばやく構築することができます。 詳細はこちらをご覧ください

記事 Mihoko Iijima · 5月 16, 2024 27m read

この記事は、「インターシステムズ製品をバックアップする前に確認したいこと」に続く記事で、InterSystems製品のバックアップの手法の中の「オンラインバックアップ」の仕組みと、バックアップ・リストア手順について解説します。

オンラインバックアップは、InterSystems製品が用意するバックアップ機能を利用する方法で、バックアップ対象に設定した全データベースの使用済ブロックをバックアップする方法です。

InterSystems製品のデータベースには、サーバ側で記述したコード、テーブル定義/クラス定義、データ(レコード、永続オブジェクト、グローバル)が格納されていますので、これらすべてが1つのファイルにバックアップされます。

データ量が増えればバックアップファイルサイズも大きくなります。 また、データ量の増加に伴いバックアップ時間も長くなります。

バックアップ時間に制限のない環境や、ユーザからのアクセスがない環境(例:ディザスタリカバリの目的で配置しているミラーリングの非同期メンバ)のバックアップ方法としては最適ですが、バックアップ時間に制限がある場合は不向きです。

バックアップ時間をできるだけ短くしたい場合は、推奨方法である「外部バックアップ」や、手順が少し複雑になりますが「並行外部バックアップ」を取り入れるなどご検討ください。

0
0 431
記事 Mihoko Iijima · 8月 21, 2024 3m read

開発者の皆さんこんにちは!

9月2日から、🖋第2回 InterSystems Japan 技術文書ライティングコンテスト🖋 が始まります!応募の準備はばっちりでしょうか?👀

この記事では、昨年開催したコンテストに応募いただいた作品を審査員コメントを添えてご紹介します。

(審査員コメントは昨年11月に開催したミートアップ内で行ったコンテスト表彰式で紹介した内容です)

@Akio Hashimoto さんが投稿された DockerにIRISを構築する簡単なチュートリアル

審査員コメント:

  • IRISのコンテナを作成する手順を必要十分に、かつシンプルに説明されている。
  • まずはコンテナ版IRISを動かしてみたい!と思っている方に最適なチュートリアルだと思いました。

@Junichi Sakata さんが投稿された  Embedded Pythonの使い所は?

審査員コメント:

  • Embedded Pythonを使うと何がうれしいのか?について、具体的に試された内容とまとめがかかれていてとても参考になる記事

@Yuji Ohata さんが投稿された AWS環境を用いたCI/CDの仕組みの紹介。

審査員コメント:

  • 普遍的なトピック(CI/CD)を、IRISでのケースに当てはめながら分かりやすく説明されていた。
0
0 139
記事 Mihoko Iijima · 1月 13, 2025 1m read

これは InterSystems FAQ サイトの記事です。

<ALARM>エラーは、クライアントアプリでタイムアウトが発生し、その結果InterSytemsサーバのプロセスがあわせて終了している状況をあらわしています。

クライアントアプリで、タイムアウト設定を無効にすることで回避できる可能性があります。

例えば、クライアントアプリから初回実行するSQL文がある場合、初回実行時のみInterSystems製品内部にクエリキャッシュ(=コンパイル済クエリ)を生成するため(※1)通常実行よりも時間がかかります(2回目以降の実行ではコンパイルは行われません)。

例えば、コンパイルに非常に時間がかかるSQL文の初回実行をクライアントアプリから命令し、タイムアウト以内に応答が戻らない場合 <ALARM> エラーが発生します。

※1:IRIS2020.1以降では埋め込みSQLで記述されたクエリも、初回実行時にコンパイルされます(2019.1以前では、埋め込みSQLを含むクラス/ルーチンがコンパイルされるタイミングでSQLもコンパイルされます)。

0
0 49
記事 Hiroshi Sato · 4月 1, 2025 1m read

これは InterSystems FAQ サイトの記事です。

Content-Typeにcharset 情報が含まれていない場合、IRIS/Cachéは文字コードを判断できず文字コード変換が行われません。

 

そこで、以下のように、「自動的な文字変換を行わず、UTF-8に変換する処理を記述」することで、その指定がある無しに関わらず、対応することができます。
 

 // requestオブジェクトは以下のように生成 
 // 詳細処理は省略
 // set request=##class(%Net.HttpRequest).%New()
 // リクエスト時に、文字変換を行わないように指定
 set request.ReadRawMode=1
 do request.Send("POST",URL)

 // 受取ったデータを、UTF-8に変換してから、JSON変換
 set response = request.HttpResponse.Data
 set data = response.Read()
 set data2 = $zcvt(data,"I","UTF8")
 set response = {}.%FromJSON(data2)
 write response.
0
0 126
記事 Hiroshi Sato · 7月 27, 2025 4m read

これは InterSystems FAQ サイトの記事です。
 

ODBCクライアントからのアクセスでエラーが発生した場合、返ってきたエラーメッセージやコンソールログ上の情報だけでは原因がよくわからない場合があります。

そのような場合にODBCドライバのクライアントログを有効にすることで、エラーについての詳細情報を取得することができます

ODBCログの有効化については以下をご参照ください。

ODBCログの有効化

Windowsの場合は、上記に記載されている通り、2種類のログが取得できます。

  • クライアント・ドライバのログを有効にするには、ODBCデータソースアドミニストレータで使用しているDSNの「ODBCログ」チェックボックスをチェックします。 

 

 

  • ドライバー・マネージャのログを有効にするには、[トレース]タブをクリックして[トレースの開始]ボタンをクリックします。

   

変更の反映にはODBCクライアントアプリケーションを再起動する必要があります。

既定のODBCクライアントログファイル名は IRISODBC.log で、既定の場所は C:¥Users¥Public¥Logs です。

既定のトレースログ名は、SQL.logで、既定の場所は、c:¥Users¥<ユーザー名>AppData¥Local¥Temp¥です。

0
0 202
記事 Hiroshi Sato · 12月 8, 2025 6m read

これは InterSystems FAQ サイトの記事です。
 

WebSocketは、リアルタイム双方向通信を可能にするプロトコルで、Webアプリケーションの動的な操作性を向上させるために広く活用されています。

この技術は、TCP上で動作し、HTTPプロトコルを介して接続を確立します。

一度接続が確立されると、持続的な接続が維持され、サーバーとクライアントが効率的にデータを交換できるのが特徴です。

通常のHTTP通信の場合、クライアントからのリクエストに対してサーバーが応答するというのが基本的な動作になるため、サーバーから非同期にデータを送信することが難しいですが、WebSocketを利用することでそのような機能を簡単に実現できます。

一方で、サーバーからの一方向の非同期通信が実現できれば良いという要件であれば、SSE (Server-Sent Events)を使用することもできます。

一般的にWebSocket通信が最も適していると考えられるのは、クライアント・サーバー間で双方向にデータを交換する必要がある場合になります。

双方向の接続を維持する必要があるため、状況によって、サーバー上のコンピュータ資源の消費(メモリー、CPU、IRISライセンス使用量など)に注意する必要があります。

0
0 61
記事 Mihoko Iijima · 10月 27, 2020 7m read

この記事はこちらの投稿の続きの内容です。

前回の記事では、Interoperability(相互運用性)メニューを利用してシステム統合を行う際、どのような仕組みで動作しているのかについて解説しました。

今回の記事では、Interoperability(相互運用性)メニューを利用してでシステム統合を行うためにどのような開発を行うのか、について解説します。

最初に、どんな流れを作りたいのか?を考えながら、以下の内容を作成していきます。

  • プロダクション
  • メッセージ
  • コンポーネント
    • ビジネス・サービス
    • ビジネス・プロセス
    • ビジネス・オペレーション

 

プロダクション については、システム統合を行うために必要なコンポーネントの指定と、コンポーネントの設定を保存しておくため定義で、管理ポータルを使用して設定します(内部的にはプロダクション用クラス定義として保存されます)。

例えば、一定間隔で指定ディレクトリに置かれたファイルを処理するビジネス・サービスを作成している場合、「どのディレクトリを監視するのか」「どのファイルを処理したらいいのか」を具体的に設定します。この設定を保存するために用意するのが プロダクション です。

なお、設定内容はデータを送受信するコンポーネントが使用するアダプタにより異なります。

0
0 1254
記事 Mihoko Iijima · 12月 15, 2020 2m read

これはInterSystems FAQ サイトの記事です。

REST のベース URL を /rest とした場合の IIS と Webゲートウェイの設定内容は以下の通りです。

 

IIS の設定内容

アプリケーション /rest を作成し、ハンドラーマッピングで * = CSPms を定義します。

ハンドラーマッピングの設定手順は以下の通りです。

IIS > Default Website > アプリケーション /rest > "ハンドラーマッピング" をダブルクリック > モジュールマップの追加

  • 要求パス :     *
  • モジュール:   CSPms
  • 名前   :   CSPGW    (任意の名前) 

要求の制限 > [要求のマップ先が次の場合のみハンドラーを呼び出す] のチェックはオフにします。
※こちらの設定はデフォルトでは「チェックあり」になっていますのでご注意ください。

この構成により、IIS は /rest アプリケーションを Web ゲートウェイに転送します。

 

 

Webゲートウェイの構成

Web Gateway のアプリケーションアクセス から /rest を追加します。
→既存アプリケーションをクリックしてコピーし、アプリケーションパスを /rest に設定しIRISサーバを指定します。

0
0 3895
記事 Mihoko Iijima · 2月 19, 2021 1m read

これは InterSystems FAQ サイトの記事です。

インターシステムズは、個々の仮想化ソフトウェアに対して、弊社製品の動作検証は行なっておりません。

インターシステムズでは、弊社製品がサポートするプラットフォームをサーバプラットフォームという単位で定義しています。

サーバプラットフォームは、オペレーティングシステムとそのバージョン、およびそのオペレーティングシステムが動作するプロセッサタイプの 3 つの要素で定義されます。

従いまして、ある仮想ソフト上で InterSystems 製品がサポートしているサーバプラットフォームが稼動し、その上で InterSystems 製品が動作している限りにおいて、製品のサポートを提供します。

0
0 112
記事 Megumi Kakechi · 4月 9, 2021 2m read

これは InterSystems FAQ サイトの記事です。
 

グローバル変数毎のデータベースキャッシュ使用量を確認するツール(^GLOBUFFユーティリティ)が用意されています。

%SYSネームスペースにて、ユーティリティを直接実行する方法と、プログラムで実行する方法があります。
 

ユーティリティを直接実行する方法は以下のようになります。

USER>zn "%SYS"
 
%SYS>do ^GLOBUFF
 
Find which globals are using the most buffers.
 
Display the top <25>:     → Enter押下  // デフォルトは上位25グローバルを表示
 
Total buffers: 102400     Buffers in use: 6926     PPG buffers: 77 (1.112%)   // グローバル名とデータベース名、バッファに占める割合が出力されます
 
Item  Global                             Database          Percentage (Count)
1     oddDEF                             IRISLIB              34.
0
1 468
記事 Megumi Kakechi · 6月 7, 2021 1m read

これは InterSystems FAQ サイトの記事です。
Question:

 IRISは医療に特化したシステム統合製品ですか? 

Answer:

InterSystems IRIS Data Platform(以下IRISと表記)は、金融、物流など様々な業種でお使いいただいています。

また、IRISから派生して医療分野に特化したInterSystems IRIS for Health(以下IRIS4Hと表記)という製品があります。

IRIS4Hでは医療分野で良く使われる情報交換規格 HL7(FHIR,V2,V3,CDA)、DICOM、X12 などへの対応に力を入れています。

医療分野のお客様には、IRIS4Hをご利用いただくようお願いしております。

0
0 176
記事 Mihoko Iijima · 9月 24, 2021 3m read

これは InterSystems FAQ サイトの記事です。

システムユーティリティクラスを利用したプログラムを作成することで出力できます。

【注意1】出力データの区切り文字がカンマではなくタブで出力されます点、ご注意ください。

【注意2】エクセルでタブ区切りのファイルを開くため、エクセルの開くメニューから出力したファイルを開いてください。

処理概要は以下の通りです。

1) %SYSTEM.SQL クラス(※)の Execute() メソッドを使用します。

第1引数:SQL文を指定します。

第2引数:内部日付が格納されている場合 yyyy-mm-dd で出力されるように表示モードを切り替えます。(1:odbcモード)

詳細は下記ドキュメントページおよびクラスリファレンスをご参照ください。

ドキュメント - $SYSTEM.SQL.Execute()【IRIS
クラスリファレンス - $SYSTEM.SQLクラス - Execute()メソッド【IRIS

ドキュメント - $SYSTEM.SQL.Execute()
クラスリファレンス - $SYSTEM.SQLクラス - Execute()メソッド

※ %SYSTEMパッケージ以下クラスは $system 特殊変数を利用してメソッドを実行できます。

set rset=$system.SQL.
0
0 1286
記事 Megumi Kakechi · 11月 15, 2021 1m read

これは InterSystems FAQ サイトの記事です。

SELinuxの機能が有効になっているとファイルアクセス時にセキュリティコンテキストのチェックで permission エラーになります。

CSP のページについても同様に permission エラーになっているため、Apache にて 403 Forbidden エラーになります。  

以下の設定でSELinuxの機能を無効にすることで回避できます。

設定ファイル /etc/selinux/config の SELINUX=disableに設定し、OS の再起動を行います。

例:

 # This file controls the state of SELinux on the system.
  # SELINUX= can take one of these three values:<
  # enforcing - SELinux security policy is enforced.
  # permissive - SELinux prints warnings instead of enforcing.
  # disabled - SELinux is fully disabled.
  SELINUX=disabled
  # SELINUXTYPE= type of policy in use.
0
0 409
記事 Mihoko Iijima · 3月 29, 2022 11m read

これは、InterSystems FAQサイトの記事です。

データベースの空き容量は、システムモニタを使用して監視することができます。

システムモニタは、システム開始時に自動開始され、予め設定された閾値に対してアラートが通知されます。

システムの閾値については以下ドキュメントをご参照ください。
システム・モニタのステータスおよびリソース・メトリック【IRIS】
システム・モニタのステータスおよびリソース・メトリック

 

データベースの空き容量については、システムデフォルトでは 50 MBを下回る場合にアラートが通知され、メッセージログ(コンソールログ)にアラート(深刻度 2)として記録され、alerts.log ファイルにも出力されます。

データベースの空き容量を任意サイズで監視したい場合、システムモニタに含まれる「アプリケーションモニタ」を利用して設定します。
注意:アプリケーションモニタでは、アラート対象となる情報があってもメッセージログ(コンソールログ)に出力しないため、メール通知/メソッド実行 を使用して通知するように設定します。

 

例えば、空き容量が 100MB を下回った時にアラートを通知したい場合は、アプリケーションモニタが提供する %Monitor.System.Sample.Freespace(空き容量メトリック)を利用します。

0
0 245
記事 Megumi Kakechi · 7月 26, 2022 5m read

Embedded Python で Excel のデータを IRIS グローバルに格納する方法 では Excel データを pandas.DataFrame に取り込んで、それを InterSystems IRIS グローバルに保存する方法をご紹介しました。

今回は「lxml を使用し Web スクレイピングした表(テーブル)のデータを InterSystems IRIS グローバルに格納する」方法をご紹介します。


※以下は Windows 上の IRIS でのインストール方法になります。
 UNIX ベースのシステムでは、pip3 コマンドを使用してインストールします。詳細は ドキュメント をご覧ください。

最初に、irispip コマンドで必要なライブラリをインストールします。
今回は、pandas、lxml の2つのライブラリをインストールします。

0
0 301
記事 Toshihiko Minamoto · 1月 24, 2023 4m read

ZPM は、InterSystems IRIS データプラットフォーム用のアプリケーションやモジュールと連携するように設計されています。モジュールを管理するためのCLIであるZPN Clientと、モジュールやメタ情報のデータベースであるThe Registryの2つのコンポーネントで構成されています。ZPM を使用して、モジュールの検索、インストール、アップグレード、削除、公開を行うことができます。ZPMを使用すると、ObjectScriptクラス、フロントエンドアプリケーション、Interoperabilityプロダクション、IRIS BIソリューション、IRISデータセット、またはEmbedded Pythonホイールなどのあらゆるファイルをインストールできます。 

今日、このクックブックは3つのセクションについて説明します。

  1. ZPMのインストール
  2. モジュールの作成
  3. Registry内のモジュールの検索、インストール、公開

 

  1. ZPMのインストール
  • ZPM最新バージョンのダウンロード(1つのXMLファイルです)ダウンロードリンク
  • ダウンロードしたXMLをIRISにインポートし、IRISターミナルを開き、次のようにコマンドを入力するだけでIRISにデプロイされます。

write $SYSTEM.OBJ.Load("C:\zpm.xml", "c")

注意:"C:\zpm.

0
0 234
記事 Tomoko Furuzono · 4月 11, 2023 1m read

これは、InterSystems FAQサイトの記事です。
HL7の仕様では、日本語データを送受信する場合はJISを文字コードとして利用し、メッセージヘッダ(MSH)の18番目の2項目に iso-ir87 を指定します。
HL7用プロダクションでは、情報の入力はビジネスサービス、情報の出力はビジネスオペレーションを利用します。
日本語を含むHL7を送受信する場合は、入力/出力の対象となる全てのコンポーネントの設定で [追加の設定] の「キャラクターセット(Charset)」に iso-ir87 を指定することで正しく日本語データを取り扱うことができます。

iso-ir-87の設定

0
0 436
記事 Mihoko Iijima · 6月 12, 2023 2m read

FHIRドキュメント(診療情報提供書や退院時サマリ―など)をFHIRリポジトリにPOSTする場合、

エンドポイント/Bundle

上記URLでPOSTできます。(以下の例では、IRIS for Healthに用意したFHIRリポジトリを使用しています。)

GET要求で確認してみます。

登録できたことを確認できました。

 

FHIRリポジトリに登録したFHIRドキュメントですが、文書番号を指定してGETできると便利なのですが、現時点(バージョン2023.1)のIRIS for HealthのFHIRリポジトリでは、FHIR標準仕様にあるBundle の SearchParameter :composition について未対応のため、Composition.identifier を指定した Bundleリソースに対する GET要求が行えません。

そこで回避策として、Bundle登録時 Composition.identifier.value に設定している文書番号を Bundle.identifier.value にも設定しPOSTします。こうすることで、Bundle の Search Parameter:identifier に文書番号を指定でき、対象となるBundleリソースをGETできます。

0
0 399
記事 Hiroshi Sato · 3月 18, 2024 1m read

これは InterSystems FAQ サイトの記事です。
 

Embedded Pythonでトランザクションを実装するために、以下のようなAPIが用意されています。

import iris  
       iris.tlevel()
       intval = iris.tstart()
       iris.tcommit()
       iris.trollbackone()
       iris.trollback()

詳細はドキュメントをご覧ください。

Pythonでのトランザクション管理

0
1 114
記事 Megumi Kakechi · 7月 1, 2024 6m read

これは InterSystems FAQ サイトの記事です。
 

IRIS2024.1以降のバージョンをインストールしようとした際に、以下のようなエラーになることがあります。

This CPU is not supported by this version of IRISHealth, which requires “AVX” and “BMI” CPU instructions.


これは、2024.1以降のバージョンより最小CPUの条件として、AVX および BMI 拡張命令が含まれることが条件となっているのですが、ご使用の環境に含まれない(仮想環境やFTサーバ等の特殊なシステムでは無効化されている場合も)ときに出力されるエラーです。

最小CPUサポートバージョンについては、以下のドキュメントをご覧ください。
Minimum Supported CPU

現在使用中のCPUの拡張命令セットの情報の確認方法については、以下のDC記事をご覧ください。
CPU のマイクロアーキテクチャファミリと命令セットの判定方法


Linuxの場合は、lscpuコマンド、または lshw -class processor コマンドで確認できます。

0
0 394
記事 Tomohiro Iwamoto · 11月 13, 2024 7m read

以前、Azure用にOAouth2クライアントをセットアップする記事を書いた時に思ったのですが、各IdPはサンプルコードとしてPythonコードや専用のモジュールを提供しているので、それがそのまま使用できれば効率が良いのにな、と思いました。

IRISが埋め込みPython機能としてWSGIをサポートしたことにより、これが簡単に実現しそうなので、その方法をご紹介したいと思います。

導入方法

今回は、IdPとしてOKTAを使用してAuthorization Codeフローを行います。

OKTAでの設定内容

参考までに、今回使用した環境を後半に記載しています。

アプリケーションの起動

コンテナ化してありますので、コンテナのビルド環境をお持ちの方は、下記を実行してください。

git clone https://github.com/IRISMeister/iris-okta-oidc-wsgi
cd iris-okta-oidc-wsgi

python/.env.templateをpython/.envという名前でコピーを作成して、OKTAで得られる設定値を指定してください。

AUTH0_CLIENT_ID="0oaxxxxxxx"  
AUTH0_CLIENT_SECRET="qUudxxxxxxxxxxx"
AUTH0_DOMAIN="dev-xxxxx.okta.
0
0 85
記事 Megumi Kakechi · 2月 26, 2025 2m read

これは InterSystems FAQ サイトの記事です。
埋め込みSQLの出力ホスト変数は、SQLCODE=0(埋め込みSQL正常終了)の場合のみ、正しい値が設定されていることが保証されます。

InterSystems製品のバージョンによっては、SQLCODEが0以外の場合(該当データがない100やエラー等)で値が設定される場合もありますが、その値は無効です。

特に、IRIS2021.1以降のバージョンでは、SQLCODE=100 の場合、INTO 節で指定された出力ホスト変数は NULL("") にクリアされますので注意が必要です。

Cacheや、IRIS2020.x 以前のバージョンでは、明示的な値のクリアを行っておりませんでしたが、こちらについても値は保証されるものではありません。

埋め込みSQLを使用する場合は、必ずSQLCODEを確認してエラーチェックを行うようにして下さい。
また、エラーチェック以外でも、SQLCODE = 0(データあり) の場合と SQLCODE = 100(データなし) の場合は処理を分けるようにし、SQLCODE = 100 の場合は出力ホスト変数を参照しないようご注意ください。


例)
誤った使用例:

  &sql( select name into :name from sample.
0
0 56
記事 Toshihiko Minamoto · 5月 22, 2025 7m read

前回の記事では、一般的な概念と、InterSystems IRIS に統合されたタスクエンジンを使用して解決する問題を紹介しました。今回の記事では、相互運用性プロダクションを構成してソリューションを提供する方法を確認します。

Workflow Engine の構成

First we are going to define the roles of the tasks that we are going to manage, in our example we are going to define two types:

  • AutomaticBloodPressureRole: ユーザーの介入が不要な自動タスクを作成します。
  • ManualBloodPressureRole: ユーザーが手動で検証する必要のあるタスクを作成します。

後で様々な患者から HL7 メッセージを受信するたびにロールをユーザーに割り当てるため、ここでは割り当てる必要はありません。

また、IRIS ユーザーを Workflow に追加する必要もありません。これはプロダクションからコードで実行します。

プロダクションのセットアップ

この例では、アドホックで作成した「WORKFLOW」というネームスペース内にプロダクションを作成します。 このプロダクションに、必要とするビジネスコンポーネントを含めます。

0
0 64
記事 Toshihiko Minamoto · 9月 4, 2025 6m read

プロフェッショナルな FHIR® から OMOP への変換

プロフェッショナル」という言葉の使用に焦点を当て、それをある文脈に置いて考えてみましょう。これは業界の専門家によって書かれており、サポートと、動作に貢献する柔軟なオプションに対してガードレールをいくつか備えた有料サービスとしてまとめられているということです。オープンソースまたは自社開発のソリューションと比較して、(同じ機能を果たすかもしれませんが)拡張性やミッションクリティカルな価値の提供が検討材料となる点に重要な違いがあると感じます。OHDSI コミュニティは、OMOP データベースへの ETL というテーマに関して総合的な能力を備えており、たとえば WhiteRabbit は OMOP データベースを分析し、Rabbit in a Hat は ETL の設計に役立ちます。提供内容を改良するためにコミュニティツールが InterSystems の変換スタックに適用されたということに、株を空売りしてでも賭けるでしょう。

0
0 60
記事 Toshihiko Minamoto · 1月 14 10m read

Googleフォームは、データ収集、アンケートやクイズへの回答を行うための市場で最も人気のソリューションです。そのため、システムを拡張または開発することなく、患者データや回答を実用的な方法で収集するのに理想的な手段と言えます。本記事では、Google Cloudにアカウントを作成し、Google Forms APIを利用するアプリケーションを登録します。また、APIを利用するためのサービスユーザーを生成して、最後にEmbedded PythonとIRISを用いて新しいフォームを作成し、入力されたデータを自動的に収集する方法ついて詳しく説明します。

Google Cloudアカウントの作成

Google Cloudアカウントをお持ちでない場合、これらの手順に従ってください。すでにお持ちの場合は、次のセクションに進みます。
Google Cloud Platform(GCP)アカウントを作成するには、最初にGoogleアカウントを作成する必要があります。 次に、Google Cloudコンソールにサインインし、無料枠を利用開始するか、課金アカウントを作成できます。 ステップバイステップガイドは次のとおりです。
1.    Google Cloudコンソールに移動する。cloud.google.comにアクセスします。
2.    Googleアカウントにサインインする。

0
0 41
記事 Mihoko Iijima · 6月 28, 2020 2m read

Python から InterSystems IRIS へ接続する方法の1つである「Native API」(※)の使用方法ご説明します。

※ Python からのアクセスは、Native API の他に、PyODBC を利用した接続方法もあります。PyODBC の利用については別の記事でご説明します。

0
0 576
記事 Mihoko Iijima · 9月 16, 2020 2m read

これはInterSystems FAQ サイトの記事です。

InterSystemsでは、パフォーマンスの影響や動作不調を避けるために、データベースファイルを含む主要なコンポーネントをウイルススキャンの対象から除外していただくことを推奨しております。

具体的には、アンチウイルスソフトのスキャン対象から、以下のファイルを除外してください。

  • データベースファイル(IRIS.DAT/CACHE.DAT)
  • <インストールディレクトリ>/bin 内の実行可能ファイル(EXE) 
  • ライトイメージジャーナル(WIJ)
  • ジャーナルディレクトリ内のジャーナルファイル

上記ファイルが、アンチウイルスソフトで除外設定されていない場合、「SERIOUS DISK WRITE ERROR...」 のようなエラーが発生する場合があります。

このエラーは、実際にハード的なディスク障害が原因であることもありますが、それ以外にアンチウィルスソフトのウィルスチェックなどによって、ディスクへの書き込みが阻止された場合にも起こります。

詳細は、下記ドキュメントページをご参照ください。

インターシステムズ製品と連係して動作するようにサードパーティ・ソフトウェアを構成する方法【IRIS】
インターシステムズ製品と連係して動作するようにサードパーティ・ソフトウェアを構成する方法

0
0 457
記事 Hiroshi Sato · 11月 16, 2020 1m read

これはInterSystems FAQ サイトの記事です。
 

InterSystems ObjectScript言語では引数の異なる同名のメソッドを定義することはできません。

InterSystems ObjectScript言語は一般的に動的言語と呼ばれるプログラミング言語に分類されます。

ObjectScriptではメソッド実行時にどの引数を使用するかどうかは自由に制御可能ですので、動的プログラミング言語ではないJava等の言語と異なり、コンパイルの段階で厳密に引数の数でメソッドを区別する必要がありません。

従って ObjectScript言語は、オーバーロードと一般に呼ばれる言語仕様を含んでいません。

Java等で記述されたプログラムを移植する際にオーバーロード相当の機能を実現するには、

ClassMethod test(args... as %String)

 

のように引数の後ろに ... を付加します。

これにより、可変長引数を渡すことが可能です。

このメソッドに複数の引数が渡された場合は、args(1)=第一引数 args(2)=第二引数というように順次設定されます。

これを使用して、メソッドコード中で渡された引数の個数を取得して処理を分岐させることができます。
※ただし、引数のデータタイプを判別することはできません。

0
0 149