図書館、Webサービス、英国の健康およびケアの組織データのためのツールのセット。
Health and Social Care Organization Reference Dataは、標準DCB0090に基づいてNHS Digitalによって公開されています。
clods 、この参照データを使用して組織サイトの粒度まで「場所」サービスを提供するように設計されています。
「WHO」、「What」、「When」、「How」、および「理由」に関する質問に答えるのに役立つ基礎データおよびコンピューティングサービスの一部の一部clods 。
このソフトウェアは、ライブラリとWebサービスの両方を提供します。ライブラリとして、より大きなアプリケーションに簡単に埋め込むことができます。マイクロサービスとして、ファンデーションプラットフォームサービスのスイートに簡単に組み込むことができます。単純なREST APIとHL7 FHIR API(R4)の両方を提供します。
ODS-Weeklyを使用して、特定のGP手術の一般開業医情報を入手できます。
より細かい粒子の位置サービス(Ward、Bedなど)は、統一されたコンシェルジュロケーションサービスの一部として他のモジュールによって提供されます。病棟とベッドの位置とステータスデータは通常、参照データサービスではなく患者管理システムの一部として提供されますが、これは、臨床データのキャプチャのコンテキストを適切に記録するために、シームレスなアプリケーションプログラミングインターフェイス(API)を提供することを目的としています。 。
そのコアでは、ソフトウェアは元のソースデータの密接な表現を提供すると同時に、より抽象的な一連のシステムを提供します。つまり、複数のバックエンドサービスにわたってランタイムの調和と抽象化を伴う国際的な境界を越えて動作するアプリケーションソフトウェアを意味します。
公共部門のデータは、計算可能性を可能にするメカニズムを備えた、公開され、公開され、自己記述的でなければなりません。つまり、重要な公共部門のさまざまなデータのマスターインデックスに対して自動的に更新するソフトウェアを作成できます。
ライブラリまたはマイクロサービスのいずれかとして実行する場合、唯一の依存関係はファイルシステムです。
昔は、ペットの世話に似た個人サーバーの世話をし、名前を付けました。彼らは長命であり、私たちは彼らにサービスを実行していました。管理者が手動でログインして更新し、ソフトウェアのバージョンをアップグレードするか、バッキングデータを更新します。
このモデルをこのモデルと他のPatientCareソフトウェアに使用することもできますが、より近代的なアプローチは、コンピューティングとデータインフラストラクチャを牛として扱うことです。ペットとは異なり、あなたは通常あなたの牛に名前を付けることはありません、そしてあなたはそれらの牛に大きな転換をするかもしれません。そのため、このサービスの新しいバージョンを更新されたデータでスピンアップすることは完全に合理的です。
そのため、これと他のPatientCareサービスは、できるだけ多くのステップを自動化するように設計されています。
最高の体験のためにClojureをインストールする必要がありますが、事前に構築された瓶を使用して実行することができます。 JARファイルの情報については、以下を参照してください。
このサービスには、ファイルシステム上のディレクトリが必要です。
NHSの組織データには、NHS組織に関する情報が含まれています。地理的サービスを有効にするために、 clodsこれらのデータを「NHS郵便番号ディレクトリ」を使用してNHS地理的データと組み合わせます。 NHSPDをスタンドアロンサービスとして使用できますが、便利なため、 clodsはそのツールが含まれます。
これらの例では、使用します
単一のディレクトリと更新の場所を使用するか、間隔で新しいリポジトリを作成することを選択できます。私はデフォルトで読み取り専用の不変のバッキングデータを好むので、後者を支持します。
また、ダウンロードされたデータに一時的なキャッシュを指定する必要があります。
これらの例では、使用します
すでにNHSPDを実行している可能性があります。そのために使用するインデックスを使用します。
そうでない場合は、1つのセットアップを取得しましょう
$ clj -M:nhspd /var/local/nhspd-2020-11数分後、NHS Postcode Directoryインデックスがダウンロードされ、インポートされます。
NHS Digital Trud APIキーが必要です。
NHS Digital Trudにログインして、プロファイルの下でAPIキーを見つけます。そのキーをファイルに書き込み、コマンドラインからそれにリンクします。
$ clj -M:install --nhspd /var/local/nhspd-2020-11 --api-key /path/to/api-key.txt --cache-dir /var/tmp/trud /var/local/ods-2021-02 clods 、Trudから最新の配布ファイルをダウンロードするか、利用可能な場合はローカルキャッシュで既存のダウンロードされたバージョンを使用して、組織インデックスを作成します。
これらすべてを展開用の単一のDocker画像に埋め込むことができますが、代わりに共有の読み取り専用ファイルシステムにリンクして、最新のバックエンドデータにリンクする方が良いかもしれません。
マイクロサービスとして実行するには、ODSインデックスの両方のパス、NHSPDインデックス、および実行するポートの両方を含める必要があります。
$ clj -M:serve /var/local/ods-2021-02 /var/local/nhspd-2020-11 80803つのエンドポイントがあります。
郵便番号に関するNHSの郵便番号データを取得しましょう。
$ curl -H " Accept: application/json " localhost:8080/ods/v1/postcode/CF144XW結果:
{ "CANNET" : " N95 " , "PCDS" : " CF14 4XW " , "NHSER" : " W92 " , "SCN" : " N95 " , "PSED" : " 62UBFL16 " , "CTRY" : " W92000004 " , "OA01" : " W00009154 " , "HRO" : " W00 " , "OLDHA" : " QW2 " , "RGN" : " W99999999 " , "OSWARD" : " W05000864 " , "LSOA01" : " W01001770 " , "OSNRTH1M" : 179319 , "CANREG" : " Y1101 " , "OSHLTHAU" : " 7A4 " , "CALNCV" : " W99999999 " , "OSGRDIND" : " 1 " , "MSOA11" : " W02000384 " , "MSOA01" : " W02000384 " , "WARD98" : " 00PTMM " , "OLDHRO" : " W00 " , "CENED" : " TNFL16 " , "OLDPCT" : " 6A8 " , "USERTYPE" : " 0 " , "OSEAST1M" : 317551 , "PCT" : " 7A4 " , "PCD2" : " CF14 4XW " , "NHSRLO" : " W92 " , "OSNRTH100M" : 1793 , "DOTERM" : " " , "STP" : " W92 " , "OSLAUA" : " W06000015 " , "OSHAPREV" : " Q99 " , "EDIND" : " 1 " , "LSOA11" : " W01001770 " , "UR01IND" : " 5 " , "CCG" : " 7A4 " , "OSEAST100M" : 3175 , "DOINTR" : " 199906 " , "PCON" : " W07000051 " , "ODSLAUA" : " 052 " , "OA11" : " W00009154 " , "OSCTY" : " W99999999 " }既知の組織に関するODSデータを取得しましょう。
$ curl -H " Accept: application/json " localhost:8080/ods/v1/organisation/7A4BV組織を検索しましょう。
名前による簡単な検索:
$ curl -H " Accept: application/json " ' localhost:8080/ods/v1/search?s=University%20Hospital%20Wales '特定の郵便番号の1000m以内のGP手術を検索しましょう。
$ curl -H " Accept: application/json " ' localhost:8080/ods/v1/search?roles=RO177&from-postcode=CF144XW&range=1000 '結果(ここでは、JQをパイプでパイプして名前を教えてください):
$ curl -H "Accept: application/json" 'localhost:8080/ods/v1/search?roles=RO177&from-postcode=CF144XW&range=1000' | jq '.[] | .name'
"OUT OF HOURS SERVICE"
"WHITCHURCH ROAD SURGERY"
"CRWYS MEDICAL CENTRE"
"NORTH ROAD MEDICAL PRACTICE"
結果は距離でソートされます。
各結果には、WGS84緯度と経度が注釈が付けられ、地理的処理/プロットが容易になります。
$ curl -H " Accept: application/json " ' localhost:8080/ods/v1/search?s=crwys&roles=RO177&from-postcode=CF144XW&range=1000 ' | jq
[
{
" orgId " : {
" root " : " 2.16.840.1.113883.2.1.3.2.4.18.48 " ,
" assigningAuthorityName " : " HSCIC " ,
" extension " : " W97041 "
},
" contacts " : [
{
" type " : " tel " ,
" value " : " 029 20524140 "
}
],
" name " : " CRWYS MEDICAL CENTRE " ,
" operational " : {
" start " : " 1974-04-01 " ,
" end " : null
},
" roles " : [
{
" id " : " RO72 " ,
" isPrimary " : false,
" active " : true,
" startDate " : " 2014-04-15 " ,
" endDate " : null
},
{
" id " : " RO177 " ,
" isPrimary " : true,
" active " : true,
" startDate " : " 1974-04-01 " ,
" endDate " : null
}
],
" orgRecordClass " : " RC1 " ,
" active " : true,
" primaryRole " : {
" id " : " RO177 " ,
" isPrimary " : true,
" active " : true,
" startDate " : " 1974-04-01 " ,
" endDate " : null
},
" relationships " : [
{
" id " : " RE4 " ,
" startDate " : " 1999-04-01 " ,
" endDate " : " 2003-03-31 " ,
" active " : false,
" target " : {
" root " : " 2.16.840.1.113883.2.1.3.2.4.18.48 " ,
" assigningAuthorityName " : " HSCIC " ,
" extension " : " 4WK03 "
}
},
{
" id " : " RE4 " ,
" startDate " : " 2009-10-01 " ,
" endDate " : null,
" active " : true,
" target " : {
" root " : " 2.16.840.1.113883.2.1.3.2.4.18.48 " ,
" assigningAuthorityName " : " HSCIC " ,
" extension " : " 7A4 "
}
},
{
" id " : " RE4 " ,
" startDate " : " 2003-04-01 " ,
" endDate " : " 2009-09-30 " ,
" active " : false,
" target " : {
" root " : " 2.16.840.1.113883.2.1.3.2.4.18.48 " ,
" assigningAuthorityName " : " HSCIC " ,
" extension " : " 6A8 "
}
}
],
" location " : {
" address1 " : " THE CRWYS SURGERY " ,
" address2 " : " WEDAL ROAD " ,
" town " : " CARDIFF " ,
" county " : " SOUTH GLAMORGAN " ,
" postcode " : " CF14 3QX " ,
" country " : " WALES " ,
" uprn " : " 10008905579 " ,
" latlon " : [
52.714814004647714,
-5.273869588498894
]
},
" isReference " : false
}
]$ clj -M:fhir-r4 /var/local/ods-2021-02 /var/local/nhspd-2020-11 8080試してみましょう:
$ curl -H " Accept: application/json " ' http://localhost:8080/fhir/Organization/2.16.840.1.113883.2.1.3.2.4.18.48|W93036 ' 結果:
{
"resourceType" : " Organization " ,
"id" : " W93036 " ,
"identifier" : [
{
"use" : " official " ,
"system" : " https://fhir.nhs.uk/Id/ods-organization " ,
"value" : " W93036 "
},
{
"use" : " old " ,
"system" : " urn:oid:2.16.840.1.113883.2.1.3.2.4.18.48 " ,
"value" : " W93036 "
}
],
"active" : true ,
"type" : [
{
"coding" : [
{
"system" : " urn:oid:2.16.840.1.113883.2.1.3.2.4.17.507 " ,
"code" : " RO72 " ,
"display" : " OTHER PRESCRIBING COST CENTRE "
}
]
},
{
"coding" : [
{
"system" : " urn:oid:2.16.840.1.113883.2.1.3.2.4.17.507 " ,
"code" : " RO177 " ,
"display" : " PRESCRIBING COST CENTRE "
},
{
"system" : " http://hl7.org/fhir/ValueSet/organization-type " ,
"code" : " prov " ,
"display" : " Healthcare Provider "
}
]
}
],
"name" : " CASTLE GATE MEDICAL PRACTICE " ,
"telecom" : [
{
"system" : " phone " ,
"value" : " 01600 713811 "
}
],
"address" : [
{
"line" : [
" REAR OF MONNOW STREET "
],
"city" : " MONMOUTH " ,
"district" : " GWENT " ,
"postalCode" : " NP25 3EQ " ,
"country" : " WALES "
}
],
"partOf" : {
"type" : " Organization " ,
"identifier" : {
"use" : " official " ,
"system" : " https://fhir.nhs.uk/Id/ods-organization " ,
"value" : " 7A6 "
},
"display" : " ANEURIN BEVAN UNIVERSITY LHB "
}
}FHIR APIは、さまざまなパラメーターによる検索もサポートしています。
モンマスの一般的な慣行を検索しましょう
$ curl -H " Accept: application/json " ' localhost:8080/fhir/Organization?address=monmouth&type=2.16.840.1.113883.2.1.3.2.4.17.507|RO177 'または、指定されたGP手術を検索します。
$ curl -H " Accept: application/json " ' localhost:8080/fhir/Organization?name=Whitchurch&address=Wales&type=2.16.840.1.113883.2.1.3.2.4.17.507|RO177 '時代遅れの依存関係を確認してください:
$ clj -M:outdatedコンピレーションチェックを実行する(オプション)
$ clj -M:fhir-r4:serve:check糸くずを実行する(オプション)
$ clj -M:lint/kondo
$ clj -M:lint/eastwoodライブラリの瓶を生成するには:
clj -T:build jarライブラリジャーを地元のMavenリポジトリにインストールするには:
clj -T:build install図書館をClojarsに展開するには:
clj -T:build deploy必要に応じて、コマンドラインで簡単に実行できるJARファイルを生成できます。
サーバーUberjarを構築して実行します。これにより、単純なREST APIが提供されます。
$ clj -T:build http-server
$ java -jar target/clods-http-server-v1.0.152.jar /var/local/ods-2021-02 /var/local/nhspd-2020-11 8080FHIRサーバーUberjarを構築して実行します。これにより、FHIR R4サーバーが提供されます。
$ clj -T:build fhir-r4-server
$ java -jar target/clods-fhir-r4-server-1.0.152.jar /var/local/ods-2021-02 /var/local/nhspd-2020-11 8080これらのスタンドアロンジャーファイルを渡すことができます。依存関係はありません。
Copyright©2020-22 Eldrix LtdおよびMark Wardle