fix(AI): 统一将"患者"相关术语替换为"本人"

统一修改代码中的称谓,将所有"患者"相关的文本替换为"本人",
包括提示词、注释和界面显示中的"患者"、"患者背景"、"患者疑问"等表述,
以保持用户称谓的一致性。

BREAKING CHANGE: 修改了API返回内容中的术语表述
```
This commit is contained in:
link2026
2026-06-08 23:28:37 +08:00
parent 836f3d4234
commit ca5a3fa38b
5 changed files with 18 additions and 18 deletions

View File

@@ -16,7 +16,7 @@ enum DiaryAssistPrompts {
"持续频率", "既往家族史", "用药过敏", "生活方式", "持续频率", "既往家族史", "用药过敏", "生活方式",
] ]
/// - content: /// - content:
/// - coveredDimensions: (), /// - coveredDimensions: (),
/// ///
static func suggest(content: String, coveredDimensions: [String] = []) -> String { static func suggest(content: String, coveredDimensions: [String] = []) -> String {
@@ -30,8 +30,8 @@ enum DiaryAssistPrompts {
: "\n- 已问过的维度【不要再问】:\(covered.joined(separator: ""))。本轮只能从这些还没问的维度里挑:\(allowedLine)" : "\n- 已问过的维度【不要再问】:\(covered.joined(separator: ""))。本轮只能从这些还没问的维度里挑:\(allowedLine)"
return """ return """
你是社区医生的小助手。患者写了一段身体状态的健康记录,信息可能不够完整。 你是社区医生的小助手。用户写了一段身体状态的健康记录,信息可能不够完整。
请从医生问诊角度提出 3-4 个最值得追问的问题,帮患者把这条记录补全。 请从医生问诊角度提出 3-4 个最值得追问的问题,帮用户把这条记录补全。
【问诊维度清单】每个问题必须正好归属其中一个,并用 dim 标注: 【问诊维度清单】每个问题必须正好归属其中一个,并用 dim 标注:
1. 起病诱因 —— 何时开始、有无诱因 1. 起病诱因 —— 何时开始、有无诱因

View File

@@ -70,7 +70,7 @@ enum HealthExportPrompts {
- 严禁编造或推测任何数字、日期、症状、药物、检查结果、诊断,哪怕看起来很合理。 - 严禁编造或推测任何数字、日期、症状、药物、检查结果、诊断,哪怕看起来很合理。
- JSON 里没有的信息,对应小节一律写「无记录」,不要补全、不要举例、不要套用常见病例模板。 - JSON 里没有的信息,对应小节一律写「无记录」,不要补全、不要举例、不要套用常见病例模板。
- 数值必须原样照搬(含单位与参考范围);status 为 high/low/abnormal 的指标前加 ⚠️。 - 数值必须原样照搬(含单位与参考范围);status 为 high/low/abnormal 的指标前加 ⚠️。
- 「主诉」「患者疑问」可参考【患者原话】,但不得加入原话与数据里都没有的症状。 - 「主诉」「本人疑问」可参考【本人原话】,但不得加入原话与数据里都没有的症状。
输出格式: 输出格式:
- 严格 Markdown,标题用 # / ##,不要 markdown 围栏,不要输出 JSON,不写「数据」二字。 - 严格 Markdown,标题用 # / ##,不要 markdown 围栏,不要输出 JSON,不写「数据」二字。
@@ -78,11 +78,11 @@ enum HealthExportPrompts {
- 严格按以下 6 段(顺序与标题固定): - 严格按以下 6 段(顺序与标题固定):
\(labelLine) \(labelLine)
## 主诉 ## 主诉
## 患者背景 ## 本人背景
## 近期症状(按时间倒序) ## 近期症状(按时间倒序)
## 关键指标(异常项优先) ## 关键指标(异常项优先)
## 在服药与过敏 ## 在服药与过敏
## 患者疑问 ## 本人疑问
—— 格式示例(只示范「无记录」与数值写法,内容请勿照抄)—— —— 格式示例(只示范「无记录」与数值写法,内容请勿照抄)——
真实数据:{"profile":{},"symptoms":[],"indicators":[{"name":"","value":"38.5","unit":"","range":"36-37.2","status":"high","date":"2026-05-01"}],"reports":[],"diaries":[],"time_window":{"from":"2026-04-02","to":"2026-05-02"}} 真实数据:{"profile":{},"symptoms":[],"indicators":[{"name":"","value":"38.5","unit":"","range":"36-37.2","status":"high","date":"2026-05-01"}],"reports":[],"diaries":[],"time_window":{"from":"2026-04-02","to":"2026-05-02"}}
@@ -90,7 +90,7 @@ enum HealthExportPrompts {
# 就诊摘要 — 近期健康摘要 # 就诊摘要 — 近期健康摘要
## 主诉 ## 主诉
无记录 无记录
## 患者背景 ## 本人背景
无记录 无记录
## 近期症状(按时间倒序) ## 近期症状(按时间倒序)
无记录 无记录
@@ -98,7 +98,7 @@ enum HealthExportPrompts {
⚠️ 体温 38.5 ℃(参考 36-37.2,2026-05-01) ⚠️ 体温 38.5 ℃(参考 36-37.2,2026-05-01)
## 在服药与过敏 ## 在服药与过敏
无记录 无记录
## 患者疑问 ## 本人疑问
无记录 无记录
—— 示例结束(以上咳嗽/体温等仅示范格式,切勿出现在你的输出里)—— —— 示例结束(以上咳嗽/体温等仅示范格式,切勿出现在你的输出里)——
@@ -107,7 +107,7 @@ enum HealthExportPrompts {
【真实数据】: 【真实数据】:
\(dataJSON) \(dataJSON)
患者原话】:\(userPrompt) 本人原话】:\(userPrompt)
再次强调:只整理上面【真实数据】里真实出现过的内容,禁止编造任何数字/日期/症状/药物。 再次强调:只整理上面【真实数据】里真实出现过的内容,禁止编造任何数字/日期/症状/药物。
直接输出 Markdown,不要思考过程,不要 <think> 标签: 直接输出 Markdown,不要思考过程,不要 <think> 标签:
@@ -169,7 +169,7 @@ enum HealthExportPrompts {
## 相关健康日记 ## 相关健康日记
## 相关指标 ## 相关指标
## 已知背景 ## 已知背景
## 患者关心的问题 ## 本人关心的问题
## 可带给医生确认的要点 ## 可带给医生确认的要点
【本地健康记录】: 【本地健康记录】:

View File

@@ -175,9 +175,9 @@ struct HealthExportDetailView: View {
# 就诊摘要 — 感冒就诊 # 就诊摘要 — 感冒就诊
## 主诉 ## 主诉
患者男,38 岁,感冒 3 天未愈。 本人男,38 岁,感冒 3 天未愈。
## 患者背景 ## 本人背景
- 高血压 2 年 - 高血压 2 年
- 在服药:缬沙坦 80mg qd - 在服药:缬沙坦 80mg qd
""", """,

View File

@@ -641,9 +641,9 @@ struct MarkdownView: View {
# 就诊摘要 — 感冒就诊 # 就诊摘要 — 感冒就诊
## 主诉 ## 主诉
患者男,38 岁,感冒 3 天未愈,主诉鼻塞、咳嗽、低烧。 本人男,38 岁,感冒 3 天未愈,主诉鼻塞、咳嗽、低烧。
## 患者背景 ## 本人背景
- 高血压 2 年 - 高血压 2 年
- 在服药:**缬沙坦 80mg qd** - 在服药:**缬沙坦 80mg qd**
- 过敏:青霉素 - 过敏:青霉素

View File

@@ -644,7 +644,7 @@ struct HealthExportService {
&& p.currentMedications.isEmpty && p.currentMedications.isEmpty
} }
/// :6 ,, /// :6 ,,
static func fallbackReport(label: String, userPrompt: String) -> String { static func fallbackReport(label: String, userPrompt: String) -> String {
let title = label.isEmpty ? "# 就诊摘要" : "# 就诊摘要 — \(label)" let title = label.isEmpty ? "# 就诊摘要" : "# 就诊摘要 — \(label)"
let complaint = userPrompt.trimmingCharacters(in: .whitespacesAndNewlines) let complaint = userPrompt.trimmingCharacters(in: .whitespacesAndNewlines)
@@ -652,12 +652,12 @@ struct HealthExportService {
return """ return """
\(title) \(title)
> 本次未检索到可用的健康记录(指标 / 症状 / 报告 / 日记均为空),以下仅据患者原话,未做任何推断。 > 本次未检索到可用的健康记录(指标 / 症状 / 报告 / 日记均为空),以下仅据本人原话,未做任何推断。
## 主诉 ## 主诉
\(complaintLine) \(complaintLine)
## 患者背景 ## 本人背景
无记录 无记录
## 近期症状(按时间倒序) ## 近期症状(按时间倒序)
@@ -669,7 +669,7 @@ struct HealthExportService {
## 在服药与过敏 ## 在服药与过敏
无记录 无记录
## 患者疑问 ## 本人疑问
无记录 无记录
""" """
} }