#相互運用性

0 フォロワー · 104 投稿

ヘルスケアでは、相互運用性とは、さまざまな情報技術システムとソフトウェアアプリケーションが通信し、データを交換し、交換された情報を使用する能力です。

記事 Toshihiko Minamoto · 3月 28, 2024 12m read

ローコードへの挑戦

こんな状況を思い浮かべてください。「ウィジェットダイレクト」というウィジェットとウィジェットアクセサリーを販売する一流のネットショップで楽しく勤務しています。先日、上司から一部の顧客がウィジェット商品にあまり満足していないという残念な話を聞き、苦情を追跡するヘルプデスクアプリケーションが必要となりました。さらに面白いことに、上司はコードのフットプリントを最小限に抑えることを希望しており、InterSystems IRIS を使って 150 行未満のコードでアプリケーションを提供するという課題をあなたに与えました。これは実際に可能なのでしょうか?

免責事項: この記事は、非常に基本的なアプリケーションの構築を記すものであり、簡潔さを維持するために、セキュリティやエラー処理などの重要な部分は省略されています。このアプリケーションは参考としてのみ使用し、本番アプリケーションには使用しないようにしてください。この記事ではデータプラットフォームとして IRIS 2023.1 を使用していますが、それ以前のバージョンでは記載されているすべての機能が提供されているとは限りません。

ステップ 1 - データモデルの定義

クリーンなネームスペースを新規に定義することから始めましょう。CODE と DATA データベースを使用します。

1
0 160
記事 Toshihiko Minamoto · 3月 25, 2024 10m read

バージョン 2023.3(InterSystems IRIS for Health)の新機能は、FHIR プロファイル基準の検証を実行する機能です。

この記事では、この機能の基本的な概要を説明します。

FHIR が重要な場合は、この新機能を絶対にお試しになることをお勧めします。このままお読みください。

0
1 239
お知らせ Mihoko Iijima · 3月 7, 2024

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

インターシステムズの講師付きトレーニング「システム統合機能(Interoperability)の使い方」3日間(有料)を下記日時で開催します!

開催方法は、Teams会議とブラウザ経由でアクセスする演習環境(Windows)を利用したオンラインでの開催です。(ブラウザと安定したネットワーク環境があれば特にその他準備は不要です。)

コースでは、InterSystems IRIS または InterSystems IRIS for Health(以降IRIS)のインストールから開始し、開発環境の作成、VSCodeを利用した簡単なクラス定義の作成、ObjectScriptを使用したオブジェクト操作の練習を行った後、本題のシステム統合機能(Interoperabiityメニュー)の解説と演習に入ります。

コースで用意している外部システムへのアクセスとしては、データベースとファイル入出力があります。進み具合にもよりますが、お時間ある時はREST経由で情報を受信する方法も演習いただけます。

なお、Interoperabilityについては、コミュニティのシリーズ記事「【はじめてのInterSystems IRIS】Interoperability(相互運用性)を使ってみよう!」でもご紹介しています。

0
0 81
記事 Mihoko Iijima · 3月 6, 2024 2m read

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

Ens.Directorクラスのクラスメソッドを使用して取得できます。

プロダクション名(FAQSample.Interop.Production)とホスト名(FAQSample.Interop.FileOperation)を指定して設定リストを取得する方法は以下の通りです。

Set##class"FAQSample.Interop.Production||FAQSample.Interop.FileOperation"

 以下、出力結果です。

USER>zwite tSettings
tSettings(

GetHostSettingValue()を使用すると、指定のプロダクション、指定コンポーネント内で指定している設定項目値を取得できます。

例はプロダクション名:FAQSample.Interop.Production、オペレーション:FAQSample.Interop.FileOperationで作成している設定値:OutputFileNameの値を取得しています。

GetAdapterSettingValue()を使用すると、アダプタが提供する設定項目を取得できます。

例はプロダクション名:FAQSample.Interop.Production、オペレーション:FAQSample.

0
0 129
記事 Mihoko Iijima · 2月 27, 2024 7m read

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

InterSystems製品のInteroperability(相互運用性機能)を利用する際、REST経由で情報入力を行う場合の作成方法についてサンプルプロダクションを利用しながらご紹介します。

サンプルはこちら👉https://github.com/Intersystems-jp/FAQ-Interop-REST

0
0 242
お知らせ Mihoko Iijima · 1月 15, 2024

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

InterSystems FHIR とデジタルヘルスの相互運用性コンテスト のテクノロジーボーナス詳細が決定しましたのでお知らせします。

  • InterSystems FHIR の使用 - 3
  • InterSystems FHIR SQL Builder の使用 - 3
  • デジタルヘルスの Interoperability(相互運用性) - 4
  • LLM AI または LangChain の利用: Chat GPT、Bard、その他 - 3
  • Embedded Python - 2
  • Questionnaireの利用 - 2
  • IRIS For Health Instruqt Interoperability アンケートのへの回答 - 1
  • Docker コンテナの利用 - 2 
  • IPM Package によるデプロイ - 2
  • オンラインデモ - 2
  • InterSystems Community Idea の実装 - 4
  • InterSystems FHIR server のBugを見つける - 2
  • InterSystems Interoperability のBugを見つける - 2
  • コミュニティ(USコミュニティ)に記事を投稿する(最初の記事)- 2
  • コミュニティ(USコミュニティ)に2つ目の記事を投稿する - 1
  • 初めて参加した方 - 3
  • YouTubeにビデオを公開 - 3

詳細は以下の通りです。<--break->

0
0 135
記事 Toshihiko Minamoto · 12月 28, 2023 35m read

はじめに {#Webinar:ImplementingIntegrationswith.NetorJava-Introduction}

InterSystems IRIS 2020.1 には、Java または .NET で記述されたコンポーネントで IRIS 相互運用性プロダクションの開発を容易にする PEX(プロダクション拡張フレームワーク)が含まれています。

この PEX により、Java または .NET の知識を備える統合開発者は、InterSystems IRIS 相互運用性フレームワークの力、スケーラビリティ、および堅牢性を利用し、すぐに生産性を高めることができます。

IRIS 相互運用性フレームワークエキスパートに対し、PEX は既存の Java 言語または .NET 言語の外部コンポーネントとの統合を簡単にリッチ化することができます。

このチュートリアルでは、PEX を詳しく見ながら、.NET 開発者による PEX のはじめての使用を説明します。 コードは、https://github.com/es-comunidad-intersystems/webinar-PE にあります。

このチュートリアルは、https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=EPEX

0
0 224
記事 Toshihiko Minamoto · 10月 26, 2023 4m read

問題

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

動機

AI により、文書の検索が非常に強力になりました。 ChromaLangchain のようなオープンソースツールを使用して、ベクトル埋め込みを保存して使用し、生成 AI API 全体でクエリを実行することで、ドキュメント上での質疑応答がかつてないほど簡単になっています。 より献身的に取り組む組織は、既存のドキュメントにインデックスを作成し、エンタープライズ用に微調整されたバージョンの GPT を構築しています。 GPT の現状に関する Andrej Karpathy の講演では、このトピックに関する素晴らしい概要が提供されています。

このプロジェクトは、医療関係者が文書を操作するあらゆるタッチポイントにおいて発生する摩擦を緩和する試みです。 医療関係者が情報を保管し、必要な情報を難なく検索できるように、入力と処理から保管と検索まで、IRIS FHIR と AI を活用しました。

ソリューション

医療関係者が音声メモを記録できるフルスタックのウェブアプリを構築しました。

0
0 215
記事 Toshihiko Minamoto · 9月 28, 2023 22m read

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

私が作成した OpenAPI-Suite という最新のパッケージをご紹介します。これは、OpenAPI 仕様バージョン 3.0 から ObjectScript コードを生成するツールセットです。  簡単に言うと、これらのパッケージでは以下を行うことができます。

  • サーバーサイドクラスの生成。  ^%REST による生成コードに非常に似ていますが、バージョン 3.0 がサポートされていることに付加価値があります。
  • HTTP クライアントクラスの生成。
  • クライアントプロダクション(ビジネスサービス、ビジネスオペレーション、ビジネスプロセス、Ens.Request、Ens.Response)クラスの生成。
  • コードの生成とダウンロードまたはサーバーでの直接コンパイルを行う Web インターフェース。
  • バージョン 1.x からバージョン 3.0 への仕様の変換。
  • 0
    0 158
    記事 Toshihiko Minamoto · 8月 7, 2023 7m read

    この記事では、.Net/Java ゲートウェイを簡単にコンテナ化する方法を説明します。

    この例では、Apache Kafka との統合を開発します。

    Java/.Net と相互運用するために、PEX を使用しています。

     

    アーキテクチャ

    このソリューションは完全に docker で実行し、以下のように構成されます。

     

     

    Java ゲートウェイ

    まず、メッセージを Kafka に送信する Java オペレーションを開発しましょう。 このコードはお好きな IDE で書くことができ、こちらのようになります。

    要約すると:

    • 新しい PEX ビジネスオペレーションを開発するには、抽象型の com.intersystems.enslib.pex.BusinessOperation クラスを実装する必要があります。
    • public プロパティはビジネスホスト設定です。
    • OnInit メソッドは Kafka への接続を初期化し、InterSystems IRIS へのポインターを取得するために使用されます。
    • OnTearDown は、(プロセスのシャットダウン時に)Kafka から切断するために使用されます。
    • OnMessagedc.KafkaRequest メッセージを受け取って、Kafka に送信します。

    では、これを Docker にパックしましょう!

    これがこの例の dockerfile です。

    0
    0 222
    記事 Toshihiko Minamoto · 7月 13, 2023 5m read

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

    ご存知のように、InterSystems IRIS インターオペラビリティソリューションには、プロダクション、ビジネスルール、ビジネスプロセス、データ変換、レコードマッパーなどの様々なエレメントが含まれています。 また、UI ツールを使用してこれらの要素を作成し、変更することもあります。  もちろん、UI ツールで行った変更をソース管理する便利で堅牢な方法も必要です。

    長い間、これは手動(クラス、エレメント、グローバルなどのエクスポート)か面倒な設定作業手順によって行われてきました。そのため、ソース管理 UI の自動化で節約された時間は、設定のセットアップとメンテナンスの時間で相殺されていました。

    現在では、この問題はなくなりました。 パッケージファースト開発と @Timothy Leavittgit-source-control という IPM パッケージの使用という 2 つのアプローチによる結果です。

    詳細は以下のとおりです!

    0
    0 280
    記事 Mihoko Iijima · 6月 13, 2023 1m read

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

    注意:本番環境では実行しないでください。テスト環境でご利用ください。

    開発時にプロダクションに残っているキューを一括でクリアしたり、プロダクションに関連した一次的な情報をすべて消去したい場合、以下メソッドを利用して実行中のプロダクション情報をリセットできます。

    set$namespace"プロダクションのあるネームスペース名指定"

    ドキュメント:ネームスペースでのプロダクションのリセット

    プロダクション全体ではなく、一部コンポーネントの実行中データをリセットする場合は、アダプタの ClearAllAppData() を使用します。
    引数にはプロダクションに登録している構成名を指定してください。

    例)SQLインバウンドアダプタが保持している永続値をリセットする

    "構成名称"

    ドキュメント:受信アダプタで以前に処理された行のリセット

    例)FTPインバウンドアダプタが処理したファイルの情報をリセットする

    "構成名称"
    0
    0 156
    記事 Mihoko Iijima · 6月 2, 2023 6m read

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

    この記事では、ワークフローコンポーネントを使ってみよう!~使用手順解説~ でご紹介したユーザ操作画面(ユーザポータル)を任意のWebアプリに変更する際に便利な REST API の使用方法をご紹介します。

    ワークフロー用 REST APIですが、開発者コミュニティのサンプル公開ページ:Open Exchange に公開されているAPIでどなたでも自由にご利用いただけます。

    Open Exchangeの検索ボックスに「Workflow rest」と入力すると出てきます。EnsembleWorkflow が対象のサンプルです。

    ちなみに、2023年6月2日時点で724のアプリケーションが公開されているようです👀

    0
    0 429
    記事 Mihoko Iijima · 6月 1, 2023 21m read

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

    この記事では、システム連携の自動的な流れの中にユーザからの指示を介入できる「ワークフローコンポーネント」のサンプル でご紹介した内容を、お手元のIRIS、IRIS for Healthを利用して体験いただくための手順を解説します。

    なお、ワークフローコンポーネントでどんなことができるのか?の概要説明については、ウェビナーをご参照ください。

    A.事前準備

    1) InterSystems IRIS または、IRIS for Healthのインストール環境をご用意ください。

    まだインストール環境がない場合は、コミュニティエディション(コンテナ版かキット版)をご利用ください。

    0
    0 442
    記事 Mihoko Iijima · 6月 1, 2023 7m read

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

    先日のウェビナーでご紹介した「ワークフローコンポーネント」をお試しいただけるサンプルを公開しました。👉 https://github.com/Intersystems-jp/WorkFlow-DC

    《サンプルのテーマ》

    店舗で販売している商品に付けるPOPメッセージ候補を予めテーブルに登録できる仕組みが既にある、と仮定しています。

    IRISの Interoperability を利用してPOPメッセージ候補が登録されるテーブルに対して一定間隔でSELECT文を実行し、未処理のメッセージを取得します。
    新たなレコードが存在する場合、ワークフローコンポーネントを利用して担当者に審査を依頼します。

    担当者は、ワークフローユーザポータルを使用して、POPメッセージ候補の承認/却下を指示できるようにしています。

    0
    0 239
    記事 Tomoko Furuzono · 4月 11, 2023 1m read

    これは、InterSystems FAQサイトの記事です。
    HL7の仕様では、日本語データを送受信する場合はJISを文字コードとして利用し、メッセージヘッダ(MSH)の18番目の2項目に iso-ir87 を指定します。
    HL7用プロダクションでは、情報の入力はビジネスサービス、情報の出力はビジネスオペレーションを利用します。
    日本語を含むHL7を送受信する場合は、入力/出力の対象となる全てのコンポーネントの設定で [追加の設定] の「キャラクターセット(Charset)」に iso-ir87 を指定することで正しく日本語データを取り扱うことができます。

    iso-ir-87の設定

    0
    0 456
    記事 Mihoko Iijima · 3月 28, 2023 3m read

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

    前の記事では「機械学習を試せるチュートリアル:IntegratedML」で試せる内容をご紹介しましたが、この記事では Interoperability(相互運用性)チュートリアル の内容を少しご紹介します。

    Interoperability(相互運用性)チュートリアルでは、Redditに新しく投稿された記事=(https://www.reddit.com/new/)を一定間隔で取得し、全投稿の中から「猫(cat)」🐈について記載されている情報のみを抽出し、対象記事をファイル出力する流れをご体験いただけます。

    0
    0 403
    記事 Toshihiko Minamoto · 2月 27, 2023 7m read

    今回は、「孤立メッセージ」について説明します。

    孤立メッセージとは何ですか?

    すべてのメッセージボディは、メタデータを保持するメッセージヘッダと関連付けらます。ヘッダーには、ソース構成名称、ターゲット構成名称、作成時刻、処理時刻、関連するメッセージボディ参照、セッション情報、メッセージボディのクラス名称、メッセージステータスなどの情報が格納されます。 メッセージボディに対応するヘッダーレコードが存在しない場合、そのメッセージボディは孤立メッセージボディと呼ばれます。ここでは、孤立メッセージボディの原因となる可能性があるものについて説明します。

    ヘッダーのみを削除する場合

    削除タスクの設定において、BodiesToo メッセージヘッダとともにメッセージボディも削除するかどうかを指定するものです。この設定をOFFにすると、削除タスクはメッセージヘッダーのみを削除し、メッセージボディは残します。これらのメッセージボディは、参照されたヘッダが削除されることから、孤立したレコードとなります。 メッセージヘッダの削除したが、メッセージボディは残している場合、マネジメントポータルでは孤立メッ セージボディを削除する方法はありません。この場合、プログラムによってメッセージボディを削除する必要があります。

     

    削除タスクについては、ドキュメントをご参照ください。

    http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=EGMG_purge#EGMG_purge_basic

    0
    0 194
    記事 Mihoko Iijima · 2月 21, 2023 3m read

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

    開発者向け情報を集めた「Developer Hub」ページが新たに登場しました!

    (2025/10/9更新: 新たなチュートリアルが加わりましたので情報更新しました。)

    このページには、5種類のチュートリアルが用意されています。チュートリアはブラウザ上で動作し、VSCodeやIRISターミナル、管理ポータルなどチュートリアルで使用するすべての画面が1つのタブ内で開くようになっています。

    チュートリアルを試すための事前準備は不要で、クリック1回ですぐにお試しいただけます!(ユーザ登録も不要です)(チュートリアル開始方法は、ページ末尾をご覧ください。)

    0
    0 387
    お知らせ Maki Hashizawa · 1月 18, 2023

    インタ―システムズでは、医療ITソリューション・サービスを提供される方々向けに、医療DXの推進やデータ活用を支援するシステムの要件、求められる姿について考察するオンラインセミナーをシリーズで開催しております。ソリューション開発編の第2段として、今回は「相互運用性/FHIR®の実装」をテーマに、下記の通り、開催する運びとなりました。 是非、ご参加いただきたくご案内致します。

    【開催概要】

    日時:2023年2月9日(木)13:00 - 14:30 (予定)

    参加:無料(事前登録制)

    対象:医療情報ステムベンダー、医療機器メーカー、医療向けサービスプロバイダーの事業企画・開発の皆様

    主催:インタ―システムズジャパン株式会社

    お申込み・詳細はこちらから

    【プログラム】

    13:00~13:05 開会挨拶

    インターシステムズジャパン株式会社
    カントリーマネージャー 林 雅音

    13:05~13:45「高度な医療DXを実現するための情報基盤とは」

    宮崎大学医学部
    名誉教授 荒木 賢二 様

    13:50 - 14:25「HL7® FHIR® × InterSystems IRIS for Health」

    インターシステムズジャパン株式会社
    古薗 知子

    13:25 - 14:30 閉会挨拶

    ※ プログラムは、変更の場合がございます。最新の情報はWebサイトでご確認ください。

    詳細・お申込みはこちらをご覧ください。

    0
    0 159
    記事 Toshihiko Minamoto · 9月 26, 2022 8m read

    プログラムによる本番環境アクセス

    プログラムで本番環境(インターフェース)を編集するには、相互運用性 apis と SQL クエリを組み合わせて使用できます。

    現在のネームスペース

    大まかに言えば、その時点で作業しているネームスペースと本番環境を知ることが重要です。

    // Object script 
    // アクティブなネームスペースはこの変数に格納される
    $$$NAMESPACE 
    // ネームスペースを出力
    Write $$$NAMESPACE
    
    # Python
    import iris
    # このメソッドからアクティブなネームスペースが返される
    iris.utils._OriginalNamespace()
    # ネームスペースを出力
    print(iris.utils._OriginalNamespace())
    >>> DEMONSTRATION
    

    現在の本番環境(アクティブまたは最後に実行した本番環境)

    本番環境の名前を知ることも重要です。次の API を使用してネームスペース内のアクティブな本番環境を取得できます。

    // ObjectScript
    USER>ZN "DEMONSTRATION"
    // 現在または最後に実行した本番環境を取得
    DEMONSTRATION>W ##class(Ens.Director).GetActiveProductionName()
    >>> Hospital.HospitalProduction
    
    0
    0 221
    記事 Mihoko Iijima · 8月 25, 2022 1m read

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

    メモ:xxx にはネームスペース名が入ります。

    xxxENSTEMPは、プロダクション実行中に作成される一時データが保存されるデータベースです。
    ^IRIS.Temp.Ens* のグローバルがこのデータベースにマッピングされています。なお、xxxENSTEMPはジャーナルにかかれない設定のデータベースです。

    xxxSECONDARYは、プロダクションで使用される資格情報を保存するデータベースです。
    ^Ens.SecondaryData* のグローバルがこのデータベースにマッピングされています。

    注意:InterSystems IRIS for Health、HealthShare ではこれらデータベースは作成されません

    詳細は以下ドキュメントをご覧下さい。

    InterSystems IRIS の一時プロダクション・データの格納場所

    InterSystems IRIS のパスワード資格情報の格納場所

    関連する記事もご参照ください。

    0
    0 152
    お知らせ Mihoko Iijima · 8月 19, 2022

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

    Interoperability を使った開発のスキルを披露してみませんか?
    次回のコンテストのお題は 🏆 InterSystems Interoperability Contest: サステナブルなソリューションの構築🏆です!
    ​​​​

    期間: 2022年8月29日~9月18日

    💰賞金💰 $13,500 – 賞金の配分方法が変更されました!

    0
    0 128
    記事 Toshihiko Minamoto · 7月 14, 2022 2m read

    開発者の皆さん、こんにちは! DICOM 統合を実装したことはありますか? おそらく例やシミュレーターを探したことはあるかもしれません。 この記事では、有用な例を紹介したいと思います。

    DICOM はヘルスケアの分野で画像診断に広く使用されているメッセージ規格です。DICOM 規格は、IRIS For HealthHealth Connect の両方を使用して、相互運用性の本番環境で使用することができます。これについては、ドキュメントをご覧ください。

    多くの場合、DICOM 統合を開発する際に外部システム(PACS など)をシミュレーターで実行すると非常に便利です。実際のシステムに接続する前に、実装したいフローを完全にテストすることができます。

    IRIS For Health と dcm4che というシミュレーターを使った DICOM 統合の例があります。

    この例では、2 つのシナリオが実装されています。

    埋め込み PDF で DICOM メッセージを受信する

    画像

    DICOM 画像をクエリして PACS から取得する

    クエリフロー:

    取得フロー:

    さまざまな貢献をぜひお待ちしています :)

    0
    0 241
    記事 Mihoko Iijima · 7月 13, 2022 1m read

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

    管理ポータルメニュー [Interoperability] > [構成] > [システムのデフォルト設定] で設定したデータを移行する場合、設定値が格納されているグローバル変数をエクスポートし、移行先システムでインポートします。

    画面で登録した以下のような情報は、

    グローバル変数 ^Ens.Config.DefaultSettingsD に格納されています。

    認証情報については、グローバル変数 ^Ens.SecondaryData.Password に格納されます。

    InterSystems IRIS をご利用の場合は、このグローバルは xxxSECONDARY(xxx はネームスペース名)のデータベースに格納されます。

    InterSystems IRIS for Health をご利用の場合は、このグローバルはネームスペースのデフォルトデータベースに格納されます。

    xxxSECONDARYデータベースについて詳細は、以下ドキュメントをご参照ください。

    InterSystems IRIS のパスワード資格情報の格納場所

    【関連トピックのご紹介】

    0
    0 271
    記事 Tomohiro Iwamoto · 7月 11, 2022 2m read

    オリジナルの「InterSystems IRIS で Python を使って IMAPクライアントを実装する」は、埋め込みPythonを使用してIMAPインバウンドアダプタを実装されていますが、最近メールプロバイダがあいついでoAuth2認証しか受け付けなくなってきているので、その対応をしてみました。

    本稿のGitHubはこちらです。

    変更点

    GMAILに対してメールの送受信を可能とするためにオリジナルに以下の修正を施しています。

    1. IMAP(Python版)インバウンドアダプタにoAuth2認証およびRefreshTokenによるAccessTokenの更新を追加
    2. oAuth2認証およびRefreshTokenによるAccessTokenの更新機能を持つSMTPアウトバウンドアダプタを新規作成
    3. IMAPにバイナリの添付ファイルの処理を追加
    4. メッセージ削除に、推奨APIであるclient.uid("STORE")を使用するように変更
    5. ClientIdなど、センシティブな情報をコンテナ起動時に動的に適用するように変更
    6. 日本語使用時の文字化けに対処

    3.添付ファイルが存在する場合、追加設定/ファイル・パスで指定したファイルパス(既定値は/var/tmp/)上に保存します。

    5.の実現は、プロダクション(IMAPPyProduction.cls

    0
    0 681
    記事 Toshihiko Minamoto · 4月 12, 2022 3m read

    コミュニティの皆さん、こんにちは。お元気ですか?

    皆さんは、創造性をどのようにして発揮していますか? 新しいアイデアはどのようにしてテストしていますか?

    数年にもわたって、私はずっと新しいものを作り出し、既存のものを改良し、実験、テスト、破壊(いつも壊れてしまいます)を経て作り直し、そしてこのプロセスを繰り返してきました。

    InterSystems が推進するコンテストは、モチベーションを大きく持ち上げてくれます。もちろん、賞品に目が行ってしまうことは否定できませんが。 しかし、賞品や報酬だけでなく、こういったコンテストでは自分の創造性が試されますし、作成、改良、テスト、実験の機会が得られます。 さらに、最も素晴らしいのは、何をやるのも自由であるということです!

    私の場合、こういった機会は、独自の ホワット・イフ...?(マーベルが作家に自由にストーリーを改良させるシリーズ)を作成できるチャンスと見なしているため、これらのアイデアを私と一緒に受け入れてくれる人がいたのは幸運でしたlaugh @José Pereira に感謝です。

    前回の相互運用性コンテストでは Message Viewer を作成したのですが、今回の相互運用性コンテストでも Message Viewer をもう一度取り上げました。ただし独自のビジュアルトレース機能

    0
    0 198
    記事 Toshihiko Minamoto · 4月 7, 2022 4m read

    皆さん、こんにちは!

    @Henrique.GonçalvesDias と私は、MessageViewer の最近のアップデートにおいて、IRIS Interoperability でメッセージを可視化する新しい方法を提案しました。 そのアップデートでは、UML シーケンス図に基づく可視化を提供しようとしました。 詳細は、の記事をご覧ください。

    このようなダイアグラムを描画するために必要な困難な幾何学計算を行えるように、素晴らしい mermaid JS オープンソースライブラリを使用しました。 この記事で紹介したいのは、このライブラリの使用方法です。 ここでは、シーケンス図のみに焦点を当てますが、このライブラリではのことを行えることを忘れないでください。

    mermaid では Markdown に着想を得た構文を使用して、ダイアグラムを定義します。 非常に直感的であるため、退屈な文章を長々と書くのではなく、例を紹介したいと思います。

    sequenceDiagram
    Alice->>
    
    
    

    mermaid エンジンはこの定義に基づいて、SVG を使って直接 Web ページに以下のダイアグラムをレンダリングします。

    この例は mermaid のドキュメントから得たもので、こので試すことができます。 色々試すことのできる構成がたくさんあります。

    0
    0 1180
    記事 Hiroshi Sato · 3月 27, 2022 2m read

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

    • まず予め Visual Studioを使用して、呼び出したい内容のクラスライブラリを作成します。
    • そのプロジェクトをコンパイルし、DLLを作成します。
    • 管理ポータルでオブジェクトゲートウェイを作成します。   システム管理 > 構成 > 接続性 > オブジェクトゲートウェイ ゲートウェイ名 : testGateway サーバ名 / IPアドレス : 127.0.0.1 ポート : 55000 (後はデフォルト)  
    • testGateway を開始します。


    ※管理ポータルから、もしくはコマンドから開始できます。 

    do##class%Net.Remote.Service
    •  以下のいずれかの方法でDLLを呼び出すプロキシクラスを作成します。

           a. コマンドで作成する場合 

         "C:\temp\TestDll.dll
         do ##class(%Net.Remote.Gateway).%ExpressImport(dllPath, 55000, "

           b. スタジオで作成する場合


     [ツール] - [アドイン] - [.Net ゲートウェイウィザード] ⑥ 以下のような手順でコードを実行します。

    例: 

    Set
    0
    0 474