网站备案 地域做竞价托管的公司
摘要
本论文针对医院医保管理业务的信息化需求,设计并实现了一套基于 SpringBoot+Servlet+JSP 的医院医保管理系统。系统采用经典 MVC 架构,以 SpringBoot 为后端框架基础,结合 Servlet 处理业务逻辑,通过 JSP 实现前端页面渲染,使用 MySQL 构建数据存储层。文中详细阐述了系统在患者管理、医保报销、药品管理、结算统计等核心模块的设计思路,涵盖数据库表结构、系统架构图、部署图、用例图及界面原型,并对关键技术实现进行了深入分析。该系统通过标准化医保接口集成、智能报销规则引擎和可视化数据报表,有效提升了医院医保管理的效率和准确性,为患者提供便捷的医保报销服务。
1 系统需求分析
1.1 业务需求
1.1.1 核心业务场景
- 患者医保登记:支持患者医保信息录入(职工医保、居民医保、新农合等),关联医保卡信息,自动同步医保账户余额;
- 医保报销结算:门诊 / 住院费用实时医保报销计算,支持多种报销类型(门诊统筹、住院统筹、特殊病种),自动应用报销规则(起付线、自付比例、报销限额);
- 药品目录管理:维护医保药品目录(甲类、乙类、自费药),关联报销比例和限制条件,支持与当地医保中心目录同步;
- 报销审核流程:住院费用报销预审核,特殊检查 / 治疗项目医保审批,拒付费用申诉处理;
- 数据统计分析:按科室、医保类型、时间维度统计报销金额、人次、拒付率,生成医保基金使用报表。
1.1.2 用户角色划分
- 医保办工作人员:患者医保信息管理、报销申请审核、拒付处理、报表生成;
- 医护人员:门诊 / 住院费用录入、医保报销实时计算、特殊项目申请;
- 系统管理员:用户权限管理、基础数据维护(医院科室、医保政策参数)、系统配置;
- 财务人员:医保资金到账核对、报销费用结算、发票管理。
1.1.3 典型业务流程
- 门诊医保报销流程:患者就诊后,医生开具处方和检查单,收费处录入费用时系统自动识别医保类型,计算报销金额与自费金额,患者只需支付自付部分,报销部分由医院与医保中心定期结算;
- 住院医保结算流程:患者办理入院时登记医保信息,出院时系统根据住院费用明细和医保政策计算报销金额,生成结算单,支持医保统筹基金、个人账户、自费部分的分账处理。
1.2 技术需求
- 医保接口集成:支持与当地医保中心 API 对接(如医保目录同步、报销实时结算接口),兼容 HL7、FHIR 等医疗数据标准;
- 报销规则引擎:可配置的报销规则引擎,支持动态更新医保政策(如起付线调整、报销比例变化);
- 数据安全性:患者隐私信息加密存储(身份证号、医保卡号),操作日志全程记录,符合《个人信息保护法》与《医疗纠纷预防和处理条例》;
- 高可用性:医保结算高峰期(每月初、季末)系统响应时间≤2 秒,核心功能(报销计算)可用性≥99.9%;
- 跨平台访问:通过响应式设计支持 PC 端和移动查房设备访问,关键功能支持离线缓存(如断网时暂存报销数据,联网后同步)。
2 系统架构设计
2.1 技术架构图
架构说明:
- 表示层:JSP 页面结合 Bootstrap 实现响应式界面,支持 PC 与移动设备;
- 控制层:Servlet 接收请求并分发,调用业务层后转发至 JSP;
- 业务层:SpringBoot 管理 Service 组件,包含报销规则引擎和医保接口适配器;
- 规则引擎:独立模块处理报销计算逻辑,支持规则动态配置;
- 数据层:MyBatis 操作 MySQL 数据库,Redis 缓存高频访问的医保政策与患者信息。
2.2 部署架构图
部署说明:
- 服务器集群:应用层采用 Tomcat 集群部署,数据库主从复制保障数据安全;
- 医保接口:通过专线与当地医保中心 API 对接,设置防火墙白名单;
- 安全审计:所有医保相关操作记录至日志服务器,支持事后追溯。
2.3 系统包结构设计
plaintext
com.hospital.insurance/
├── config/ # 系统配置(MVC、数据源、医保接口配置)
├── controller/ # Servlet控制器(处理HTTP请求)
├── service/ # 业务逻辑层(Service接口与实现类)
│ ├── patient/ # 患者管理服务
│ ├── reimbursement/ # 报销管理服务
│ ├── drug/ # 药品管理服务
│ └── rule/ # 报销规则引擎
├── dao/ # MyBatis数据访问接口
├── entity/ # 实体类(患者、医保账户、报销记录等)
├── utils/ # 工具类(加密、接口调用、报表生成)
├── filter/ # 过滤器(登录验证、权限控制)
├── interceptor/ # 拦截器(操作日志记录、请求限流)
├── web/ # JSP页面
│ ├── frontend/ # 患者端页面(医保查询、报销进度)
│ └── backend/ # 管理端页面
│ ├── patient/ # 患者管理
│ ├── reimbursement/ # 报销管理
│ ├── drug/ # 药品目录管理
│ ├── statistics/ # 统计报表
│ └── system/ # 系统管理
└── HospitalInsuranceApplication.java # 启动类
3 数据库设计
3.1 概念模型(E-R 图)
实体关系说明:
- 患者(Patient) 与 医保账户(InsuranceAccount) :一对一关系(患者关联唯一医保账户);
- 医保账户(InsuranceAccount) 与 报销记录(Reimbursement) :一对多关系(账户可产生多条报销记录);
- 药品(Drug) 与 医保目录(InsuranceCatalog) :多对一关系(药品属于某类医保目录);
- 报销记录(Reimbursement) 与 费用明细(FeeDetail) :一对多关系(一条报销记录包含多条费用明细);
- 医院科室(Department) 与 医护人员(Staff) :一对多关系(科室包含多名医护人员)。
3.2 核心表结构设计
3.2.1 患者信息表(tb_patient)
字段名 | 数据类型 | 说明 | 约束条件 |
---|---|---|---|
patient_id | bigint | 患者 ID(主键) | PRIMARY KEY |
id_card | varchar(18) | 身份证号(加密存储) | UNIQUE NOT NULL |
name | varchar(50) | 姓名 | NOT NULL |
gender | tinyint(1) | 性别(1 - 男,2 - 女) | NOT NULL |
birth_date | date | 出生日期 | NULL |
phone | varchar(20) | 联系电话 | NULL |
address | varchar(255) | 家庭地址 | NULL |
create_time | datetime | 建档时间 | DEFAULT CURRENT_TIMESTAMP |
last_visit_time | datetime | 最后就诊时间 | NULL |
3.2.2 医保账户表(tb_insurance_account)
字段名 | 数据类型 | 说明 | 约束条件 |
---|---|---|---|
account_id | bigint | 账户 ID(主键) | PRIMARY KEY |
patient_id | bigint | 患者 ID | FOREIGN KEY |
insurance_type | tinyint(1) | 医保类型(1 - 职工医保,2 - 居民医保,3 - 新农合) | NOT NULL |
card_number | varchar(30) | 医保卡号(加密存储) | UNIQUE NOT NULL |
balance | decimal(10,2) | 账户余额 | DEFAULT 0 |
annual_quota | decimal(10,2) | 年度报销限额 | DEFAULT 0 |
used_quota | decimal(10,2) | 已使用限额 | DEFAULT 0 |
valid_start_date | date | 医保有效期开始 | NOT NULL |
valid_end_date | date | 医保有效期结束 | NOT NULL |
status | tinyint(1) | 状态(1 - 有效,0 - 失效) | DEFAULT 1 |
3.2.3 报销记录表(tb_reimbursement)
字段名 | 数据类型 | 说明 | 约束条件 |
---|---|---|---|
reimbursement_id | varchar(32) | 报销单号(UUID 生成) | PRIMARY KEY |
patient_id | bigint | 患者 ID | FOREIGN KEY |
account_id | bigint | 医保账户 ID | FOREIGN KEY |
reimbursement_type | tinyint(1) | 报销类型(1 - 门诊,2 - 住院,3 - 特殊病种) | NOT NULL |
total_fee | decimal(10,2) | 总费用 | NOT NULL |
reimbursement_fee | decimal(10,2) | 报销金额 | DEFAULT 0 |
self_pay_fee | decimal(10,2) | 自付金额 | NOT NULL |
reimbursement_rate | decimal(5,2) | 报销比例(%) | DEFAULT 0 |
reimbursement_date | datetime | 报销日期 | DEFAULT CURRENT_TIMESTAMP |
status | tinyint(1) | 状态(0 - 待审核,1 - 已审核,2 - 已拒付,3 - 已结算) | NOT NULL |
reject_reason | varchar(512) | 拒付原因 | NULL |
3.2.4 医保药品目录表(tb_insurance_drug_catalog)
字段名 | 数据类型 | 说明 | 约束条件 |
---|---|---|---|
catalog_id | bigint | 目录 ID(主键) | PRIMARY KEY |
drug_code | varchar(20) | 药品编码(医保统一编码) | UNIQUE NOT NULL |
drug_name | varchar(100) | 药品名称 | NOT NULL |
catalog_type | tinyint(1) | 目录类型(1 - 甲类,2 - 乙类,3 - 自费) | NOT NULL |
reimbursement_rate | decimal(5,2) | 报销比例(%) | DEFAULT 0 |
max_dose | decimal(10,2) | 最大报销剂量 | NULL |
usage_limit | varchar(512) | 用法限制(JSON 格式) | NULL |
update_time | datetime | 最后更新时间 | DEFAULT CURRENT_TIMESTAMP |
4 系统功能模块设计
4.1 用例图
用例说明:
- 患者用例:提供自助查询功能,减少窗口排队压力;
- 医护人员用例:支持诊疗过程中医保费用实时计算,避免人为错误;
- 医保办用例:集中处理报销审核与政策维护,提升管理效率。
4.2 患者医保管理模块
4.2.1 患者建档子模块
- 信息录入:支持身份证读卡器快速录入患者基本信息,自动校验身份证有效性;
- 医保关联:输入医保卡号后自动查询医保类型、余额及报销限额,支持多张医保卡关联(如职工医保 + 补充医保);
- 历史记录:自动关联患者既往就诊记录与报销历史,形成完整医疗档案。
4.2.2 医保报销结算子模块
- 实时计算:费用录入时自动匹配医保目录,计算报销金额与自付金额,显示报销明细(起付线、自付比例、限额扣除);
- 多种支付方式:支持医保统筹基金、个人账户、微信 / 支付宝混合支付,打印带医保标识的结算单;
- 特殊项目处理:对超医保目录的检查 / 治疗项目,自动触发审批流程,生成《特殊项目医保审批表》。
4.2.3 报销审核子模块
- 智能审核:系统自动校验报销项目合规性(如药品用法用量、检查项目适应症),标记可疑记录;
- 人工复核:审核人员可查看患者病历、费用明细与系统审核建议,批量处理审核请求;
- 拒付管理:记录拒付原因,生成《拒付通知书》,支持患者申诉流程跟踪。
4.3 医保政策与数据统计模块
4.3.1 医保目录管理子模块
- 目录同步:定期从医保中心下载药品、诊疗项目目录,支持手动导入更新;
- 自定义配置:对医院特色项目设置自定义报销规则(如中医诊疗项目上浮报销比例);
- 目录查询:支持按编码、名称、类型查询医保目录,显示当前报销政策。
4.3.2 数据统计分析子模块
- 基金使用报表:按科室、医保类型、时间生成报销金额趋势图,分析基金使用效率;
- 拒付率分析:统计各科室拒付项目分布,生成拒付原因 TOP10 报表,为临床规范提供数据支持;
- 患者画像:分析不同医保类型患者的就诊偏好、费用分布,辅助医院资源调配。
5 系统实现与关键技术
5.1 报销规则引擎实现
5.1.1 规则配置示例(application.properties)
properties
# 医保报销规则配置
insurance.rule.outpatient.deductible=1000.00 # 门诊起付线
insurance.rule.inpatient.deductible=1300.00 # 住院起付线
insurance.rule.drug.classA.rate=0.95 # 甲类药报销比例
insurance.rule.drug.classB.rate=0.85 # 乙类药报销比例
insurance.rule.examination.max_quota=5000.00 # 检查项目年度限额
insurance.rule.hospitalization.yearly_quota=200000 # 住院年度报销限额
5.1.2 报销计算核心代码
java
@Service
public class ReimbursementRuleService { @Value("${insurance.rule.outpatient.deductible}") private double outpatientDeductible; @Value("${insurance.rule.inpatient.deductible}") private double inpatientDeductible; @Value("${insurance.rule.drug.classA.rate}") private double classARate; @Value("${insurance.rule.drug.classB.rate}") private double classBRate; // 门诊费用报销计算 public ReimbursementResult calculateOutpatientReimbursement( List<FeeDetail> feeDetails, InsuranceAccount account) { double totalFee = feeDetails.stream() .mapToDouble(FeeDetail::getAmount) .sum(); // 计算分类费用(甲类、乙类、自费) Map<String, Double> categoryFees = feeDetails.stream() .collect(Collectors.groupingBy( fd -> fd.getDrugCatalogType(), Collectors.summingDouble(FeeDetail::getAmount) )); double classAFee = categoryFees.getOrDefault("A", 0.0); double classBFee = categoryFees.getOrDefault("B", 0.0); double selfPayFee = categoryFees.getOrDefault("C", 0.0); // 应用报销规则 double deductible = account.getInsuranceType() == 1 ? outpatientDeductible : 500.0; // 职工医保与居民医保起付线差异 double reimbursableAmount = Math.max(0, classAFee + classBFee * 0.9 - deductible); double reimbursementAmount = reimbursableAmount * ( account.getInsuranceType() == 1 ? 0.9 : 0.7 // 不同医保类型报销比例差异 ); // 限制年度报销限额 double remainingQuota = account.getAnnualQuota() - account.getUsedQuota(); reimbursementAmount = Math.min(reimbursementAmount, remainingQuota); return ReimbursementResult.builder() .totalFee(totalFee) .reimbursementAmount(reimbursementAmount) .selfPayFee(totalFee - reimbursementAmount) .build(); }
}
5.2 Servlet 控制器示例(医保报销申请)
java
@WebServlet("/insurance/reimbursement/apply")
public class ReimbursementApplyServlet extends HttpServlet { private ReimbursementService reimbursementService = SpringContextUtils.getBean(ReimbursementService.class); @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 读取请求参数 Long patientId = Long.parseLong(request.getParameter("patientId")); Integer reimbursementType = Integer.parseInt(request.getParameter("reimbursementType")); String feeDetailsJson = request.getParameter("feeDetails"); String medicalRecord = request.getParameter("medicalRecord"); // 解析费用明细 ObjectMapper objectMapper = new ObjectMapper(); List<FeeDetail> feeDetails = objectMapper.readValue(feeDetailsJson, objectMapper.getTypeFactory().constructCollectionType(List.class, FeeDetail.class)); // 调用业务层申请报销 Reimbursement reimbursement = reimbursementService.applyReimbursement( patientId, reimbursementType, feeDetails, medicalRecord ); // 检查报销结果是否需要审核 if (reimbursement.getStatus() == 0) { // 待审核 request.setAttribute("reimbursementId", reimbursement.getReimbursementId()); request.getRequestDispatcher("/WEB-INF/jsp/backend/reimbursement/pending_audit.jsp").forward(request, response); } else { // 直接通过 response.sendRedirect(request.getContextPath() + "/insurance/reimbursement/detail?id=" + reimbursement.getReimbursementId()); } }
}
5.3 JSP 页面实现(医保报销详情页)
jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html>
<head> <title>医保报销详情 - 医院医保管理系统</title> <link rel="stylesheet" href="${pageContext.request.contextPath}/static/css/bootstrap.min.css"> <link rel="stylesheet" href="${pageContext.request.contextPath}/static/css/reimbursement.css">
</head>
<body> <!-- 引入头部导航 --> <c:import url="/WEB-INF/jsp/backend/common/head.jsp" /> <div class="container"> <div class="row"> <div class="col-12"> <h1 class="page-title">报销详情 #${reimbursement.reimbursementId}</h1> <div class="card"> <div class="card-header"><h5 class="mb-0">患者信息</h5></div><div class="card-body"><div class="row"><div class="col-md-3">姓名:${patient.name}</div><div class="col-md-3">性别:${patient.gender == 1 ? '男' : '女'}</div><div class="col-md-3">年龄:${patient.age}岁</div><div class="col-md-3">医保类型:${insuranceTypeMap[reimbursement.account.insuranceType]}</div></div><div class="row mt-2"><div class="col-md-6">医保卡号:${reimbursement.account.cardNumber}</div><div class="col-md-6">报销日期:<fmt:formatDate value="${reimbursement.reimbursementDate}" pattern="yyyy-MM-dd HH:mm:ss" /></div></div></div></div><div class="card mt-3"><div class="card-header"><h5 class="mb-0">费用与报销信息</h5></div><div class="card-body"><div class="row"><div class="col-md-4"><div class="info-box"><div class="info-title">总费用</div><div class="info-value">¥<fmt:formatNumber value="${reimbursement.totalFee}" type="number" pattern="#.00"/></div></div></div><div class="col-md-4"><div class="info-box bg-info text-white"><div class="info-title">医保报销</div><div class="info-value">¥<fmt:formatNumber value="${reimbursement.reimbursementFee}" type="number" pattern="#.00"/></div></div></div><div class="col-md-4"><div class="info-box bg-danger text-white"><div class="info-title">自付金额</div><div class="info-value">¥<fmt:formatNumber value="${reimbursement.selfPayFee}" type="number" pattern="#.00"/></div></div></div></div><div class="mt-4"><h6>报销明细</h6><table class="table table-striped"><thead><tr><th>项目名称</th><th>目录类型</th><th>项目金额</th><th>报销比例</th><th>报销金额</th></tr></thead><tbody><c:forEach items="${feeDetails}" var="detail"><tr><td>${detail.itemName}</td><td><span class="badge ${detail.catalogType == 'A' ? 'bg-success' : detail.catalogType == 'B' ? 'bg-info' : 'bg-warning'}">${catalogTypeMap[detail.catalogType]}</span></td><td>¥<fmt:formatNumber value="${detail.amount}" type="number" pattern="#.00"/></td><td>${detail.reimbursementRate}%</td><td>¥<fmt:formatNumber value="${detail.reimbursementAmount}" type="number" pattern="#.00"/></td></tr></c:forEach></tbody></table></div></div></div><c:if test="${reimbursement.status == 2}"><div class="card mt-3 bg-warning"><div class="card-header"><h5 class="mb-0">拒付信息</h5></div><div class="card-body"><p><strong>拒付原因:</strong>${reimbursement.rejectReason}</p><p><strong>拒付时间:</strong><fmt:formatDate value="${reimbursement.rejectTime}" pattern="yyyy-MM-dd HH:mm:ss" /></p><p><strong>处理建议:</strong>${reimbursement.appealAdvice}</p><c:if test="${not empty reimbursement.appealStatus}"><p><strong>申诉状态:</strong>${appealStatusMap[reimbursement.appealStatus]}</p></c:if></div></div></c:if></div></div></div> <!-- 引入页脚 --> <c:import url="/WEB-INF/jsp/backend/common/foot.jsp" /> <script src="${pageContext.request.contextPath}/static/js/jquery.min.js"></script><script src="${pageContext.request.contextPath}/static/js/bootstrap.bundle.min.js"></script>
</body>
</html>
6 系统界面原型设计
6.1 医保报销结算页面原型
设计要点:
- 患者信息区:显示患者姓名、医保类型、卡号、余额,支持扫码读取医保卡信息;
- 费用录入区:表格形式录入药品、检查、治疗项目,支持扫码枪输入药品编码,自动匹配医保目录;
- 报销计算区:实时显示总费用、报销金额、自付金额,用不同颜色标识报销比例(绿色 - 高比例,黄色 - 中比例,红色 - 自费);
- 支付操作区:显示支付方式选项(医保统筹、个人账户、现金 / 移动支付),生成结算单与报销凭证。
原型截图:
6.2 医保报销审核页面原型
设计要点:
- 待审核列表:显示报销单号、患者姓名、费用金额、提交时间,支持按状态和时间筛选;
- 审核详情:点击报销单查看患者病历、费用明细、系统自动审核建议(如 “药品超适应症使用”“检查项目重复申请”);
- 审核操作:提供 “通过”“拒付”“退回修改” 按钮,拒付时需选择拒付原因(下拉菜单预设常见原因);
- 批量处理:支持勾选多个报销单进行批量审核,提升审核效率。
原型截图:
6.3 医保数据统计看板原型
设计要点:
- 核心指标:顶部卡片显示当月报销总额、审核通过率、拒付金额占比;
- 趋势图表:近 6 个月报销金额趋势折线图、各科室报销占比饼图、医保类型分布柱状图;
- 拒付分析:拒付原因 TOP5 列表(如 “超适应症用药”“检查指征不充分”),显示各原因占比;
- 数据导出:支持按时间、科室、医保类型筛选数据,导出 Excel 报表与图表图片。
原型截图:
7 系统测试与部署
7.1 功能测试用例
测试模块 | 测试场景 | 输入数据 | 预期结果 |
---|---|---|---|
医保报销计算 | 职工医保门诊甲类药 | 费用 1000 元,甲类药占比 100% | 报销金额 =(1000-1000 起付线)*95%=0 |
特殊项目审批 | 申请 CT 检查超医保限额 | 申请金额 5000 元,年度限额已用 4800 元 | 审批通过,报销 200 元,剩余限额 0 |
拒付申诉处理 | 因 “超剂量用药” 拒付 | 提供医生处方与用药说明 | 申诉通过,重新计算报销金额 |
医保目录同步 | 手动导入新版医保目录 | 含 100 条药品更新的 Excel 文件 | 系统成功更新目录,报销计算使用新规则 |
7.2 系统部署方案
7.2.1 医保接口对接配置
- 接口认证:
properties
-
# 医保中心接口配置 insurance.api.url=https://medical-insurance-center.gov/api insurance.api.appId=hospital001 insurance.api.appSecret=************** insurance.api.timeout=5000ms
- 数据同步计划:
- 每日凌晨 2 点自动同步医保药品目录与诊疗项目目录;
- 每周同步医保政策更新文件(如报销比例调整通知)。
7.2.2 安全部署措施
- 网络隔离:医保接口服务器部署在医院内网 DMZ 区,仅开放必要端口与医保中心通信;
- 数据加密:患者身份证号、医保卡号采用 AES-256 加密存储,传输过程使用 TLS 1.3 协议;
- 操作审计:所有医保相关操作(报销申请、审核、拒付)记录至独立审计数据库,保留至少 5 年。
8 结论与展望
8.1 系统优势
- 业务适配性:深度结合医院医保管理流程,支持多类型医保报销计算,提升报销效率 30% 以上;
- 规则灵活性:报销规则引擎支持动态配置,快速响应医保政策变化,减少系统升级成本;
- 数据可视化:多维度统计报表为医保基金管理提供数据支撑,辅助医院优化资源配置。
8.2 未来优化方向
- AI 辅助审核:引入自然语言处理技术,自动分析病历与检查报告,提升审核准确性与效率;
- 移动医保服务:开发医护人员移动端 APP,支持床旁医保报销预计算与特殊项目申请;
- 区块链存证:对关键报销记录上链存证,防止数据篡改,简化医保中心审计流程;
- 智能预警系统:对高频拒付项目、超限额报销等场景实时预警,降低医保违规风险。
博主介绍:硕士研究生,专注于信息化技术领域开发与管理,会使用java、标准c/c++等开发语言,以及毕业项目实战✌
从事基于java BS架构、CS架构、c/c++ 编程工作近16年,拥有近12年的管理工作经验,拥有较丰富的技术架构思想、较扎实的技术功底和资深的项目管理经验。
先后担任过技术总监、部门经理、项目经理、开发组长、java高级工程师及c++工程师等职位,在工业互联网、国家标识解析体系、物联网、分布式集群架构、大数据通道处理、接口开发、远程教育、办公OA、财务软件(工资、记账、决策、分析、报表统计等方面)、企业内部管理软件(ERP、CRM等)、arggis地图等信息化建设领域有较丰富的实战工作经验;拥有BS分布式架构集群、数据库负载集群架构、大数据存储集群架构,以及高并发分布式集群架构的设计、开发和部署实战经验;拥有大并发访问、大数据存储、即时消息等瓶颈解决方案和实战经验。
拥有产品研发和发明专利申请相关工作经验,完成发明专利构思、设计、编写、申请等工作,并获得发明专利1枚。
-----------------------------------------------------------------------------------
大家在毕设选题、项目升级、论文写作,就业毕业等相关问题都可以给我留言咨询,非常乐意帮助更多的人或加w 908925859。
相关博客地址:
csdn专业技术博客:https://blog.csdn.net/mr_lili_1986?type=blog
Iteye博客: https://www.iteye.com/blog/user/mr-lili-1986-163-com
门户:http://www.petsqi.cn
七、其他案例: