動態表單解析文件
===
## 模型
### 題型Enum
```C#
/// <summary>
/// 題組類別
/// </summary>
public enum QuestionType
{
/// <summary>
/// 單選[radio]
/// </summary>
radio = 0,
/// <summary>
/// 多選[checkbox]
/// </summary>
checkbox = 1,
/// <summary>
/// 下拉選單[dropdown]
/// </summary>
dropdown = 2,
/// <summary>
/// 輸入格[literal]
/// </summary>
literal = 3,
/// <summary>
/// 日期[date]
/// </summary>
date = 4,
/// <summary>
/// 純數字[number]
/// </summary>
number = 5,
/// <summary>
/// 電子信箱[email]
/// </summary>
email = 6,
/// <summary>
/// 純英文[english]
/// </summary>
english = 7
}
```
### 模型文件
```C#
/// <summary>
/// 給Json序列化的Forms的物件[表單]
/// </summary>
public class FormsView
{
public string Guid { get; set; }
/// <summary>
/// 表單名稱
/// </summary>
public string Title { get; set; }
/// <summary>
/// 表單說明
/// </summary>
public string Description { get; set; }
/// <summary>
/// 題組
/// </summary>
public List<FormsViewQuestion> Questions { get; set; }
public FormsView()
{
Questions = new List<FormsViewQuestion>();
}
}
/// <summary>
/// 給Json序列化的Question的物件[題組]
/// </summary>
public class FormsViewQuestion
{
public string Guid { get; set; }
/// <summary>
/// 題組名稱
/// </summary>
public string Title { get; set; }
/// <summary>
/// 題組型態
/// </summary>
public string Type { get; set; }
/// <summary>
/// 選項
/// </summary>
public List<FormsViewOption> Options { get; set; }
/// <summary>
/// 是否必填
/// </summary>
public bool Required { get; set; }
/// <summary>
/// 題組答案
/// </summary>
public string[] Answer { get; set; }
public FormsViewQuestion()
{
Options = new List<FormsViewOption>();
}
}
/// <summary>
/// 給Json序列化的Option的物件[題組選項]
/// </summary>
public class FormsViewOption
{
public string Guid { get; set; }
/// <summary>
/// 選項值
/// </summary>
public string Value { get; set; }
/// <summary>
/// 選項綁定的題組Guid陣列
/// </summary>
public string[] Binding { get; set; }
}
```
## JSON 範例
### 未填寫答案的表單結構
格式化結構:http://jsoneditoronline.org/?id=d07ea6bfb8cd4894b7819d27259fcea7
```JSON
{
"Guid": "0461FCB6-7A04-F594-0A99-6A75347757A1",
"Title": "07. 物質成癮評估",
"Description": "",
"Questions": [
{
"Guid": "86D77F19-97E7-7EEC-CB8A-57E00E0AB363",
"Title": "您發生性生活有多少比例使用搖頭丸、K他命、甲基安非他命(安、ICE)、G水(GHB/GBL)或其他成癮物質?答案請填入百分比(0~100)",
"Type": "number",
"Options": [],
"Required": true,
"Answer": []
},
{
"Guid": "290393DC-F383-66D4-A654-91CF7069761B",
"Title": "您希望您的性生活中時有多少比例使用搖頭丸、K他命、甲基安非他命(安、ICE)、G水(GHB/GBL)或其他成癮物質?答案請填入百分比(0~100)",
"Type": "number",
"Options": [],
"Required": true,
"Answer": []
},
{
"Guid": "E884A5D7-9FEA-AF82-8C7A-7F5823D5FE01",
"Title": "請問您上一次沒有合併使用成癮物質的性行為是什麼時候?",
"Type": "radio",
"Options": [
{
"Guid": "0D61E04F-887B-732A-C98B-49ACE664F786",
"Value": "一週內",
"Binding": [
"F37A89C3-2661-A716-B482-0A3E4C4704D8",
"008293E0-4929-67AD-5822-0747506A6445",
"C0E3785C-FBC2-F634-EF6A-5D610BF3741B",
"398CD996-2C84-333E-3D27-201D7EBD6D97"
]
},
{
"Guid": "7B64DC54-447C-4922-EDBF-1DAD9DBE3FE9",
"Value": "一個月內",
"Binding": [
"F37A89C3-2661-A716-B482-0A3E4C4704D8",
"008293E0-4929-67AD-5822-0747506A6445",
"C0E3785C-FBC2-F634-EF6A-5D610BF3741B",
"398CD996-2C84-333E-3D27-201D7EBD6D97"
]
},
{
"Guid": "1DEDCFD0-4B8A-C819-D6A0-145C2B58CA61",
"Value": "近半年內",
"Binding": [
"F37A89C3-2661-A716-B482-0A3E4C4704D8",
"008293E0-4929-67AD-5822-0747506A6445",
"C0E3785C-FBC2-F634-EF6A-5D610BF3741B",
"398CD996-2C84-333E-3D27-201D7EBD6D97"
]
},
{
"Guid": "DD5126F9-1BCD-03E4-CF3F-A97B3B04406A",
"Value": "近一年內",
"Binding": [
"F37A89C3-2661-A716-B482-0A3E4C4704D8",
"008293E0-4929-67AD-5822-0747506A6445",
"C0E3785C-FBC2-F634-EF6A-5D610BF3741B",
"398CD996-2C84-333E-3D27-201D7EBD6D97"
]
},
{
"Guid": "DDC9178B-0EF7-1F78-F6AC-57936C42DED7",
"Value": "一兩年前",
"Binding": [
"F37A89C3-2661-A716-B482-0A3E4C4704D8",
"008293E0-4929-67AD-5822-0747506A6445",
"C0E3785C-FBC2-F634-EF6A-5D610BF3741B",
"398CD996-2C84-333E-3D27-201D7EBD6D97"
]
},
{
"Guid": "30D1DB2F-7E8B-A67D-F9E0-139D7EB0A5CF",
"Value": "不知道/不記得了",
"Binding": [
"F37A89C3-2661-A716-B482-0A3E4C4704D8",
"008293E0-4929-67AD-5822-0747506A6445",
"C0E3785C-FBC2-F634-EF6A-5D610BF3741B",
"398CD996-2C84-333E-3D27-201D7EBD6D97"
]
},
{
"Guid": "FEF47712-80EB-2208-85BF-0F844B3E6B28",
"Value": "不記得了,單純的性對我來說不重要",
"Binding": [
"F37A89C3-2661-A716-B482-0A3E4C4704D8",
"008293E0-4929-67AD-5822-0747506A6445",
"C0E3785C-FBC2-F634-EF6A-5D610BF3741B",
"398CD996-2C84-333E-3D27-201D7EBD6D97"
]
},
{
"Guid": "93D06677-00AD-745C-AF4B-759B595C472A",
"Value": "我沒有使用成癮物質",
"Binding": []
}
],
"Required": true,
"Answer": []
},
{
"Guid": "F37A89C3-2661-A716-B482-0A3E4C4704D8",
"Title": "請問您是否曾經意外過量使用G水?(例如有下列任一情況:失去意識、胸部疼痛、癲癇、極度焦慮、恐慌、極度激動、出現幻覺、超出您平時使用藥物的譫妄或混亂的狀況,或是需要專業人員的協助)",
"Type": "radio",
"Options": [
{
"Guid": "13EEDED7-ADAC-F17D-587C-9848D037168E",
"Value": "否",
"Binding": []
},
{
"Guid": "AE5085F6-DCA9-6297-F4FE-2F7389C4311B",
"Value": "是,有過一次",
"Binding": []
},
{
"Guid": "5EE62DC3-FA8B-3D5B-62F5-A6577E86C6BB",
"Value": "是,超過一次",
"Binding": []
}
],
"Required": true,
"Answer": []
},
{
"Guid": "008293E0-4929-67AD-5822-0747506A6445",
"Title": "請問您是否曾經意外過量使用甲基安非他命?(例如有下列任一情況:失去意識、胸部疼痛、癲癇、極度焦慮、恐慌、極度激動、出現幻覺、超出您平時使用藥物的譫妄或混亂的狀況,或是需要專業人員的協助)",
"Type": "radio",
"Options": [
{
"Guid": "3B4D8311-6CF5-0B7B-0A88-344C649607CD",
"Value": "否",
"Binding": []
},
{
"Guid": "FB569B20-561E-CF3E-E4AA-832E5EBEC858",
"Value": "是,有過一次",
"Binding": []
},
{
"Guid": "9F16F25F-B0EE-6AEA-D012-39258BEED983",
"Value": "是,超過一次",
"Binding": []
}
],
"Required": true,
"Answer": []
},
{
"Guid": "C0E3785C-FBC2-F634-EF6A-5D610BF3741B",
"Title": "問您是否曾發生過以下的狀況,跟您的藥物使用有關?(請選出所有符合的選項)",
"Type": "checkbox",
"Options": [
{
"Guid": "E331A3AB-D41F-B415-EAF3-E6A8F8B40474",
"Value": "被警察釣魚",
"Binding": []
},
{
"Guid": "581583F7-17AD-27BD-E609-9753D3E64E30",
"Value": "緩起訴",
"Binding": []
},
{
"Guid": "1EDEB8A4-4AC4-07E2-FC23-90DB590EE420",
"Value": "入勒戒所觀察勒戒或戒治",
"Binding": []
},
{
"Guid": "D626E927-5C0C-D295-0213-3AA3AE667B32",
"Value": "定罪判刑(緩刑、易科罰金或入監服刑)",
"Binding": []
},
{
"Guid": "1B267039-40BB-8166-59FE-51B81160DFE6",
"Value": "以上皆無",
"Binding": []
}
],
"Required": true,
"Answer": []
},
{
"Guid": "398CD996-2C84-333E-3D27-201D7EBD6D97",
"Title": "請問您是否想要針對自己在使用成癮物質這件事上做出改變?我們可以與你共同完成,協助你設定出一個目標,並朝著目標方向努力。",
"Type": "radio",
"Options": [
{
"Guid": "DD781673-AC6F-4013-E51C-607DBCAE175D",
"Value": "是,請聯絡我(請於其他的空格處留下你的聯絡方式,如:手機號碼、line id 或電子信箱...等)",
"Binding": [
"BC1905E1-6E68-7B57-5467-6A14A1892F71"
]
},
{
"Guid": "D602AA57-183D-9E47-0BD5-A774E2260665",
"Value": "是,之前已經留下聯絡方式",
"Binding": []
},
{
"Guid": "82BE3D0C-F498-5D78-1034-A2F781892BAA",
"Value": "否,我沒有使用成癮物質",
"Binding": []
},
{
"Guid": "3730E5E3-EA95-88D7-2060-C3C2A2B548AE",
"Value": "否,目前不想做出改變",
"Binding": []
}
],
"Required": true,
"Answer": []
},
{
"Guid": "BC1905E1-6E68-7B57-5467-6A14A1892F71",
"Title": "其他(請註明你的聯絡方式,如:手機號碼、line id 或電子信箱)",
"Type": "literal",
"Options": [],
"Required": true,
"Answer": []
}
]
}
```
### 填寫答案後的表單結構
格式化結構:http://jsoneditoronline.org/?id=289ae706b1f8477abf390211867a7520
```JSON
{
"Guid": "0461FCB6-7A04-F594-0A99-6A75347757A1",
"Title": "07. 物質成癮評估",
"Description": "",
"Questions": [
{
"Guid": "86D77F19-97E7-7EEC-CB8A-57E00E0AB363",
"Title": "您發生性生活有多少比例使用搖頭丸、K他命、甲基安非他命(安、ICE)、G水(GHB/GBL)或其他成癮物質?答案請填入百分比(0~100)",
"Type": "number",
"Options": [],
"Required": true,
"Answer": [
"0"
]
},
{
"Guid": "290393DC-F383-66D4-A654-91CF7069761B",
"Title": "您希望您的性生活中時有多少比例使用搖頭丸、K他命、甲基安非他命(安、ICE)、G水(GHB/GBL)或其他成癮物質?答案請填入百分比(0~100)",
"Type": "number",
"Options": [],
"Required": true,
"Answer": [
"90"
]
},
{
"Guid": "E884A5D7-9FEA-AF82-8C7A-7F5823D5FE01",
"Title": "請問您上一次沒有合併使用成癮物質的性行為是什麼時候?",
"Type": "radio",
"Options": [
{
"Guid": "0D61E04F-887B-732A-C98B-49ACE664F786",
"Value": "一週內",
"Binding": [
"F37A89C3-2661-A716-B482-0A3E4C4704D8",
"008293E0-4929-67AD-5822-0747506A6445",
"C0E3785C-FBC2-F634-EF6A-5D610BF3741B",
"398CD996-2C84-333E-3D27-201D7EBD6D97"
]
},
{
"Guid": "7B64DC54-447C-4922-EDBF-1DAD9DBE3FE9",
"Value": "一個月內",
"Binding": [
"F37A89C3-2661-A716-B482-0A3E4C4704D8",
"008293E0-4929-67AD-5822-0747506A6445",
"C0E3785C-FBC2-F634-EF6A-5D610BF3741B",
"398CD996-2C84-333E-3D27-201D7EBD6D97"
]
},
{
"Guid": "1DEDCFD0-4B8A-C819-D6A0-145C2B58CA61",
"Value": "近半年內",
"Binding": [
"F37A89C3-2661-A716-B482-0A3E4C4704D8",
"008293E0-4929-67AD-5822-0747506A6445",
"C0E3785C-FBC2-F634-EF6A-5D610BF3741B",
"398CD996-2C84-333E-3D27-201D7EBD6D97"
]
},
{
"Guid": "DD5126F9-1BCD-03E4-CF3F-A97B3B04406A",
"Value": "近一年內",
"Binding": [
"F37A89C3-2661-A716-B482-0A3E4C4704D8",
"008293E0-4929-67AD-5822-0747506A6445",
"C0E3785C-FBC2-F634-EF6A-5D610BF3741B",
"398CD996-2C84-333E-3D27-201D7EBD6D97"
]
},
{
"Guid": "DDC9178B-0EF7-1F78-F6AC-57936C42DED7",
"Value": "一兩年前",
"Binding": [
"F37A89C3-2661-A716-B482-0A3E4C4704D8",
"008293E0-4929-67AD-5822-0747506A6445",
"C0E3785C-FBC2-F634-EF6A-5D610BF3741B",
"398CD996-2C84-333E-3D27-201D7EBD6D97"
]
},
{
"Guid": "30D1DB2F-7E8B-A67D-F9E0-139D7EB0A5CF",
"Value": "不知道/不記得了",
"Binding": [
"F37A89C3-2661-A716-B482-0A3E4C4704D8",
"008293E0-4929-67AD-5822-0747506A6445",
"C0E3785C-FBC2-F634-EF6A-5D610BF3741B",
"398CD996-2C84-333E-3D27-201D7EBD6D97"
]
},
{
"Guid": "FEF47712-80EB-2208-85BF-0F844B3E6B28",
"Value": "不記得了,單純的性對我來說不重要",
"Binding": [
"F37A89C3-2661-A716-B482-0A3E4C4704D8",
"008293E0-4929-67AD-5822-0747506A6445",
"C0E3785C-FBC2-F634-EF6A-5D610BF3741B",
"398CD996-2C84-333E-3D27-201D7EBD6D97"
]
},
{
"Guid": "93D06677-00AD-745C-AF4B-759B595C472A",
"Value": "我沒有使用成癮物質",
"Binding": []
}
],
"Required": true,
"Answer": [
"30D1DB2F-7E8B-A67D-F9E0-139D7EB0A5CF"
]
},
{
"Guid": "F37A89C3-2661-A716-B482-0A3E4C4704D8",
"Title": "請問您是否曾經意外過量使用G水?(例如有下列任一情況:失去意識、胸部疼痛、癲癇、極度焦慮、恐慌、極度激動、出現幻覺、超出您平時使用藥物的譫妄或混亂的狀況,或是需要專業人員的協助)",
"Type": "radio",
"Options": [
{
"Guid": "13EEDED7-ADAC-F17D-587C-9848D037168E",
"Value": "否",
"Binding": []
},
{
"Guid": "AE5085F6-DCA9-6297-F4FE-2F7389C4311B",
"Value": "是,有過一次",
"Binding": []
},
{
"Guid": "5EE62DC3-FA8B-3D5B-62F5-A6577E86C6BB",
"Value": "是,超過一次",
"Binding": []
}
],
"Required": true,
"Answer": [
"AE5085F6-DCA9-6297-F4FE-2F7389C4311B"
]
},
{
"Guid": "008293E0-4929-67AD-5822-0747506A6445",
"Title": "請問您是否曾經意外過量使用甲基安非他命?(例如有下列任一情況:失去意識、胸部疼痛、癲癇、極度焦慮、恐慌、極度激動、出現幻覺、超出您平時使用藥物的譫妄或混亂的狀況,或是需要專業人員的協助)",
"Type": "radio",
"Options": [
{
"Guid": "3B4D8311-6CF5-0B7B-0A88-344C649607CD",
"Value": "否",
"Binding": []
},
{
"Guid": "FB569B20-561E-CF3E-E4AA-832E5EBEC858",
"Value": "是,有過一次",
"Binding": []
},
{
"Guid": "9F16F25F-B0EE-6AEA-D012-39258BEED983",
"Value": "是,超過一次",
"Binding": []
}
],
"Required": true,
"Answer": [
"3B4D8311-6CF5-0B7B-0A88-344C649607CD"
]
},
{
"Guid": "C0E3785C-FBC2-F634-EF6A-5D610BF3741B",
"Title": "問您是否曾發生過以下的狀況,跟您的藥物使用有關?(請選出所有符合的選項)",
"Type": "checkbox",
"Options": [
{
"Guid": "E331A3AB-D41F-B415-EAF3-E6A8F8B40474",
"Value": "被警察釣魚",
"Binding": []
},
{
"Guid": "581583F7-17AD-27BD-E609-9753D3E64E30",
"Value": "緩起訴",
"Binding": []
},
{
"Guid": "1EDEB8A4-4AC4-07E2-FC23-90DB590EE420",
"Value": "入勒戒所觀察勒戒或戒治",
"Binding": []
},
{
"Guid": "D626E927-5C0C-D295-0213-3AA3AE667B32",
"Value": "定罪判刑(緩刑、易科罰金或入監服刑)",
"Binding": []
},
{
"Guid": "1B267039-40BB-8166-59FE-51B81160DFE6",
"Value": "以上皆無",
"Binding": []
}
],
"Required": true,
"Answer": [
"1EDEB8A4-4AC4-07E2-FC23-90DB590EE420",
"581583F7-17AD-27BD-E609-9753D3E64E30"
]
},
{
"Guid": "398CD996-2C84-333E-3D27-201D7EBD6D97",
"Title": "請問您是否想要針對自己在使用成癮物質這件事上做出改變?我們可以與你共同完成,協助你設定出一個目標,並朝著目標方向努力。",
"Type": "radio",
"Options": [
{
"Guid": "DD781673-AC6F-4013-E51C-607DBCAE175D",
"Value": "是,請聯絡我(請於其他的空格處留下你的聯絡方式,如:手機號碼、line id 或電子信箱...等)",
"Binding": [
"BC1905E1-6E68-7B57-5467-6A14A1892F71"
]
},
{
"Guid": "D602AA57-183D-9E47-0BD5-A774E2260665",
"Value": "是,之前已經留下聯絡方式",
"Binding": []
},
{
"Guid": "82BE3D0C-F498-5D78-1034-A2F781892BAA",
"Value": "否,我沒有使用成癮物質",
"Binding": []
},
{
"Guid": "3730E5E3-EA95-88D7-2060-C3C2A2B548AE",
"Value": "否,目前不想做出改變",
"Binding": []
}
],
"Required": true,
"Answer": [
"DD781673-AC6F-4013-E51C-607DBCAE175D"
]
},
{
"Guid": "BC1905E1-6E68-7B57-5467-6A14A1892F71",
"Title": "其他(請註明你的聯絡方式,如:手機號碼、line id 或電子信箱)",
"Type": "literal",
"Options": [],
"Required": true,
"Answer": [
"TestTestTestTestTest"
]
}
]
}
```
### 較複雜的題型結構參考
格式化結構:http://jsoneditoronline.org/?id=aa4071c9976a48ed92051e9c863c8175
```JSON
{
"Guid": "C89E1619-FB84-C4DD-6AAD-B5C1A03D0AC5",
"Title": "06. PrEP使用",
"Description": "暴露前預防性投藥PrEP是一種降低感染人類免疫不全病毒(HIV)的預防方式。尚未感染HIV的對象可以每天口服一顆來預防感染HIV,就像是每天服用避孕藥來預防懷孕。iPrEx研究結果發現,只要受試者每天服用藥物,對於HIV的保護力就高於90%。",
"Questions": [
{
"Guid": "179A1EFE-FB3D-949A-D788-2D07A110C208",
"Title": "請問你是否有朋友在使用PrEP?",
"Type": "radio",
"Options": [
{
"Guid": "7B060C83-9552-464A-3E9D-7AFA2E5611E8",
"Value": "是,請在其他輸入你們的關係",
"Binding": [
"055C8C91-B6E5-B469-CCC9-FB02A2A2AE29"
]
},
{
"Guid": "9759B4C6-F22D-2CF6-4BE5-453E9242452A",
"Value": "否",
"Binding": []
},
{
"Guid": "B77F2502-3855-4818-E546-A094D0A6485B",
"Value": "不清楚",
"Binding": []
}
],
"Required": true,
"Answer": []
},
{
"Guid": "055C8C91-B6E5-B469-CCC9-FB02A2A2AE29",
"Title": "其他,請輸入你們的關係",
"Type": "literal",
"Options": [],
"Required": true,
"Answer": []
},
{
"Guid": "7C50FCC1-B0F3-E115-0C74-9753940463B0",
"Title": "請問你之前有沒有使用過PrEP?",
"Type": "radio",
"Options": [
{
"Guid": "74CB11D6-1D65-DB7F-6E99-5DFEFC5E345A",
"Value": "曾經有/目前有",
"Binding": [
"587E6C33-7CD5-366E-CF39-1D9372CBB514",
"2226C197-F1AF-D59C-CBC0-87E04EE848D4",
"F174C670-D72F-CCBC-F750-B779CA288EC7",
"89C263FC-193E-C0E0-E100-749C90973F7D"
]
},
{
"Guid": "645B9615-ABE7-DF7E-0D00-B45B072CBD68",
"Value": "從來沒有",
"Binding": [
"65A34FC7-AC74-F797-F147-0F97A667265D",
"47602FAA-BD74-D2AB-F4C2-50DE87456DFD"
]
}
],
"Required": true,
"Answer": []
},
{
"Guid": "587E6C33-7CD5-366E-CF39-1D9372CBB514",
"Title": "請問你什麼時候開始使用PrEP?",
"Type": "date",
"Options": [],
"Required": true,
"Answer": []
},
{
"Guid": "2226C197-F1AF-D59C-CBC0-87E04EE848D4",
"Title": "請問你使用PrEP的藥廠品牌?",
"Type": "radio",
"Options": [
{
"Guid": "4AA3B5A5-5D21-7EFC-D564-40CB4FCC5618",
"Value": "Truvada (美國原廠)",
"Binding": []
},
{
"Guid": "8BC2F4AC-D75C-EAD7-6274-2CF32452995E",
"Value": "Teno-Em (泰國藥廠)",
"Binding": []
},
{
"Guid": "AED58246-FC1F-CD04-83AE-F992732C94EE",
"Value": "Ricovir-Em (印度藥廠)",
"Binding": []
}
],
"Required": true,
"Answer": []
},
{
"Guid": "F174C670-D72F-CCBC-F750-B779CA288EC7",
"Title": "請問您怎麼負擔PrEP的費用?(複選)",
"Type": "checkbox",
"Options": [
{
"Guid": "8EF5AD3D-E1CA-613C-0AE0-30FDAAE9D3CD",
"Value": "政府補助",
"Binding": []
},
{
"Guid": "BA51E739-7B8B-2636-3A8C-9CA4EE472C86",
"Value": "我自己自費",
"Binding": []
},
{
"Guid": "B4A28198-AD71-B1EF-1C8C-963441034EE1",
"Value": "家人",
"Binding": []
},
{
"Guid": "95760EC6-3F4E-2D58-467A-F809D7768E54",
"Value": "男友/女友/伴侶",
"Binding": []
},
{
"Guid": "90F2298E-D3BA-0622-180F-077702D2C7EA",
"Value": "其他(請註明)",
"Binding": [
"9DC62742-EEE0-E776-563E-9DD7B6962D4C"
]
}
],
"Required": true,
"Answer": []
},
{
"Guid": "9DC62742-EEE0-E776-563E-9DD7B6962D4C",
"Title": "其他(請註明)",
"Type": "literal",
"Options": [],
"Required": true,
"Answer": []
},
{
"Guid": "89C263FC-193E-C0E0-E100-749C90973F7D",
"Title": "請問你過去一個月還有繼續使用PrEP嗎?",
"Type": "radio",
"Options": [
{
"Guid": "2446E2D3-81ED-23C9-DADB-356264581D37",
"Value": "有",
"Binding": [
"04F0A716-67DB-AB03-A61D-293540FA1CC1",
"4625A2B2-8AB9-12CF-7DC8-07F446C79FF6",
"4FFAFF49-553B-1FB5-12F6-61B42CA7A5D9",
"AFD96A35-9148-5983-6314-D67384D37BE4",
"AF8F4D69-FD6F-2921-FE16-C6E9E661BDE3",
"6DD3ADC5-C71A-29BC-553A-B5978B763AA1",
"4710C298-DAF0-AF92-DECC-69E46AA23D53",
"B80700E9-CED7-8EFF-97C8-7554633577BE",
"457D9C56-2FEE-8AB5-B02C-6788A7187E54"
]
},
{
"Guid": "FA3082E0-44DD-173C-079B-4AEF74FAA6D7",
"Value": "沒有",
"Binding": [
"45B2372E-2AB5-5526-EABD-83D4431804E3"
]
}
],
"Required": true,
"Answer": []
},
{
"Guid": "04F0A716-67DB-AB03-A61D-293540FA1CC1",
"Title": "請問你過去一個月怎麼使用PrEP?",
"Type": "radio",
"Options": [
{
"Guid": "C37A20D4-BD75-24A3-9BD7-8539CBACE2B8",
"Value": "每天吃",
"Binding": []
},
{
"Guid": "CE95DB2A-E2A5-4967-9CEA-DC153A1BD0B3",
"Value": "依需求使用 (on-demand)",
"Binding": []
},
{
"Guid": "428FB7F6-4D2B-BE8A-A159-6BFFF57F646E",
"Value": "每天吃、依需求使用 (on-demand)都有",
"Binding": []
}
],
"Required": true,
"Answer": []
},
{
"Guid": "4625A2B2-8AB9-12CF-7DC8-07F446C79FF6",
"Title": "請問你過去一個月以四周28天計算,服用了幾顆PrEP?",
"Type": "number",
"Options": [],
"Required": true,
"Answer": []
},
{
"Guid": "4FFAFF49-553B-1FB5-12F6-61B42CA7A5D9",
"Title": "請你回想這週以前的最後一次性行為吃藥的數量 (我們只是想知道你選擇怎麼吃藥,請依據你的真實狀況填寫,如果沒有吃,請填0)性行為前兩天吃幾顆?",
"Type": "number",
"Options": [],
"Required": true,
"Answer": []
},
{
"Guid": "AFD96A35-9148-5983-6314-D67384D37BE4",
"Title": "性行為前一天吃幾顆?",
"Type": "number",
"Options": [],
"Required": true,
"Answer": []
},
{
"Guid": "AF8F4D69-FD6F-2921-FE16-C6E9E661BDE3",
"Title": "性行為當天吃幾顆?",
"Type": "number",
"Options": [],
"Required": true,
"Answer": []
},
{
"Guid": "6DD3ADC5-C71A-29BC-553A-B5978B763AA1",
"Title": "性行為隔一天吃幾顆?",
"Type": "number",
"Options": [],
"Required": true,
"Answer": []
},
{
"Guid": "4710C298-DAF0-AF92-DECC-69E46AA23D53",
"Title": "性行為後的第二天吃幾顆?",
"Type": "number",
"Options": [],
"Required": true,
"Answer": []
},
{
"Guid": "B80700E9-CED7-8EFF-97C8-7554633577BE",
"Title": "請問你過去一個月服用PrEP有任何下列的狀況嗎?(可複選)",
"Type": "checkbox",
"Options": [
{
"Guid": "6A64AC2D-CE12-DF6D-C17A-89DAF5A94AEE",
"Value": "頭痛",
"Binding": []
},
{
"Guid": "7BC350B7-9FCC-9C26-F765-9F69FE9E489A",
"Value": "噁心",
"Binding": []
},
{
"Guid": "5EFAFD1C-55A3-9546-24CB-D092368FD77E",
"Value": "腹瀉",
"Binding": []
},
{
"Guid": "E575122B-2E77-389D-C2C7-6237DD354033",
"Value": "全身無力",
"Binding": []
},
{
"Guid": "FA9C1F80-C68F-0EEE-4FBA-EC0550F78C23",
"Value": "腎功能損害",
"Binding": []
},
{
"Guid": "805C6674-D343-80E3-F68B-3BA47207165F",
"Value": "乳酸代謝性中毒",
"Binding": []
},
{
"Guid": "4111816F-9A61-2DB4-9061-623CC7E03FAB",
"Value": "皮膚色素沉澱",
"Binding": []
},
{
"Guid": "2CD48C11-B3F5-7ABF-8A75-2D3FBC8F6AFF",
"Value": "無",
"Binding": []
},
{
"Guid": "2C492CFC-D0F8-69EE-BA01-A47035303404",
"Value": "其他(請註明)",
"Binding": [
"2E5B261B-79D2-FC82-F43F-C8F134CEAF6E"
]
}
],
"Required": true,
"Answer": []
},
{
"Guid": "2E5B261B-79D2-FC82-F43F-C8F134CEAF6E",
"Title": "其他(請註明)",
"Type": "literal",
"Options": [],
"Required": true,
"Answer": []
},
{
"Guid": "457D9C56-2FEE-8AB5-B02C-6788A7187E54",
"Title": "請問你過去一個月有過無套肛交/陰道交卻沒有使用PrEP的情況嗎?",
"Type": "radio",
"Options": [
{
"Guid": "AF2ECF54-55C1-0994-AAB4-572DF2999436",
"Value": "有",
"Binding": [
"54BE4E02-23E9-B511-6EC2-2B04778D9A39"
]
},
{
"Guid": "E4650AED-165E-748B-A17D-0BDF0F209586",
"Value": "沒有",
"Binding": []
}
],
"Required": true,
"Answer": []
},
{
"Guid": "54BE4E02-23E9-B511-6EC2-2B04778D9A39",
"Title": "呈上題,請問你沒有使用PrEP的原因?(可複選)",
"Type": "checkbox",
"Options": [
{
"Guid": "DBC72BBD-2979-0C4A-66A0-39235E3785AE",
"Value": "手邊沒有藥",
"Binding": []
},
{
"Guid": "BC042FA3-D7D0-0834-D4FA-7E95AEBD1F77",
"Value": "忘記服藥",
"Binding": []
},
{
"Guid": "E0591B74-409D-EE3F-303E-9631A377BED9",
"Value": "無法自費負擔那麼多天藥物,選擇性服用",
"Binding": []
},
{
"Guid": "73980726-2D1D-D7ED-1DD6-4FF077D7A4F6",
"Value": "無法忍受藥物副作用",
"Binding": []
},
{
"Guid": "2DF1C385-AE83-89CC-85A6-E419B44373B0",
"Value": "藥剛好沒有了",
"Binding": []
},
{
"Guid": "FA98F72D-844D-678A-1D70-3E37777F2772",
"Value": "服藥方式太複雜/我不懂服藥方式",
"Binding": []
},
{
"Guid": "1D9DCDE6-FA49-A0B6-EE27-08A2224C2F80",
"Value": "擔心使用PrEP會對健康造成影響",
"Binding": []
},
{
"Guid": "E9A82B43-C1F7-02DC-2A4B-436F3AD70110",
"Value": "擔心別人看到我在吃PrEP,會以為我感染HIV",
"Binding": []
},
{
"Guid": "9FCE7A82-80F9-8C6C-341C-E23989308A63",
"Value": "擔心別人看到我在吃PrEP會好奇或質疑我為什麼要吃PrEP",
"Binding": []
},
{
"Guid": "5E4E4137-EA4A-B499-80D2-8AFF2FB994F7",
"Value": "對方有使用PrEP",
"Binding": []
},
{
"Guid": "ECCDD496-9601-1C58-ADBD-1E381E824BD8",
"Value": "我跟對方是單一性伴侶關係",
"Binding": []
},
{
"Guid": "28244830-756F-AB01-E1DE-4D5060921617",
"Value": "對方是病毒量偵測不到的HIV感染者",
"Binding": []
},
{
"Guid": "C1116420-E767-8D5D-1BC7-BE90B30E3450",
"Value": "偏好使用其他預防措施,請於「其他」說明",
"Binding": [
"3DD8B841-06FA-6FDD-1E39-36B6F9A09156"
]
},
{
"Guid": "6EF7E678-54A7-6A99-FDC3-F174E4F06575",
"Value": "認為自己沒有感染HIV的風險",
"Binding": []
}
],
"Required": true,
"Answer": []
},
{
"Guid": "3DD8B841-06FA-6FDD-1E39-36B6F9A09156",
"Title": "其他(請註明)",
"Type": "literal",
"Options": [],
"Required": true,
"Answer": []
},
{
"Guid": "45B2372E-2AB5-5526-EABD-83D4431804E3",
"Title": "請問你過去一個月沒有繼續使用PrEP的原因?(可複選)",
"Type": "checkbox",
"Options": [
{
"Guid": "C150E92F-D58B-1377-CD2B-15E30A563854",
"Value": "過去一個月沒有性行為",
"Binding": []
},
{
"Guid": "60C724F3-27FE-FFA6-314E-EC38592317D0",
"Value": "手邊沒有藥",
"Binding": []
},
{
"Guid": "8F6954B0-EEB0-077B-9904-D3D07D08B805",
"Value": "忘記服藥",
"Binding": []
},
{
"Guid": "DBC36E1A-7C44-D51A-F410-A78844CDC987",
"Value": "無法自費負擔那麼多天藥物,選擇性服用",
"Binding": []
},
{
"Guid": "FEF5408B-FFEF-FBA9-0521-A217FDFB0A96",
"Value": "藥剛好沒有了",
"Binding": []
},
{
"Guid": "27B0DF9F-5699-74FC-4696-247CEA1908DD",
"Value": "無法忍受藥物副作用",
"Binding": []
},
{
"Guid": "A3AF485D-2FB4-644C-055A-A24495C7C30D",
"Value": "服藥方式太複雜/我不懂服藥方式",
"Binding": []
},
{
"Guid": "D69A41DF-5206-1924-405E-6F9C1900E63E",
"Value": "擔心使用PrEP會對健康造成影響",
"Binding": []
},
{
"Guid": "FAC53D66-4B0E-52AC-83AF-33C24F213661",
"Value": "擔心別人看到我在吃PrEP,會以為我感染HIV",
"Binding": []
},
{
"Guid": "47FAF9C3-8723-896E-96F7-63274CC6F4A2",
"Value": "擔心別人看到我在吃PrEP會好奇或質疑我為什麼要吃PrEP",
"Binding": []
},
{
"Guid": "D983531E-985A-C402-0925-E3E91B7AFDAC",
"Value": "對方有使用PrEP",
"Binding": []
},
{
"Guid": "E5ABCFEF-22DA-F427-BCED-2824D98908A1",
"Value": "我跟對方是單一性伴侶關係",
"Binding": []
},
{
"Guid": "9D18D931-D59F-39AC-833B-2CC8E21F44A5",
"Value": "對方是病毒量偵測不到的HIV感染者",
"Binding": []
},
{
"Guid": "C5CEEF17-C86E-534D-9134-2752212B0825",
"Value": "偏好使用其他預防措施,請於其他說明",
"Binding": [
"8CF6E919-FF8E-E7D9-DD05-E702AF905E25"
]
},
{
"Guid": "57650DA6-A74F-5F3F-AF97-022ECE2B4982",
"Value": "認為自己沒有感染HIV的風險",
"Binding": []
}
],
"Required": true,
"Answer": []
},
{
"Guid": "8CF6E919-FF8E-E7D9-DD05-E702AF905E25",
"Title": "其他(請註明)",
"Type": "literal",
"Options": [],
"Required": true,
"Answer": []
},
{
"Guid": "65A34FC7-AC74-F797-F147-0F97A667265D",
"Title": "請問你是否有興趣進一步了解PrEP?",
"Type": "radio",
"Options": [
{
"Guid": "40CCD9AB-794A-EE5F-51EA-D019BD05E969",
"Value": "是",
"Binding": []
},
{
"Guid": "497568A8-D580-F677-A385-01CAC22E68F2",
"Value": "否",
"Binding": []
}
],
"Required": true,
"Answer": []
},
{
"Guid": "47602FAA-BD74-D2AB-F4C2-50DE87456DFD",
"Title": "問您願意進一步做PrEP使用前適用性評估與諮商嗎?",
"Type": "radio",
"Options": [
{
"Guid": "7C8F5ED4-1718-21A6-5385-F17AE72CAACE",
"Value": "是",
"Binding": []
},
{
"Guid": "3025F39B-4BD6-24DC-51B4-A0F8E292B19E",
"Value": "否",
"Binding": []
}
],
"Required": true,
"Answer": []
}
]
}
```
## 資料庫Schema
```SQL
CREATE TABLE [dbo].[Forms](
[Guid] [uniqueidentifier] NOT NULL,
[Title] [nvarchar](128) NULL,
[Description] [nvarchar](max) NULL,
[CreatedAt] [datetime2](7) NOT NULL,
[UpdatedAt] [datetime2](7) NOT NULL,
[Enable] [bit] NULL,
CONSTRAINT [PK_Forms] PRIMARY KEY CLUSTERED
(
[Guid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
```
```SQL
CREATE TABLE [dbo].[FormQuestion](
[Guid] [uniqueidentifier] NOT NULL,
[FormGuid] [uniqueidentifier] NOT NULL,
[Title] [nvarchar](128) NULL,
[Type] [int] NOT NULL,
[Required] [bit] NOT NULL,
[Sort] [int] NOT NULL,
[CreatedAt] [datetime2](7) NOT NULL,
[UpdatedAt] [datetime2](7) NOT NULL,
CONSTRAINT [PK_FormQuestion] PRIMARY KEY CLUSTERED
(
[Guid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[FormQuestion] WITH CHECK ADD CONSTRAINT [FK_FormQuestion_Forms_FormGuid] FOREIGN KEY([FormGuid])
REFERENCES [dbo].[Forms] ([Guid])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[FormQuestion] CHECK CONSTRAINT [FK_FormQuestion_Forms_FormGuid]
GO
```
```SQL
CREATE TABLE [dbo].[FormOption](
[Guid] [uniqueidentifier] NOT NULL,
[FormGuid] [uniqueidentifier] NOT NULL,
[FormQuestionGuid] [uniqueidentifier] NOT NULL,
[Value] [nvarchar](max) NULL,
[Binding] [nvarchar](max) NULL,
[Sort] [int] NOT NULL,
[CreatedAt] [datetime2](7) NOT NULL,
[UpdatedAt] [datetime2](7) NOT NULL,
[Score] [int] NULL,
CONSTRAINT [PK_FormOption] PRIMARY KEY CLUSTERED
(
[Guid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[FormOption] WITH CHECK ADD CONSTRAINT [FK_FormOption_FormQuestion_FormQuestionGuid] FOREIGN KEY([FormQuestionGuid])
REFERENCES [dbo].[FormQuestion] ([Guid])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[FormOption] CHECK CONSTRAINT [FK_FormOption_FormQuestion_FormQuestionGuid]
GO
```
```SQL
CREATE TABLE [dbo].[FormMemberAnswer](
[Guid] [uniqueidentifier] NOT NULL,
[FormGuid] [uniqueidentifier] NOT NULL,
[FormQuestionGuid] [uniqueidentifier] NOT NULL,
[FormOptionGuid] [uniqueidentifier] NULL,
[Value] [nvarchar](max) NULL,
[CreatedAt] [datetime2](7) NOT NULL,
[UpdatedAt] [datetime2](7) NOT NULL,
[UserGuid] [uniqueidentifier] NOT NULL,
CONSTRAINT [PK_FormMemberAnswer] PRIMARY KEY CLUSTERED
(
[Guid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[FormMemberAnswer] WITH CHECK ADD CONSTRAINT [FK_FormMemberAnswer_FormQuestion_FormQuestionGuid] FOREIGN KEY([FormQuestionGuid])
REFERENCES [dbo].[FormQuestion] ([Guid])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[FormMemberAnswer] CHECK CONSTRAINT [FK_FormMemberAnswer_FormQuestion_FormQuestionGuid]
GO
```