ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
Elasticsearch は、人気の分散型全文検索エンジンです。データを一元的に格納することで、超高速検索や、関連性の細かな調整、パワフルな分析が大規模に、手軽に実行可能になります。Elasticsearch にはデータのローディングを行うパイプラインツール「Logstash」があります。CData Drivers を利用することができるので、30日の無償評価版をダウンロードしてあらゆるデータソースを簡単にElasticsearch に取り込んで検索・分析を行うことができます。
この記事では、CData Driver for FHIR を使って、FHIR のデータをLogstash 経由でElasticsearch にロードする手順を説明します。
それでは、Logstash でElasticsearch にFHIR データの転送を行うための設定ファイルを作成していきます。
URL をFHIR サーバーのService Base URL に設定します。これは接続したいFHIR サーバーでリソースが定義されているアドレスです。ConnectionType をサポートされている接続タイプに設定します。ContentType をドキュメントのフォーマットに設定します。AuthScheme をFHIR サーバーの認証要件に基づいて設定します。
汎用、Azure ベース、AWS ベース、およびGoogle ベースのFHIR サーバー実装がサポートされます。
CData 製品はFHIR のカスタムインスタンスへの接続をサポートします。カスタムFHIR サーバーへの認証はOAuth で行います(OAuth の詳細はヘルプドキュメントを参照してください)。カスタムFHIR インスタンスに接続する前に、ConnectionType をGenericに設定する必要があります。
input { jdbc { jdbc_driver_library => "../logstash-core/lib/jars/cdata.jdbc.fhir.jar" jdbc_driver_class => "Java::cdata.jdbc.fhir.FHIRDriver" jdbc_connection_string => "jdbc:fhir:URL=http://test.fhir.org/r4b/;ConnectionType=Generic;ContentType=JSON;AuthScheme=None;" jdbc_user => "" jdbc_password => "" schedule => "*/30 * * * * *" statement => "SELECT Id, [name-use] FROM Patient WHERE [address-city] = 'New York'" } } output { Elasticsearch { index => "fhir_Patient" document_id => "xxxx" } }
それでは作成した「logstash.conf」ファイルを元にLogstash を実行してみます。
> logstash-7.8.0\bin\logstash -f logstash.conf
成功した旨のログが出ます。これでFHIR データがElasticsearch にロードされました。
例えばKibana で実際にElasticsearch に転送されたデータを見てみます。
GET fhir_Patient/_search { "query": { "match_all": {} } }
データがElasticsearch に格納されていることが確認できました。
CData JDBC Driver for FHIR をLogstash で使うことで、FHIR コネクタとして機能し、簡単にデータをElasticsearch にロードすることができました。ぜひ、30日の無償評価版をお試しください。