```
fix(AI): 统一将"患者"相关术语替换为"本人" 统一修改代码中的称谓,将所有"患者"相关的文本替换为"本人", 包括提示词、注释和界面显示中的"患者"、"患者背景"、"患者疑问"等表述, 以保持用户称谓的一致性。 BREAKING CHANGE: 修改了API返回内容中的术语表述 ```
This commit is contained in:
@@ -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. 起病诱因 —— 何时开始、有无诱因
|
||||||
|
|||||||
@@ -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 {
|
|||||||
## 相关健康日记
|
## 相关健康日记
|
||||||
## 相关指标
|
## 相关指标
|
||||||
## 已知背景
|
## 已知背景
|
||||||
## 患者关心的问题
|
## 本人关心的问题
|
||||||
## 可带给医生确认的要点
|
## 可带给医生确认的要点
|
||||||
|
|
||||||
【本地健康记录】:
|
【本地健康记录】:
|
||||||
|
|||||||
@@ -175,9 +175,9 @@ struct HealthExportDetailView: View {
|
|||||||
# 就诊摘要 — 感冒就诊
|
# 就诊摘要 — 感冒就诊
|
||||||
|
|
||||||
## 主诉
|
## 主诉
|
||||||
患者男,38 岁,感冒 3 天未愈。
|
本人男,38 岁,感冒 3 天未愈。
|
||||||
|
|
||||||
## 患者背景
|
## 本人背景
|
||||||
- 高血压 2 年
|
- 高血压 2 年
|
||||||
- 在服药:缬沙坦 80mg qd
|
- 在服药:缬沙坦 80mg qd
|
||||||
""",
|
""",
|
||||||
|
|||||||
@@ -641,9 +641,9 @@ struct MarkdownView: View {
|
|||||||
# 就诊摘要 — 感冒就诊
|
# 就诊摘要 — 感冒就诊
|
||||||
|
|
||||||
## 主诉
|
## 主诉
|
||||||
患者男,38 岁,感冒 3 天未愈,主诉鼻塞、咳嗽、低烧。
|
本人男,38 岁,感冒 3 天未愈,主诉鼻塞、咳嗽、低烧。
|
||||||
|
|
||||||
## 患者背景
|
## 本人背景
|
||||||
- 高血压 2 年
|
- 高血压 2 年
|
||||||
- 在服药:**缬沙坦 80mg qd**
|
- 在服药:**缬沙坦 80mg qd**
|
||||||
- 过敏:青霉素
|
- 过敏:青霉素
|
||||||
|
|||||||
@@ -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 {
|
|||||||
## 在服药与过敏
|
## 在服药与过敏
|
||||||
无记录
|
无记录
|
||||||
|
|
||||||
## 患者疑问
|
## 本人疑问
|
||||||
无记录
|
无记录
|
||||||
"""
|
"""
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user