2016-07-25 154 views
0

我正在實施FHIR服務器,但出於某些不可避免的原因,我無法訪問醫生的時間表,但是,我可以訪問可用於預約的插槽。FHIR搜索老虎機請求

我可以從4個參數使用

  1. 醫生ID
  2. 組織ID
  3. 位置ID
  4. 日期插槽

下面將要考慮的得到插槽作爲使用FHIR的有效插槽查詢:

http://localhost:8080/context/fhir/Slot?practitioner=Practitioner/123456789&organization=Organization/1234&location=Location/2&start=2016-07-25

此外,在響應於上述查詢,由於參照附表是絕對必要的(插槽具有卡= 1..1附表參考),I可以通過基準值是這樣的:

"schedule": { 
    "reference": "Schedule/notrequired" 
    } 

插槽響應?

回答

0

我可能會錯過這裏的東西,但不知道你是如何定義插槽和時間表之間的區別?

時間表資源只是定義了一個時間段,時間段可能存在於其中,併爲其他資源存在。它沒有定義或公開在此期間可能存在的約會。

slot search parameters不像您所暗示的那樣定義任何搜索參數。這些都在它鏈接的計劃資源上。

實習者,地點和患者可以各自擁有自己的日程安排/插槽,因此它取決於定義複雜性的系統。有些系統認爲他們只會擔心從業者(擁有自己的房間),其他系統只擔心房間並將在晚些時候分配從業人員。

從我的東西,我認爲你想這樣(在實踐管理系統的前面創建FHIR外牆)我想你會需要公開以下資源的認識:

  • 醫生:要揭露從業者的細節(有興趣的話,如果你的從業者可以在多個地點工作)
  • 時間表:爲了簡單暴露你正在接受約會的日期範圍(並且將具有定義的插槽可用性)並且從業者鏈接到該資源,如果他們在多個地點工作,那麼對於從業人員工作的每個地點你都會有其中一個。 (如果位置資源有其自己的時間表,則需要進一步考慮它,以及可用插槽的協商完成的位置)
  • 插槽:定義約會可以調度到的可用插槽。(注意:這些不是約會)
  • 約會:接受創建的約會(不知道如何處理這個如果你沒有進入日程安排)
  • 病人:假設你想要)

如果這一切都有意義,並且您澄清了您的環境,我會提出您需要處理的可能查詢。

這是一個很大的問題,和患者管理計劃寫關於實施在各種環境中,此功能(全科,住院,門診,社區,實驗室等)

+0

感謝您對Brian的詳細迴應,我會在這裏簡要介紹一下環境細節。直到只有一個問題 - 我們被允許爲任何FHIR請求引入額外的參數嗎? - 如果我們把這些放在服務器一致性聲明中? – comeOnGetIt

+0

嗨,布萊恩,我假設時間表不過是醫生的工作時間,對嗎?假設一名醫生從早上8點到下午5點工作,那麼我按照時間表 – comeOnGetIt

+0

來處理該時間間隔。以某種方式是,該時隙定義了日程安排上的實際特定實例。哪個引用該計劃實例。 –

1

不幸的是一些實施指導,正確現在,你必須公開一個時間表,但沒有任何理由必須是「真實的」。我們目前實施Slot搜索的方式是通過暴露一個虛擬調度,其中唯一的數據元素是該角色的鏈接。例如:

<Schedule xmlns="http://hl7.org/fhir"> 
<id value="1234" /> 
<actor> 
    <display value="Cooper Thompson, MD" /> 
    <reference value="http://host/api/FHIR/DSTU2/Practitioner/1234" /> 
</actor> 

我們插槽搜索結束這樣看(有一些編輯的簡潔和清晰,特別是圍繞slottype):

http://host/api/FHIR/DSTU2/Slot?Schedule.actor:Practitioner=1234&Schedule.actor:Patient=5678&slottype=urn:oid:1.2.3|Cardiology&start=2016-07-21 

注意,這是技術上無效,因爲一個槽只能有一個Schedule,而且我們包含Schedule的多個鏈接搜索參數。由於Slot.schedule爲1:1,我們還利用擴展來發回患者,從業人員和與插槽相關的位置。然而,這種「故意濫用」是我發現的最好的選擇,而不會強制客戶端成爲調度系統,並處理排隊爲每個資源的插槽。

在FHIR gforge中有一些跟蹤器項目(9989,9208)關於更新插槽以便更「友好」地使用「簡單客戶端」。我們會很感激你的意見:)。

+0

Thant使發送...關於提到的URL的一個問題,你如何解析Schedule.actor:Practitioner&Schedule.actor:Patient=5678參數在服務器端?不要翻譯成像http:// host/api/FHIR/DSTU2/Slot這樣的URL嗎?actor = 1234&actor = 5678&slottype = urn:oid:1.2.3 | Cardiology&start = 2016-07-21即具有相同參數名稱的URL「演員「 ? – comeOnGetIt

+0

http://stackoverflow.com/questions/38855829/fhir-new-patient-appointment-booking-no-patient-yet-created-in-system – comeOnGetIt

+0

在這些搜索參數的上下文中並沒有涉及的URL 。我們只需將值「1234」作爲Pracitioner ID。與患者類似。我們假設/要求用於搜索的ID是我們的服務器ID。我正確理解你的問題嗎? – Cooper