圖1:解決方案體系結(jié)構(gòu)

通過描述上面的解決方案,我們可以對醫(yī)療保健 IT 領(lǐng)域的利益相關(guān)者有所了解。工程師和業(yè)務(wù)領(lǐng)導(dǎo)者擁有數(shù)據(jù)訪問渠道標(biāo)準(zhǔn)化和治理的平臺(tái);一些利益相關(guān)者會(huì)產(chǎn)生需要發(fā)布的數(shù)據(jù),因此他們會(huì)聯(lián)系感興趣的相關(guān)方;有些利益相關(guān)者為最終用戶建立價(jià)值渠道。這些利益相關(guān)者聚合多個(gè)數(shù)據(jù)源并創(chuàng)建有價(jià)值的產(chǎn)品,然后由最終用戶消費(fèi)這些數(shù)據(jù)并得出結(jié)論、做出決定。

API 市場的利益相關(guān)者

圖 2:利益相關(guān)者分析

API 生產(chǎn)者群體 涵蓋了負(fù)責(zé)設(shè)計(jì)、開發(fā)、發(fā)布和測試醫(yī)療保健 API 的設(shè)計(jì)師、架構(gòu)師、醫(yī)療保健產(chǎn)品開發(fā)人員和 API 測試人員,這個(gè)小組負(fù)責(zé)定義 API 范圍(內(nèi)部、外部、限制和授權(quán))。在大型醫(yī)療保健 API 數(shù)據(jù)交換中,生產(chǎn)者可以來自不同的醫(yī)療保健機(jī)構(gòu)。

平臺(tái)擁有者群體 保證了 API 市場的正常運(yùn)作,他們維護(hù)組件,促進(jìn) API 使用者之間的協(xié)作,并向 API 生產(chǎn)者提供使用者的反饋。他們承擔(dān)了平臺(tái)宣傳、平臺(tái)支持和社區(qū)建設(shè)等任務(wù)。

API 使用者群體 來自應(yīng)用程序的開發(fā)社區(qū)。他們是愿意利用醫(yī)療數(shù)據(jù)并從中獲取價(jià)值的創(chuàng)新者。他們可以是人口健康驅(qū)動(dòng)的倡議者、醫(yī)療保健初創(chuàng)企業(yè)、醫(yī)療保健機(jī)構(gòu)、醫(yī)院集團(tuán)和政府,熱衷于改善多方面的醫(yī)療保健環(huán)境。

醫(yī)療保健 API 市場的組件

成功的醫(yī)療保健 API 市場應(yīng)該包含三個(gè)方面的東西:

  1. API 管理
  2. 開發(fā)者門戶
  3. 活動(dòng)
圖 3:健康 API 市場的組件

API 管理 是這個(gè)平臺(tái)的基本要素,解決了跨領(lǐng)域的架構(gòu)問題。它封裝了運(yùn)行庫(網(wǎng)關(guān))、安全層、治理層、分析層和許可管理層。

API 網(wǎng)關(guān)的運(yùn)行庫充當(dāng)了平臺(tái)的入口點(diǎn),最終與實(shí)際數(shù)據(jù)后端的 EHR 系統(tǒng)連接。它與安全層無縫集成,提供基于令牌的安全性和基于策略的授權(quán)。

鑒于通過這些 API 公開的數(shù)據(jù)的敏感性,API 市場為 API 的開發(fā)、發(fā)布和全生命周期維護(hù)提供了強(qiáng)有力的治理是至關(guān)重要的。API 的暴露方式、人員驅(qū)動(dòng)的治理模型、策略管理和依賴性分析都是通過 API 治理層來控制的。

開發(fā)人員發(fā)布 API 后,他們應(yīng)該能夠監(jiān)控、測量和管理已發(fā)布的 API,此功能由 API 的分析組件提供。除了基于批處理的分析之外,該層還可以為 API 調(diào)用失敗、響應(yīng)時(shí)間突然增加或 API 資源訪問模式變更等方案創(chuàng)建警報(bào)。

許可管理層實(shí)現(xiàn)工作流程,確保為數(shù)據(jù)共享、存儲(chǔ)和使用提供必要的許可。這是策略驅(qū)動(dòng)的,有時(shí)依賴于基于機(jī)器的決策或人為參與。

開發(fā)者門戶 發(fā)布 API。它讓所有相關(guān)方都能夠發(fā)現(xiàn)可用的數(shù)據(jù)流并了解如何使用它們。開發(fā)者門戶解決了醫(yī)療平臺(tái)健康數(shù)據(jù)的可見性問題。所有專門的醫(yī)療保健系統(tǒng)都可以在由提供者機(jī)構(gòu)、醫(yī)院或公共醫(yī)療保健交易所維護(hù)的中央開發(fā)者門戶中檢索 API。

使用技術(shù)組件構(gòu)建一個(gè)出色的 API 市場只是整個(gè)過程的一部分,為了建立成功的醫(yī)療保健 API 市場,平臺(tái)所有者可以參與以下這些活動(dòng)

醫(yī)療保健 API

市場中的 API 可以根據(jù)其消費(fèi)模式進(jìn)行產(chǎn)品分類。在醫(yī)療保健領(lǐng)域,常見的模式包括患者注冊、調(diào)度、財(cái)務(wù)和計(jì)費(fèi)、保險(xiǎn)、臨床、輔助、公共健康和物聯(lián)網(wǎng)。

注冊 API

注冊 API 用來管理與 EMR 系統(tǒng)相關(guān)的注冊功能。通過這些注冊 API,開發(fā)人員可以開發(fā)與不同 EMR 系統(tǒng)進(jìn)行集成的接口,用來管理患者特定的數(shù)據(jù)交換。身份驗(yàn)證和授權(quán)是這些 API 的關(guān)鍵需求,因?yàn)樗鼈兲峁┝伺c消費(fèi)者數(shù)據(jù)相關(guān)的所有后續(xù)活動(dòng)的入口。API 市場中的 API 管理層可以為這些 API 活動(dòng)提供關(guān)鍵的安全構(gòu)造。

調(diào)度 API

調(diào)度 API 的功能包括:安排預(yù)約、發(fā)送預(yù)約提醒、檢查預(yù)約時(shí)間段以及更新、取消或重新安排預(yù)約。調(diào)度是醫(yī)療保健市場中常用的功能之一,它與各種系統(tǒng)(包括賬單、消息和通知)集成在一起。API 網(wǎng)關(guān)運(yùn)行庫以及集成層可以在這些系統(tǒng)之間提供所需的橋梁,從而為患者提供輕松的調(diào)度體驗(yàn)。

財(cái)務(wù) API

財(cái)務(wù) API 用來管理護(hù)理提供者機(jī)構(gòu)和各當(dāng)事方之間的資金交易。這些財(cái)務(wù) API 可以進(jìn)一步細(xì)分,例如可以分為計(jì)費(fèi) API、索賠 API 等。醫(yī)療保險(xiǎn)在醫(yī)療保健行業(yè)的財(cái)務(wù)部門發(fā)揮著重要作用。索賠管理系統(tǒng)有助于檢查索賠狀態(tài)、取消或調(diào)整以及自動(dòng)付款過賬,它公開的 API 使支付方能夠連接到合作伙伴系統(tǒng)。安全性是這些 API 的關(guān)鍵需求之一,特別是強(qiáng)身份驗(yàn)證和授權(quán)。為了支持其中的一些需求,需要有一個(gè)能夠與外部身份提供者(IDP)交互的 API 管理平臺(tái)。

臨床 API

臨床 API 將基于不同的標(biāo)準(zhǔn)(如 HL7v2、HL7v3 和 FHIR)通過 EHR/EMR 系統(tǒng)來管理臨床數(shù)據(jù)交換。成熟的 API 平臺(tái)具有數(shù)據(jù)格式轉(zhuǎn)換功能,因此它可以連接到多個(gè)系統(tǒng),并根據(jù)使用者的要求提供數(shù)據(jù)傳送。這些系統(tǒng)包括一些特殊的數(shù)據(jù)流,如患者用藥數(shù)據(jù)、治療計(jì)劃、免疫詳細(xì)信息和家庭病史,醫(yī)生利用這些數(shù)據(jù)來決定病人的健康狀況?;颊呖梢越柚?API 驅(qū)動(dòng)的以患者為中心的應(yīng)用程序來查看他們的藥物、診斷和病史。這樣可以鼓勵(lì)患者更多地參與個(gè)人健康診斷,也符合公共醫(yī)療政策,例如“有意義使用”政策。

輔助 API

輔助 API 用來管理與核心臨床功能(如藥房、實(shí)驗(yàn)室、放射科等)相分離的系統(tǒng)的信息。這里有一些示例,包括與外部藥房就用藥處方和續(xù)藥請求進(jìn)行通信、用不同的信息系統(tǒng)交換實(shí)驗(yàn)室結(jié)果的數(shù)據(jù),以及用外部營養(yǎng)系統(tǒng)來管理膳食訂單。通過安全通道(B2B)與外部系統(tǒng)連接是這些 API 的關(guān)鍵需求,支持各種安全協(xié)議(如 OAuth2、SAML、OIDC)的 API 管理系統(tǒng)將有助于與這些第三方系統(tǒng)安全連接。

公共健康 API

公共健康 API 可以用于指導(dǎo)通過交換公眾、聯(lián)邦或?qū)I(yè)注冊機(jī)構(gòu)可報(bào)告臨床數(shù)據(jù)來跟蹤公共健康。這些 API 能夠提供公共衛(wèi)生監(jiān)督所需的數(shù)據(jù)。公共健康 API 向政府和其他研究機(jī)構(gòu)提供存儲(chǔ)在電子病歷(EMR)中的臨床健康數(shù)據(jù),并從這些機(jī)構(gòu)獲取數(shù)據(jù),以豐富本地的臨床記錄。這兩項(xiàng)事務(wù)都是在給定的標(biāo)準(zhǔn)下進(jìn)行的,以確保健康數(shù)據(jù)的隱私。當(dāng)提供此類數(shù)據(jù)流時(shí),API 運(yùn)行庫可以對記錄進(jìn)行清洗和去識(shí)別化,以確保這些數(shù)據(jù)是匿名的,這是一個(gè)成熟 API 運(yùn)行庫必備的實(shí)用功能之一。

物聯(lián)網(wǎng)/活動(dòng)跟蹤 API

近年來,可穿戴健康/活動(dòng)監(jiān)測設(shè)備呈指數(shù)增長。這些數(shù)據(jù)流開啟了個(gè)人健康監(jiān)控的新維度,通過可消費(fèi)的平臺(tái)公開這些流,可以加速以患者為中心的健康應(yīng)用程序的創(chuàng)新。

技術(shù)選擇

在所提議的解決方案中,我們將系統(tǒng)集成和 API 管理視為兩個(gè)不同的組件,需要經(jīng)過深思熟慮的分析。集成組件應(yīng)該通過不同的協(xié)議和消息格式與不同的醫(yī)療保健系統(tǒng)集成。然后,它需要通過統(tǒng)一的接口來轉(zhuǎn)換和規(guī)范化數(shù)據(jù)。集成層應(yīng)根據(jù)某些策略在必要時(shí)清理和匿名化數(shù)據(jù),有多個(gè)技術(shù)棧和框架可用于執(zhí)行這個(gè)任務(wù),比如一些領(lǐng)先的開源產(chǎn)品,如Apache Camel、Apache Synapse、Apache ServiceMixSpring IntegrationBallerina。

API 管理組件由一組功能組成,包括高性能網(wǎng)關(guān)、用于身份驗(yàn)證的密鑰服務(wù)器、用于限制和分析的事件處理器、用于顯示 API 列表的開發(fā)者門戶,以及用于許可管理的工作流引擎。一些流行的開源產(chǎn)品封裝了這些功能,包括WSO2 API Manager,Kong API GatewayTyk API Gateway

參考實(shí)施

出于概念驗(yàn)證的目的,參考實(shí)現(xiàn)顯示了每種技術(shù)可以被用在什么地方。它偏向于開源平臺(tái)和框架,因?yàn)樗鼈優(yōu)椴粩喟l(fā)展的平臺(tái)提供了很大的靈活性。

圖 4:包含技術(shù)選型的實(shí)現(xiàn)架構(gòu)

在這個(gè)實(shí)現(xiàn)中,API 管理器支持完整的 API 生命周期管理功能,包括 API 實(shí)現(xiàn)、管理、貨幣化、安全和路由 API 流量。這樣一來,來自公開 API 的請求可以通過 API 網(wǎng)關(guān)路由到集成組件。

參考實(shí)現(xiàn)考慮到了 API 的生命周期——一旦發(fā)布 API,就必須棄用以前的版本,并且必須通知訂戶。API 管理解決方案通過生命周期執(zhí)行器來處理這個(gè)問題,因此每個(gè) API 生命周期階段都可以與要采取的操作相關(guān)聯(lián),如圖 5 所示。

圖 5:API 生命周期視圖示例

API 安全也是主要的考慮因素,雖然身份驗(yàn)證和授權(quán)是通過令牌完成的,但細(xì)粒度的授權(quán)是通過 OAuth 令牌作用域來實(shí)現(xiàn)的。作用域可以通過用戶組進(jìn)行驗(yàn)證,也可以通過健康數(shù)據(jù)消費(fèi)者的一組屬性進(jìn)行驗(yàn)證,例如設(shè)備、位置等。

圖 6:為 API 操作應(yīng)用授權(quán) OAuth 作用域的示例

API 平臺(tái)可以控制如何向第三方公開數(shù)據(jù),允許無限或受限訪問策略。API 管理平臺(tái)的限制引擎定義了與被允許的請求數(shù)和數(shù)據(jù)使用率相關(guān)的規(guī)則,并強(qiáng)制執(zhí)行。

圖 7:如何將限制策略應(yīng)用于 API 訂閱示例

API 管理組件的開發(fā)者門戶提供了一個(gè)中央樞紐,可以在這里發(fā)現(xiàn)、試用和訂閱所有 API。開發(fā)者門戶提供了一個(gè)創(chuàng)新平臺(tái),記錄了每個(gè) API 可以使用的內(nèi)容以及如何使用這些數(shù)據(jù)。開發(fā)者門戶對本文中描述的 API 進(jìn)行分類,允許相關(guān)方訂閱這些 API 并將其集成到應(yīng)用程序中。

圖 8:具有病人/提供者 FHIR API 的開發(fā)者門戶示例

API 管理分析提供了訪問最頻繁的 API 及其使用方式的視圖,為多個(gè)受眾提供了有用的見解。對于平臺(tái)維護(hù)人員來說,他們可以知道有關(guān)技術(shù)能力規(guī)劃的決策。API 用戶可以了解健康數(shù)據(jù)的可用性,API 提供商可以了解在哪里可以得到更多關(guān)于數(shù)據(jù)采集的信息。

圖 9:醫(yī)療保健 API 分析視圖示例

一旦 API 調(diào)用將請求委托給解決方案的集成層,ApacheSynapse、Camel、Spring Integration 或 Ballerina 等框架就可以執(zhí)行集成功能。一旦集成框架接收到請求,它將檢查本地注冊表?xiàng)l目,以確定醫(yī)院屬于哪個(gè) EHR 系統(tǒng)。這些值可以存儲(chǔ)為文本字符串、XML 或 URL。這也可以通過在文件或數(shù)據(jù)庫中查找來實(shí)現(xiàn)。

圖 10:根據(jù)用戶屬性進(jìn)行系統(tǒng)查找

通過本地條目檢查之后,將使用消息過濾器來執(zhí)行驗(yàn)證,檢查醫(yī)院名稱是否保存在本地注冊表?xiàng)l目中。如果未找到醫(yī)院,則會(huì)將故障信息作為錯(cuò)誤消息發(fā)送回 API,表示該醫(yī)院不可用。

圖 11:過濾/驗(yàn)證過程
<inSequence>
<!--Obtain the value for the respected hospitalName parameter from the local registry-->
<propertyexpression="get-property($url:hospitalName)"name="ehrSystem"scope="default"type="STRING"xmlns:ns="http://org.apache.synapse/xsd"/>

<!--Check if the hospital-Name is located in the local registry entry-->
<filterxpath="boolean(get-property('ehrSystem'))">
<then>
...
</then>
<else>
<logdescription="Fault"level="custom"separator=",">
<propertyname="STATUS"value="Invoke fault "/>
</log>
<payloadFactorymedia-type="json">
<format>{ "Error":{ "errorType":"InvalidParameter","details":"The Hospital-Name parameter is invalid" } }
</format>
<args/>
</payloadFactory>
<propertyname="HTTP_SC"scope="axis2"type="STRING"value="400"/>
<respond/>
</else>
</filter>
</inSequence>

代碼塊 1:使用Apache Synapse進(jìn)行醫(yī)院名稱驗(yàn)證

集成框架使用一個(gè)或多個(gè)連接器訪問來自不同 EHR 平臺(tái)的數(shù)據(jù),從而允許用戶與第三方健康供應(yīng)商(如 Epic、Cerner 等)進(jìn)行交互?;?EHR 系統(tǒng),集成器將確定請求被路由到何處,并調(diào)用 Cerner 連接器或 Epic 連接器來獲取來自各自 EHR 系統(tǒng)的數(shù)據(jù)。

圖 12:路由請求

以下的 Synapse 配置(XML)用于初始化 Epic 和 Cerner 連接器并獲取診斷報(bào)告數(shù)據(jù)。

<switchsource="$ctx:ehrSystem">
<caseregex="Cerner">
<!--Initialize the Cerner Connector-->
<cerner.init>
<base>https://fhir-open.sandboxcerner.com/dstu2/0b8a0111-e8e6-4c26-a91c-5069cbc6b1ca</base>
</cerner.init>

<!--Search DiagnosticReport Operation→
<cerner.searchDiagnosticReport>
<patient>{$ctx:patient}</patient>
<subject>{$ctx:subject}</subject>
<startDate>{$ctx:startDate}</startDate>
<endDate>{$ctx:endDate}</endDate>
<count>{$ctx:count}</count>
</cerner.searchDiagnosticReport>
<respond/>
</case>
<case regex="Epic">
<!--Initialize the Epic Connector-->
<epic.init>
<base>https://open-ic.epic.com/FHIR/api/FHIR/DSTU2</base>
</epic.init>

<!--SearchDiagnosticReportOperation→<epic.searchDiagnosticReport>
<id>{$ctx:id}</id>
<patient>{$ctx:patient}</patient>
<startDate>{$ctx:startDate}</startDate>
<endDate>{$ctx:endDate}</endDate>
</epic.searchDiagnosticReport>
<respond/>
</case>
<default/>
</switch>

代碼塊 2:使用Apache Synapse路由到相應(yīng)的EHR系統(tǒng)

基于 EHR 系統(tǒng)檢索到的響應(yīng)通過 API 網(wǎng)關(guān)發(fā)送到 API。

未來的改進(jìn)

我們在前一節(jié)中討論的參考實(shí)現(xiàn)考慮到了一個(gè)簡單的場景,用以展示醫(yī)療保健 API 市場的實(shí)際使用。為了支持醫(yī)療保健行業(yè)的廣泛需求,可以對這個(gè)參考實(shí)現(xiàn)進(jìn)行改進(jìn),包括:

隨著醫(yī)療保健服務(wù)和技術(shù)的發(fā)展,醫(yī)療保健 API 市場將在數(shù)字醫(yī)療行業(yè)中發(fā)揮主導(dǎo)作用。

作者簡介

Nuwan Bandara 是一名解決方案架構(gòu)師,在集成和消息傳遞軟件項(xiàng)目上與財(cái)富 1000 強(qiáng)全球企業(yè)緊密合作。他是WSO2的董事,并且領(lǐng)導(dǎo)著北美的方案解決工程師團(tuán)隊(duì)。Nuwan 致力于醫(yī)療保健、政府和金融行業(yè)的項(xiàng)目,簡化系統(tǒng)集成。他是一名程序員、演講者和作家。

Chanaka  Fernando 是 WSO2 的解決方案架構(gòu)師。他與金融、教育、醫(yī)療保健和電信等各個(gè)領(lǐng)域的企業(yè)客戶密切合作。他在 WSO2 的整合平臺(tái)團(tuán)隊(duì)中擔(dān)任技術(shù)主管和產(chǎn)品負(fù)責(zé)人,這是他最長的一段職業(yè)生涯。

Sachini Samson 斯里蘭卡信息技術(shù)學(xué)院的三年級(jí)軟件工程專業(yè)學(xué)生,目前正在 WSO2 進(jìn)行軟件工程實(shí)習(xí)。Samson 是本文提到的參考實(shí)現(xiàn)的核心開發(fā)人員。

查看英文原文Transforming the Healthcare Industry Through API Marketplaces

本文轉(zhuǎn)自《API 市場帶來了醫(yī)療保健行業(yè)的巨大轉(zhuǎn)變》,譯者:楊雷

上一篇:

基于 API 的 SaaS:定義、優(yōu)勢和挑戰(zhàn)

下一篇:

當(dāng)您達(dá)到每月 API 速率限制時(shí)會(huì)發(fā)生什么?
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門場景實(shí)測,選對API

#AI文本生成大模型API

對比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對比試用API 限時(shí)免費(fèi)