什麼是SDK(Software Development kit, 軟體開發套件),他與API的差異在需用於特定的軟體套件、軟體框架、硬體平台與作業系統。所以,這次開發的SDK僅能在DotNet平台下使用。
目前還沒打算開源,先以介紹SDK開發為主,等因緣具足時再來思考這個問題。
===============
FHIR SDK的目的就是協助軟體開發者,能透過一組元件輕鬆駕馭FHIR Resource。R5的Resource有157個,照趨勢發展未來可能還會更多。而SDK就是提供這些Resource的結構,能夠從XML/JSON的字串類型的資料,與物件相互對應。畢竟程式開發中,以物件形式來操作是比較容易的事情。
雖然有157個,其結構是類似的。所以這塊其實有寫了另一個專案,利用T4技術弄個程式產生器,利用程式來產生程式。也就是說未來有了R6,只要結構沒有重大變化,這個SDK可以馬上支援最新版本的FHIR。至於這部份的技術,就看這系列文章的發展,是否有機會也來介紹。
回來原點,雖然Resource有157個,其實他們有遵循了FHIR Type Framework。而SDK的重要核心技術,就是如何在你選定的程式語言下來實踐這個Framweork。
資料型態端其實要分成四大類型。分別是Primitive Type、General-Purpose Datatypes、Metadata Types與Special Purpose Datatypes。但實踐上只有兩大類,Primitive Type與Complex Type。
講到這,如何覺得很簡單,那你就錯了。
因為FHIR這個Extension架構,讓Primitive Type變得很複雜。因為Primitive Type繼承了Element,他卻是Complex Type結構。這部份FHIR有了新的定義。細節就留待下一篇了。







