参加者

最初のご挨拶

コミュニティの皆さま、初投稿になりますが、何か少しでも興味深い知見を共有できると幸いです。

今回の内容は、筆者が%Persistentを中心に据えたデータ構造管理の検討の過程で必要性を感じ行った、「列挙体」Likeな「データ型クラス」(%DataTypeのサブクラス)構築に関するレポートです。

内容面では、筆者が「データ型クラス」の特性に不勉強だったことに由来しての躓きに関するものも多くなりますが、ご容赦願います。
また、内容の中には、筆者が思い当たらなかった手段の活用により、よりシンプルに回避できた部分もある可能性が大いにございます。
そういった内容にお気づきの場合、ご指摘いただけますと大変ありがたく存じます。

6 0
0 21
参加者

開発者の皆さん、はじめまして!

普段はサーバーレス環境での開発をしていて、AWS Lambda を使ったアプリケーション構築を主に行っています。IRIS についての実装経験はまだ浅いのですが、その高速で柔軟なデータベース機能の素晴らしさはよく知っています。

「このパワフルな IRIS を、使い慣れたサーバーレスアプリから呼び出せたらいいのにな...」

そんな思いから、今回 AWS Lambda と IRIS Native API を組み合わせた実装に挑戦してみました。これを通して、IRIS のことをもっと好きになれたらいいなと思っています。まだ IRIS の実装経験が浅いため、もっと良いアプローチや最適な方法があるかもしれません。もし改善点や間違いがあれば、ぜひコメントで教えていただけると嬉しいです!

この記事では、AWS Lambda から IRIS Native API を使用してデータを取得する方法を実装例とともに解説します。この基本実装をベースに、S3 トリガーや他の AWS サービスとの連携も可能です。ぜひ最後までお付き合いいただけると嬉しいです!

6 0
0 26
記事
· 2025年11月18日 7m read
Pythonモジュール入門

img

モジュールは重要なテーマです! ObjectScriptにはこの概念はありませんが、Pythonでは基本的な考え方です。 一緒に見ていきましょう。

モジュールとは?

モジュールは、クラスとパッケージの間にある中間層だと私は考えています。 例を見てみましょう。

悪い例:

# MyClass.py
class MyClass:
    def my_method(self):
        print("Hello from MyClass!")

別のスクリプトでこのクラスを使用する場合、次のようになります。

1 0
0 14

img

この記事では、IRIS環境におけるPythonプログラミングの基礎について紹介します。

本題に入る前に、重要なトピックである「Pythonの仕組み」について説明します。これは、IRIS環境でPythonを使用して作業する際に起こりうる問題や制限を理解するのに役立ちます。

すべての記事と例は、以下のgitリポジトリで確認できます: iris-python-article

Pythonの仕組み

インタープリター型言語

Pythonはインタープリター型言語であり、コードはランタイム時に1行ずつ実行されます。スクリプトをインポートする場合でも同様です。

これはどういうことでしょうか? 以下のコードを見てみましょう。

0 0
0 31
記事
· 2025年10月28日 3m read
Pythonダンダーメソッド入門

img

この記事では、マジックメソッドとしても知られるPythonダンダーメソッドについて簡単に解説します。

ダンダーメソッドとは?

ダンダーメソッドは、始めと終わりに2つのアンダースコア(__)が付いているPythonの特殊メソッドです。 このメソッドを使用することで、加算や減算、文字列表現など、組み込みの操作に対するオブジェクトの動作を定義することができます。

よくあるダンダーメソッドには、次が含まれます。

0 0
0 21
参加者

コミュニティの皆さんこんにちは。

ベクトル検索関連の処理が完全にノーマークだった私が、一先ず「やってみよう!」との事で、2つの動画のサンプルを実行してみました。
Pythonは初心者なので、アレな箇所があっても目をつぶっていただけると幸いです。

また、間違っている箇所があったら、ご指摘いただけると幸いです。



■参考にした動画

■参考にしたコミュニティ記事

11 0
0 81

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

SQLアクセス( ADO含む)を行う場合は、SQLトランザクションを使用して、トランザクションを制御します。

一方オブジェクトアクセス(ObjectScript)ではtstart / tcommit / trollbackコマンド
(Native SDK for .NETでは IRIS の TStart(), TCommit(), TRollback() メソッド)
によってトランザクションを制御します。

この2種類のトランザクションモードを混在させて使用することはサポートされていません。

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

トランザクション管理

0 0
0 12

REST レスポンスから IRIS データーベースに情報を保存する新しいプロジェクトがあります。 少なくとも 20 以上の個別の REST エンドポイントの情報を同期する必要があるため、それらのエンドポイントの結果を保存するために、ほぼ同じ数の ObjectScript クラスを作成しなければなりません。

ChatGPT を使って、それらのクラスを作成することはできますか? 答えは「できます」です。生成 AI を使って便利なものを作るのは初めてなので、素晴らしい機会だと思います。 スープを飲むキリンの写真を生成するのには飽きてきました…。

1 0
0 25

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

ビジネスサービスやビジネスオペレーションで EnsLib.CloudStorage.InboundAdapter アダプタを使用したり、%Net.Cloud.Storage.Client を使用することで、Amazon s3(クラウドストレージAPI)のファイルにアクセスすることが可能です。

いずれの場合も、事前に Javaランタイムをシステムにインストールし、インストールしたJavaランタイムの JAVA_HOME 情報を、管理ポータルにて設定する必要があります(手順は後述します)。


今回は、%Net.Cloud.Storage.Client クラスを使用したサンプルをご紹介します。
手順は以下のようになります。


【手順】

以下のS3パケットにアクセスする手順になります。

0 0
0 32

インターシステムズは、VS Code - ObjectScript 拡張機能のバージョン 3.0.5 をリリースしました。 本リリースには、多くのバグ修正 および 利用状況データ収集の変更が含まれています。より多くの製品使用データを収集することで、ユーザのみなさまにとって最も良い影響につながる修正と機能強化を特定し、優先順位をつけて実装することが可能となります。 個人を特定できる情報 (PII) が収集されることはありません。また、VS Code の telemetry.telemetryLevel 設定で利用状況データ収集を無効にすることも可能です。

0 0
0 40

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

InterSystems 製品では、ファイルオープン時に文字コードを指定すれば指定の文字コードで正しくファイルの中身を処理できます。

文字コードを指定しない場合、InterSystems 製品をインストールした OS に合わせて設定されたファイル I/O 用文字コードを利用してファイルをオープンします(Linux 系は UTF8、Windows は SJIS)。

また、文字列については文字コードが判明していれば $ZCONVERT() 関数を使用して指定文字コードで文字列を処理することができます。

 例)$ZCONVERT(文字列,"I","IRIS内文字コード")

2 0
1 101

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

ObjectScript で日付の比較を行う場合、一旦 $HOROLOG 形式(内部数値)に変換することで算出しやすくなりますが、SQL 関数を利用して算出することもできます。

ObjectScript から SQL 関数を実行するには、%SYSTEM.SQL.Functions クラスを使用します。

0 0
0 31

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


メソッドの実装に使用する言語を明示する場合は、下記のようにメソッドキーワードで「Language=~~~」と指定します。

Method name(formal_spec) As returnclass [ Language = language ]
{    //implementation }

指定できるLanguageの値は下記のとおりです。

0 0
0 59

2022年5月30日より、外部アプリからGmailを送信するには OAuth 2.0が必須になりました (リンク) そのため、IRIS から Gmail を送信したい 場合は、今後は OAuth 2.0 を利用して Gmailアカウントに接続する 必要があります。 そこで、IRIS コード ObjectScript を使って、OAuth 2.0 でGmailアカウントに接続&メール送信するサンプルを作成しました。 ぜひご活用ください!

4 2
0 1.4K

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

指定した文字列式のうち指定したフィールド幅(半角での文字数)に収まる文字数を取得する関数:$ZPOSITIONと、部分文字列を返す関数:$EXTRACTを組み合わせることによって、全角/半角混在文字列から、指定された幅の文字列を取得することが出来ます。
※$Extractは文字単位で処理を行いますので、全角/半角を区別した取り扱いはできません。

構文:

1 0
0 70

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

小数点桁数を指定しない単純な整数への切り上げ・切り捨ては、それぞれ、以下の関数で実行できます。

(SQL関数)

切り上げ:CEILING
切り捨て:FLOOR

(ObjectScript関数)

1 0
0 91

以前公開している こちら の記事では、「OAuth 2.0 を利用して IRIS から Gmail を送信する」方法をご紹介しています。

本記事では、 %Net.POP3 クラスを使用してメールを受信するサンプルをご紹介します。

2 0
0 43

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

ObjectScriptの%Netパッケージのライブラリクラスを利用して、ファイルを他のサーバーにアップロードすることができます。

以下のCurl コマンドと同じことを ObjectScript で実現する方法を紹介します。

0 0
0 96
記事
· 2025年3月3日 1m read
計算プロパティの使用方法1

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

IRISには、データ項目の値を実体として持たずに、何らかの演算処理の結果として提供する機能があります。

これを計算プロパティまたは計算フィールドといいます。

計算プロパティを定義するためには、最低限以下の手順を実行します。

プロパティ定義にSqlComputedキーワードを含めます。

プロパティ定義にSqlComputedCodeを含めて、値を算出するための処理ロジックとして含めます。

または、SqlComputedCodeを含めずに、代わりに<プロパティ名>Computationという名前のクラスメソッドを記述します。

以下は、Age(年齢)プロパティを計算プロパティとして定義した例になります。

1 0
0 41

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

この記事では、複雑なJSON形式の文書を「JSONテンプレートエンジン」を利用して生成させる方法をご紹介します。

「JSONテンプレートエンジン」については、6月のウェビナーで使用例をご紹介しましたが、JSON生成対象として医療情報交換標準規格であるFHIRリソースのJSON(例:Patientリソース)を例に解説しています。

このエンジンは、JSON形式の文書であればどのような種類のデータでもご利用いただけますので、一般的なJSON形式の文書を利用して使い方をご紹介します。

1 7
0 1.4K
InterSystems公式
· 2025年2月11日
InterSystems Language Server 2.7 最新情報

開発者コミュニティのみなさま、2025年もよろしくお願いします!今年も素晴らしい製品やニュースをみなさまにお届けいたします。本日は VS Code の InterSystems Language Server 拡張機能の最新バージョンをご紹介します。Language Server 拡張機能の多くは、ObjectScript 拡張機能を通じてご提供することが多いです。そのため、コード補完機能やホバー機能といった、2024年に追加された Language Server 拡張機能の新機能には、なかなか気づきにくいかもしれません。ぜひ Language Server 変更履歴 で、見逃していたかもしれない新機能がないかご確認ください。最新バージョン2.7.0では、Windows ARMプラットフォームがサポートされたので、Surface Pro 11 (私はこの記事をウキウキしながら書いています) のようなデバイスをお持ちの方は、お使いのマシンで素晴らしい ObjectScript 開発を体験いただけます。Language Server 拡張機能をお試しいただき、何かありましたらぜひコメントをお寄せくださいませ。

0 0
0 69

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

Question:

使用中のプログラムをコンパイルして保存すると、現在そのプログラムを実行中のプロセスに影響しますか?

Answer:

実行中のルーチンはその旧バージョンをメモリー上に保持しているため、コンパイルして新しいルーチンが保存されても影響なく実行を継続できます。

クラスのメソッドについても同様です。 再度そのルーチンが呼び出された時点でコンパイルされた新しいルーチンが使用されるようになります。

0 0
0 32

インターシステムズは、特定の $List シンタックスを使用することで不正なデータベースとジャーナルレコードが作成される問題を修正しました。この問題が発生する可能性は非常に低いものですが、発生した場合の影響は非常に大きなものとなります。

この問題は、以下の製品およびそれらベースとしたその他のインターシステムズ製品に存在します:

  • InterSystems IRIS® : 2023.3, 2024.1.0, 2024.1.1, 2024.1.2, 2024.2, 2024.3
  • InterSystems IRIS® for Health: 2023.3, 2024.1.0, 2024.1.1, 2024.1.2, 2024.2, 2024.3
  • HealthShare® Health Connect: 2023.3.0, 2024.1, 2024.1.1, 2024.1.2, 2024.2, 2024.3
  • HealthShare® Unified Care Record と関連製品: 2024.2

この問題はUnicode版の製品でのみ発生します。

0 0
0 72