#相互運用性

0 フォロワー · 90 投稿

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

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

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

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

《サンプルのテーマ》

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

0
0 314
お知らせ 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 141
記事 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 を使用してネームスペース内のアクティブな本番環境を取得できます。

0
0 190
記事 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 118
お知らせ Mihoko Iijima · 8月 19, 2022

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

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

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

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

0
0 109
記事 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 215
記事 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 234
記事 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/)上に保存します。

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

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

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

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

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

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

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

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

皆さん、こんにちは!

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

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

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

0
0 1015
記事 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).StartGateway(gateway.Name)
  •   以下のいずれかの方法でDLLを呼び出すプロキシクラスを作成します。

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

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

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

0
0 399
記事 Toshihiko Minamoto · 3月 15, 2022 14m read

これまでの記事では、メールサーバーのメールボックスからのメッセージを処理する IMAP プロトコルの基本的な使用方法を学習しました。 とても興味深いものではありましたが、他の人が作成してすぐに利用できるようにライブラリに提供されている実装を利用することも可能です。

IRIS データプラットフォームの改善の 1 つに、同じ IRIS プロセスで ObjectScript に並行して Python コードを記述できる機能があります。 この新機能は、組み込み Python と呼ばれます。 組み込み Python を使用すると、ObjectScript コードに巨大な Python エコシステムのライブラリの力を取り込むことができます。

この記事では、imaplib というライブラリを使用して IMAP クライアントを実装し、それを IRIS Email フレームワーク に統合することにします。 また、Python エコシステムの力を借りて、組み込み Python を使用して、IRIS プラットフォームでの実際の課題を解決する方法を示す実用的な例も確認します。

ここで実装されているすべてのコードは、こちらの GitHub リポジトリpython ディレクトリにあります。

0
0 402
質問 Yuji Ohata · 2月 17, 2022

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

現在、共通のIRIS環境を複数個所に用意するため、
インストール・マニフェストを利用した環境構築の仕組みを作成しております。
https://docs.intersystems.com/iris20211/csp/docbookj/DocBook.UI.Page.cl…

Interoperabilityを有効にしたNMSPについて、
管理ポータル上から作成すると、資格情報を保持する用のSECONDARYのローカルデータベースが
自動で作成されるように認識しております。
https://docs.intersystems.com/iris20211/csp/docbookj/DocBook.UI.Page.cl…

しかし、マニフェスト経由で作成した場合にはそれが作成されていません


■作成しているマニフェスト

2
0 191
記事 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 されるトピックについて

0
0 359
記事 Hiroshi Sato · 10月 20, 2021 1m read

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


InterSystems IRIS Data Platformにはシステム接続に良く使われる一般的な電子メール、ファイル、FTP、HTTP、ウェブサービス、REST、SQL、TCPアダプタなどが標準で含まれています。

特定アプリケーション向けに IBM WebSphere MQ アダプタや SAP Java Connector アダプタも提供します。

そしてJavaアプリケーションを呼び出すためや .Net アプリケーションを呼び出すための PEX(Production EXtension)というフレームワーク もあります。

そのほか、IRIS for HealthにはHL7 FHIR、HL7 V2、HL7 V3、CDA、DICOM、X12、ASTM,EDIFACT などのアダプタもあります。

さらに標準で用意していないカスタムアプリケーション用にはカスタムアダプタを作成することもできます。

0
0 311
記事 Hiroshi Sato · 10月 19, 2021 2m read

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

2つのシステムをつなぐだけだったら、わざわざInterSystems IRIS Data Platform(以下IRISと表記)のようなものを仲介させるのは無駄に思えるかもしれません。 

ですが、システムの接続は複数システム間に跨るのが一般的です。 

そしてシステムの数が増えるにつれ、その接続は複雑になっていき、接続のタイミング、接続プロジェクトの進行管理などが重荷になっていきます。 

また各接続は時が経つにつれ変化するのが一般的で、そういうことが起こると双方のシステムにその都度修正が必要になります。 

相互依存性が高まるわけです。 

また時が経つにつれ各システムが本来持っている機能と接続に関わる処理が混在するケースが多く、変更の影響範囲が多岐に渡ってしまい、 ちょっとした修正でも影響範囲の特定が困難となり、修正作業が膨大になるケースがあります。 

IRISを使ってシステム接続を中継させることにより、接続に関する様々な雑用をIRISが担うようになれば、やがて接続の標準化が促進され、各システムには全く変更を加えることなく接続が可能になり、何か変更があった場合にも影響範囲が限定され、その変更作業に必要な工数を最小化できます。 

0
0 173
お知らせ Mihoko Iijima · 10月 18, 2021

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

今週から、InterSystems Interoperability コンテスト 2021の投票が始まりました!InterSystems IRIS を使い開発されたベストソリューションにぜひ、投票をお願いします!

🔥 投票はこちらから! 🔥

投票方法については、以下ご参照ください。

1
0 163
お知らせ Mihoko Iijima · 10月 6, 2021

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

InterSystems Interoperability コンテスト 2021 の投票でポイントが加算される「テクノロジーボーナス」が発表されました!

加点があるテクノロジは以下の内容です:

  • Business Process BPL または Business Rule の使用
  • カスタムアダプタの使用
  • Production EXtension(PEX) Java または .NET の使用
  • ワークフローエンジンの使用
  • Docker コンテナの使用
  • ZPM パッケージによるデプロイ
  • オンラインデモ公開
  • Code Quality pass
  • コミュニティに記事を投稿する
  • YouTubeでビデオを公開する

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

0
0 188
お知らせ Mihoko Iijima · 9月 29, 2021

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

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

お題は・・・・     🏆 InterSystems Interoperability Contest 🏆

応募期間は 2021年10月4日~10月17日 です!

💰 賞金総額: $9,450 💰

(投票期間は 2021年10月18日~10月24日、勝者発表は 10月25日を予定しています)

0
0 190
記事 Toshihiko Minamoto · 9月 28, 2021 3m read

Cachéでのデータ同期については、オブジェクトとテーブルを同期させるさまざまな方法があります。
データベースレベルでは、シャドーイングまたはミラーリングを使用できます。 

これは非常によく機能し、データの一部分だけを同期する必要がある場合には、
グローバルマッピングを使用してより小さなピースにデータを分割することができます。
または、クラス/テーブルレベルで双方向の同期が必要な場合には、オブジェクト同期機能を使用することができます。


これらすべての優れた機能には次のような制限があります。
Caché/IRISからCaché/IRISにしか機能しません。

0
0 230
記事 Hiroshi Sato · 9月 23, 2021 1m read

これは InterSystems FAQ サイトの記事です。
レコード・マップは、区切り文字付きのレコードや固定幅のレコードを含むファイルをInteroperability機能で使用するメッセージクラスへマッピングしたり、Interoperability機能のメッセージクラスからテキストファイルへマッピングする作業を効率的に行うための機能です。

レコードマップのマッピング定義は管理ポータルで作成でき、CSVファイルを読み込ませながら定義するCSVレコードウィザードも提供しています。

プロダクションでレコードマップを利用する場合は、レコードマップ用ビジネス・サービス、またはビジネス・オペレーションを追加し、作成したレコードマップ定義クラスを指定すれば完成です。

使用例は、以下から取得できます。

レコードマップサンプル


レコードマップの詳細な説明は、以下のドキュメントをご参照ください。


レコード・マッパーの使用法について【IRIS】
Ensemble レコード・マッパーの使用法について
 

0
0 365
記事 Toshihiko Minamoto · 9月 16, 2021 10m read

はじめに

InterSystemsは最近、HL7バージョン2の相互運用性に焦点を当てた、IRIS for Health 2020.1のパフォーマンスとスケーラビリティのベンチマークを完了しました。 この記事では、さまざまなワークロードで観察されたスループットを説明し、IRIS for HealthをHL7v2メッセージングの相互運用性エンジンとして使用しているシステムの一般的な構成とサイジングのガイドラインを提供します。

0
0 222
記事 Mihoko Iijima · 7月 28, 2021 1m read

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

一般的なシステム統合製品はメッセージエンジン製品を中心にビジネスプロセス管理製品、ポータル製品、ビジネスアクティビティモニタリング製品などの付随する製品を1つのパッケージ製品(スイート製品と呼ばれることも多い)として提供しています。

 パッケージとして提供はしていますが、個々の構成製品は通常別々に作成されたもので、操作法、リポジトリ管理、開発手法、管理手法等が各製品バラバラでシステム統合プロジェクトを実施するに当たり、これら全ての製品に習熟するためには膨大な時間がかかります。 

また各製品毎に担当者をアサインするということも考えられますが、そうすると各担当者間のコミュニケーションが必要となりプロジェクト管理の手間が増えます。

InterSystems IRIS data platform にはシステム統合に必要な全ての機能が1つの製品に含まれており、統一された操作法、一元化されたリポジトリ、1つの首尾一貫した開発/管理環境が提供されます。

従ってシステム統合プロジェクトを開始する際の敷居をかなり低くすることが可能です。

0
0 148
お知らせ Shintaro Kaminaka · 7月 8, 2021

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

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>

0
0 487