| 功能 | 路由路径 | 菜单编码 | 组件 |
|---|---|---|---|
| ICD编码映射 | /basic-data/icd-mapping |
MENU032 | BasicData/ICDMapping.tsx |
| ICD编码查询 | /basic-data/icd-query |
MENU033 | BasicData/ICDQuery.tsx |
┌─────────────────────────────────────────────────┐
│ 查询条件区域 │
│ [版本号▼] [省▼] [市▼] [地方ICD代码] [地方ICD描述] │
│ [医保ICD代码] [医保ICD描述] [查询] [重置] │
├─────────────────────────────────────────────────┤
│ [新增映射] [批量删除] 共N条记录 │
│ ┌───┬──────┬────────┬──────┬────────┬───┬───┐ │
│ │ ☐ │地方ICD│地方ICD │医保ICD│医保ICD │操作│ │
│ │ │ 代码 │ 描述 │ 代码 │ 描述 │ │ │
│ ├───┼──────┼────────┼──────┼────────┼───┼───┤ │
│ │ ☐ │A01.1 │xxx疾病 │A01.0 │xxx疾病 │编辑│ │
│ │ ☐ │B02.3 │xxx疾病 │B02.1 │xxx疾病 │删除│ │
│ └───┴──────┴────────┴──────┴────────┴───┴───┘ │
│ [< 1 2 3 ... >] │
└─────────────────────────────────────────────────┘
┌──────────────────────────────────────────┐
│ 新增ICD编码映射 [×] │
├──────────────────────────────────────────┤
│ ICD版本号: [ICD-9 ▼] / [ICD-10 ▼] │
│ 省: [上海市▼] │
│ 市: [全市▼] │
│ │
│ ┌─── 地方ICD编码 ──────┐ ┌─── 医保ICD编码 ────┐ │
│ │ 代码:[________] │ │ 代码:[________] │ │
│ │ 描述:[________] │ │ 描述:[________] │ │
│ │ [从ICD库选择...] │ │ [从医保库选择...] │ │
│ └──────────────────────┘ └─────────────────────┘ │
│ │
│ 备注:[________________] │
│ [取消] [确定] │
└──────────────────────────────────────────┘
POST /drg/interface请求体:
{
"interfaceCode": "02010023",
"params": [{
"versionNo": "ICD-10",
"provinceId": "310000",
"cityId": "310100",
"code": "",
"descripts": "",
"icd": "",
"icdDesc": ""
}],
"pagination": [{
"pageSize": 20,
"currentPage": 1
}]
}
json
{
"errorCode": "0",
"errorMessage": "",
"result": {
"rows": [
{
"id": "1",
"code": "A01.1",
"descripts": "伤寒",
"icd": "A01.0",
"icdDesc": "伤寒性发热",
"provinceId": "310000",
"provinceDesc": "上海市",
"cityId": "310100",
"cityDesc": "黄浦区",
"versionNo": "ICD-10",
"updateDate": "2026-03-20",
"updateTime": "14:30:00",
"updateUserDr": "1",
"updateUserDesc": "管理员",
"identification": "",
"remark": ""
}
],
"total": 100
}
}
请求体:
{
"interfaceCode": "02010023",
"params": [{
"id": "",
"versionNo": "ICD-10",
"leftInfo": {
"code": "A01.1",
"desc": "伤寒",
"provinceId": "310000",
"cityId": "310100"
},
"rightInfo": {
"code": "A01.0",
"desc": "伤寒性发热"
}
}]
}
json
{
"errorCode": "0",
"errorMessage": ""
}
请求体:
{
"interfaceCode": "02010023",
"params": [{
"id": "1"
}]
}
json
{
"interfaceCode": "02010022",
"params": [{
"versionNo": "ICD-10",
"provinceId": "310000",
"cityId": "310100",
"code": "",
"desc": "",
"status": "Y"
}],
"pagination": [{
"pageSize": 20,
"currentPage": 1
}]
}
响应体:
{
"errorCode": "0",
"errorMessage": "",
"result": {
"rows": [
{
"id": "1",
"dictId": "10",
"code": "A01.0",
"desc": "伤寒性发热",
"startDate": "2026-01-01",
"stopDate": "",
"provinceId": "310000",
"provinceDesc": "上海市",
"cityId": "310100",
"cityDesc": "黄浦区",
"identification": "",
"statusDesc": "有效"
}
],
"total": 500
}
}
```
┌─────────────────────────────────────────────────┐ │ 查询条件区域 │ │ [版本▼ ICD-9/ICD-10] [省▼] [市▼] │ │ [ICD代码] [ICD描述] [状态▼ 全部/有效/无效] │ │ [查询] [重置] │ ├─────────────────────────────────────────────────┤ │ [导出] 共N条记录 │ │ ┌──────┬────────┬──────┬──────┬──────┬────┬──┐ │ │ │ICD代码│ICD描述 │版本号 │省市 │生效日期│状态│ │ │ ├──────┼────────┼──────┼──────┼──────┼────┼──┤ │ │ │A01.0 │伤寒发热 │ICD-10│上海 │01-01 │有效│ │ │ │B02.1 │带状疱疹 │ICD-10│上海 │01-01 │有效│ │ │ └──────┴────────┴──────┴──────┴──────┴────┴──┘ │ │ [< 1 2 3 ... >] │ └─────────────────────────────────────────────────┘
### 3.2 接口调用
#### 查询ICD编码信息 (02010037)
- **URL**: `POST /drg/interface`
- **请求体**:
```json
{
"interfaceCode": "02010037",
"params": [{
"version": "ICD-10",
"provinceId": "310000",
"cityId": "310100",
"code": "",
"desc": "",
"status": "Y"
}],
"pagination": [{
"pageSize": 20,
"currentPage": 1
}]
}
响应体:
{
"errorCode": "0",
"errorMessage": "",
"result": {
"rows": [
{
"id": "1",
"code": "A01.0",
"desc": "伤寒性发热",
"version": "ICD-10",
"startDate": "2026-01-01",
"stopDate": "",
"provinceId": "310000",
"provinceDesc": "上海市",
"cityId": "310100",
"cityDesc": "黄浦区",
"statusDesc": "有效"
}
],
"total": 2000
}
}
```
frontend/src/ ├── api/ │ └── basicData.ts # 基础数据管理API(新增ICD相关接口) ├── pages/ │ └── BasicData/ │ ├── ICDMapping.tsx # ICD编码映射页面 │ └── ICDQuery.tsx # ICD编码查询页面 └── App.tsx # 路由注册(已在add-basic-data-management中添加)
## 5. API函数定义
```typescript
// frontend/src/api/basicData.ts
// ========== ICD编码映射 ==========
/** 查询ICD编码映射关系 */
export function queryIcdMapping(params: {
versionNo?: string;
provinceId?: string;
cityId?: string;
code?: string;
descripts?: string;
icd?: string;
icdDesc?: string;
}, pagination: { pageSize: number; currentPage: number }): Promise<ApiResult>;
/** 保存ICD编码映射关系 */
export function saveIcdMapping(params: {
id?: string;
versionNo: string;
leftInfo: { code: string; desc: string; provinceId: string; cityId: string };
rightInfo: { code: string; desc: string };
}): Promise<ApiResult>;
/** 删除ICD编码映射关系 */
export function deleteIcdMapping(id: string): Promise<ApiResult>;
/** 查询医保ICD编码信息(映射选择用) */
export function queryMedInsuIcdInfo(params: {
versionNo: string;
provinceId: string;
cityId: string;
code?: string;
desc?: string;
status?: string;
}, pagination: { pageSize: number; currentPage: number }): Promise<ApiResult>;
// ========== ICD编码查询 ==========
/** 查询各地方版本ICD编码信息 */
export function queryIcdInfo(params: {
version: string;
provinceId: string;
cityId: string;
code?: string;
desc?: string;
status?: string;
}, pagination: { pageSize: number; currentPage: number }): Promise<ApiResult>;
| 数据库字段 | 前端字段(小驼峰) | 类型 |
|---|---|---|
| ID | id | string |
| Code | code | string |
| Descripts | descripts | string |
| ICD | icd | string |
| ICDDesc | icdDesc | string |
| VersionNo | versionNo | string |
| Province_Dr | provinceId | string |
| Province_Dr->Descripts | provinceDesc | string |
| City_Dr | cityId | string |
| City_Dr->Descripts | cityDesc | string |
| UpdateDate | updateDate | string |
| UpdateTime | updateTime | string |
| UpdateUser_Dr | updateUserDr | string |
| UpdateUser_Dr->Descripts | updateUserDesc | string |
| Identification | identification | string |
| Remark | remark | string |
| 数据库字段 | 前端字段(小驼峰) | 类型 |
|---|---|---|
| ID | id | string |
| Code | code | string |
| Desc | desc | string |
| Version | version | string |
| Province_Dr | provinceId | string |
| Province_Dr->Descripts | provinceDesc | string |
| City_Dr | cityId | string |
| City_Dr->Descripts | cityDesc | string |
| StartDate | startDate | string |
| StopDate | stopDate | string |
| CreateDate | createDate | string |
| CreateTime | createTime | string |
| CreateUser_Dr | createUserDr | string |
| CreateUser_Dr->Descripts | createUserDesc | string |
| Remark | remark | string |
| (计算) | statusDesc | string |