記事 Mihoko Iijima · 6月 14, 2021 1m read

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

接続先クライアントのIPアドレス取得するには、以下の方法で %SYS.ProcessQuery クラスを使用します。

(a) 対象プロセス ID を指定して、ClientIPAddress プロパティ を参照します。

 Set Process=##CLASS(%SYS.ProcessQuery).%OpenId("8656")
 Write Process.ClientIPAddress

(b) 全てのプロセスの情報を知りたい場合は、必要な情報のみ取得する SQL クエリを作成し、クラス内で実行することができます。

例) SELECT * FROM %SYS.ProcessQuery で詳細情報を取得できます。

詳細は、以下ドキュメントをご参照ください。
%SYS.ProcessQueryについて【IRIS】
%SYS.ProcessQueryについて

0
0 169
記事 Mihoko Iijima · 6月 9, 2021 8m read

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

管理ポータルで設定できるメモリ関連の項目は、以下の通りです。
(項目としては他にもありますが、ここでは、ほとんど設定する必要のないものについては記載していません。)

管理ポータル [ホーム] > [システム管理] > [構成] > [システム構成] > [メモリと開始設定]

古いバージョンのメニューは以下の通りです。

【バージョン5.1~2010.x】
システム管理ポータル [ホーム] > [構成] > [メモリと開始設定] の設定内容
* データベースキャッシュ用メモリ
* ルーチンキャッシュ用メモリ 【バージョン2011.1.0~】
管理ポータル [ホーム] > [システム管理] > [構成] > [追加の設定] > [メモリ詳細設定]


【バージョン 5.1~2010.x】
システム管理ポータル [ホーム] > [構成] > [メモリ詳細設定] の設定内容
* 一般メモリヒープ【gmheap】
* ロックテーブル【locksiz】
* IJCバッファ【ijcbuff】
* IJCデバイス【ijcnum】※カテゴリ:IO
* 照合テーブル最大数【nlstab】

設定の詳細は以下の通りです。

2023/9/1更新 添付のPDFに古い記載がありましたので、本文内を最新情報に更新しています。添付ではなく本文をご参照ください。


0
0 530
お知らせ Mihoko Iijima · 6月 7, 2021

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

第12回 InterSystems IRIS プログラミングコンテスト(FHIR Accelerator)への応募、投票が全て終了しました。コンテストへのご参加、またご興味をお持ちいただきありがとうございました。

今回のお知らせでは、見事受賞されたアプリケーションと開発者の方々を発表します!

🏆 Experts Nomination - 特別に選ばれた審査員から最も多くの票を獲得したアプリケーションに贈られます。  

🥇 1位 - $4,000 は FHIR Data Studio Connector を開発された @Dmitry Konnov Maslennikov さんに贈られました!

🥈 2位 - $2,000 は FHIR Simple Demo Application を開発された @Marcello Correa さんに贈られました!

🥈 3位 - $1,000 は iris-on-fhir を開発された @Henrique Dias Dias さんと @José Roberto Pereira さんに贈られました!

🏆 Community Nomination - 最も多くの票を獲得したアプリケーションに贈られます。

0
0 102
記事 Mihoko Iijima · 6月 4, 2021 3m read

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

ユーザーが作成したクラス定義は、クラス定義クラスの中に格納されます。

クラス定義一覧をプログラムから取得する方法として、「クラス定義クラス」を利用することができます。

メモ:クラス定義クラスとは、%Dictionary パッケージに含まれるクラス全般のことをさします。

以下サンプルコードでは、%Dictionary.ClassDefinitionQuery クラスSummary クエリを利用してクラス定義一覧を取得しています。

Class ISJ.Utils
{
ClassMethod ClassInfo()
{
    #dim ex As %Exception.AbstractException
    try {
        set currentNS=$NAMESPACE
        while (1) {
            read "ネームスペースを指定してください : ",x
            if x'=""  quit
        }
        set $NAMESPACE=x // ネームスペースの移動
        write !
0
0 294
記事 Mihoko Iijima · 6月 1, 2021 6m read

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

InterSystems 製品を利用した REST/JSON の操作方法を、簡単なサンプルを利用して解説します。

サンプルでは、REST クライアント、HTML、ターミナルからデータ(JSON)を送信し、サーバ(InterSystems製品)で JSON 形式のデータを返す REST ディスパッチクラスを使った簡単な流れになっています。

サンプルは、https://github.com/Intersystems-jp/FAQ-REST-SimpleSample からダウンロードいただけます。

サンプルの利用手順

RESTディスパッチクラスとサンプルHTMLファイルが含まれています


(1) サンプルファイル(XML)のインポート

管理ポータルからインポートします(スタジオを利用されている場合は、スタジオでもインポートできます)。

管理ポータルは http://localhost:52773/csp/sys/UtilHome.csp でアクセスできます。

※ ポート番号はお使いの環境に合わせて変更してください。

管理ポータルにアクセスできたら以下メニューでインポートを行ってください。

0
0 7802
お知らせ Mihoko Iijima · 6月 1, 2021

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

いよいよ、第12回 InterSystems IRIS プログラミングコンテスト(FHIR Accelerator)の投票が、6月3日(木)US時間 から開始されます!

当初、5月31日(US時間)から投票開始予定でしたが、応募期間を延長し 6月3日が投票開始日となりました。

テーマは、InterSystems IRIS FHIR Accelerator Service (FHIRaaS) on AWS を使用して構築されたソリューションです。関連記事にご利用を開始するための手順を掲載しています。ぜひご参照ください。

➡️ 投票は 6月3日から! これだ 🔥 と思う作品への投票、よろしくお願いします!

投票方法や新機能について:

Experts nomination:

今回は、経験豊富な審査員がベストアプリを選び、Expert Nominationで賞品をノミネートします。

0
0 89
記事 Mihoko Iijima · 5月 28, 2021 8m read

開発者の皆さん、こんにちは🌂 今年は早い梅雨入りでした ☔

さて、新しい✨ 実行/開発環境テンプレートを作成しました。 Docker 🐳、docker-compose 、git がインストールされていれば、すぐにお試しいただけます。ぜひご利用ください!

今回は、ご存知の方が多いと思われる(?)某アニメの登場人物を使った人物相関図をテーマに【キーバリュー形式で IRIS に登録してグラフ構造で表示してみた】を体験できるテンプレートです(テンプレートは、Python/Node.js/Java からお試しいただける環境をご用意しています)。

人物相関図のイメージ 

以下、今回のテーマについて、ビデオと文字でご紹介しています。最後までお付き合いいただければ幸いです!(ビデオは全体で 7 分 20 秒)

人物相関図と言えば、グラフデータベースをイメージされると思います。

IRIS はグラフデータベースではないのですが、IRIS ネイティブのデータの「グローバル」を利用することで、グラフデータベースと似たような構造を表現することができます。

IRIS の高パフォーマンスを支える グローバル は 40 年以上前(= InterSystems 創業)から InterSystems のコア技術であるデータベースとして提供されてきました。

0
0 494
記事 Mihoko Iijima · 5月 27, 2021 2m read

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

HL7 メッセージの送受信を行うプロダクションでは、以下3個のグローバルが非常に大きくなることがあります。

グローバルの大きさを確認する場合は、^%GSIZEユーティリティを利用します。詳細は関連トピック/記事をご参照ください。

^EnsHL7.Segment
^EnsLib.H.MessageD
^EnsLib.H.MessageI

HL7メッセージは EnsLib.HL7.Message.cls で定義されます。
^EnsLib.H.MessageD はデータを保存するグローバル、^EnsLib.H.MessageI はインデックスを保存するグローバルです。

また、HL7メッセージは多数のセグメントで構成されており、メッセージデータを含むそれらのセグメントは ^EnsHL7.Segment に保存されます。

^EnsLib.H.MessageD グローバルの値は、^EnsHL7.Segment グローバルの添え字にリンクしています。

これらメッセージ関連のグローバルの削除については、任意の保持日数を指定して手動および定期的に削除することができます。
パージ(Purge)用ユーティリティについては、以下のドキュメントをご参照ください。

0
0 217
記事 Mihoko Iijima · 5月 23, 2021 2m read

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

仮想ドキュメント(以降VDOC)とは複雑な構造のドキュメント(メッセージ)を効率良く高速に処理するために考えられたメッセージ処理の仕組みです。

HL7に代表される EDI 標準は電子データ交換のための汎用的なかなり複雑なメッセージ形式を含んでいます。

また、メッセージの種類を増やすと運用が複雑になってしまうため、1 つのメッセージに様々なデータを詰め込む傾向があります。

その結果 1 つのメッセージは複雑かつデータ量が多いものになりがちです。

一方、実際のメッセージ交換では、メッセージの全てのデータを処理することはまれで一部のデータのみが必要となるケースがほとんどです。

複雑なメッセージ構造から必要な項目を抽出して処理する際、メッセージを InterSystems IRIS data platform のオプジェクト指向フレームワークに基づき一度オブジェクトとしてインスタンス化することで処理を簡潔に記述できます。

しかし、データ量の多いメッセージを解析しオブジェクトにインスタンス化する処理は非常に負荷のかかる処理で、しかも大量のメッセージを処理しなければならない場合は求められるスループットを満たせない状況になりがちです。

しかも必要なデータは「全体の中のほんの少し」という状況の場合、無駄の多い処理となります。

0
0 1114
記事 Mihoko Iijima · 5月 23, 2021 2m read

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

%Net.FtpSession クラスを使用して FTP サーバから、アップロード/ダウンロードする方法をご紹介します。

1. FTPサーバにイメージファイルをアップロードする

 set tmpfile="c:\temp\test.jpg"
 set ftp=##class(%Net.FtpSession).%New() 
 // ftp サーバへ接続する
 do ftp.Connect("<サーバ名>","<ユーザ名>","<パスワード>")
 // 転送モードをBINARYに設定
 do ftp.Binary()
 // アップロードするディレクトリに移動
 do ftp.SetDirectory("/temp/upload")
 // アップロードするファイルのストリームを用意   
 set file=##class(%File).%New(tmpfile)
 do file.Open("UK\BIN\")
 // ファイルをアップロード
 // 第1引数: アップロード先に作成するファイル名
 // 第2引数: アップロードするファイル・ストリーム
 do ftp.Store("test.jpg",file)
 // ftp サーバからログアウト
 do ftp.
0
0 367
記事 Mihoko Iijima · 5月 12, 2021 2m read

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

InterSystems IRISでは、サンプル定義の一部は、GitHub上に公開しています。

本FAQ内で登場する Sample.Person のクラス定義とサンプルデータについては、こちら からダウンロードいただけます。
手順は以下の通りです。

  1. Zipとしてダウンロード
  2. 1を展開
  3. 展開フォルダ内 以下階層のクラス定義をターミナルを利用してIRISへインポートし、インポート後 Build()メソッドを実行します。

Samples-Data-master\buildsample\Build.DataSample.cls をフルパスで指定してインポートします(Sample-Data-masterフォルダを c:\kit へコピーした状態での例です)。

do $system.OBJ.Load("C:\kit\Samples-Data-master\buildsample\Build.DataSample.cls","ck")  

データ生成のBuild() メソッド実行例は以下の通りです。

do ##class(Build.DataSample).Build() 

実行例(全体):

USER>do $system.OBJ.Load("C:\kit\Samples-Data-master\buildsample\Build.
0
0 310
お知らせ Mihoko Iijima · 5月 8, 2021

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

いよいよ 🏆 InterSystems FHIR Accelerator Programming Contest 🏆 への応募が開始されます!

今回のコンテストに参加するためには、InterSystems IRIS FHIR Accelerator Service (FHIRaaS) を AWS で利用する必要があります。

FHIRaaS の利用を開始するための最初の手続きとして、特別なコードを含めた URL を使用して ISC Dev FHIR Portal でユーザ情報を登録する必要があります。

「特別なコードを含んだ URL」って?

以下例のように「特別なコード」をクエリパラメータに指定して、ポータルサイトにアクセスします。

👉🏼 https://portal.trial.isccloud.io/account/signup?code=特別なコード
 

ポータルサイトを利用するための「特別なコード」は、以下いずれかの方法で入手できます!

  • コミュニティ上で @Irina Podmazko へダイレクトメッセージを送付する
  • DC Discord channel にアクセスして、またはプライベートメッセージでコンテスト担当者に連絡する
  • このお知らせのコメント欄に「コード希望!
0
0 206
記事 Mihoko Iijima · 5月 7, 2021 9m read

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

この記事では、Java から IRIS へ接続する方法の中から XEP(ゼップ)を利用して、GPS (GPX)データを高速に取り込むサンプルをご紹介します。

Java の実行環境や IRIS がお手元になくても大丈夫です!コンテナ 🐳 のビルド+開始で体験できる「実行環境テンプレート」をご用意しました。

ソースコードは コミュニティの Git で公開 していますので、docker、docker-compose 、git がインストールされた環境であれば、すぐにお試しいただけます(Javaの実行環境はコンテナでご提供するので準備不要です)。

操作方法は、Gitの README に記載しています。ぜひお試しください。

この記事の中では、コード解説を追加しています。ぜひ、最後までお付き合いください!


1)処理概要

GPX データを IRIS へ渡す迄の流れにリアクティブプログラミングが行える RxJava2 のライブラリを使用しています。

メモ:サンプルコードの中では、GPS データを直接受信するのではなく、Google マイマップやサンプル GPS データから GPX ファイルに変換したデータを入力に使用しています。

実行時、複数(数十~千)の GPS データが含まれる GPX ファイルを引数に指定し情報を入力します。

0
0 275
記事 Mihoko Iijima · 5月 6, 2021 2m read

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

インターシステムズ オンラインラーニングでは、InterSystems IRIS 概要や IRIS の各機能について 2~5分でご覧いただける QuickStart ページ(説明ビデオと操作方法を解説、サンプル用 Git の使い方をまとめたページ)をご用意しています。

  • InterSystems IRIS Data Platform について
  • Multi-Model
  • Embedded Python QuickStart
  • Interoperability
  • Java
  • .NET
  • Node.js
  • Python
  • SQL での開発

*日本語字幕をオンにする方法は こちらをご覧ください

開発者向けまとめページでは、QuickStart 以外にもドキュメントや開発者コミュニティへのリンク、IRIS を簡単に始めることのできるクラウド(AWS/Azure/GCP)のマーケットプレイスへのリンクなどまとめています。

ぜひご活用ください。

開発者コミュニティにもサンプルコード付き記事の投稿があります。ぜひご参照ください。

0
0 166
お知らせ Mihoko Iijima · 5月 5, 2021

開発者の皆さん、こんにちは!GW は、のんびりゆったり良いお休みになりましたでしょうか🎏?

休み明けにぴったりのコンテストテーマが発表されました!今回は 🔥 FHIR Accelerator 🔥 です!

🏆 InterSystems FHIR Accelerator Programming Contest 🏆

InterSystems FHIR-as-a-service on AWS を使用する、または、InterSystems IRIS FHIR Accelerator を使用したソリューションの開発に役立つアプリケーションを開発し、ご応募ください!

応募期間は 2021年5月10日~5月30日 です!

💰 賞金総額: $8,750 💰

(投票期間は 2021年5月31日~6月6日、勝者発表は 6月7日を予定しています)

優勝特典

1、審査員から多く票を集めたアプリケーションには、以下の賞金が贈られます。

🥇 1位 - $4,000 

🥈 2位 - $2,000 

🥉 3位 - $1,000

2、開発者コミュニティで多く票を集めたソリューションには、以下の賞金が贈られます。

🥇 1位 - $1000 

🥈 2位 - $500 

🥉 3位 - $250

複数の参加者が同数の票を獲得した場合、全参加者が勝者となり賞金は勝者間で分配されます。

参加資格

どなたでもご参加いただけます!

1
0 174
記事 Mihoko Iijima · 4月 30, 2021 2m read

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

監視対象プロセスについては以下の表をご参照ください。

※利用環境によって、出現しないプロセスもあります。



ps コマンドによるプロセス名 管理ポータルプロセスの一覧のルーチン名 プロセス数
[IRISインストールディレクトリ]/bin/irisdb -cc -s. -B -C[IRISインストールディレクトリ]/iris.
0
0 321
お知らせ Mihoko Iijima · 4月 27, 2021

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

第11回 InterSystems IRIS プログラミングコンテスト(開発者ツール) への応募、投票が全て終了しました。コンテストへのご参加、またご興味をお持ちいただきありがとうございました。

今回のお知らせでは、見事受賞されたアプリケーションと開発者の方々を発表します!

🏆 Experts Nomination - 特別に選ばれた審査員から最も多くの票を獲得したアプリケーションに贈られます。 

🥇 1位 - $4,000 は Server Manager for VSCode を開発された @John Murray さんに贈られました!

🥈 2位 - $1,500 は Config-API を開発された @Lorenzo Scalese さんに贈られました!

🥈 2位 - $1,500 は zpm-explorer を開発された @Henrique Dias Dias さんと @José Roberto Pereira さんに贈られました!

🏆 Community Nomination - 最も多くの票を獲得したアプリケーションに贈られます。

🥇 1位 - $750 は Server Manager for VSCode を開発された @John Murray さんに贈られました!

0
0 100
記事 Mihoko Iijima · 4月 22, 2021 2m read

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

ユーザ定義エラーとして使用したいエラーコードと対応するメッセージを記述したXMLを用意します。

なお、エラーコードは負の整数で設定してください。

<?xml version="1.0" encoding="UTF-8" ?> 
<MsgFile Language="ja">
  <MsgDomain Domain="UserErrors">
    <Message Id="-111" Name="MyError">エラーが発生しました</Message> 
    <Message Id="-222" Name="MyError2">エラーが発生しました2</Message> 
  </MsgDomain>
</MsgFile>

XML ファイルが作成できたら使用したいネームスペースにロードします。

set x=##class(%MessageDictionary).Import("error.xml")

ロード完了後、次のようなコマンドでユーザ定義エラーを取得、表示することができます。

USER>set error=$system.Status.Error(-111) // エラーコード -111 を指定してエラーを作成

USER>write $system.Status.
0
0 214
記事 Mihoko Iijima · 4月 22, 2021 4m read

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

ルーチン(*.mac)の場合

ソースプログラムのコンパイル後に生成される *.obj のみをエクスポート/インポートすることでソースの隠蔽化を実現できます。

コマンド実行例は、EX1Sample.mac と EX2Sample.mac のコンパイルで生成される EX1Sample.obj と EX2Sample.obj をエクスポート対象に指定し、第2引数のファイルにエクスポートしています。

別ネームスペースに移動したあと、エクスポートした XML ファイルを利用してインポートを実行しています。

USER>do $system.OBJ.Export("EX1Sample.obj,EX2Sample.obj","/opt/app/routine.xml")

XMLエクスポートの開始 04/22/2021 18:18:32
オブジェクトコードをエクスポート中: EX1Sample.obj
オブジェクトコードをエクスポート中: EX2Sample.obj
エクスポートが正常に完了しました。 

USER>zn "test"  // ネームスペース移動

TEST>do $system.OBJ.Load("/opt/app/routine.
0
0 324
お知らせ Mihoko Iijima · 4月 19, 2021

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

第11回 InterSystems IRIS プログラミングコンテスト: 開発者ツール  の投票が開始されました!

🔥 これだ!と思う一押し作品に投票お願いします! 🔥

投票期間:4月19日~26日 (1週間)

投票方法は?

コミュニティメンバーはどなたでも投票いただけます!

投票種別は、Expert Nomination と Community Nomination に分かれています。コミュニティメンバーは、Community Nomination を選択いただき、どの作品がどの順位になるかを指定しながら投票してください!

Community Leaderboard:

開発者コミュニティのメンバーは、お好みのアプリケーションに対して1位~3位を指定しながら投票できます。

0
0 110
記事 Mihoko Iijima · 4月 15, 2021 2m read

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

このエラーが発生する原因としては、アプリケーションの中で既に他のプロセスからロック対象リソースがロックされていて、何らかの理由でそのロックが解放されていないケースが考えられます。

他のプロセスがロックしている兆候がない場合は、ロックテーブルの空き領域が不足しているケースが想定されます。
その場合は、メッセージログ(コンソールログ)に LOCK TABLE FULL のメッセージが出力されます。

トランザクション処理を行なっている場合には、ロック解放の延期が影響しているケースも考えられます。
トランザクションとロック解放の延期については、以下のドキュメントをご参照下さい。

ドランザクション処理について【IRIS】

ドランザクション処理について

また、トランザクション中に、同一テーブルに対する大量レコードのSQL 文による更新がある場合、ロックしきい値(既定値は1000)に到達してロックエスカレーションが発生し、その結果として、テーブルロック状態になっている可能性もあります。

このように、ロックタイムアウトエラーの原因は幾つか考えられますので、まずは、管理ポータル(バージョン2010.2以前では、[システム管理ポータル])の、ロックメニューにて、現在のロックの状態をご確認下さい。

【バージョン2011.

0
0 889
記事 Mihoko Iijima · 4月 15, 2021 2m read

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

クラスに定義されたプロパティの情報については、以下システムクラスを利用して情報を取得できます。

%Dictionary.ClassDefintion

%Dictionary.PropertyDefinition

コード記述例は以下の通りです。

Class ISJ.Sample
{
ClassMethod getPropInfo(classname As %String)
{
    set cls=##class(%Dictionary.ClassDefinition).%OpenId(classname,,.status)
    if $$$ISERR(status) {
        write "指定クラスは存在しません",!
        quit  // または return
    }
    set x=cls.Properties
    for i=1:1:x.Count() {
        // プロパティ情報を取得(%Dictionary.PropertyDefinition)
        set prop=x.
0
0 424
記事 Mihoko Iijima · 4月 9, 2021 1m read

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

INFORMATION_SCHEMA スキーマを使用して取得できます。

INFORMATION_SCHEMA はシステム用スキーマのため、デフォルトでは管理ポータルのSQLメニューに表示されません。
表示させる方法は以下の通りです。

  1. 管理ポータル→システムエクスプローラ→SQL メニューを開きます。
  2. スキーマのプルダウン左にある「システム」をチェックします。
  3. スキーマのプルダウンから INFORMATION_SCHEMA を選択します。

指定のテーブル(ISJ.Class1)に対するID、フィールド名(COLUMN_NAME)、データタイプ(DATA_TYPE)、説明(DESCRIPTION)を取得するSQLは以下の通りです。

SELECT ID,COLUMN_NAME,DATA_TYPE,DESCRIPTION
FROM INFORMATION_SCHEMA.COLUMNS
where TABLE_SCHEMA='ISJ' AND TABLE_NAME='Class1'
0
0 631
記事 Mihoko Iijima · 4月 9, 2021 1m read

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

引数名の後ろに ... をつけることで可変の引数を渡すことができます。

ObjectScript では、配列を使って任意の数の引数を渡すことができます。

例文は以下の通りです。
例文では、メソッド実行後に確認しやすいように、グローバル変数(=データベースに格納される変数)に引数の情報を設定しています。
 

Class TEST.ARGTEST1 Extends %RegisteredObject
{
ClassMethod NewMethod1(Arg... As %String) As %Boolean
{
 kill ^a
 merge ^a = Arg
}
}

ターミナルで実行した結果は以下の通りです。

USER>DO ##class(TEST.ARGTEST1).NewMethod1(1,2,3,4,5)
USER>ZWRITE ^a
^a=5
^a(1)=1
^a(2)=2
^a(3)=3
^a(4)=4
^a(5)=5
0
0 397
記事 Mihoko Iijima · 4月 2, 2021 2m read

これは 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でメモリ確保ができていますので、設定サイズを減らす必要はありません。

このメッセージは、起動時に十分な空きメモリが連続領域で確保されていないために発生しています。

デフォルトの設定では、WindowsOS が管理するメモリ領域の中で Large Page という領域にメモリを連続的に確保します。

0
0 2025
記事 Mihoko Iijima · 4月 2, 2021 1m read

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

アプリケーション等がデータベースにアクセスしている最中に、データベースの最大サイズの変更や未使用領域の開放などのデータベース設定変更を行うことにより、データベース整合性等に悪影響を及ぼすことはありません。

しかし、未使用領域の開放などは、ディスクアクセスの増加やメモリの使用等でシステムに負荷をかける可能性があるため、その観点からシステム運用に影響が出ないよう注意が必要です。

0
0 168
お知らせ Mihoko Iijima · 3月 29, 2021

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

第11回 IRIS プログラミングコンテスト - 開発者ツール編 の 続報 📣 の「テクノロジーボーナス」についてご紹介します。

今回のコンテストも、チームで開発した作品もご応募いただけます!ぜひコンテスト詳細ページもご確認ください!

Docker container usage - 2 points

アプリケーションがコンテナ版 IRIS を使用している場合「Docker container」ボーナスを獲得できます!

シンプルな開発環境テンプレートをご用意しています。ぜひご利用ください。

ZPM Package deployment 2 points

フルスタックアプリケーション用の ZPM(ObjectScript Package Manager) パッケージをビルドして公開し、それを使用してデプロイできるようにすると2ポイント獲得できます。

以下のコマンド実行例は、 IRIS に ZPM クライアントをインストールしパッケージをインストールしている例です。

zpm "install your-multi-model-solution"

詳しくは、ZPM client や ドキュメント をご参照ください。

0
0 110
記事 Mihoko Iijima · 3月 28, 2021 4m read

皆さんこんにちは!

この記事でご紹介する「開発環境テンプレート」は、最近 医療 IT で注目を集めている 医療情報交換標準規格  FHIR を体験できるコンテナです。

一式は、こちら(https://github.com/Intersystems-jp/IRIS-FHIR-Oximeter-Template)で公開しています。

コンテナビルド時、InterSystems IRIS for Health コミュニティエディションを使用した FHIR R4 リソースリポジトリの用意と、REST 用エンドポイントが用意されます。

作成されるエンドポイントに対して、REST クライアントから直接 FHIR R4 リソースリポジトリへアクセスすることもできますし(使用例はこちらビデオの解説はこちら)、Patient リソースと Observation リソースの操作体験が行えるサンプル Web アプリケーション(使用例はこちらビデオの解説はこちら)もコンテナに含まれていますので、お好みの方法で操作を体験できます。

この開発環境テンプレートでは、さらに! FHIR  サーバーサイドアプリケーション(=プロダクション)のサンプルも用意しています(図例はこちら)。

プロダクションは、新生児につけたパルスオキシメーターの測定値が定期的に送信されてくることを仮定して作られています。

2
1 1773
記事 Mihoko Iijima · 3月 26, 2021 2m read

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

Linux で シェルスクリプト(shell script) からルーチンやメソッドを実行し戻り値を取得するには、iris コマンドを使用します。

詳細はドキュメント「インスタンスの接続について」 をご参照ください。

コマンド記述例は以下の通りです。

iris session インスタンス名 -U ネームスペース名 "実行ルーチン・メソッド"

シェルスクリプトへの戻り値の指定は、ルーチンやメソッド終了時に指定する QUIT や RETURN コマンドに引数を指定する方法ではなく、プロセス処理終了時に %SYSTEM.Process クラスTerminate() メソッドを使用して 特殊変数 $? に値を返す方法を利用します。

値は、0~255 を指定できます。 ルーチンでの利用例は以下の通りです。

// ルーチン名をTestとします
start1() public {
 hang 5  // 5秒待つ
 //第2引数に指定した数値がシェルスクリプトに戻ります
 set st=$system.Process.Terminate($JOB,11)
}

実行例は以下の通りです。

# iris session iris -U USER "start1^Test()"
# echo $?
0
0 1508
記事 Mihoko Iijima · 3月 26, 2021 1m read

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

管理ポータルを使用して確認する場合は、以下の手順で参照できます。

管理ポータル > [システムエクスプローラ] > [グローバル] の画面で、ネームスペースではなく データベース を指定し、IRISTEMP / CACHETEMP データベースを選択すると参照できます。

ターミナル上で確認する場合は、znspace(省略形:zn)コマンドのパラメータとしてネームスペース名ではなく、データベースディレクトリ名を指定することで該当データベースのみに存在するグローバルを参照できます。

IRISTEMP データベース上のグローバルを参照する場合、以下例のように移動します。

USER>zn "^^../IRISTEMP"
..iris\mgr\iristemp\>
0
0 298