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

【任意のXMLドキュメントの読み込み】
任意のXMLドキュメントの読み込みを行うには、%XML.TextReaderクラスを使用します。
Parseメソッド(※ドキュメントがファイルの場合はParseFile())を使用してドキュメントをパースし、各ノードのプロパティを取得します。

例えば、下記のXMLの場合、

<emp empid="1">
<name>Suzuki</name>
<address>Tokyo</address>
</emp>


各赤枠が、"ノード"の単位となり、

0 0
0 168

問題

あわただしい臨床環境では迅速な意思決定が重要であるため、文書保管とシステムへのアクセスが合理化されていなければいくつもの障害を生み出します。 文書の保管ソリューションは存在しますが(FHIR など)、それらの文書内で特定の患者データに有意にアクセスして効果的に検索するのは、重大な課題となる可能性があります。

0 0
0 170

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

VSCodeのObjectScriptエクステンションを利用してInterSystems製品に接続するときに「プライベートWebサーバ (*1)」ではなく、「Webサーバ(IISやApache)」を利用される場合、接続時に使用するREST用パスが通るようにWebサーバに仮想パスを追加する必要があります。

(*1) プライベートWebサーバとは、バージョン2023.1以前のInterSystems製品をインストールすると自動でインストールされる簡易的なApacheで、52773番ポートで管理ポータルやWebアクセスのテストにご利用いただけるWebサーバです。(本番運用環境には適さない簡易的なWebサーバです)

対象バージョン:2023.1以下のInterSystems製品

追加が必要なパス: /api

0 0
0 690

インターシステムズは、InterSystems IRIS データ・プラットフォーム、InterSystems IRIS for Health 、HealthShare Health Connect のバージョン 2024.1.0.267.2 をリリースしました。

このリリースには、Ubuntu 24.04 オペレーティング・システムのサポートが追加されています。 Ubuntu 24.04 には、Linux カーネル 6.8、セキュリティの改善、インストーラおよびユーザ・インタフェースの改善が含まれています。 InterSystems IRIS IntegratedML は、Ubuntu 24.04 ではまだご利用いただけません。

さらにこのリリースでは、すべてのプラットフォームで以下の2つの不具合が修正されています:

0 0
0 78

前回の記事では、ICD-10 による診断のコーディングをサポートできるように開発された d[IA]gnosis アプリケーションを紹介しました。 この記事では、InterSystems IRIS for Health が、事前トレーニングされた言語モデル、そのストレージ、およびその後の生成されたすべてのベクトルの類似性の検索を通じて ICD-10 コードのリストからベクトルを生成するために必要なツールをどのように提供するかを見ていきます。

はじめに

AI モデルの開発に伴って登場した主な機能の 1 つは、RAG(検索拡張生成)という、コンテキストをモデルに組み込むことで LLM モデルの結果を向上させることができる機能です。 この例では、コンテキストは ICD-10 診断のセットによって提供されており、これらを使用するには、まずこれらをベクトル化する必要があります。

診断リストをベクトル化するにはどうすればよいでしょうか?

0 0
0 61

IRISから他DDLのデータを参照したり取り込んだりする場合、各DDLのデータ型はそれと同等の InterSystems IRIS データ型にマッピングされます。

マッピングの定義は、管理ポータル、および、下記ドキュメントページでご確認いただけます。

管理ポータル:[システム管理] > [構成] > [SQLとオブジェクトの設定] > [システムDDLマッピング]

0 0
0 25

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

方法は2種類あります。

1) 同一サーバにIISとCachéがインストールされている環境をそのままアップグレードする場合は、IRIS(※)インストールキットを起動し「CACHE(CONVERSION)」からCSPゲートウェイとCaché両方をアップグレードします。

2) IISがIRISとは異なるサーバにインストールされている場合は、IRIS用Webゲートウェイキットを利用します。

(※)InterSystems IRISまたはIRIS for Health

それぞれの方法は以下の通りです。

1)同一サーバにIISとCachéがインストールされている環境の「CACHE(CONVERSION)」でのアップグレード方法

a) インストーラーを起動します。

b) CACHE(CONVERSION)を選択します。

0 0
0 75
記事
· 2025年5月29日 6m read
InterSystems製品のロックの基本

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

InterSystems製品では、複数のプロセスが同時に同じデータにアクセスする場合、排他制御を行うためにロックを使用できます。
ロックは、データの更新を正しく行い整合性を保つための仕組みで、あるデータに対する更新処理を制御するために使用します。
ロックを操作するには、LOCK(L)というコマンドが使用できます。

こちらの記事では、InterSystems製品で使用できるロックの種類、LOCKコマンドの使い方をご紹介します。


★ロックの種類

0 0
0 36

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

こちらの記事では、非ミラー環境にミラー環境でオンラインバックアップしたバックアップファイルをリストアする方法をご紹介します。

手順は大きく分けて2つになります。


1.バックアップファイルからリストアを行う

2.データベースファイルのミラー属性を削除する



1.バックアップファイルからリストアを行う

以下は、^DBREST ユーティリティによる対話形式のリストア方法になります。

0 0
0 17

1. 初めに

IRISでは、複数ノードでクラスターを構成し、ワークロードのスケールアウト、データボリュームのスケールアウトやトランザクション処理と分析処理を異なるノードで処理するマルチワークロードを実現しています。

しかし、クラスターを構成するための設定は、ノード数が増えるにつれ煩雑になり、それらを人手の作業に全て委ねると設定ミス等を招きやすいといえます。

また、クラスタの構成を処理負荷の増加に基づいて拡張する、または逆に縮小する、あるいは、データ冗長性を追加するためにミラーリングの構成を追加するなど構成変更は、想定するより多いかもしれません。

しかもクラスタ毎に同様の設定を毎回行うとなると、人手による作業では、煩雑性だけでなく俊敏性に欠けると言わざるを得ません。

そこで、IRISには、クラスター構成作業を自動化する新しいツールICM(InterSystems Cloud Manager)が用意されました。

ここでは、ICMを使用したクラウド上でのIRIS構成の自動化の手順について説明します。

2. 事前に準備するもの

0 0
0 317

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

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

0 4
0 860

この連載記事では、InterSystemsデータプラットフォーム用のPython Gatewayについて説明します。 また、InterSystems IRISからPythonコードなどを実行します。 このプロジェクトは、InterSystems IRIS環境にPythonの力を与えます。

  • 任意のPythonコードを実行する
  • InterSystems IRISからPythonへのシームレスなデータ転送
  • Python相互運用アダプタでインテリジェントな相互運用ビジネスプロセスを構築する
  • InterSystems IRISからのPythonコンテキストの保存、調査、変更、復元

その他の記事

現時点での連載計画です(変更される可能性があります)。

0 0
0 184

初めに

Caché ActiveX Bindingは、Visual Basicでクライアント・サーバー型のアプリケーション開発を支援するためにInterSystemsが提供してきたツールです。

CacheActiveX.dllとCacheObject.dllの2種類のバージョンが存在します。

IRISでは、CacheActiveX.dllは動作可能です。

CacheObject.dllはサポートしていません。

いずれにしろ誕生から既に20年以上が経過した非常に古いテクノロジーでマイクロソフト社も非推奨の古い規格ですので、今後も使い続けるのは得策ではありません。

Caché ActiveX Bindingの機能はIRISに用意されている.Net Native APIと.Net Managed Providerの機能を使って書き換え可能です。

ここでは、Caché ActiveX Bindingを使って書かれていたサンプルアプリケーションをIRISで動作するように移植した作業内容について解説します。

このサンプルは、以下のgithubサイトから入手可能です。

0 0
0 596

本稿について

ICM(InterSystems Cloud Manager)のセットアップは難しいものではありませんが、様々な理由でそもそもDockerが使いづらいという状況があり得ます。
また、セキュリティ的に堅固な環境を得るために、既存VPC内のプライベートサブネット上にIRISクラスタをデプロイする方法のひとつに、同VPC内でICM実行する方法があります。
本稿では、ICMをAWSにデプロイする作業を、CloudFormationで自動化する方法をご紹介します。ICMに関しては、こちらの記事をご覧ください。

更新: 2020年11月24日 デフォルトVPC以外でも動作するよう変更しました。

0 0
0 988

データベースシステムには非常に特殊なバックアップ要件があり、企業のデプロイメントでは、事前の検討と計画が必要です。 データベースシステムの場合、バックアップソリューションの運用上の目標は、アプリケーションが正常にシャットダウンされた時と同じ状態で、データのコピーを作成することにあります。 アプリケーションの整合性バックアップはこれらの要件を満たし、Cachéは、このレベルのバックアップ整合性を達成するために、外部ソリューションとの統合を容易にする一連のAPIを提供しています。

0 0
0 344
記事
· 2020年10月8日 2m read
概要 npm-iris

npm-iris とは何ですか?

N.P.Mは "No Project Mess "の略です。

N.P.M.は、InterSystems IRISとBootstrap 4を使用したプロジェクト&タスク管理アプリです。

No Project Messは、シンプルで直感的なプロジェクトとタスクの管理ソフトウェアで、開発者や中小企業が日々の複雑な問題を軽減できるように作成されています。

スプレッドシート、カンバン、カレンダー、ガントチャートなど、タスクのためのさまざまなビューを提供しています。

0 2
0 159

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

$IsObject()を使用して判別できます。

調べたい変数をvとすると、

$IsObject(v)=1 // vはOREF
$IsObject(v)=0 // vはOREFではない
$IsObject(v)=-1 // vはOREFだが、有効なオブジェクトを指していない

となります。

vが未定義の場合は、$IsObject(v)はUNDEFINEDエラーとなりますので、ご注意ください。

UNDEFINEDエラーを防止するには、次のように$Getを使用することをお勧めします。

$IsObject($Get(v))
0 0
0 322

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

以下のようにユーザ名、パスワードを引数に持ち、認証が成功した場合はユーザ名、失敗したときは""(NULL)を返すルーチン(SecTest^SecTest)を作成し、標準の認証システムを書き換えることができます。

SecTest(user,pass)
// user1のパスワードがuser1の場合、認証OKのログを作成
if user="user1",pass="user1" {
set ^sqllog($i(^sqllog))="認証OK;"_$horolog_";"_user
quit user
}
// 認証できなかった場合、認証NGのログを作成
set ^sqllog($i(^sqllog))="認証NG;"_$horolog_";"_user
quit ""
0 0
0 169

%Net.SSH.Session クラスを使用すると、SSH を使ってサーバーに接続することができます。 一般的にはSFTP、特に FTP インバウンドアダプタとFTPアウトバウンドアダプタで使用されています。

この記事では、簡単な例を示しながら、このクラスを使用して SSH サーバーに接続する方法、認証のオプションを記述する方法、そして問題が発生した場合のデバッグ方法について説明します。

次は接続を行う例です。

Set SSH = ##class(%Net.SSH.Session).%New()
Set return=SSH.Connect("ftp.intersystems.com")​

上記のコードは新しい接続を作成してから、ftp.intersystems.com の SFTP サーバーにデフォルトのポートで接続します。 この時点で、クライアントとサーバーは暗号化アルゴリズムとオプションを選択済みですが、ユーザーはまだログインしていません。

接続したら、認証方法を選択できます。 選択できるメソッドには次の 3 つがあります。

0 0
0 1.7K
記事
· 2020年11月23日 1m read
変数等命名規約について

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

変数等命名規約に関して、InterSystems自体が定めている規則の様なものはありません。

しかし、チームで開発を行う際には、何らかの命名規約を作ることをお勧めします。

一般的には、変数名から使用目的が容易に想像できる様な名前付けが好ましいです。

名前の長短で、実行性能には有意な差はないと考えて結構ですので、一目見て内容が理解しやすく、他の名前と明確な区別ができるよう、ある程度の長さを持った命名を心がけることをお勧めします。

また、先頭のアルファベットを大文字にする、単語の先頭は大文字にするというのが一般的です。
しかし、昨今は、Javaで良く使われる、先頭は小文字で初めて、途中の単語の始まりを大文字にするという命名規約を使う開発者も増えてきました。

さらに変数のタイプ(一時変数、パラメータなど)がわかるように、先頭の文字で表現する方法もよく使われます。
(例: tSC,pLengthなど)

0 0
0 158

前回の記事では、データの変更を簡単に記録できる方法をお見せしました。 今回は、監査ログが記録されるデータ構造と監査データを記録する「Audit Abstract クラス」を変更しました。

また、データ構造は親構造と子構造に変更し、それぞれに「トランザクション」とそのトランザクションで「その値によって変更されたフィールド」を記録するテーブルが 2 つ設けられます。

新しいデータモデルをご覧ください。

「監査クラス」から変更したコードをご覧ください。

0 0
0 153

皆さん、こんにちは

前回のつづきとしてESP8266からMQTTブローカーに接続し、データを送信する部分の内容ついて説明したいと思います。

今回は温度湿度センサーのDHT11と気圧センサーのBME180を使って気温、湿度、気圧を計測し、1分に1回、MQTTブローカーに送信しています。

ハードウェア

回路図は以下のようにDHT11のDATAピンはGPIO、BMP180のSDA,SCLピンはそれぞれGPIO2,GPIO5に接続しました。
電源は紆余曲折の末、単純にmicro USBから供給し、NodeMCUのボードから出力されている3.3Vをそれぞれのセンサーで使用しています。

0 0
0 2.3K

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

InterSystemsでは、既存のお客様および見込みのお客様と実施した他DBMS製品との比較を行った様々なベンチマーク結果を持っています。

しかし、それらの結果に関して、ほとんどのRDBMSベンダのライセンス条項に当該RDBMSベンダの承諾なしにベンチマーク結果を公表してはならないという条項があるため、現実問題として一般的な公表は、難しい状況です。

一方、TPC等の公共の機関等がベンチマーク条件を策定、公開しているベンチマークに関しては、必要な実施コストに対して得られるものが少ないと考えており、過去にも実施しておりませんし、将来も実施する予定はありません。

InterSystemsは、TPCの様な現実のシナリオからかけ離れたベンチマークを実施するのではなく、実際のアプリケーションを模したベンチマークシナリオを構築し、それに基づき、各ハードウェアベンダ、パートナ企業、エンドユーザとの協力の基、ベンチマークを実施しております。

0 2
0 306

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


「特権ルーチンアプリケーション」を使用し、コード中に $system.Security.AddRoles()メソッドを使用してロールを付与する仕組みを利用します。

※ロールベースで必要な特権を付与するため、予め特定の特権を持ったロールを作成する必要があります。

0 0
0 175

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

永続クラス(=テーブル)定義に提供される %BuildIndices() メソッドの引数に、インデックスを再構築したい ID の開始値と終了値を指定することにより、その範囲内のインデックスのみが再構築できます。

例えば、Sample.Person クラスにある NameIDX インデックスと ZipCode インデックスを ID=10~20 のみ再構築する場合は、以下のように実行します(ID の範囲は、第5引数、第6引数に指定してます)。

0 0
0 430

この記事では、従来のIRISミラーリング構成の代わりに、Kubernetesの Deploymentと分散永続ストレージを使って高可用性IRIS構成を構築します。 このデプロイでは、ノード、ストレージ、アベイラビリティーゾーンといったインフラストラクチャ関連の障害に耐えることが可能です。 以下に説明する方法を使用することで、RTOがわずかに延長されますが、デプロイの複雑さが大幅に軽減されます。

0 0
0 1.2K

RESTフレームワークの有用な機能の1つに、ディスパッチクラスがリクエストのプレフィックスを識別して別のディスパッチクラスに転送するという機能があります。 URLマップをモジュール化するこの手法により、コードの可読性が向上し、インターフェースの個別のバージョンが管理しやすくなります。また、特定のユーザーのみがアクセスできるように、API呼び出しを保護する手段も得ることができます。

概要

CachéインスタンスにRESTサービスをセットアップするには、専用のSCPアプリケーションを定義して、それに関連付けられた、受信リクエストを処理するディスパッチクラスを作成する必要があります。 ディスパッチクラスは、%CSP.RESTを拡張し、URLマップを含むXDataブロックを含めます。 こうすることで、システムに、特定のリクエストを受信したときにどのメソッドを呼び出すのかを指示します。

以下に、例を示します。

0 0
0 425

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

SQLクエリーの文字列を監査ログに残すことができます。

詳細は、以下のドキュメントをご参照下さい。

システム監査イベントについて

※%SQLで始まるイベントをご覧ください。

InterSystems SQL の使用法

※監査関連ページをご覧ください。

0 0
0 223

*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。

ソフトウェア開発技術において、プロセスの自動化、サイクルの短縮による生産性の向上を目指す考え方が普及してきました(CI/CD)。CI/CDの中核をなす技術の一つが、Dockerに代表されるコンテナです。

https://www.youtube.com/embed/yY8BLUYp5IA
[これは埋め込みリンクですが、あなたはサイト上の埋め込みコンテンツへのアクセスに必要な Cookie を拒否しているため、それを直接表示することはできません。埋め込みコンテンツを表示するには、Cookie 設定ですべての Cookie を受け入れる必要があります。]

0 0
0 241