# 泌尿随访后端（第一版）

这是一个给现有 Android 随访 App 使用的轻量后端。

## 第一版能力

- 同院共享随访
- 跨院数据隔离
- 医生注册/登录
- 创建随访
- 完成随访
- 获取本院随访列表和统计
- PubMed 搜索
- 最新泌尿进展首页数据
- 指南搜索（官方入口清单）
- DeepL / OpenAI 文献翻译与 AI 阅读

PubMed 搜索接口支持：

- `sort=date`
- `sort=relevance`

## 数据保存位置

后端数据保存在：

`urology-followup-server/data/db.json`

## 启动方式

在此目录运行：

```bat
npm start
```

默认地址：

`http://服务器IP:8787`

## 可选：配置翻译或 AI 阅读

如果要启用 PubMed 摘要翻译 / AI 阅读，在启动前设置下面任意一种：

### 方案 A：DeepL

- `DEEPL_API_KEY`

可选：

- `DEEPL_API_URL`（默认 `https://api-free.deepl.com/v2/translate`）

### 方案 B：OpenAI

- `OPENAI_API_KEY`

可选：

- `OPENAI_BASE_URL`
- `OPENAI_MODEL`

可选总开关：

- `TRANSLATION_PROVIDER=auto|deepl|openai`

## 安卓端登录时需要填写

- 服务器地址：例如 `http://192.168.1.20:8787`
- 医院代码：例如 `szuro`
- 用户名
- 密码

首次为某家医院注册第一个账号时，还要填写：

- 医院名称：例如 `深圳市人民医院泌尿外科`

## 规则

- 同一个医院代码下的医生共享同一批随访数据
- 不同医院代码之间数据互相不可见

## 主要接口

- `POST /api/v1/auth/register`
- `POST /api/v1/auth/login`
- `GET /api/v1/auth/me`
- `GET /api/v1/followups`
- `GET /api/v1/followups/summary`
- `POST /api/v1/followups`
- `PATCH /api/v1/followups/{id}/complete`
- `GET /api/v1/research/pubmed/search`
- `GET /api/v1/research/highlights`
- `GET /api/v1/research/guidelines`
- `POST /api/v1/research/analyze`
## 本地 IPv6 测试

如果你想先用家里/办公室电脑的 IPv6 地址，让手机从外网或 IPv6 网络访问：

1. 运行：

```bat
Start-Urology-Followup-Server-IPv6.cmd
```

2. 在手机浏览器测试：

```text
http://[你的IPv6地址]:8787/health
```

3. 在 App 里填写服务器地址：

```text
http://[你的IPv6地址]:8787
```

注意：

- IPv6 地址必须带中括号 `[]`
- Windows 防火墙需要放行 `8787`
- 手机当前网络也需要支持 IPv6
