記事 Tomoko Furuzono · 12月 7, 2021 1m read

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

プライベートWebサーバを使用して、HTMLファイルをリクエストした際に、日本語が文字化けする場合があります。
その場合には、HTMLファイルをBOM(バイト・オーダー・マーク)付で保存してください。

※原則的に、プライベートWebサーバを使用してアプリケーションを稼働することは推奨しておりません。
 アプリケーション稼働には、必ず、IISやApache等の製品版のWebサーバを使用してください。  
 プライベートWebサーバについては、以下のドキュメントをご参照ください。
 プライベート Web サーバおよび管理ポータル【IRIS】
 プロダクション Web サーバおよび Caché 付属のプライベート Web サーバ

0
0 276
記事 Tomoko Furuzono · 12月 7, 2021 2m read

これは、InterSystems FAQサイトの記事です。
このメッセージが出力される要因は以下の2つになります。

  1. 同じデータに対して適切に排他を行わずに、別々のプロセスから更新が行われている
  2. ロールバックが発生している

詳細は以下の通りです。 メッセージログ/コンソールログに、以下のようなメッセージがある場合、これはロールバック処理にて出力されています。
※バージョンによってメッセージは多少異なります。

Skipping SET due to compare and swap failed on ...
Skipping KILL due to compare and swap failed on ...
---
Skipping Set global ^xxx during transaction rollback (transaction may not have been properly locked) in journal ...
Skipping KILL as node ^xxx exists in ...
---
Skipped rolling back x update(s) in ...
Total 1 update(s) were skipped during rollback of transaction beginning at address ...
0
0 151
お知らせ Mihoko Iijima · 11月 24, 2021

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

今年 2 回目となる「InterSystems 技術文書ライティングコンテスト」の開催が決定しました!👏

いつもの「IRIS プログラミングコンテスト」とは異なり、このコンテストでは、InterSystems のテクノロジに関連するあらゆるトピックについての記事を投稿いただくコンテストです!

🎄 InterSystems 技術文書コンテスト:クリスマスエディション 🎄

応募期間:2021年11月25日~2021年12月25日

今回は、応募期間中に投稿いただいた方 全員 賞品 をご用意しています。

特賞:Apple AirPods Max / Oculus Quest 2 (VR Headset) / Amazon Kindle / Apple AirPods Pro / Raspberry Pi

月間 55,000人 以上の読者が訪れるインターシステムズ開発者コミュニティに記事を投稿してみませんか?

詳細は以下の通りです。

2
0 304
記事 Toshihiko Minamoto · 12月 7, 2021 31m read

キーワード: IRIS、IntegratedML、機械学習、Covid-19、Kaggle 

目的

最近、Covid-19患者がICU(集中治療室)に入室するかどうかを予測するKaggleデータセットがあることに気づきました。  231列のバイタルサインや観測で構成される1925件の遭遇記録が含まれる表計算シートで、最後の「ICU」列では「Yes」を示す1と「No」を示す0が使用されています。 既知のデータに基づいて、患者がICUに入室するかどうかを予測することがタスクです。

このデータセットは、「従来型ML」タスクと呼ばれるものの良い例のようです。 データ量は適切で、品質も比較的適切なようです。 IntegratedMLデモキットに直接適用できる可能性が高いようなのですが、通常のMLパイプラインと潜在的なIntegratedMLアプローチに基づいて簡易テストを行うには、どのようなアプローチが最も単純なのでしょうか。

範囲

次のような通常のMLステップを簡単に実行します。

  • データのEDA(探索的データ分析) 
  • 特徴量の選択
  • モデルの選択
  • グリッド検索によるモデルパラメーターのチューニング

上記との比較で、次を実行します。 

  • SQLを介したIntegratedMLアプローチ

Docker-composeなどを使用して、AWS Ubuntu 16.04サーバーで実行します。   

環境

0
0 332
質問 Yuji Ohata · 12月 6, 2021

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

私はIRISでSQLアクセスを行うプログラムをを作成しており、
テーブルアクセスには%ScrollableResultSetクラスのAPIを用いて処理を実現しています。
作成するSQLはインジェクション対策のため、?パラメータを用いておりますが、
この度、大量のパラメータ(600項目)を用いるSQLを作成する必要が出てきました。

https://irisdocs.intersystems.com/iris20191/csp/docbookj/DocBook.UI.Pag…
こちらによりますと、可変長引数を用いても引数の上限値は255個となっており、
実際に600個のパラメータを引数に与えてSQLアクセスしようとすると、<STACK>エラーが発生する状況です。

    Set query = "SQL文"
    Set result = ##class(%ScrollableResultSet).%New("%DynamicQuery:SQL")
    Do result.Prepare(query)
    Do result.Execute(parameterValue...) #; ここに600個のパラメータをセット
2
0 449
記事 Toshihiko Minamoto · 12月 3, 2021 12m read

キーワード: ディープラーニング、Grad-CAM、X線、COVID-19、HealthShare、IRIS

目的

イースターウィークエンド中に、Covid-19に感染した胸部X線画像分類とCT検出デモを実行するを触ってみました。  デモの結果は上出来で、このトピックに関するその頃の学術研究出版物に一致しているようでした。 でも、本当に「上出来」と言えるのでしょうか。 

最近、「機械学習における説明可能性」に関するオンラインランチウェビナーを聴くことがあったのですが、たまたまその講演の最後でDonがこの分類結果について話していました。

上図は研究論文にも示されています。『“Why Should I Trust You?” Explaining the Predictions of Any Classifier』という論文です。   分類器は実際に、ペットの犬か野生の狼に分類するための主な入力として、雪といった自然環境などの背景ピクセルを取るようにトレーニングされていることがわかります。 

これを見て、私は以前から持っていた関心を思い出しました。このやり方に、確かに好奇心を掻き立てられます。

0
0 573
記事 Toshihiko Minamoto · 11月 30, 2021 16m read

キーワード: COVID-19、医用画像、ディープラーニング、PACSビューア、HealthShare。

目的

私たちは皆、この前例のないCovid-19パンデミックに悩まされています。 現場のお客様をあらゆる手段でサポートする一方で、今日のAI技術を活用して、Covid-19に立ち向かうさまざまな前線も見てきました。 

昨年、私はディープラーニングのデモ環境について少し触れたことがあります。 この長いイースターの週末中に、実際の画像を扱ってみてはどうでしょうか。Covid-19に感染した胸部X線画像データセットに対して簡単な分類を行うディープラーニングモデルをテスト実行し、迅速な「AIトリアージ」や「放射線科医の支援」の目的で、X線画像やCT用のツールがdockerなどを介してクラウドにどれほど素早くデプロイされるのかを確認してみましょう。     

これは、10分程度の簡易メモです。学習過程において、最も単純なアプローチでハンズオン経験を得られることを願っています。   

範囲

このデモ環境では、次のコンポーネントが使用されます。 これまで見てきた中で最も単純な形式です。

0
0 565
記事 Tomoko Furuzono · 11月 28, 2021 5m read

これは、InterSystems FAQサイトの記事です。
InterSystems製品のデータ(テーブルの行データ、オブジェクトのインスタンスデータ)は、グローバル変数に格納されています。
各グローバルのデータサイズは、管理ポータル>システム>構成>ローカルデータベース>グローバルのページから参照したいグローバルのプロパティをクリックし、表示されるグローバル属性ページ上のサイズ計算ボタンをクリックすることで個別のグローバルのサイズを取得することができます。
ネームスペース上のグローバルのデータサイズをまとめて表示するには、ターミナル上で^%GSIZEユーティリティを起動することで取得することができます。
実行方法は以下の通りです。

0
0 486
記事 Toshihiko Minamoto · 11月 25, 2021 17m read

キーワード:   Jupyterノートブック、TensorFlow GPU、Keras、ディープラーニング、MLP、HealthShare    

1. 目的

前回の「パート1」では、ディープラーニングデモ環境をセットアップしました。今回「パート2」では、それを使ってできることをテストします。

私と同年代の人の中には、古典的なMLP(多層パーセプトロン)モデルから始めた人がたくさんいます。 直感的であるため、概念的に取り組みやすいからです。

それでは、AI/NNコミュニティの誰もが使用してきた標準的なデモデータを使って、Kerasの「ディープラーニングMLP」を試してみましょう。 いわゆる「教師あり学習」の一種です。 これを実行するのがどんなに簡単かをKerasレベルで見ることにします。

後で、その歴史と、なぜ「ディープラーニング」と呼ばれているのかについて触れることができます。流行語ともいえるこの分野は、実際に最近20年間で進化してきたものです。 

HealthShareにも関連しているため、最終的には、少々実現的なユースケースを想像または予測できるようになることを願っています。

2. 範囲と免責事項

次のことを行います。 

0
0 196
記事 Hiroshi Sato · 11月 24, 2021 1m read

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

InterSystems製品開始時に、OSの実行ファイルやコマンド、InterSystems製品内に作成したプログラムを実行したい場合は SYSTEM^%ZSTART ルーチンに処理を記述します。

(%ZSTARTルーチンは%SYSネームスペースで作成します)

SYSTEM^%ZSTART に記述する処理は、事前にあらゆる条件下でうまく動作することを確認してください。

^%ZSTART ルーチンの記述ミスや、記述は正しくとも起動時にコマンドが応答を返さなかったり処理でエラーが起こった場合、InterSystems製品が起動できなくなることがあります。

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


%ZSTART、%ZSTOPルーチンの記述について【IRIS】
%ZSTART、%ZSTOPルーチンの記述について

0
1 291
記事 Toshihiko Minamoto · 11月 18, 2021 13m read

Python 3をHealthShareにバインディングした深層学習デモキット(パート1) キーワード:  Anaconda、Jupyterノートブック、TensorFlow GPU、ディープラーニング、Python 3、HealthShare    

1. 目的

この「パート1」では、Python 3をHealthShare 2017.2.1インスタンスにバインドして、「単純」かつ一般的なディープラーニングデモ環境をセットアップする方法を段階的に簡単に説明します。  私は手元にあるWin10ノートパソコンを使用しましたが、このアプローチはMacOSとLinuxでも同じように実装できます。

先週、PYPL Indexにおいて、Pythonが最も人気のある言語としてJavaを超えたことが示されました。  TensorFlowも研究や学術の分野において非常に人気のある強力な計算エンジンです。 HealthShareは、ケア提供者に患者の統一介護記録を提供するデータプラットフォームです。

これらを1つのキットにまとめることはできるでしょうか。また、これを実現する上での最も単純なアプローチは何でしょうか。  ここでは、このトピックの最初のステップを一緒に試してから、次に試すことのできるデモについて検討しましょう。  

2. 範囲と免責事項

0
0 305
記事 Toshihiko Minamoto · 11月 16, 2021 4m read

ODataとは?

OData(Open Data Protocol)は、RESTful APIの構築と消費に関する一連のベストプラクティスを定義するISO/IEC認定OASIS標準です。 ODataは、リクエストとレスポンスのヘッダー、ステータスコード、HTTPメソッド、URL変換、メディアタイプ、ペイロード形式、クエリオプションなどを定義するための多様なアプローチを気にせずに、RESTful APIを構築しながらビジネスロジックに専念するのに役立ちます。 また、ODataには変更の追跡、再利用可能なプロシージャの関数/アクションの定義、および非同期/バッチリクエストの送信に関するガイダンスも提供されています(出典: OData.org)。

ODataのユースケース

  • 開発作業なしで、相互運用可能な形式でデータをRESTサービスとしてデプロイする。
  • 開発作業なしで、RESTを使って、BI、データ視覚化、ERP、CRM、ESB、ワークフローツール、およびエンジンでデータを消費できるようにする。
  • API管理ツールで企業データを仮想化する。
  • 0
    0 202
    記事 Megumi Kakechi · 11月 15, 2021 1m read

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

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

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

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

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

    例:

    0
    0 405
    記事 Hiroshi Sato · 11月 11, 2021 3m read

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

    設定内容によって、方法が異なります。
     

    システム構成について
    管理ポータルの [システム管理] > [構成]

    以下の設定については(※1)、パラメータファイル(InterSystems IRISは iris.cpf、Caché/Ensemble/HealthShareは cache.cpf) に格納されます。 

    このファイルはテキストファイルとなっていますのでこのファイルの一部を他のシステムにコピーして反映させることが可能です。 
    ただし、ディレクトリ名など各システム固有の情報が多く含まれるため、そのままファイル全体をコピーしても設定内容を反映させることはできません。 
    (※1) 【Caché/Ensemble2010.2以前】 [システム管理ポータル] > [構成] (システム構成)  メニュー以下の設定が対象です。 
    パラメータ・ファイルの各項目については、以下ドキュメントをご参照ください。 
    InterSystems パラメータ・ファイル・リファレンスについて【IRIS】Caché パラメータ・ファイル・リファレンスについて      

    セキュリティについて
    ^SECURITY ユーティリティを使用してエクスポート/インポートすることが可能です。 
    ターミナルを起動し、%SYSネームスペースで以下のコマンドを実行してください。 

    0
    0 599
    お知らせ Toshihiko Minamoto · 11月 11, 2021

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

    普段お世話になっている皆さんへ、うれしいお知らせです!

    この度、なんと! 開発者コミュニティのメンバー登録が1万人に達しました! 🎊

    インターシステムズはコミュニティの力を信じています。この6年間の皆様のご協力に感謝するとともに、これからもよろしくお願いいたします。

    1
    0 101
    記事 Hiroshi Sato · 11月 11, 2021 1m read

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

    タイムアウトを無効にするためには、DSNの設定でクエリタイムアウト無効に設定します。

    Windowsコントロールパネル > [管理ツール] > [データソース(ODBC)] > [システムDSN]の構成


    で クエリタイムアウト無効 にチェックを入れますと、タイムアウトは無効になります。

    アプリケーション側で変更する場合は、ODBC APIレベルで設定することが可能です。


    ODBCのSQLSetStmtAttr関数をコールする際に、SQL_ATTR_QUERY_TIMEOUT属性を設定してから、データソースに接続してください。

    0
    0 11798
    記事 Hiroshi Sato · 11月 11, 2021 1m read

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

    バックアップ先に、共有フォルダを指定することは可能ですが、推奨しません。

    バックアップの最終フェーズのDBアクセスを禁止する箇所で万一ネットワークエラー等で、バックアップがハングアップすることがあれば、システム全体に影響が及ぶリスクがあります。

    0
    0 168
    記事 Toshihiko Minamoto · 11月 11, 2021 8m read

    しばらく前、GitHubはGitHub Codespacesという新しい機能を発表しました。 ブラウザでVSCodeを実行する機能があります。マシンでローカルに実行するのとほぼ同じ性能がありますが、クラウドの能力も備わっているため、最大32CPU、64 GB RAMのマシンタイプを選択することが可能です。

    素晴らしいことですね。 でも、このことは、InterSystems IRISで駆動するプロジェクトで作業する上で、どのように役立つのでしょうか。 それをどのように構成するのか見てみましょう。

    0
    0 402
    記事 Megumi Kakechi · 11月 10, 2021 4m read

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


    InterSystems製品のプロセスが消費するメモリ領域は以下の6つの領域になります。

    プロセスのプライベートな領域

     1. プロセスパーティション(ローカル変数テーブル等、プロセスごとに使用するメモリ)
     2. 長い文字列(LongString)使用メモリ
     3. 文字列スタック...等

    プロセス間共有領域

     4. データベースキャッシュ
     5. ルーチンキャッシュ
     6. 一般ヒープメモリ(プロセステーブル、ロックテーブル等)


    プロセスが使用するメモリ領域は、「プライベート領域」と「共有領域」の大きく2種類に分かれます。
    プライベートな領域はそのプロセスのみが使用し、個々のプロセス毎にメモリを割り当てます。
    共有領域は、プロセス間で一つのメモリ領域を共有してアクセスしていますので実体はメモリ上に 1つです。
    以下それぞれの領域の値は、管理ポータルで指定します(設定可能な場合)。
    (1) プロセスパーティションのサイズ

     [システム管理] > [構成] > [システム構成] > [メモリと開始設定] > [プロセスあたりの最大メモリ(KB)]

    0
    0 612
    記事 Mihoko Iijima · 11月 4, 2021 6m read

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

    この記事では、【GettingStarted with IRIS】シリーズの MQTT アダプタを簡単に試せるサンプルの利用方法についてご紹介します!

    (MQTTブローカーはインターネット上に公開されているテスト用ブローカーを利用しています)​​

    サンプルは、こちら👉https://github.com/Intersystems-jp/Samples-MQTT-EKG-Devices (コンテナで動作します)

    IRIS/IRIS for Health のバージョン2020.1から、IoT の世界でよく利用される MQTT プロトコルに対応できる MQTT アダプタが追加されました。

    MQTTインバウンドアダプタでは、メッセージの Subscribe が行え、MQTTアウトバンドアダプタでは、メッセージの Publish が行えます。

    サンプルでは、MQTT を使った遠隔モニタリングをテーマに、患者さんに装着した心電図から心拍数(BPM)をリアルタイムに近い状態で取得し、モニタ画面に患者さん毎の心拍数を表示します(IRIS の MQTT インバウンドアダプタを利用したメッセージの Subscribe をご体験いただけます)。

    Publish されるトピックについて

    サンプルでは、演習環境毎にユニークになるようにコンテナ開始時に以下の形式でトピックを作成しています(末尾の # はワイルドカードの指定です)。

    /Student_4629/acmeHospital/EKG/#

    実際に Publish されるトピックは患者さんに装着した心電図のデータになるので、# の部分は、Patient-1 や Patient-2 などのように患者さんを特定できる文字列が入ります。

    サンプルのシナリオは、1つの医療機関の患者情報を取得する流れにしています(本来であれば複数の医療機関の患者情報をモニタできるようにしたほうが良いのですがシンプルに試すため、1つの医療機関の患者情報を取得する流れにしています)。

    トピックの流れ

    サンプルには1つHTMLファイルが用意されています。このファイルをブラウザで開くと MQTT ブローカーに接続し、データ(心拍数)を1秒ごとにブローカーへ Publish します。

    IRIS は、MQTTブローカーから指定のトピックを Subscribe します。

    ​​​

    MQTT ブローカーを Subscribe する設定を行った IRIS のサービスは、ブローカーからトピックを取得します。

    実際の設定は以下の通りです。

    受信したトピックは IRIS の中では​​​メッセージ(EnsLib.MQTT.Message)として扱われ、次のコンポーネントであるプロセス(図では Process_MQTT_Request)に渡します。

    プロセスでは、受信した MQTT 用メッセージからモニタ表示に利用するデータ(Solution.HeartRate)に変換するため、データ変換を呼び出します。

    プロセスエディタの開き方と、中で行われているデータ変換の呼び出しの設定を確認する方法は以下の通りです。

     

    患者ごとの測定値を参照する流れ

    MQTT ブローカーから Subscribe した心拍数をリアルタイムに近い状態で画面表示するため、データ変換で作成された Solution.HeartRate から1秒ごとに患者ごとの心拍数を収集し、画面に表示しています。

    この表示を行うため、1秒間隔で Solution.HeartRate に対するSELECT文が実行されています。

    このクエリを実行しているのが、メトリックと呼ぶクラスです。プロダクションでは以下の場所に設定されています。

    メトリックでは、指定の呼び出し間隔で Solution.HeartRate から患者ごとの BPM を収集しています。詳細はソースコードをご参照ください。

    0
    0 397
    記事 Toshihiko Minamoto · 11月 3, 2021 12m read

    この連載の最初の記事では、大きなチャンクのデータをHTTP POSTメソッドのRaw本体から読み取って、それをクラスのストリームクラスとしてデータベースに格納する方法を説明しました。 2つ目の記事では、ファイルとファイル名をJSON形式にラップして送信する方法を説明しました。 

    それでは、大きなファイルを分割してサーバーに送るという構想を詳しく見ていきましょう。 これを行うために使用できるアプローチにはいくつかあるのですが、 この記事では、Transfer-Encodingヘッダーを使用してチャンク転送を指示する方法を説明します。 Transfer-EncodingヘッダーはHTTP/1.1仕様で導入されたものです。RFC 7230第4.1項では説明されているものの、HTTP/2仕様からはその説明が無くなっています。 

    0
    0 1357
    記事 Shintaro Kaminaka · 11月 3, 2021 15m read

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

    この記事は、FHIRの関連技術として、FHIRプロファイル作成ツールであるSUSHIの使い方を紹介するシリーズの第2弾です。パート2である今回まで半年の期間が経ってしまいました。

    前回のパート1では、FHIRとは?FHIRプロファイルとは?FHIR Shorthandとは?そしてSUSHIとはどのようなツールなのか?どのような物を作成できるのか?について、サンプルの成果物のスクリーンショットを交えながら説明しました。

    今回の記事では、SUSHIで作成したプロファイルの実際の活用例として、SUSHIを使ってPatientリソースに Extension を追加し、さらにそのExtensionの項目に対する新しい SearchParameter を定義し、IRIS for HealthのFHIR Repositoyで新しいSearchParameterが使えるようになるまで、をご紹介します。

    SUSHIのアップグレード

    いきなり本筋とそれて恐縮ですが、SUSHIを久しぶりに触る私のような方はSUSHIのアップグレードを行いましょう。 この半年の間もSUSHIは精力的な機能Enhancementが行われており、8月にはversion 2.0.0がリリースされています。この記事の執筆段階の最新バージョンは SUSHI 2.1.1 でした。

    0
    0 1145
    お知らせ Mihoko Iijima · 11月 2, 2021

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

    次の InterSystems オンラインプログラミングコンテストが決定しました! 

    お題は・・・・   🏆 InterSystems Security Contest 🏆

    応募期間は 2021年11月15日~11月28日 です!

    💰 賞金総額: $9,450 💰


    <--break->

    0
    0 143
    記事 Toshihiko Minamoto · 11月 1, 2021 9m read

    この連載の第1回目の記事では、「大規模な」チャンクのデータをHTTP POSTメソッドのRaw本体から読み取って、それをクラスのストリームプロパティとしてデータベースに格納する方法について説明しました。 では、そのようなデータとメタデータをJSON形式で格納する方法について見てみましょう。

    残念ながら、Advanced REST Clientでは、バイナリーデータをキーの値としてJSONオブジェクトを作成することはできません(もしかすると、私がまだ知らないだけかもしれません)。そこで、サーバーにデータを送信する単純なクライアントをObjectScriptで記述することにしました。

    新しいRestTransfer.Clientというクラスを作成し、私のWebサーバーを指定するServer = "localhost"パラメーターとPort = 52773パラメーターをそれに追加しました。 そしてGetLinkクラスメソッドを作成しました。この中で、クラス%Net.HttpRequestの新しいインスタンスを作成し、プロパティを前述のパラメーターに設定します。 

    0
    0 514
    InterSystems公式 Mihoko Iijima · 11月 1, 2021

    InterSystems IRIS と InterSystems IRIS for Health 2021.1 CommunityEdition の組み込みライセンスが 2021年10月30日で期限切れになるよう誤って設定されていることが判明しました。大変申し訳ありません。

    CommunityEdition は開発用途であるため、実稼働バージョンへの影響はありませんが、CommunityEdition のキーが期限を迎えると、ご利用中インスタンスの実行が停止する、または開始できない状況になります。

    ご利用を継続いただくためには、新しいインスタンスに置き換えていただく必要があります。インスタンスの置き換えが行えない場合には、ライセンスキーのオーバーライドが行える拡張用キーをご提供しております。

    ご不便おかけし、大変申し訳ありません。

     

    置換対象のキット/コンテナのビルド番号について

    インストールキットとコンテナは、WRC software distribution site よりダウンロードいただけます。

    バージョン 2021.1 build 215.3 をご利用ください。

    拡張キーが含まれる新しいコンテナを、InterSystems Container Registry にご用意いたしました。

    以下コマンドで新しいイメージを pull できます。

    1
    0 322
    記事 Megumi Kakechi · 10月 28, 2021 2m read

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

    TIMESTAMP型はInterSystems製品では、%Library.TimeStampデータタイプ(=%TimeStamp)に対応していて、フォーマットは YYYY-MM-DD HH:MM:SS.nnnnnnnnn です。

    小数点以下の精度を変更したい場合は、以下の方法で設定します。

    1) システムワイドに設定する

    管理ポータル:[システム管理] > [構成] > [SQLとオブジェクトの設定] > [一般SQL設定] 
    GETDATE(), CURRENT_TIME, CURRENT_TIMESTAMP のデフォルト時刻精度 に 0~9 の範囲で桁数を指定できます。

    設定内容の詳細については、下記のドキュメントページをご参照ください。
    追加構成設定~ - 一般SQL設定 - SQL タブ


    2) SQLの関数で指定する

    CURRENT_TIMESTAMP()の引数を利用して、小数点以下の精度を 0~9 の範囲で桁数を指定できます。
    ※CURRENT_TIMESTAMP()で返される値は、実行環境のタイムゾーンの現在の日付時刻を返します。

    0
    0 1538
    記事 Toshihiko Minamoto · 10月 28, 2021 8m read

    InterSystems開発者コミュニティにおいて、CachéアプリケーションへのTWAINインターフェースの作成の可能性に関する質問が上がりました。 Webクライアントの撮像装置からサーバーにデータを取得し、そのデータをデータベースに保管する方法について、素晴らしい提案がいくつかなされました。 

    しかし、こういった提案を実装するには、Webクライアントからデータベースサーバーにデータを転送し、受信データをクラスプロパティ(または質問のケースで言えばテーブルのセル)に格納できなければなりません。 この方法は、TWAINデバイスから受信した撮像データを転送するためだけでなく、ファイルアーカイブや画像共有などの整理といったほかのタスクにも役立つ可能性があります。 

    そこで、この記事では主に、HTTP POSTコマンドの本体から、raw状態またはJSON構造にラップしてデータを取得するRESTfulサービスを記述する方法を説明することにします。

    RESTの基本

    具体的な話に入る前に、まずREST全般と、IRISでRESTfulサービスがどのように作成されるかについて簡単に説明しましょう。

    0
    0 1302