臺灣疫苗接種或開立藥品紀錄上傳實作指引
0.1.0 - ci-build

臺灣疫苗接種或開立藥品紀錄上傳實作指引 - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

驗證教學

本頁將說明如何驗證實作檔是否符合VACC IG規範。

使用國際HL7提供的公開免費驗證器validator_cli.jar檔,以命令提示字元測試驗證。

Step 1:下載 validator_cli.jar 檔

請至HL7驗證說明網站下載jar檔:Confluence Pages of Health Level 7 (HL7) International。進入HL7驗證說明官網後,如下圖所示請尋找「Downloading the Validator」項目,下載「validator_cli.jar」檔。
Downloading the Validator

下載完成後將檔案放置於桌面所新建立的validate資料夾中,檔案位置可依個人喜好存放,此處以「桌面/validate」為例。 Downloading the Validator

Step 2:手動下載 IG Package

可於「結構定義與範例檔」下載頁下載整個IG的Package。
手動下載IG Package

Step 3:解壓縮 Package

將Step 2所下載的Package.tgz檔案右鍵選擇『解壓縮全部』選項,解壓縮完成後會是一個名為Package的資料夾。(Package.tgz -> Package)

  • 請特別留意若您的電腦沒有解壓縮全部的選項,請將檔案解壓縮兩次!(Package.tgz -> Package.tar -> Package)

解壓縮Package

解壓縮Package

Step 4:放入本機端 Package Cache 資料夾

將Step 3所解壓縮 Package 放入本機端的Package Cache 資料夾中。

IG的package名稱請於IG網站的底端資訊中,copy package名稱(必須與IG網站相同) package名稱

Package Cache 檔案路徑如下:
(若以下路徑沒有找到 .fhir 的資料,請自行建立此資料夾)

  • Windows:c:\users\<username>.fhir\packages\tw.gov.mohw.cdc.vacc0.1.0\package
  • Unix/Linux:/~/.fhir/packages/tw.gov.mohw.cdc.vacc0.1.0/package

找到路徑位置後,將 Step 3 的 Package 資料夾放入。 Package Cache檔案路徑

解壓縮Package

Step 5:使用你的實例JSON檔或者下載範例JSON檔

以Bundle Profile的實作為例,如果你的手邊已經有一個依據VACC IG實作的JSON檔,你可以使用你的實例檔案,如果你沒有這樣的檔案,則可以下載如下圖所示的VACC IG的「上傳接種疫苗與開立藥品紀錄」範例。如下圖所示,請於VACC IG網站上,找到範例檔頁面中的「上傳接種疫苗與開立藥品紀錄」。 上傳接種疫苗與開立藥品紀錄

上傳接種疫苗與開立藥品紀錄JSON檔

並將你的實例JSON檔或者下載範例JSON檔放置於 Step 1 所建立之validate資料夾中。 這邊只是為了方便驗證時簡化語法及避免太複雜的說明,而將上述兩個檔案放在相同目錄,使用者/實作者可視情況放在不同的目錄或可連線的網址,但後續語法也要自行做相對應的調整。 validate資料夾

Step 6:驗證檔案是否符合VACC IG網站之Patient Profiles格式

開啟「命令提示字元」,可直接在檔案路徑輸入「cmd」,並按下enter,命令提示字元即開啟並指向指定位置。 或可使用搜尋方式打開命令提示字元,再用「cd [資料夾路徑]」指向指定位置。 命令列提示字元

如下圖所示,請於指向validate資料夾命令列環境,輸入FHIR提供的驗證程式-紅色1java -jar validator_cli.jar』 、所要驗證之Profile-藍色2Bundle-bundle-request-put-min.json』,以及所要驗證之依據-橘色3-version 4.0 -ig tw.gov.mohw.cdc.vacc』,「Enter鍵入」。 命令列語法

如下圖若驗證「通過」,可看到「Success: 0 errors」。

通過

若驗證「不通過」,如下圖所示,會看到「*FAILURE*: 10 errors」,可看出Bundel中Patient裡的gender有錯誤,位置於第250行。再依據錯誤訊息修改實例後重新驗證,直到驗證成功為止,即表示實例符合Profile定義。

不通過