2021年1月28日 星期四

CDS Hooks - 規範 - 3

 複習一下,CDS的實作流程有四個階段的規範,「Discovery」、「Request CDS」、「CDS Response」與「Feedback」。今天討論Request CDS。

Request CDS

CDS Client 呼叫 --> CDS Server實作

 Endpoint: POST {baseURL}/cds-services/{service.id}

Request Object


註:
1. 由CDS Client負責組合物件。
2. CDS Server得解析物件。

 hooks

叫用這個service所規定的hooks標準。大部分都是patient-view。

hookInstance

這是由CDS Client產生的UUID碼,他必須需Globally unique。CDS Server端,每一個hookInstance都是單一事件,都得單獨處理。我這次實作比較像寫範例,所以這個值我沒有記錄下來。其實,回應訊息時也不會用到。

 fhirServer

這個是CDS Client告訴CDS Server我的FHIR Server在哪裡。他是一個完整路徑。(切到資源)

fhirAuthorization

這個有點複雜是OAuth 2.0內容。主要是給你Access Token,讓你可以直接向CDS Client的FHIR Server抓取資料。不過,都得要事先宣告Scope,其流程沒有那麼簡單。也不是CDS Client都會給你。

context

hooks是規範,只有描述需要哪些鍵值欄位。CDS Client就把這次POST資料實際鍵值內容放在這裡。如果Client採用Prefetch方式,已經這個內容不重要。但是,採fhirAuthorization的話,這個就很重要。每次來回的資料總得是同一個病人吧。 

prefetch

這的內容很重要。他就是CDS Server用prefetch template告知CDS Client要準備的FHIR內容。CDS Server端在解析的時候要小心。當初你可以同時要了好幾條不同的Resource。另外,你可能走Search 方式,那你收到的可能是Bundle回來的東西,解析時要小心。

 Request 範例


 這是CDS Client發出的資料(部分)

至於這個sandbox介面後續會介紹。網址先給各位了:https://sandbox.cds-hooks.org/

CDS Server端就根據自己所需要資料到prefetch裡的FHIR Resource去抓囉。

其實,如果CDS Client如果沒有給你fhirAuthorization的資訊,那就隱含告訴你,去他們的FHIR Server抓資料無須Access Token。

至於要怎麼解析,程式面的問題,應該會找適當時間來寫寫。如果沒有保密問題的話。

至於CDS要怎麼運用資料,那就超出本系列的範圍了。




沒有留言:

張貼留言