更新
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
/**
|
||||
* AI 数据目录人工审核:中医诊单与处方(tcm.*)的全部非写、非 POST 接口(51 个)。
|
||||
* 例外:复诊到期弹窗 tcm.revisitDue/* 的写接口也显式登记为 excluded(控制器晚于 generated.php 生成,需显式 controller 过单测)。
|
||||
*
|
||||
* 约定:
|
||||
* - 按诊单/患者/记录ID取数的接口一律按「详情」调用(kind=detail):zyt_get 会把 ID 固定为单个值,
|
||||
@@ -10,6 +11,7 @@
|
||||
* - 'builtin' 表示接口自身已有逐条校验,函数写在各条目上方注释里。
|
||||
*/
|
||||
|
||||
use app\adminapi\controller\tcm\RevisitDueController;
|
||||
use app\adminapi\logic\tcm\DiagnosisLogic;
|
||||
use app\adminapi\validate\tcm\DiagnosisValidate;
|
||||
|
||||
@@ -134,6 +136,37 @@ return [
|
||||
'tcm.diagnosisTodo/detail' => ['status' => 'pending', 'name' => '诊单待办详情',
|
||||
'reason' => '按待办ID读取任意诊单的待办,无逐条权限校验(DiagnosisTodoLogic::detail);可改用 tcm.diagnosisTodo/lists(按诊单ID,已校验诊单可见)'],
|
||||
|
||||
// ───────────── 复诊到期提醒(需求 4 右下角弹窗 + P2 主管团队视图,controller/tcm/RevisitDueController.php) ─────────────
|
||||
// 控制器晚于 generated.php 生成,显式写 controller 以通过 AiMcpUnitTest 的资源存在性校验;重跑 catalog.php --write 后可去掉该键。
|
||||
// pending 是轮询端点且「读取即写」(first_shown_at/last_shown_at + 首次弹出流水,RevisitDueLogic::markShown),只读事务下会报错回滚,
|
||||
// 又含患者姓名快照,不对 AI 开放;按医助查询到期患者请走 P2 的 tcm.revisitDue/lists(主管视图,HasDataScopeFilter,待评审后开放)。
|
||||
'tcm.revisitDue/pending' => ['status' => 'excluded', 'name' => '复诊到期弹窗-待办', 'controller' => RevisitDueController::class, 'http' => 'GET',
|
||||
'reason' => '右下角弹窗轮询接口:读取即更新弹出时间并写「首次弹出」流水(只读事务下回滚),且返回患者姓名;到期患者查询请用 tcm.revisitDue/lists(P2 主管视图,待评审开放)'],
|
||||
'tcm.revisitDue/summary' => ['status' => 'pending', 'name' => '复诊到期弹窗-计数', 'controller' => RevisitDueController::class, 'http' => 'GET', 'kind' => 'report',
|
||||
'reason' => '仅返回当前登录医助本人的到期 / 预警计数(RevisitDueLogic::summary,不写库、无患者信息),供弹窗气泡;待 P2 主管视图 tcm.revisitDue/lists 评审口径后一并开放'],
|
||||
// P2 主管团队视图:lists 为快照表(tcm_diagnosis_revisit_due)分页列表,RevisitDueLists 按 HasDataScopeFilter::applyDataScopeByOwner('assistant_id') 收窄,
|
||||
// 不写库(无自愈),但逐行返回患者姓名快照与医助延迟行为(snooze_count/escalation_level/人工关闭原因),且 state 由 CURDATE() 推导、
|
||||
// 菜单 08_add_revisit_due_team_menu.sql 默认不授予任何角色;待产品验收口径与授权范围后再开放。
|
||||
'tcm.revisitDue/lists' => ['status' => 'pending', 'name' => '复诊到期跟进(主管团队视图)', 'controller' => RevisitDueController::class, 'http' => 'GET', 'kind' => 'list',
|
||||
'params_allow' => [
|
||||
'assistant_id' => '医助(后台账号)ID', 'dept_id' => '医助所属部门ID(含下级部门)',
|
||||
'state' => '状态 due 到期未挂号/过号 | warning 预警 | booked 已约 | visited 已面诊 | contacted 已联系 | no_days 缺开药天数 | pending 未到期 | closed 人工关闭',
|
||||
'days_bucket' => '开药天数档位 14|21|28|30|other', 'min_snooze' => '延迟次数下限', 'keyword' => '患者姓名(模糊)',
|
||||
],
|
||||
'forbid' => ['export', 'file_name', 'page_start', 'page_end'],
|
||||
'reason' => '逐行返回患者姓名快照与医助「延迟/人工关闭」行为数据(越点越上心的考核依据),数据范围虽按角色 data_scope 收窄,但主管视图菜单(08_add_revisit_due_team_menu.sql)默认不授予任何角色、口径(CURDATE() 推导状态 / 人工关闭标记)尚待产品验收;验收后改 open'],
|
||||
'tcm.revisitDue/logs' => ['status' => 'pending', 'name' => '复诊到期跟进-事件流水', 'controller' => RevisitDueController::class, 'http' => 'GET', 'kind' => 'detail', 'id_param' => 'due_id',
|
||||
'params_allow' => [],
|
||||
'reason' => '按提醒 id(due_id)返回延迟/已联系/人工关闭/企微推送等流水,含患者姓名与人工关闭说明(自由文本可能含手机号等);逐条校验(RevisitDueLogic::canViewRow:本人 / 超管 / DataScope 可见医助)已内建,待 tcm.revisitDue/lists 开放后一并评审;开放时可写 guard=builtin'],
|
||||
'tcm.revisitDue/snooze' => ['status' => 'excluded', 'name' => '复诊到期弹窗-延迟', 'controller' => RevisitDueController::class, 'http' => 'POST', 'kind' => 'write',
|
||||
'reason' => '写接口:延迟提醒(更新 snooze_count/next_remind_at 并写流水),AI 只读'],
|
||||
'tcm.revisitDue/snoozeAll' => ['status' => 'excluded', 'name' => '复诊到期弹窗-全部延迟', 'controller' => RevisitDueController::class, 'http' => 'POST', 'kind' => 'write',
|
||||
'reason' => '写接口:批量延迟提醒,AI 只读'],
|
||||
'tcm.revisitDue/contact' => ['status' => 'excluded', 'name' => '复诊到期弹窗-已联系', 'controller' => RevisitDueController::class, 'http' => 'POST', 'kind' => 'write',
|
||||
'reason' => '写接口:记录患者承诺复诊日(更新 promised_date/contact_count 并写流水),AI 只读'],
|
||||
'tcm.revisitDue/close' => ['status' => 'excluded', 'name' => '复诊到期弹窗-人工关闭', 'controller' => RevisitDueController::class, 'http' => 'POST', 'kind' => 'write',
|
||||
'reason' => '写接口:人工关闭提醒周期(closed_state=4 并写流水),AI 只读'],
|
||||
|
||||
// ───────────── 处方 ─────────────
|
||||
'tcm.prescription/lists' => ['status' => 'open', 'kind' => 'list',
|
||||
'params_allow' => ['patient_name' => '患者姓名(模糊)', 'sn' => '处方编号(模糊)',
|
||||
|
||||
Reference in New Issue
Block a user