検索

クリアフィルター

#認証

5 投稿0 フォロワー
記事
Tomoko Furuzono · 2025年3月23日

クライアントーサーバ間の通信を暗号化する

これは、InterSystems FAQサイトの記事です。 クライアントーサーバ接続を担当するスーパーサーバで、SSLバージョン3とTLSバージョン1での通信が可能です。このオプションを利用することで、通信上のデータを暗号化できます。 その他、Kerberosを使うことで通信上の暗号化も可能です。
記事
Megumi Kakechi · 2022年7月26日

Embedded Python:lxmlを使用しWebスクレイピングした表の結果をグローバルに格納する

Embedded Python で Excel のデータを IRIS グローバルに格納する方法 では Excel データを pandas.DataFrame に取り込んで、それを InterSystems IRIS グローバルに保存する方法をご紹介しました。 今回は「lxml を使用し Web スクレイピングした表(テーブル)のデータを InterSystems IRIS グローバルに格納する」方法をご紹介します。 ※以下は Windows 上の IRIS でのインストール方法になります。 UNIX ベースのシステムでは、pip3 コマンドを使用してインストールします。詳細は ドキュメント をご覧ください。 最初に、irispip コマンドで必要なライブラリをインストールします。今回は、pandas、lxml の2つのライブラリをインストールします。 >cd C:\InterSystems\IRIS\bin C:\InterSystems\IRIS\bin>irispip install --target C:\InterSystems\IRIS\mgr\python pandas C:\InterSystems\IRIS\bin>irispip install --target C:\InterSystems\IRIS\mgr\python lxml 今回サンプルで使用するのは、Yahoo!ファイナンスでみる 日本郵政(株) の株価時系列データです。 https://finance.yahoo.co.jp/quote/6178.T/history VSCode または IRISスタジオで次のようなクラスを作成します。メソッドの宣言部に [ Language = Python ] と指定することで、クラスのメソッドに直接 Pythonコードを書くことができます。 Class User.PythonTest2 Extends %Persistent { ClassMethod fromPythonString(in As %String) { set ^ISJ2($increment(^ISJ2))=$LISTFROMSTRING(in,",") } ClassMethod PythonWebScraping(webadd as %String) [ Language = python ] { import iris import pandas as pd import lxml dfs = pd.read_html(webadd) for key,row in dfs[0].iterrows(): moji=",".join(list(map(str, row))) iris.cls(__name__).fromPythonString(moji)} } IRISターミナルから正しく実行できるかを確認します。 USER>kill ^ISJ2 USER>do ##class(User.PythonTest2).PythonWebScraping("https://finance.yahoo.co.jp/quote/6178.T/history") USER>zwrite ^ISJ2 ^ISJ2=20 ^ISJ2(1)=$lb("2022年7月25日","963.0","966.3","962.1","965.2","5200900","965.2") ^ISJ2(2)=$lb("2022年7月22日","965.1","967.1","959.0","965.0","8665700","965.0") ^ISJ2(3)=$lb("2022年7月21日","973.4","977.5","971.5","972.1","11539000","972.1") ^ISJ2(4)=$lb("2022年7月20日","971.2","974.8","968.2","974.8","8864700","974.8") ^ISJ2(5)=$lb("2022年7月19日","966.8","970.9","962.4","966.6","5714100","966.6") ^ISJ2(6)=$lb("2022年7月15日","970.0","970.6","956.6","962.7","9064300","962.7") ^ISJ2(7)=$lb("2022年7月14日","975.0","976.9","966.5","968.7","10921300","968.7") ^ISJ2(8)=$lb("2022年7月13日","984.0","986.5","981.8","982.3","6361500","982.3") ^ISJ2(9)=$lb("2022年7月12日","981.0","985.8","978.8","981.7","8801600","981.7") ^ISJ2(10)=$lb("2022年7月11日","979.0","987.0","975.0","981.5","10416500","981.5") ^ISJ2(11)=$lb("2022年7月8日","971.7","977.6","968.3","973.6","10220600","973.6") ^ISJ2(12)=$lb("2022年7月7日","979.0","984.0","965.1","969.8","10874300","969.8") ^ISJ2(13)=$lb("2022年7月6日","975.0","976.1","964.1","970.8","12283000","970.8") ^ISJ2(14)=$lb("2022年7月5日","985.0","989.6","980.2","988.4","9458900","988.4") ^ISJ2(15)=$lb("2022年7月4日","975.0","983.1","972.3","983.1","9618800","983.1") ^ISJ2(16)=$lb("2022年7月1日","974.0","986.7","969.2","971.0","15510400","971.0") ^ISJ2(17)=$lb("2022年6月30日","957.9","971.0","952.1","969.1","11908700","969.1") ^ISJ2(18)=$lb("2022年6月29日","965.5","972.8","961.3","962.9","28123200","962.9") ^ISJ2(19)=$lb("2022年6月28日","951.5","967.6","948.3","967.6","12559200","967.6") ^ISJ2(20)=$lb("2022年6月27日","960.0","960.6","946.8","952.3","15059600","952.3") USER> Pythonプログラムのデバッグを行いたい場合は、 Python シェルに切り替えて確認することができます。 USER>kill ^ISJ2 USER>do ##class(%SYS.Python).Shell() Python 3.9.5 (default, May 31 2022, 12:35:47) [MSC v.1927 64 bit (AMD64)] on win32 Type quit() or Ctrl-D to exit this shell. >>> import pandas as pd >>> import lxml >>> import iris >>> dfs = pd.read_html(f'https://finance.yahoo.co.jp/quote/6178.T/history') >>> for key,row in dfs[0].iterrows(): ... moji=",".join(list(map(str, row))) ... iris.cls('User.PythonTest2').fromPythonString(moji) ... >>> exit() USER>zw ^ISJ2 ^ISJ2=20 ^ISJ2(1)=$lb("2022年7月25日","963.0","966.3","962.1","965.2","5200900","965.2") ^ISJ2(2)=$lb("2022年7月22日","965.1","967.1","959.0","965.0","8665700","965.0") ^ISJ2(3)=$lb("2022年7月21日","973.4","977.5","971.5","972.1","11539000","972.1") ^ISJ2(4)=$lb("2022年7月20日","971.2","974.8","968.2","974.8","8864700","974.8") ^ISJ2(5)=$lb("2022年7月19日","966.8","970.9","962.4","966.6","5714100","966.6") ^ISJ2(6)=$lb("2022年7月15日","970.0","970.6","956.6","962.7","9064300","962.7") ^ISJ2(7)=$lb("2022年7月14日","975.0","976.9","966.5","968.7","10921300","968.7") ^ISJ2(8)=$lb("2022年7月13日","984.0","986.5","981.8","982.3","6361500","982.3") ^ISJ2(9)=$lb("2022年7月12日","981.0","985.8","978.8","981.7","8801600","981.7") ^ISJ2(10)=$lb("2022年7月11日","979.0","987.0","975.0","981.5","10416500","981.5" ) ^ISJ2(11)=$lb("2022年7月8日","971.7","977.6","968.3","973.6","10220600","973.6") ^ISJ2(12)=$lb("2022年7月7日","979.0","984.0","965.1","969.8","10874300","969.8") ^ISJ2(13)=$lb("2022年7月6日","975.0","976.1","964.1","970.8","12283000","970.8") ^ISJ2(14)=$lb("2022年7月5日","985.0","989.6","980.2","988.4","9458900","988.4") ^ISJ2(15)=$lb("2022年7月4日","975.0","983.1","972.3","983.1","9618800","983.1") ^ISJ2(16)=$lb("2022年7月1日","974.0","986.7","969.2","971.0","15510400","971.0") ^ISJ2(17)=$lb("2022年6月30日","957.9","971.0","952.1","969.1","11908700","969.1" ) ^ISJ2(18)=$lb("2022年6月29日","965.5","972.8","961.3","962.9","28123200","962.9" ) ^ISJ2(19)=$lb("2022年6月28日","951.5","967.6","948.3","967.6","12559200","967.6" ) ^ISJ2(20)=$lb("2022年6月27日","960.0","960.6","946.8","952.3","15059600","952.3" ) USER> いかがでしょうか? みなさんもWebスクレイピングでいろいろなデータをIRISに取り込んでみましょう! 今回使用したサンプルはこちらにあります。 👉https://github.com/Intersystems-jp/WebScrapingToGlobal
お知らせ
Toshihiko Minamoto · 2021年2月19日

グローバルマスターズの新たな賞品としてラズパイ4 8GB、Logitech Webカメラ、レザーウォレットが追加されました!

開発者の皆さん、こんにちは。 [スペシャリストレベル](https://community.intersystems.com/post/global-masters-levels-descriptions)以上の方へ、グローバルマスターズの新たな🎁賞品が加わりました! **➡️ Raspberry Pi 4 8GB + InterSystems IRIS Community Image セットの予約注文** このセットには、Ubuntu 18.04 64 bit + Docker + InterSystems IRIS Community Editionが入った64GB MicroSD カードと Raspberry Pi 4 8GB、 紅白ケースが入っています。 ![](/sites/default/files/inline/images/raspberri-pi-small.jpg)   **➡️ Logitech C920S Pro HD 1080p Webカメラ** C920sはフルHDガラスレンズ、78度の視野角、HD自動光補正に加え、クリアなステレオサウンドを実現するデュアルマイクを搭載し、驚くほど鮮明で繊細なフルHDビデオ(1080p、30fps)を実現しています。電話会議や美しいデモの録画に必要なすべてがそろっています。 ![](/sites/default/files/inline/images/webcam.jpg)   **➡️ ネーム入りプレミアムレザーウォレット** - 正面にネームが入ったクラシックなハンドメイド財布です。化粧箱に入れて、世界中にお届けします。 お好きな[フォントと色をお選びください](http://images.vfl.ru/ii/1607497346/355d5bf7/32599927.jpg) ![](/sites/default/files/inline/images/wallet.jpg)   ### グローバルマスターズの[賞品カタログ](https://intersystems.influitive.com/rewards)をチェック! * * * >> グローバルマスターズのメンバーでない方は[こちら](https://intersystems.influitive.com/) からWRCアカウントでサインインできます   グローバルマスターズに関する追加情報: _ グローバルマスターズアドボケートハブとは?InterSystems のグローバルマスターズでポイントを獲得する方法
お知らせ
Megumi Kakechi · 2025年6月11日

2025.1.0、2024.1.4、2023.1.6、2022.1.7 バージョンにおけるネームスペース切り替えとグローバル表示の問題を解決するポイントリリースについて

InterSystems は、以下のサポート対象製品バージョン 2025.1.0、2024.1.4、2023.1.6、および 2022.1.7 に影響する不具合を解決するために、新しいポイント アップデートをリリースしました。 InterSystems IRIS InterSystems IRIS for Health HealthShare Health Connect この問題により、以下の機能を使用する際、予期しない <PROTECT> エラーやアクセス異常が発生する可能性があります: 暗黙のネームスペース データベースへの読み取り専用/読み取り書き込みの混合アクセス 管理ポータルでのルーチンとグローバル一覧表示 含まれる症状: ネームスペースの作成の失敗 ルーチンをリストするときに断続的に「アクセス拒否」エラーが発生する 読み取り専用権限を持つユーザーに対してグローバル表示ページがデータを返さない これらの問題によりアクセス制御やユーザー権限が損なわれることはありませんが、複数のシナリオにおいて、システムの想定された動作に影響を及ぼします。 解決済みバージョン 修正は次のポイントリリースに含まれています。 2025.1.0.230.2 2024.1.4.516.1 2023.1.6.810.1 2022.1.7.116.1 影響を受けるバージョンを使用しているお客様は、適切なシステム動作を確保するために、関連する更新プログラムを適用することをお勧めします。 ご質問やサポートが必要な場合は、サポートセンターまでお問い合わせください。
お知らせ
Yoichi Miyashita · 2021年7月28日

警告: SQL標準でない GROUP BY クエリで間違った結果が返る

対象バージョン InterSystems IRIS および IRIS for Health: 2019.1.0 以降 対象プラットフォーム すべて InterSystemsは、間違ったクエリ結果が返る問題を修正しました。この問題は上記の InterSystems 製品のバージョンで発生する可能性があります。 問題の詳細以下のすべての条件をみたした場合、クエリ結果が不正確な可能性があります。 GROUP BY を使用し、かつ、COUNT などの集計を使って「いない」 GROUP BY で指定して「いない」フィールドを SELECT で指定し(*)、かつ、そのフィールドが WHERE 条件に含まれている 単一のインデックスによりクエリ結果が取得でき、かつ、そのインデックスが GROUP BY で指定されたフィールドから始まっている (*) グループ化していないフィールドを SELECT に含めることは、 InterSystems SQL独自の拡張であり、SQL標準でないことにご注意ください。 この問題により、上記をみたすクエリでは WHERE 条件が結果に正しく反映されません。すなわち、条件をみたさない行を含むクエリ結果を返すことになります。なお、この警告の最後に、問題の影響を受けるクエリと受けないクエリ例を掲載しています。 解決方法この問題は修正ID: AK1043 で解決します。この修正は今後リリースされるInterSystems IRIS および IRIS for Health 2020.1.2 や 2021.1.1 を含むすべての製品に含まれる予定です。また、お客様のご要望により、修正を現在お使いの製品に対するパッチとして個別に作成してご提供することが可能です。 ※HealthShare をお使いのお客様へInterSystems にて HealthShare ファミリーの製品をレビューした結果、上記条件をみたすクエリは、製品内部で使用されていないことが判明しました。ただし、HealthShare 製品とは別に InterSystems IRIS 機能を使われているお客様は、ご自身で作成されたアプリケーションやカスタマイズがこの問題の影響を受けるかご確認いただく必要があります。 クエリ例本問題の影響に関するクエリ例をお伝えします。ここでは test.TestTable テーブル を用いて説明します。テーブルには 3つのInteger プロパティと 1つのインデックスが、以下のように定義されています。 Property Int1 As %Integer;Property Int2 As %Integer;Property Int3 As %Integer;Index GroupBy On (Int1, Int2); 影響を受けるクエリ SELECT Int1, Int2 FROM test.TestTable WHERE Int2 > 1 GROUP BY Int1 このクエリは上記の条件をみたすため、本問題の影響を受けます。そのため Int2 <= 1 の行も誤って表示されます。 SELECT Int1, ID FROM test.TestTable WHERE Int2 <= 1 GROUP BY Int1 このクエリも本問題の影響をうけます。IDがインデックスに含まれるため結果をインデックスから直接取得できるからです。 そのため Int2 > 1 の行も誤って表示されます。 影響を受けないクエリ SELECT Int1, Int2 FROM test.TestTable WHERE Int2 > 1 GROUP BY を使用していないため、影響を受けません。 SELECT Int1, Int2, COUNT(*) FROM test.TestTable WHERE Int2 > 1 GROUP BY Int1 COUNT 集計を使用しているため、影響を受けません。 SELECT Int1, Int2 FROM test.TestTable WHERE Int1 > 1 GROUP BY Int1 SELECT Int1, Int2 FROM test.TestTable GROUP BY Int1 いずれのクエリも「GROUP BY で指定していないフィールドが WHERE 条件に含まれている」条件にあてはまらないため、影響を受けません。 SELECT Int1, Int2 FROM test.TestTable WHERE Int1 > 1 GROUP BY Int2 テーブルの複合インデックスが GROUP BY で指定しているフィールドから 始まっていないため、影響を受けません。 SELECT Int1, Int2 FROM test.TestTable WHERE Int2 > 1 AND Int3 > 1 GROUP BY Int1 SELECT Int1, Int3 FROM test.TestTable WHERE Int2 > 1 GROUP BY Int 1 いずれのクエリも Int3 フィールドを使っており、このフィールドはインデックスに格納されていません。つまり、このクエリは、インデックスのみから 結果を取得できないため、影響を受けません。
記事
Makiko Kokubun · 2021年4月6日

動画:他形式データからFHIR への変換

*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。 既に運用されている電子カルテ・処方のデータや蓄積されているデータを、FHIR に変換して活用したいというニーズは、FHIR アプリケーションを構築するにあたり最も多いご要望の一つです。 この動画では、InterSystems IRIS for Health を使用して、HL7/SS-MIX2 やCSV など他形式のデータから FHIR データへ変換する方法について、デモをまじえてご紹介いたします。 この開発者コミュニティでは他にも IRIS の FHIR 機能に関連した多くの記事を公開しています。FHIR にご興味ある方はぜひご覧ください。 FHIR R4 リソースリポジトリを簡単にお試しいただける開発環境テンプレートのご紹介 Azure 上で IRIS for Health をデプロイし、FHIR リポジトリを構築する方法 その他FHIR関連記事 (#FHIRタグ)
記事
Makiko Kokubun · 2021年5月11日

動画:FHIR プロファイル

*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。 国や地域のニーズに合わせて何のデータをどこにどのように格納するのかを定める共通ルールである FHIR プロファイルは、FHIR による標準化において、非常に重要な要素です。 この動画では、InterSystems IRIS for Health における FHIR リポジトリの構築・設定~ FHIR プロファイルの追加の方法を、最新バージョンおよび今後のバージョンでのサポート内容を含めてご紹介いたします。 この開発者コミュニティでは他にも IRIS の FHIR 機能に関連した多くの記事を公開しています。 FHIR にご興味ある方はぜひご覧ください。 FHIR R4 リソースリポジトリを簡単にお試しいただける開発環境テンプレートのご紹介 Azure 上で IRIS for Health をデプロイし、FHIR リポジトリを構築する方法 その他FHIR関連記事 (#FHIRタグ)
記事
Tomoko Furuzono · 2025年3月27日

ジャーナルの整合性チェックやサマリの表示をコマンドで実行する方法

これは、InterSystems FAQ サイトの記事です。 管理ポータルの [システムオペレーション] > [ジャーナル]のページで実行できる、 整合性チェックの実行や、サマリーの表示は、%SYS.Journal.File クラスのメソッドやクエリでも実行することができます。 クラスリファレンス:%SYS.Journal.File 以下、実行例です。※全て、%SYSネームスペースで実行します。 (1) 整合性チェック set status = ##class(%SYS.Journal.File).CheckIntegrity(<ジャーナルファイルパス>,1)// 整合性チェックで問題なければ status=1 (2)サマリー set status = ##class(%SYS.Journal.File).Summary(<ジャーナルファイルパス>,.info) (実行結果の表示) zwrite info---------------------------------------------------info("CreationTime")="2023-01-25 08:02:29"info("FileCount")=49info("FileGUID")="AFA2FDD7-63C4-4F28-BFB7-183F4B219ED8"info("MaxSize")=1073741824info("MinTransFileCount")=47info("MinTransFileIndex")=337795332info("PrevFile")="c:\intersystems\irishealth202211\mgr\journal\20230125.001"info("PrevFileEnd")=263504info("PrevFileGUID")="AFF93919-F5EA-4F9A-B5E7-C6E86834E619" (3) ジャーナルファイルに含まれるデータベースのリストの取得 set rset = ##class(%ResultSet).%New("%SYS.Journal.File:DatabaseList") set sc = rset.Execute(ジャーナルファイルパス) while (rset.Next()) { write rset.%GetData(1),"-", rset.%GetData(2),! } do rset.Close()
記事
Hiroshi Sato · 2021年12月21日

監査ログをプログラムで出力(ユーザやイベント指定など)する方法

これは、InterSystems FAQサイトの記事です。 監査ログをプログラミングで出力するために、監査ログの一覧を取得する%SYS.Audit クラスのListクエリを利用することができます。 サンプルコードは以下のようになります。 Set statement=##class(%SQL.Statement).%New() Set status=statement.%PrepareClassQuery("%SYS.Audit","List") Set rs=statement.%Execute() Set tab = $char(9) While rs.%Next() { Write rs.%Get("TimeStamp")_tab_rs.%Get("Event")_tab_rs.%Get("Username"),! }
記事
Tomoko Furuzono · 2022年3月1日

マッピングされたクラス・ルーチンをコンパイルする方法

これは、InterSystems FAQサイトの記事です。 マップされたクラス・ルーチンも含めてコンパイルする場合は、コンパイラ修飾子に "/mapped=1" もしくは "/mapped" を指定します。 例えば、以下のように行います。 【例1】クラスリストを取得してコンパイル do $System.OBJ.GetClassList(.list,"/mapped") // build your list starting from .list do $System.OBJ.Compile(.list) 【例2】全てのクラスをコンパイル do $system.OBJ.CompileAll("/mapped")
記事
Megumi Kakechi · 2022年3月31日

インスタンス(構成)名を変更する方法

これは、InterSystems FAQサイトの記事です。 Windowsでは、変更することはできませんが、Unix系プラットフォームでは、iris rename コマンドを使用することで変更できます。 iris rename instname(現インスタンス名) newname(新インスタンス名) iris rename コマンドの詳細は、以下ドキュメントをご参照くださいiris コマンドについて

#セキュリティ

62 投稿0 フォロワー

#ZEN

1 投稿0 フォロワー

#Eclipse

0 投稿0 フォロワー