PHP はその公開当初から、多くのライブラリや市場に出回っているほぼすべてのデータベースとの統合をサポートしていることでよく知られています(またそのことで批判を受けてもいます)。 にもかかわらず、何らかの不可解な理由により、グローバル変数については階層型データベースをサポートしませんでした。
グローバル変数は階層情報を格納するための構造です。 Key-Value型データベースにある程度似ていますが、キーを次のようにマルチレベルにできるという点で異なっています。
InterSystems IRIS for Health™は、世界で最も重要なデータを管理する医療アプリケーションの迅速な開発を目的に特別に設計された世界初、かつ唯一のデータプラットフォームです。 トランザクションの処理と分析、拡張可能な医療データモデル、FHIRベースのソリューション開発、医療情報の相互運用性に関わる標準規格への対応など、すぐに使える強力な機能を搭載しています。 これらすべての機能により、開発者は価値を実現し、画期的なアプリケーションをすばやく構築することができます。 詳細はこちらをご覧ください
PHP はその公開当初から、多くのライブラリや市場に出回っているほぼすべてのデータベースとの統合をサポートしていることでよく知られています(またそのことで批判を受けてもいます)。 にもかかわらず、何らかの不可解な理由により、グローバル変数については階層型データベースをサポートしませんでした。
グローバル変数は階層情報を格納するための構造です。 Key-Value型データベースにある程度似ていますが、キーを次のようにマルチレベルにできるという点で異なっています。
InterSystems Reportsでレポートを作成するのは難しいですか?
ネタバレ
これは InterSystems FAQ サイトの記事です。
ジャーナルファイルの削除は、自動削除と手動削除が選択できます。
「自動削除」については、以下2つの方法が選択できます。
A) タスクスケジュールを使用して指定時間に自動削除する方法
B) オンラインバックアップ使用時、指定回数成功後に自動削除する方法
A) タスクスケジュールを使用して指定時間に自動削除する方法
インストール時デフォルトで登録されるタスクスケジュール「ジャーナルファイルの削除」を使用して自動削除します。
自動削除を行う前に運用環境に合わせて適切な日数分ジャーナルを保持するよう、ジャーナルファイルの設定を修正します。
ジャーナルファイルの設定は以下メニューを使用します。
【バージョン2011.1以降】 [ホーム] > [システム管理] > [構成] > [システム構成] > [ジャーナル設定]
【バージョン5.1~2010.x】 [ホーム] > [構成] > [ジャーナル設定]
「ジャーナル設定画面」にある「ジャーナルファイルの削除」から「この日数後」の設定を使用します。
日数の指定はバックアップ期間に合わせて設定します。
例えば、バックアップが1週間毎に行われている場合は、バックアップが行なわれる間のジャーナルファイルをを保持する必要があるため、「7」を設定します。
1 年ほど前、私のチーム(多数の社内アプリケーションの構築と管理、および他の部署のアプリケーションで使用するツールやベストプラクティスの提供を担う InterSystems のアプリケーションサービス部門)は、Angular/REST ベースのユーザーインターフェースを元々 CSP や Zen を使って構築された既存のアプリケーションに作りこむ作業を開始しました。 この道のりには、皆さんも経験したことがあるかもしれない興味深いチャレンジがありました。既存のデータモデルとビジネスロジックに新しい REST API を構築するというチャレンジです。
このプロセスの一環として、REST API 用に新しいフレームワークを構築しました。あまりにも便利であるため、自分たちだけに取っておくわけにはいきません。 そこで、Open Exchange の https://openexchange.intersystems.com/package/apps-rest で公開することにしました。 今後数週間または数か月の間に、これに関する記事がいくつか掲載される予定です。それまでは、GitHub のプロジェクトドキュメント)https://github.com/intersystems/apps-rest)に用意されたチュートリアルをご利用ください。
開発者の皆様、 InterSystems IRIS for Health の日本語オンラインドキュメントを、一時的にご用意しました。
こちらをご覧ください。
日本語 2020.1 になります。
InterSystems IRIS for Health のドキュメントはInterSystems IRIS のドキュメントを包含しています。
一時的な英語版ドキュメントについては、以下の記事をご参照ください。
※2021年8月13日追記
ドキュメントサーバが復活したため、通常のドキュメントページをご確認くださいませ。長時間ご迷惑をおかけし、申し訳ございませんでした。
開発者の皆様、 InterSystems IRIS for Health のオンラインドキュメントを一時的に用意しました。
こちらをご覧ください。
英語版 2021.1 のみですが、ご容赦ください。
InterSystems IRIS for Health のドキュメントはInterSystems IRIS のドキュメントを包含しています。
※2021年8月13日追記
ドキュメントサーバが復活したため、通常のドキュメントページをご確認くださいませ。長時間ご迷惑をおかけし、申し訳ございませんでした。
インターシステムズ製品 ドキュメント一覧
これは InterSystems FAQ サイトの記事です。
あるユーザが「不活動上限」を超える期間にわたって、一度もInterSystems製品にログインしなかった場合、そのユーザは無効になりログインできなくなります。
なお、この設定の初期値は、インストール時の初期セキュリティによって変わります。
「通常」以上では既定値は90日間、「最小」では0日に設定されています。
ユーザを有効に変更することにより再びログインすることができるようになります。
2007.1以降であれば%Allを持つユーザが最低1つは残っていますので、そのユーザでログインできればそこから設定を変更します。(%Allを持つユーザは、インストール時のセキュリティ設定によって異なります)
使用できるものがわからないときは、InterSystems製品を緊急アクセスモードで起動してログインします。
<緊急アクセスモードからの復元方法>
1. InterSystems製品の停止
2. InterSystems製品を緊急アクセスモードでの起動
≪Windowsの例≫
DOSコマンドプロンプトよりInterSystems製品を緊急アクセスモードで起動します。
(Windows Vista以降では、コマンドプロンプト起動時、「管理者として実行」のオプションを指定して起動します。)
これは InterSystems FAQ サイトの記事です。
ディスクの空きスペースにもよりますが、ブロック別で最大サイズが異なります。
各バージョン共通で、8KBのブロックサイズを使用した場合は、32TBです。
バージョン2008.1以降のバージョンでは、8KB以外のブロックサイズを指定できるようになったため、最大サイズは以下の通りです。
対象バージョン
InterSystems IRIS および IRIS for Health: 2019.1.0 以降
対象プラットフォーム すべて
InterSystemsは、間違ったクエリ結果が返る問題を修正しました。この問題は上記の InterSystems 製品のバージョンで発生する可能性があります。
問題の詳細
以下のすべての条件をみたした場合、クエリ結果が不正確な可能性があります。
(*) グループ化していないフィールドを SELECT に含めることは、 InterSystems SQL独自の拡張であり、SQL標準でないことにご注意ください。
この問題により、上記をみたすクエリでは WHERE 条件が結果に正しく反映されません。すなわち、条件をみたさない行を含むクエリ結果を返すことになります。
なお、この警告の最後に、問題の影響を受けるクエリと受けないクエリ例を掲載しています。
これは InterSystems FAQ サイトの記事です。
一般的なシステム統合製品はメッセージエンジン製品を中心にビジネスプロセス管理製品、ポータル製品、ビジネスアクティビティモニタリング製品などの付随する製品を1つのパッケージ製品(スイート製品と呼ばれることも多い)として提供しています。
パッケージとして提供はしていますが、個々の構成製品は通常別々に作成されたもので、操作法、リポジトリ管理、開発手法、管理手法等が各製品バラバラでシステム統合プロジェクトを実施するに当たり、これら全ての製品に習熟するためには膨大な時間がかかります。
また各製品毎に担当者をアサインするということも考えられますが、そうすると各担当者間のコミュニケーションが必要となりプロジェクト管理の手間が増えます。
InterSystems IRIS data platform にはシステム統合に必要な全ての機能が1つの製品に含まれており、統一された操作法、一元化されたリポジトリ、1つの首尾一貫した開発/管理環境が提供されます。
従ってシステム統合プロジェクトを開始する際の敷居をかなり低くすることが可能です。
これは InterSystems FAQ サイトの記事です。
プラットフォーム別導入状況(組織ベース)は、以下の通りです。
(2020年時点)
これは InterSystems FAQ サイトの記事です。
InterSystemsでサポートを保証するバージョンは、最小サポートバージョン(ミニマムサポートバージョン)となります。
最小サポートバージョンは、通常リリース後 2 年以内のバージョンになります。
保守契約のあるお客様には、最小サポートバージョンより前のバージョンに対しても技術的なご質問や障害時の対応は可能な限りさせていたいただきますが、その保守対応はベストエフォートとなり、深刻な問題に対してもそのバージョンに対応したワークアラウンドや修正(パッチ)のご提供が難しくなります。
そのような場合には、最新バージョンへのバージョンアップをお勧めいたします。
最小サポートバージョンについては、以下のドキュメントをご覧ください。
これは InterSystems FAQ サイトの記事です。
ご希望の場合は、カスタマーサポートセンターまでお問い合わせください。
これは InterSystems FAQ サイトの記事です。
スーパーサーバでSSL/TLS接続を有効にする場合、クライアントアプリケーションは、使用するプロトコル、アクセスする証明書などを知るためにSSL設定が必要となります。
これらは下記のようにiniファイルを作成・編集することで設定可能です。
==============================
設定ファイルの場所
==============================
デフォルトでは、SSL設定ファイルはSSLdefs.iniと呼ばれ、32ビットの共通プログラムファイルのディレクトリ下の InterSystems\IRIS(またはInterSystems\Cache)ディレクトリに置く必要があります。
Windows 64bitの場合:C:\Program Files (x86)\Common Files\InterSystems\IRIS\SSLdefs.ini
C:\Program Files (x86)\Common Files\InterSystems\Cache\SSLdefs.ini
Windows 32bitの場合:C:\Program Files\Common Files\InterSystems\Cache\SSLdefs.ini
皆さん、こんにちは。
InterSystems製品ではCache 2015.1からNGINXに対応しているのですが、インストールマニュアルを見るとC言語のソースファイルが提供されていて、「むむむ。。。コンパイルか。。。」と躊躇してしまいますね(^_^;)。
そこで、実際にWindows環境でNGINXをビルドしてみましたのでレポートします。
IRISまたはIRIS for Healthのキットを実行し、インストールします。
Nginxのアクセスに必要なUniversal Web gateway Moduleをインストールするには、セットアップタイプでCustomを選択し、
Web Server Gatewayを明示的にインストールする必要がありますので、ご注意ください。
.png)
また、今回はIRIS for Healthをインストールしていますので、C:\InterSystems\IRISHealthディレクトリにIRISをインストールしています。
IRISだったり、他のディレクトリにインストールされている場合は適宜インストールディレクトリを読み替えてください。
これは InterSystems FAQ サイトの記事です。
バージョンアップ後、ルーチンを再コンパイルする必要はありませんが、バージョンアップで %SYS が上書きされるため、%SYS 内のユーザ作成 INT 形式および OBJ 形式ルーチン(*.INT,*.OBJ)が削除されますので、注意が必要です。
MAC形式(.MAC)と以下の名前の INT 形式および OBJ 形式ルーチンについては削除されません。
なお、クラス/CSP はアップグレード後にコンパイルが必要となります。
ただし、メンテナンスリリースへのアップグレードの場合は、コンパイルは不要です。詳細は、以下ドキュメントをご参照ください。
Caché/Ensemble:メンテナンス・リリースのアップグレード後のタスク
これは InterSystems FAQ サイトの記事です。
<STORE> エラーは サーバ上のプロセスが使用しているプロセス個別メモリ容量が上限に達した場合に発生します。
このメモリはオブジェクトを開いたり、ローカル変数を使用することで消費されるものとなります。
このエラーは サーバ上のプロセスでメモリを大量に使用した場合に発生します。
Caché バージョン2012.2以降、プロセス個別のメモリ容量の最大値が大幅に拡張されました(約2TB)。
この変更により、ローカル変数の使用領域を大幅に増やすことができるようになったため 特別な状況が発生しない限り(プログラムのバグにより大量のローカル変数を作成し続ける等) エラーを回避できるようになりました。
但し、このためのメモリ領域は、プログラムが動作するハードウェアが提供する資源の一つですので物理的な制限は当然あります。
システム全体の資源管理を念頭に置き慎重な使用をお勧めします。
設定値詳細については以下ドキュメントをご参照ください。
InterSystems および Intel は先日、InterSystems IRIS を「Cascade Late」としても知られる第 2 世代 Intel® Xeon® スケーラブルプロセッサおよび Intel® Optane™ DC パーシステントメモリ(DCPMM)と組み合わせて一連のベンチマークを実施しました。 さまざまなワークロード設定とサーバー構成で、Intel の最新のサーバーテクノロジーを使用した InterSystems IRIS のパフォーマンスとスケーラビリティ機能を実証するのがこのベンチマークの目的です。 このレポートには、さまざまなベンチマークの結果とともに、Intel DCPMM と InterSystems IRIS のユースケースが 3 つ示されています。
これは InterSystems FAQ サイトの記事です。
InterSystems 製品は複数の SQL 文を一度に受け付けませんので、SQL 文での複数結果セットのサポートはありませんが、ストアドプロシージャを作成して複数の結果セットを返すことができます。
以下、ストアドプロシージャの中では、 %SQL.Statement クラスを利用して SQL を実行し、結果セットを作成し、結果セットを呼び出し元に返すため、ストアドプロシージャ実行時に自動生成されるプロシージャ・コンテキスト(=%sqlcontext 変数に格納)の中に、結果セットを登録しています。
結果セットの登録は、%Library.ProcedureContext クラスの AddResultSet() メソッドを使用します。
メモ:ストアドプロシージャ実行時に自動生成されるプロシージャ・コンテキストは %Library.ProcedureContext のインスタンスで %sqlcontext 変数に自動的に設定されます。
これは InterSystems FAQ サイトの記事です。
管理ポータル接続時に指定しているWeb サーバポートが正しい番号を指定しているかご確認ください。
Windows にクライアントツールのインストールを行っている場合は、ランチャーに登録している接続サーバの設定に問題がある場合が考えられます。
ランチャー > 優先接続サーバ > 追加/編集 で、接続先の Webサーバポートが正しく設定されているかご確認ください。
Web サーバポートが不明な場合は、インストールディレクトリにある構成ファイル(cache.cpf または iris.cpf)をテキストエディタで開き、“WebServerPort” の項目で確認できます。
例)
【IRIS2018.1~】
WebServerPort=52773
【Caché2009.x~】
WebServerPort=57772
【Caché5.1~2008.x】
WebServer=ON,57772
これは InterSystems FAQ サイトの記事です。
%SQL.Util.Procedures クラスの CSVTOCLASS() メソッドを使ってCSVファイルからデータをロードすることができます。
サンプルコードに合わせて使用方法を解説します。
以下のコードでは、c:\temp\test.csv の内容を変数 rowtype で指定した列の形式で csv.test というクラスにデータをインポートしています。
クラス csv.test が存在しなければ、実行時にそのクラスも自動的に生成されます。
クラスが存在する場合は、定義済プロパティに合わせて変数 rowtype に列の形式を指定する必要があります。
Set rowtype="Name VARCHAR(50),UID VARCHAR(50), PHONE VARCHAR(50)"
Set filename="c:\temp\test.csv"
Set classname = "csv.test"
Do ##class(%SQL.Util.Procedures).CSVTOCLASS(,rowtype,filename,,,1,classname)
以下の関連トピックもあわせてご参照ください。
開発者の皆さん、こんにちは!
HL7v2メッセージをFHIR(Fast Healthcare Interoperability Resources)に変換するニーズがあり、その変換プロセスが複雑で分かりにくいと感じたことはありませんか?インターシステムズは、HL7v2メッセージをFHIR(Fast Healthcare Interoperability Resources)に変換するプロセスを簡単にする、HealthShareメッセージ変換サービス(HealthShare Message Transformation Services)と呼ばれる新しいクラウドベースのSaaSサービスを展開しています。 この新しいサービスの早期アクセス・プレビュー・プログラムを発表できることを嬉しく思います。 必要なのは、無料のAWSアカウントと、HL7v2メッセージをドロップするためのS3バケット、そしてFHIR出力を得るための別のS3バケットだけです。
この機能の簡単なデモをご覧ください。
<iframe allow="encrypted-media" allowfullscreen="" frameborder="0" gesture="media" height="315" scrolling="no" src="https://www.youtube.com/embed/Js0SDUZbXv8" width="560"></iframe>
開発者の皆さん、こんにちは!
第 13 回 InterSystems IRIS プログラミングコンテスト(AI編)のテクノロジーボーナス🍆が発表されました!
ボーナスポイントを獲得して 💰賞金💰 をゲットしてください!
AI/ML ソリューションに InterSystems IntegratedML を利用すると4ポイント獲得できます。
ご利用いただくときは、IRISのバージョンが2021.1以上であることをご確認ください。ZPMパッケージマネージャを含めた最新のMLイメージは以下イメージ名です。
intersystemsdc/iris-ml-community:2021.1.0.215.0-zpm
intersystemsdc/irishealth-ml-community:2021.1.0.215.0-zpm
InterSystems IRIS 2021リリースには、R ゲートウェイと Python ゲートウェイの 2 つの新機能が含まれています。
Rゲートウェイの使用方法に関するテンプレートを公開しています。使い方の簡単なデモはこちらのビデオをご覧ください。
これは InterSystems FAQ サイトの記事です。
バージョン5.1以降、データベース単位に暗号化する仕組みが用意されています。
InterSystems data platform のデータベース暗号化は物理ブロックレベルの暗号化ですので、暗号化のオーバヘッドが非常に少なく、性能への影響が極小化されており、暗号化されている項目のインデックス化に制限等がありません。
関連記事もご参照ください。
これは InterSystems FAQ サイトの記事です。
%Persistent クラスに既定で生成される Extent クエリは、ID 順に結果セットを出力することを意図していませんので、これは、仕様通りの動きとなります。
並び順は、設定されているインデックスにより、変わることがあります。
開発者の皆さん、こんにちは!
インターシステムズでは、7/30(金)に、InterSystems IRIS for Healthを使った FHIR のハンズオンセミナーをオンラインで開催致します。
FHIR R4リソースリポジトリを構築する上で知っておきたい、FHIR リソースのRESTを使った操作を体験し、サンプルアプリケーションを通してFHIRアプリケーション構築方法を学習します。
FHIR ハンズオンセミナー 概要
詳細・事前登録はこちらから
満席となりましたため、受付を締め切らせて頂きました。
キャンセルが出ましたら、受付を再開致します。
ハンズオンを通して以下の内容をご理解・ご体験いただけます。
ぜひご受講ご検討ください!
これは InterSystems FAQ サイトの記事です。
2012.1以降管理ポータルの使用もライセンスを消費する様にシステムを変更しました。
これはインターシステムズが定める製品のライセンスポリシーとシステムの動作をできるだけ合わせる一連の措置の1つとして行われました。
この変更に伴いライセンス使用に関わる思わぬトラブルが発生する可能性がありますので注意が必要です。
特にライセンスの解放が管理ポータルページの操作法によって異なるため、その違いを十分認識して対処する必要があります。
管理ポータルのライセンスの解放はページの切断の仕方により以下の様に変わります。
a) ポータルを開き何らかの操作を行った後にログアウトを行うとライセンスは即時解放されます。
b) ポータルのページを開いた後、他に何も操作せずにログアウトを行うと一定の待ち時間の後にライセンスの解放が行われます。
この待ち時間はライセンスの意図的な規約違反を防ぐための措置であるため、設定等で変更できないようになっています。
c) ポータルを開き、ブラウザのXボタンやAlt+F4等のショートカットでページを強制的に閉じた場合は、デフォルトでは8時間後にライセンスの解放が行われます。
ライセンスの解放の時間は以下の操作で変更することができます。
これは、InterSystems FAQサイトの記事です。
IRISのターミナルスクリプトを使用することで、コマンドラインからの入力作業なしで IRIS のユーティリティを実行することが可能になります。
また、IRISのルーチンやクラスをWindows のバッチファイルで実行する場合(irisコマンドで実行)は、「認証なし」もしくは「オペレーティングシステム認証」を指定していただく必要がありますが、パスワード認証のみしか使用できないような場合に、ターミナルスクリプトを使用して実行することができます。
ターミナルスクリプトを使用する場合、Telnetサービス(%Service_Telnet)を有効にしていただく必要があります。
手順は、以下のようになります。
--------------------------------------------------------------------------------------------
iristerm.exeを使用します。
これはプロンプトが返ってきてユーザが入力を必要とするもの(例えば^%GSIZEなど)にも有効です。
詳細は以下をご覧ください。import.scrの中身を変更することであらゆるIRISのユーティリティの実行に使用できます。
これは InterSystems FAQ サイトの記事です。
クラス定義の Property 定義文の名称を直接変更した場合、内部的には 元のプロパティを削除し、新しいプロパティを追加 したことになります。
このため、すでにデータを格納している永続クラスのプロパティ名をエディタで直接変更した場合、元のプロパティで設定されていた値にはアクセスができなくなります(新しいデータの格納位置が割り当てられます)。
また、変更したプロパティが必須(非ヌル)に指定されていた場合、データが存在しないために参照時にエラーが発生します。
以下の図は、左画面が変更前の状態、右画面がプロパティ名を変更してコンパイルを行った状態です。
基本的に、このような操作を行う場合は、あらかじめデータをエクスポートし、データの削除を行い、クラス定義の変更を行ってから、データを再インポートする方法が安全です。
または、スタジオのメニューの クラス > リファクタ > 名前変更 を利用してプロパティ名を変更します。
(リファクタの名前変更メニューにより、クラス定義内のストレージやメソッド定義に対して、一括でプロパティ名を変更できます。)
変更対象のクラス定義を開き、修正したいプロパティ名を選択し、スタジオのメニューの クラス > リファクタ > 名前変更 を選択します。