## 1. Get Questionnaries List Data GET/{contextPath}/questionnarie/list 取得自訂表單列表 - 根據JWT中資訊取得使用者"AreaCode" - 將回傳accessToken(JWT)帶入呼叫API的header中 API require headers: ```javascript= { Authorization: accessToken } ``` param: ``` none. ``` ### Response Body: | Parameter | format | desc | | ------------ | -------- |-------------| | questionnaireId | String | 問卷Id | | questionnaireNo | String | 問卷代號 | | kind | String | 問卷類別 | | version | String | 問卷的版本代號 | | disease | String | 疾病類別 | | createDate | String | 建立日期 | | updateDate | String | 修改日期 | response: 200 ```javascript= { "httpCode": 200, "result": { "data": [ { "questionnaireId": "5abaac9a-43c0-4e66-9dda-16c0a62c547c", "questionnaireNo": "A00001", "kind": "CHILD_DEVELOPMENT", "version": "1", "disease": "ECKD", "createDate": "2020/01/01", "updateDate": "2020/01/02" }, { "questionnaireId": "f8b95827-4e15-4ad3-8f38-dfe9877a32df", "questionnaireNo": "B00001", "kind": "GENERAL", "version": "1", "disease": "ECKD", "createDate": "2020/01/01", "updateDate": "2020/01/02" } ] } } ``` ## 2. Get questionnaries by Id GET/{contextPath}/questionnarie/:id 取得問卷格式內容 - 根據JWT中資訊取得使用者"AreaCode" - 將回傳accessToken(JWT)帶入呼叫API的header中 API require headers: ```javascript= { Authorization: accessToken } ``` param: ``` none. ``` ### Response Body: | Parameter | format | desc | | ------------ | -------- |-------------| | questionnaireId | String | 問卷Id | | questionnaireNo | String | 問卷代號 | | kind | String | 問卷的類型代碼 | | version | String | 問卷的版本代號 | | disease | String | 疾病類別 | | createDate | String | 建立日期 | | updateDate | String | 修改日期 | | content | Json String | 問券內容 | * 系列問題 (series) # 問題區塊 | Parameter | format | desc | | ------------ | -------- |-------------| | seriesNo | String | 系列問題代號 | | seriesOrder | int | 順序 | | seriesTitle | String | 系列問題標題 | | seriesRemark | String | 系列問題備註 | | questionList | Object Array | 系列問題列表 | * 系列問題 (question) #區塊題目 | Parameter | format | desc | | ------------ | -------- |-------------| | questionId | String | 問題Id | | questionOrder | int | 問題順序 | | questionTitle | String | 問題標題 | | questionType | String | 問題類型 S: Select, C: CheckBox, R: Radio Button, F: FreeText | | questionLevel | int | 問題階層 | | questionIsRequired | bool | 是否必填 | | questionOptions | Object Array | 選項列表 | * 問題選項 (option) | Parameter | format | desc | | ------------ | -------- |-------------| | optionId | String | 選項Id | | optionText | String | 選項標題 | | optionScore | int | 選項分數 | | optionDescription | String | 選項描述 | ```javascript= { "httpCode": 200, "result": { "data": { "questionnaireId":"5abaac9a-43c0-4e66-9dda-16c0a62c547c", "questionnaireNo":"A00001", "kind":"CHILD_DEVELOPMENT", "version": "1", "disease": "ECKD", "createDate":"2020/12/12", "updateDate":"2020/12/27", "content": [ { "seriesNo":"1", "seriesOrder": 1, "seriesTitle":"i18N.Series.Title.SOF", "seriesRemark": "i18N.Series.Remark.SOF", "questionList":[ { "questionId": "SCSSKOK-SJUC-SMKMCKS-XJSGXM", "questionOrder":1, "questionTitle":"i18N.Question.Title.Q1", "questionType":"R", "questionLevel": 1, "questionIsRequired": true, "questionOptions": [ { "optionId": "CSKOKWMJIW-SWWHUOIWS-WNNLKXSW", "optionText": "i18N.Question.Q1.Option.YES", "optionScore": 1, "optionDescription": null }, { "optionId": "KOSJIW-SMLMCDWmi-WJDUIJIW-FCEI", "optionText": "i18N.Question.Q1.Option.NO", "optionScore": 0, "optionDescription": null } ] }, { "questionId": "SHUHWH-WBDCDEBUI-HDWLMXWWIJ", "questionOrder":2, "questionTitle":"i18N.Question.Title.Q2", "questionType":"C", "questionLevel": 1, "questionIsRequired": true, "questionOptions": [ { "optionId": "LCJWIHDE-JIXWS-XWHXEHUIW", "optionText": "i18N.Question.Q2.Option.YES", "optionScore": null, "optionDescription": null }, { "optionId": "XWUHBXOW-WXWUBXBE-DBXUWB", "optionText": "i18N.Question.Q2.Option.NO", "optionScore": null, "optionDescription": null, "QuestionList":[ { "questionId": "SCMUJENC-WXHUNIWW-XCNUEE", "questionOrder":1, "questionTitle":"i18N.Question.Title.Q2.Q1", "questionType":"C", "questionLevel": 2, "questionIsRequired": true, "questionOptions": [ { "optionId": "LCJWIHDE-JIXWS-XWHXEHUIW", "optionText": "i18N.Question.Q2.Q1.Option.Rice", "optionScore": null, "optionDescription": null }, { "optionId": "LCJWIHDE-JIXWS-XWHXEHUIW", "optionText": "i18N.Question.Q2.Q1.Option.Noodle", "optionScore": null, "optionDescription": null } ] }, { "questionId": "NCDWUBXW-WBXUWNXW-HBCUEDYE", "questionOrder":2, "questionTitle":"i18N.Question.Title.Q2.Q2", "questionType":"F", "questionLevel": 2, "questionIsRequired": false } ] } ] } ] } ] } } } ``` ## 3. Create Questionnarie POST/ {contextPath}/questionnarie/create 建立問券給特定AreaCode - 根據JWT中資訊取得使用者"AreaCode" - 將回傳accessToken(JWT)帶入呼叫API的header中 API require headers: ```javascript= { Content-Type: 'application/json', Accept: 'application/json', Authorization: accessToken, } ``` ### Request Body: | Parameter | Required | format | desc | | ------------- | -------- | -------- |------------------ | | questionnaireNo | Y | String | 問券代碼 | | kind | Y | String | 問券類別 | | version | Y | String | 問券版本 | | disease | Y | String | 疾病類別 | | content | Y | string | 問券內容 Json | ``` json= { "questionnaireNo": "X00001", "kind" : "XXXXX", "version": "00001", "disease": "ECKD", "content": { "questionnaireNo":"Q10001", "createDate":"2020/12/12", "kind":"A", "updateDate":"2020/12/25", "completionDate":"2020/12/27", "content": [ { "seriesNo":"1", "seriesOrder": 1, "seriesTitle":"i18N.Series.Title.SOF", "seriesRemark": "i18N.Series.Remark.SOF", "questionList":[ { "questionId": "SCSSKOK-SJUC-SMKMCKS-XJSGXM", "questionOrder":1, "questionTitle":"i18N.Question.Title.Q1", "questionType":"R", "questionLevel": 1, "questionIsRequired": true, "questionOptions": [ { "optionId": "CSKOKWMJIW-SWWHUOIWS-WNNLKXSW", "optionText": "i18N.Question.Q1.Option.YES", "optionScore": 1, "optionDescription": null }, { "optionId": "KOSJIW-SMLMCDWmi-WJDUIJIW-FCEI", "optionText": "i18N.Question.Q1.Option.NO", "optionScore": 0, "optionDescription": null } ] } ] } ] } } ``` ### Response Body: ```json= { "httpCode": 200, "result": { "data": { "questionnaireId": "40623d2d-0209-41b1-8a76-b08de0807447", "isSuccess": "true" } } } ``` ## 4. Update Questionnarie POST/ {contextPath}/questionnarie/update 修改訂購單 - 根據JWT中資訊取得使用者"AreaCode" - 將回傳accessToken(JWT)帶入呼叫API的header中 ### Request Body: | Parameter | Required | format | desc | | ------------- | -------- | -------- |------------------ | | questionnaireId | Y | String | 問券Id | | questionnaireNo | Y | String | 問券代碼 | | kind | Y | String | 問券類別 | | version | Y | String | 問券版本 | | disease | Y | String | 疾病類別 | | content | Y | string | 問券內容 Json | ``` json= { "questionnaireId": "40623d2d-0209-41b1-8a76-b08de0807447", "questionnaireNo": "X00002", "kind" : "YYYYY", "version": "00002", "disease": "ECKD", "content": { "questionnaireNo": "Q10001", "createDate": "2020/12/12", "kind": "A", "updateDate": "2020/12/25", "completionDate": "2020/12/27", "content": [ { "seriesNo": "1", "seriesOrder": 1, "seriesTitle": "i18N.Series.Title.SOF", "seriesRemark": "i18N.Series.Remark.SOF", "questionList":[ { "questionId": "SCSSKOK-SJUC-SMKMCKS-XJSGXM", "questionOrder": 1, "questionTitle": "i18N.Question.Title.Q1", "questionType": "R", "questionLevel": 1, "questionIsRequired": true, "questionOptions": [ { "optionId": "CSKOKWMJIW-SWWHUOIWS-WNNLKXSW", "optionText": "i18N.Question.Q1.Option.YES", "optionScore": 1, "optionDescription": null }, { "optionId": "KOSJIW-SMLMCDWmi-WJDUIJIW-FCEI", "optionText": "i18N.Question.Q1.Option.NO", "optionScore": 0, "optionDescription": null } ] } ] } ] } } ``` ### Response Body: ```json= { "httpCode": 200, "result": { "data": { "questionnaireId": "40623d2d-0209-41b1-8a76-b08de0807447", "isSuccess": "true" } } } ``` ## 5. Delete questionnarie POST/ {contextPath}/questionnarie/delete 刪除問券 - 根據JWT中資訊取得使用者"AreaCode" - 將回傳accessToken(JWT)帶入呼叫API的header中 API require headers: ```javascript= { "Content-Type" : 'application/json', "Accept" : 'application/json', "Authorization" : accessToken, } ``` ### Request Body: | Parameter | Required | format | desc | | ------------- | -------- | -------- |------------------ | | questionnaireId | Y | String | 問券Id | ```javascript= { "questionnaireId": "38f70f88-aff5-44bd-abe4-a08dad46643c" } ``` ### Response Body: | Parameter | format | desc | | ------------ | -------- |-------------| | questionnaireId | String | 問券Id | | isSuccess | String | 是否刪除成功 | ```json= { "httpCode": 200, "result": { "data": { "questionnaireId": "38f70f88-aff5-44bd-abe4-a08dad46643c", "isSuccess": "true" } } } ``` ## 6. Get Questionnarie Answer by Id GET/{contextPath}/questionnarie/answer/:id 取得問卷格式內容 - 根據JWT中資訊取得使用者"AreaCode" - 將回傳accessToken(JWT)帶入呼叫API的header中 API require headers: ```javascript= { "Authorization" : accessToken } ``` param: ``` none. ``` ### Response Body: | Parameter | format | desc | | ------------ | -------- |-------------| | questionnaireId | String | 問卷Id | | questionnaireNo | String | 問卷代號 | | householdMemberId | String | 家戶成員Id | | completionDate | timestamp | 填寫時間 | | answers | String | json 答案 | | totalScore | int | 總分數 | ```json= { "questionnaireId": "38f70f88-aff5-44bd-abe4-a08dad46643c", "questionnaireNo": "xxxxx-0001", "householdMemberId": "XSHUH-SWHUHCS0-EUDEYSWJN-WDUHBUW", "completionDate": 1612842021000, "answers": [ { "questionId": "SCSSKOK-SJUC-SMKMCKS-XJSGXM", "questionType": "S", "option": "CSKOKWMJIW-SWWHUOIWS-WNNLKXSW", "score": 3, }, { "questionId": "CBUBWN-SWXBUWX-WNXUWBCE", "questionType": "F", "option": "最近感冒,常常流鼻水" } ], "totalScore": 90 } ``` ## 7. Create Questionnarie Answer POST/ {contextPath}/questionnarie/answer/create 建立問券答案給特定AreaCode - 根據JWT中資訊取得使用者"AreaCode" - 將回傳accessToken(JWT)帶入呼叫API的header中 API require headers: ```javascript= { "Content-Type" : 'application/json', "Accept" : 'application/json', "Authorization" : accessToken, } ``` ### Request Body: | Parameter | Required | format | desc | | ------------- | -------- | -------- |------------------ | | questionnaireId | Y | String | 問券Id | | householdMemberId | Y | String | 家戶成員Id | | answer | Y | Json Array | 答案 | ```json= { "questionnaireId": "38f70f88-aff5-44bd-abe4-a08dad46643c", "householdMemberId": "SHDUSW-SWHXIUWBXWS-WXBWBUBWS-WXNHUW", "answers": [ { "questionId": "SCSSKOK-SJUC-SMKMCKS-XJSGXM", "questionType": "S", "option": "CSKOKWMJIW-SWWHUOIWS-WNNLKXSW", "score": 3, }, { "questionId": "CBUBWN-SWXBUWX-WNXUWBCE", "questionType": "F", "option": "最近感冒,常常流鼻水" } ] } ``` ### Response Body: | Parameter | format | desc | | ------------ | -------- |-------------| | questionnaireId | String | 問券Id | | questionnaireAnswerId | String | 答案Id | | isSuccess | String | 是否刪除成功 | ```json= { "httpCode": 200, "result": { "data": { "questionnaireId": "38f70f88-aff5-44bd-abe4-a08dad46643c", "questionnaireAnswerId": "2893nhbc23f-023ediuiu23-d23bur2", "isSuccess": "true" } } } ```