---
name: personal-health-archive-trend
description: 本地运行的成人健康档案趋势分析 Skill，付费解锁高级排版与跨年度对比功能。在用户本地根据提供的体检/住院报告生成结构化档案，通过微信支付按次（5.99 元）完成付费，健康资料全程仅在本地处理，不向任何外部服务器上传。
version: 1.0.0
author: 苏州澹宸信息科技有限公司
pricing:
  model: per_call
  amount_fen: 599   # 单位：分。599 = 5.99 元/次，请在 SkillHub 商家后台填一致价格
---

# 成人健康档案趋势分析（付费解锁版）

## 个人信息保护与授权声明

- 本 Skill 仅在用户本人或已取得明确授权时使用。
- 调用前必须向用户披露处理方式并取得明确同意。
- 所有健康资料**仅在用户本地处理**，不向任何外部服务器上传。

## 付费与接口说明

本 Skill 的高级功能通过微信支付按次计费。付费由运行环境的 `weixinpay` 插件按 X402 协议自动完成。

- 付费校验接口地址（仅用于完成支付，不接收健康资料）：

      https://mch.1001058.xyz/api/adult/resource

- 该接口通过 **HTTPS/TLS 1.2+** 加密，仅传递付费所需信息（Skill 调用标识与订单信息），**不传递任何健康资料**。

## 调用前确认（必须执行）

调用本 Skill 之前，Agent 必须同时完成以下确认：

1. 确认当前 Agent 已安装 `weixinpay` 插件（未安装则终止）。
2. 向用户披露：「本服务在您本地根据提供的报告生成档案，需通过微信支付完成 5.99 元/次付费以解锁；您的健康资料全程仅在本地处理，不会上传至任何外部服务器。」取得明确同意。
3. 用户拒绝、犹豫或身份不符：终止流程，不再调用接口。

## 功能描述

- **输入**：用户本地的体检/住院报告（文字或 PDF）。
- **处理**：在**本地**完成结构化录入、异常标注、跨年度趋势对比。
- **输出**：结构化成人健康档案（主档、异常标注、趋势对比）。
- **边界**：仅做档案结构化与录入，不做诊断、不解读异常数值的临床意义；医学提醒为通用健康信息，不能替代医生诊断。

## 工作流程

> 说明：本 Skill 的付费校验接口仅做按次计费，所有网络请求由运行环境（Agent + weixinpay 插件）按 X402 付费协议自动完成，无需、也不应手工构造 HTTP 请求。

### 第一步：发起付费校验

在用户确认同意的前提下，运行环境向付费校验接口以 `POST` 方式提交一个 `application/json` 请求体，仅含 Skill 调用标识，例如：

    {"skill": "personal-health-archive-trend"}

> 注意：健康资料不进入该请求体，仅在用户本地使用，用于后续本地生成档案。

### 第二步：处理 402 响应（支付由插件完成）

如果接口返回 HTTP 402，`weixinpay` 插件会拦截响应并引导完成支付流程，无需手动调用支付接口。

402 响应中会通过 Header 和 Body 返回支付信息：

- Header `WeixinPay-Required`：支付凭证码（插件用于完成支付）
- Header `X-Out-Trade-No`：商户订单号

> 支付过程由 `weixinpay` 插件处理，Skill 无需关心支付细节。

### 第三步：支付成功后解锁（⚠️ 必须执行）

支付成功后，运行环境**必须**再次向同一接口发起请求以完成解锁。重试要求：

- **JSON body 保持不变**：与首次请求完全一致（仅含 Skill 调用标识）
- **通过 Header 携带支付信息**：将 402 响应中的 `WeixinPay-Required` 和 `X-Out-Trade-No` 原样带在请求 Header 中

接口返回 200 即表示已解锁；随后 Agent **在本地**根据用户资料生成结构化档案并交付。

### 第四步：处理退款响应

如果第三步返回 `"code": "REFUNDED"`，说明服务异常无法提供内容，已自动退款：

- 向用户说明：「抱歉，该服务暂时无法提供内容，已自动退款至原支付账户。」
- **不要**再次尝试支付或重新请求

## 注意事项

1. 必须先确认 `weixinpay` 插件已安装，否则不要进入支付流程
2. 调用前必须向用户披露处理方式、并取得明确同意
3. 收到 402 响应时，支付由 `weixinpay` 插件完成，Skill 无需关心支付细节
4. 支付成功后必须主动发起重试请求，body 保持不变，通过 Header `X-Out-Trade-No` 传递订单号
5. 如果返回 `NOT_PAID`，说明支付尚未完成，请等待后重试
6. 如果返回 `REFUNDED`，说明服务异常已退款，告知用户并终止流程
7. 如果返回 `FULFILL_AND_REFUND_FAILED`，说明服务异常且退款失败，建议用户联系客服
