版本更新

This commit is contained in:
Zhang.WH
2025-09-03 15:54:41 +08:00
parent 0b93d16b64
commit 8f82322d10
3290 changed files with 154339 additions and 23829 deletions

View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.openhis</groupId>
<artifactId>openhis-server</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>openhis-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
<description>
共通
</description>
<dependencies>
<!-- CORE-->
<dependency>
<groupId>com.core</groupId>
<artifactId>core-admin</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,14 @@
package com.openhis.common.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Dict {
String dictCode(); // 字典类型字段
String dictText() default ""; // 回显字段,默认为空
String dictTable() default ""; // 表名,默认为空
}

View File

@@ -0,0 +1,138 @@
package com.openhis.common.aspectj;
import java.lang.reflect.Field;
import java.util.List;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.core.common.core.domain.R;
import com.openhis.common.annotation.Dict;
@Aspect
@Component
public class DictAspect {
@Autowired
private JdbcTemplate jdbcTemplate; // 使用 JdbcTemplate 执行 SQL
@Around("@annotation(org.springframework.web.bind.annotation.GetMapping) || "
+ "@annotation(org.springframework.web.bind.annotation.PostMapping)")
public Object aroundController(ProceedingJoinPoint joinPoint) throws Throwable {
Object result = joinPoint.proceed(); // 执行原方法
if (result instanceof R) {
// 如果返回值是 R<?>,提取其中的数据
R<?> response = (R<?>)result;
Object data = response.getData(); // 获取 R<?> 中的实际数据
if (data instanceof Page) {
// 如果数据是 Page 类型,处理分页数据
Page<?> page = (Page<?>)data;
List<?> records = page.getRecords();
if (!records.isEmpty()) {
for (Object obj : records) {
processDict(obj); // 处理每个 DTO 对象
}
}
} else if (data instanceof List) {
// 如果数据是 List 类型,处理列表数据
List<?> list = (List<?>)data;
if (!list.isEmpty()) {
for (Object obj : list) {
processDict(obj); // 处理每个 DTO 对象
}
}
} else {
// 如果数据是单个 DTO 对象,直接处理
processDict(data);
}
}
return result;
}
private <T> void processDict(T dto) throws IllegalAccessException {
if (dto == null) {
return;
}
// 检查对象是否是 DTO 类(即是否有 @Dict 注解的字段)
boolean isDto = false;
for (Field field : dto.getClass().getDeclaredFields()) {
if (field.isAnnotationPresent(Dict.class)) {
isDto = true;
break;
}
}
// 如果不是 DTO 类,直接返回
if (!isDto) {
return;
}
// 获取 DTO 类的所有字段
for (Field field : dto.getClass().getDeclaredFields()) {
field.setAccessible(true); // 设置字段可访问
Object fieldValue = field.get(dto); // 获取字段值
if (fieldValue == null) {
continue; // 如果字段值为空,跳过
}
// 如果字段是 List 类型,递归处理其中的每个元素
if (fieldValue instanceof List) {
List<?> list = (List<?>)fieldValue;
for (Object item : list) {
processDict(item); // 递归处理 List 中的每个元素
}
} else if (field.isAnnotationPresent(Dict.class)) {
// 如果字段带有 @Dict 注解,处理字典值
Dict dictAnnotation = field.getAnnotation(Dict.class);
String dictCode = dictAnnotation.dictCode();
String dictText = dictAnnotation.dictText();
String dictTable = dictAnnotation.dictTable();
// 查询字典值
String dictLabel = queryDictLabel(dictTable, dictCode, dictText, fieldValue.toString());
if (dictLabel != null) {
try {
// 动态生成 _dictText 字段名
String textFieldName = field.getName() + "_dictText";
Field textField = dto.getClass().getDeclaredField(textFieldName);
textField.setAccessible(true);
textField.set(dto, dictLabel); // 设置 _dictText 字段的值
} catch (NoSuchFieldException e) {
// 如果 _dictText 字段不存在,忽略错误
e.printStackTrace();
}
}
}
}
}
private String queryDictLabel(String dictTable, String dictCode, String dictText, String dictValue) {
String sql;
if (StringUtils.isEmpty(dictTable)) {
// 场景 1默认查询 sys_dict_data 表
sql = "SELECT dict_label FROM sys_dict_data WHERE dict_type = ? AND dict_value::varchar = ? LIMIT 1";
try {
return jdbcTemplate.queryForObject(sql, String.class, dictCode, dictValue);
} catch (DataAccessException e) {
// 如果查询结果为空,返回 空字符串
return "";
}
} else {
// 场景 2查询指定表
sql = String.format("SELECT %s FROM %s WHERE %s::varchar = ? LIMIT 1", dictText, dictTable, dictCode);
try {
return jdbcTemplate.queryForObject(sql, String.class, dictValue);
} catch (DataAccessException e) {
// 如果查询结果为空,返回 空字符串
return "";
}
}
}
}

View File

@@ -0,0 +1,485 @@
package com.openhis.common.constant;
/**
* 常量
*
* @author system
*/
public class CommonConstants {
/**
* 共同常量
*/
public interface Common {
/**
* 租户ID字段名称
*/
String TENANT_ID = "tenant_id";
/**
* 开始时间(用于分页条件查询)
*/
String S_TIME = "STime";
/**
* 结束时间(用于分页条件查询)
*/
String E_TIME = "ETime";
/**
* 逗号(用于拼接)
*/
String COMMA_FORMAT = "%s,%s";
/**
* 拼接符(三项)
*/
String MONTAGE_FORMAT = "%s%s%s";
/**
* 拼接符(s-s-d-d)
*/
String SS_DD_FORMAT = "%s-%s-%d-%d";
/**
* 逗号
*/
String COMMA = ",";
/**
* 点
*/
String POINT = ".";
/**
* 3用于字符串截位
*/
Integer THREE = 3;
/**
* 中杠
*/
String DASH = "-";
/**
* 耗材万能追溯码
*/
String DEV_TRACE_NO = "22000000000000000000";
/**
* 地区码
*/
String AREA_CODE = "000000";
}
/**
* 表名常量
*/
public interface TableName {
/**
* 服务管理(号源)
*/
String ADM_HEALTHCARE_SERVICE = "adm_healthcare_service";
/**
* 药品定义
*/
String MED_MEDICATION_DEFINITION = "med_medication_definition";
/**
* 药品信息
*/
String MED_MEDICATION = "med_medication";
/**
* 器材定义
*/
String ADM_DEVICE_DEFINITION = "adm_device_definition";
/**
* 器材信息
*/
String ADM_DEVICE = "adm_device";
/**
* 活动定义
*/
String WOR_ACTIVITY_DEFINITION = "wor_activity_definition";
/**
* 发放请求
*/
String WOR_SUPPLY_REQUEST = "wor_supply_request";
/**
* 药品请求
*/
String MED_MEDICATION_REQUEST = "med_medication_request";
/**
* 药品发放
*/
String MED_MEDICATION_DISPENSE = "med_medication_dispense";
/**
* 服务(项目)请求
*/
String WOR_SERVICE_REQUEST = "wor_service_request";
/**
* 耗材请求
*/
String WOR_DEVICE_REQUEST = "wor_device_request";
/**
* 耗材发放
*/
String WOR_DEVICE_DISPENSE = "wor_device_dispense";
}
/**
* 字段名常量
*/
public interface FieldName {
/**
* 单据号
*/
String SupplyBusNo = "supply_bus_no";
/**
* 患者院内编码
*/
String PatientBusNo = "patient_bus_no";
/**
* 患者ID
*/
String PatientId = "patient_id";
/**
* 就诊号
*/
String EncounterBusNo = "encounter_bus_no";
/**
* 身份证号
*/
String idCard = "id_card";
/**
* 拼音码
*/
String PatientPyStr = "patient_py_str";
/**
* 五笔码
*/
String PatientWbStr = "patient_wb_str";
/**
* 患者姓名
*/
String PatientName = "patient_name";
/**
* 耗材拼音码
*/
String DevicePyStr = "device_py_str";
/**
* 五笔码
*/
String DeviceWbStr = "device_wb_str";
/**
* 耗材名称
*/
String DeviceName = "device_name";
/**
* 诊疗拼音码
*/
String ActivityPyStr = "activity_py_str";
/**
* 诊疗五笔码
*/
String ActivityWbStr = "activity_wb_str";
/**
* 诊疗名称
*/
String ActivityName = "activity_name";
/**
* 请求状态
*/
String RequestStatus = "request_status";
/**
* 创建时间
*/
String CreateTime = "create_time";
/**
* 请求基于什么的ID
*/
String BasedOnId = "based_on_id";
/**
* 请求基于什么的ID
*/
String BasedOnTable = "based_on_table";
/**
* 药品id
*/
String MedicationId = "medication_id";
/**
* 就诊Id
*/
String EncounterId = "encounter_id";
/**
* 合同编码
*/
String ContractNo = "contract_no";
/**
* 支付流水
*/
String paymentNo = "payment_no";
/**
* 拼音码
*/
String PyStr = "py_str";
/**
* 五笔码
*/
String WbStr = "wb_str";
/**
* 名字
*/
String Name = "name";
/**
* 编码
*/
String BusNo = "bus_no";
/**
* 处方号
*/
String PrescriptionNo = "prescription_no";
/**
* 机构枚举
*/
String TYPE_ENUM = "type_enum";
/**
* 门诊号
*/
String IptOtpNo = "ipt_otp_no";
/**
* 医保号
*/
String YbCode = "yb_code";
/**
* 项目名
*/
String ClinicalName = "clinical_name";
/**
* 项目编码
*/
String ClinicalNo = "clinical_no";
/**
* 类型
*/
String TypeEnum = "type_enum";
/**
* 删除标志
*/
String DeleteFlag = "delete_flag";
/**
* 费用项id
*/
String ChargeId = "charge_id";
/**
* 费用项时间
*/
String ChargeTime = "charge_time";
/**
* 采购员
*/
String ApplicantName = "applicant_name";
/**
* 病床
*/
String InpatientBed = "inpatient_bed";
/**
* 病床
*/
String PlannedDispenseTime = "planned_dispense_time";
/**
* 项目id
*/
String itemId = "item_id";
/**
* 申请时间
*/
String applyTime = "apply_time";
}
/**
* 业务常量
*/
public interface BusinessName {
/**
* 西医诊断
*/
String WESTERN_MEDICINE_DIAGNOSIS = "西医诊断";
/**
* 中医诊断
*/
String TCM_DIAGNOSIS = "中医诊断";
/**
* 中医证候
*/
String TCM_SYNDROME_CATALOG = "中医证候";
/**
* 耗材类型:单次消耗类
*/
String SINGLE_CONSUMPTION = "7";
/**
* 默认合同编码
*/
String DEFAULT_CONTRACT_NO = "0000";
/**
* 皮试检查
*/
String SKIN_TEST_INSPECTION = "皮试检查";
/**
* 静脉输液
*/
String INTRAVENOUS_INFUSION = "静脉输液";
/**
* 代煎中药
*/
String SUFFERING_TCM = "代煎中药";
/**
* 转科
*/
String TRANSFER_ORGANIZATION = "转科";
/**
* 出院
*/
String LEAVE_HOSPITAL = "出院";
}
/**
* 字典名常量
*/
public interface DictName {
/**
* 药品分类
*/
String MED_CATEGORY_CODE = "med_category_code";
/**
* 器材分类
*/
String DEVICE_CATEGORY_CODE = "device_category_code";
/**
* 诊疗分类
*/
String DIAGNOSIS_CATEGORY_CODE = "activity_category_code";
}
/**
* sql条件常量
*/
public interface SqlCondition {
/**
* 关于库存的表名str
*/
String ABOUT_INVENTORY_TABLE_STR = "'med_medication_definition', 'adm_device_definition'";
}
/**
* 租户option的key键信息
*/
public interface Option {
String APP_ID = "app_id";
String HOSPITAL_NAME = "hospital_name";
String HOSPITAL_CODE = "hospital_code";
String KEY = "key";
String URL = "url";
String YB_SWITCH = "yb_switch"; // 医保开关
String CLI_PRV_KEY = "cliPrvKey";
String CLI_PUB_KEY = "cliPubKey";
String SERVER_PUB_KEY = "serverPubKey";
String FIXMEDINS_NAME = "fixmedinsName";
String FIXMEDINS_CODE = "fixmedinsCode";
String ADMVS = "admvs";
String SCOPE = "scope";
String GRANT_TYPE = "grantType";
String PASSWORD = "password";
String USERNAME = "username";
String CLIENT_SECRET = "clientSecret";
String CLIENT_ID = "clientId";
String PROD_CLI_PUB_KEY = "prod_cliPubKey";
String PROD_CLI_PRV_KEY = "prod_cliPrvKey";
String PROD_CLIENT_ID = "prod_clientId";
String FILE_PATH = "filePath";
String ELE_ADDRESS = "eleAddress";
String ADDRESS = "address";
String TIME = "time";
String IS_ENCRYPT = "isEncrypt";
String INSUPLC_ADMDVS = "insuplc_admdvs"; // 参保地区编码
String PRE_APP_ID = "pre_app_id";
String PRE_APP_SECRET = "pre_app_secret";
String APP_PRVKEY = "APP_PRVKEY";
String PLAF_PUBKEY = "PLAF_PUBKEY";
String TEMPLATE_PATH = "templatePath";
String OUTPUT_PATH = "outputPath";
String HOSPITAL_SEAL_PATH = "hospitalSealPath";
}
/**
* 长大个性化常量
*/
public interface CCU {
// 耗材发放人
Long DisDeviceDoctor = 1934507489239801857L;
// 耗材发放人姓名
String DisDeviceDoctorName = "张桂英";
}
}

View File

@@ -0,0 +1,256 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.constant;
/**
* APL消息ID常量类
*
* @author zwh
* @date 2025-02-25
*/
public class PromptMsgConstant {
/**
* 共用
*/
public interface Common {
/**
* {0}添加成功
*/
String M00001 = "apl.common.M00001";
/**
* {0}保存成功
*/
String M00002 = "apl.common.M00002";
/**
* {0}已经存在
*/
String M00003 = "apl.common.M00003";
/**
* {0}操作成功
*/
String M00004 = "apl.common.M00004";
/**
* {0}删除成功
*/
String M00005 = "apl.common.M00005";
/**
* 操作失败,该数据已被他人删除,请刷新后重试
*/
String M00006 = "apl.common.M00006";
/**
* 操作失败,该数据已被他人更改,请刷新后重试
*/
String M00007 = "apl.common.M00007";
/**
* 请勿重复提交
*/
String M00008 = "apl.common.M00008";
/**
* 查询成功
*/
String M00009 = "apl.common.M00009";
/**
* 操作失败,请联系管理员
*/
String M00010 = "apl.common.M00010";
/**
* 数据更新失败
*/
String M00011 = "apl.common.M00011";
/**
* 数量计算错误
*/
String M00012 = "apl.common.M00012";
/**
* 就诊ID不能是空
*/
String M00013 = "apl.common.M00013";
/**
* 已经审批通过的单号(发放状态是已完成),不能再重复审批通过
*/
String M00014 = "apl.common.M00014";
/**
* 已经审批通过的单号(请求状态是同意),不能再重复编辑请求
*/
String M00015 = "apl.common.M00015";
}
/**
* 库存
*/
public interface Inventory {
/**
* {0}添加成功
*/
String M00001 = "apl.inventory.M00001";
/**
* 操作失败,库存数量不足
*/
String M00002 = "apl.inventory.M00002";
}
/**
* 药品发放
*/
public interface MedicationDispense {
/**
* 配药人和发药人是同一人
*/
String M00001 = "apl.medicationDispense.M00001";
}
/**
* 退费
*/
public interface ChargeRefund {
/**
* 该收费单相关{0}已经发出,请先退药后再进行退费
*/
String M00001 = "apl.chargeRefund.M00001";
/**
* 该收费单相关诊疗项目已经执行,请等待医技科室审批完成后再进行退费
*/
String M00002 = "apl.chargeRefund.M00002";
}
/**
* 医保相关
*/
public interface Yb {
/**
* {0}目录不存在,请联系管理员
*/
String M00001 = "apl.yb.M00001";
}
/**
* 组套
*/
public interface orderGroup {
/**
* 组套名称已存在
*/
String M00001 = "apl.orderGroup.M00001";
}
/**
* 收费
*/
public interface Payment {
/**
* 各缴费渠道实收金额合计不等于实收金额
*/
String M00001 = "apl.payment.M00001";
/**
* 实收金额合计不等于应收金额
*/
String M00002 = "apl.payment.M00002";
/**
* 请选择支付方式
*/
String M00003 = "apl.payment.M00003";
/**
* 查询不到就诊信息
*/
String M00004 = "apl.payment.M00004";
/**
* 已开具项目,不可退号
*/
String M00005 = "apl.payment.M00005";
/**
* 成功收费
*/
String M00006 = "apl.payment.M00006";
/**
* 未查询到收费项目
*/
String M00007 = "apl.payment.M00007";
/**
* 未查询到{0}账户信息
*/
String M00008 = "apl.payment.M00008";
/**
* 未查询到收费项目,不需要转换账户
*/
String M00009 = "apl.payment.M00009";
}
/**
* 电子发票
*/
public interface invoice {
/**
* 挂号未收费,不能开发票
*/
String M00002 = "apl.invoice.M00002";
/**
* 挂号费已开发票,不能重复开票
*/
String M00003 = "apl.invoice.M00003";
/**
* 发票ID不能是空
*/
String M00004 = "apl.invoice.M00004";
/**
* 发票已冲红
*/
String M00005 = "apl.invoice.M00005";
/**
* 已退号,不能开发票
*/
String M00006 = "apl.invoice.M00006";
/**
* 发票未开具,不能冲红
*/
String M00007 = "apl.invoice.M00007";
/**
* 收费成功,电子发票开具失败
*/
String M00008 = "apl.invoice.M00008";
/**
* 退款支付id不存在
*/
String M00009 = "apl.invoice.M00009";
}
/**
* 报表
*/
public interface Report {
/**
* 没有可用的报表
*/
String M00001 = "apl.report.M00001";
/**
* 统计类型错误
*/
String M00002 = "apl.report.M00002";
}
}

View File

@@ -0,0 +1,135 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.constant;
/**
* 常量
*
* @author SunJQ
* @date 2025-04-09
*/
public class YbCommonConstants {
/**
* 常量
*/
public interface constants{
/**
* 医保目录字段
*/
String END_TIME = "2035-12-01";
/**
* 医保目录字段
*/
String YYYY_MM_DD = "yyyy-MM-dd";
/** 标识字段 */
String INFCODE = "infcode";
/** 成功 */
String SUCCESS = "0";
}
/**
* 字段名常量
*/
public interface FieldName {
/**
* 医保目录字段
*/
String SyndromeTypeCode = "syndrome_type_code";
/**
* 医保目录字段
*/
String SyndromeTypeName = "syndrome_type_name";
/**
* 医保目录字段
*/
String UniqueRecordId = "unique_record_id";
/**
* 医保目录字段
*/
String DiseaseCategoryCode = "disease_category_code";
/**
* 医保目录字段
*/
String DiseaseCategoryName = "disease_category_name";
/**
* 医保目录字段
*/
String CategoryName = "category_name";
/**
* 医保目录字段
*/
String SubcategoryName = "subcategory_name";
/**
* 医保目录字段
*/
String ItemName = "item_name";
/**
* 医保目录字段
*/
String OperationName = "operation_name";
/**
* 医保目录字段
*/
String OperationCode = "operation_code";
/**
* 医保目录字段
*/
String MedicalCatalogCode = "medical_catalog_code";
/**
* 医保目录字段
*/
String ConsumableCategory = "consumable_category";
/**
* 医保目录字段
*/
String MaterialType = "material_type";
/**
* 医保目录字段
*/
String Specification = "specification";
/**
* 医保目录字段
*/
String MedicalServiceName = "medical_service_name";
/**
* 医保目录字段
*/
String RegisteredName = "registered_name";
/**
* 医保目录字段
*/
String ApprovalNo = "approval_no";
/**
* 医保目录字段
*/
String ChapterName = "chapter_name";
/**
* 医保目录字段
*/
String SectionName = "section_name";
/**
* 医保目录字段
*/
String ConsumableName = "consumable_name";
/**
* 只保留每组中 版本号 最大的记录
*/
String RowNumMax = "row_num_max";
}
/**
* 门诊状态常量
*/
public interface ClincStatusConst {
String STATUS_0 = "0";
String STATUS_1 = "1";
String STATUS_2 = "2";
String CANCLE = "-1";
}
public interface sqlConst{
String LIMIT1 = "limit 1";
}
}

View File

@@ -0,0 +1,44 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 验收结果
*
* @author yuxj
* @date 2025-07-29
*/
@Getter
@AllArgsConstructor
public enum AcceptanceResult implements HisEnumInterface{
/**
* 合格
*/
QUALIFIED(1, "1","合格"),
/**
* 不合格
*/
UNQUALIFIED(2, "2","不合格");
private Integer value;
private String code;
private String info;
public static AcceptanceResult getByValue(Integer value) {
if (value == null) {
return null;
}
for (AcceptanceResult val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,40 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum AccountBillingStatus implements HisEnumInterface {
OPEN(1, "open", "可用"),
CARECOMPLETE_NOTBILLED(2, "carecomplete-notbilled", "已出院未结账"),
CLOSED_BADDEBT(3, "closed-baddebt", "坏账"),
CLOSED_VOIDED(4, "closed-voided", "不再记账"),
CLOSED_COMPLETED(5, "closed-completed", "已结账"),
CLOSED_COMBINED(6, "closed-combined", "已合并");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static AccountBillingStatus getByValue(Integer value) {
if (value == null) {
return null;
}
for (AccountBillingStatus val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,38 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum AccountStatus implements HisEnumInterface {
ACTIVE(1, "active", "有效"),
INACTIVE(2, "inactive", "无效"),
ERROR(3, "entered-in-error", "错误"),
ON_HOLD(4, "on-hold", "冻结"),
UNKNOWN(5, "unknown", "未知");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static AccountStatus getByValue(Integer value) {
if (value == null) {
return null;
}
for (AccountStatus val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,68 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import com.core.common.utils.StringUtils;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 账户类型
*
* @author zwh
* @date 2025-03-14
*/
@Getter
@AllArgsConstructor
public enum AccountType implements HisEnumInterface {
/**
* 医保电子凭证
*/
MEDICAL_ELECTRONIC_CERTIFICATE(1, "01", "医保电子凭证"),
/**
* 居民身份证
*/
ID_CARD(2, "02", "居民身份证"),
/**
* 社会保障卡
*/
SOCIAL_SECURITY_CARD(3, "03", "社会保障卡"),
/**
* 个人现金账户
*/
PERSONAL_CASH_ACCOUNT(4, "04", "个人现金账户");
private Integer value;
private String code;
private String info;
public static AccountType getByValue(Integer value) {
if (value == null) {
return null;
}
for (AccountType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
public static AccountType getByCode(String code) {
if (StringUtils.isEmpty(code)) {
return null;
}
for (AccountType val : values()) {
if (val.getCode().equals(code)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,38 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ActPriority {
ASAP(1, "A", "尽快,仅次于紧急状况后的最高优先级。"), CALLBACK_RESULTS(2, "CR", "结果一出应立即通知申请者即使是初步结果。在HL7 2.3版的报告优先级中为'C'。)"),
ELECTIVE(3, "EL", "对患者有益但不是生存所必需的。"), EMERGENCY(4, "EM", "一种未预见的情况组合或由此产生的需要立即采取行动的状态。"),
PREOP(5, "P", "表示某项服务将在计划手术之前执行。在订购服务并使用术前优先级时,会检查执行服务所需的时间。下达订单时,可以生成一条消息,指示所需的服务时间,以避免与计划手术的时间冲突。"),
AS_NEEDED(6, "PRN", "'按需'订单应附带构成需求的描述。此描述由作为先决条件的观察服务谓词表示。"), ROUTINE(7, "R", "常规服务,在正常工作时间进行。"),
RUSH_REPORTING(8, "RR", "应尽快准备并发送报告。"), STAT(9, "S", "最高优先级(例如,紧急情况)。"),
TIMING_CRITICAL(10, "T", "尽可能接近请求的时间至关重要(例如,对于通过抗菌水平)。"), USE_AS_DIRECTED(11, "UD", "药物应按处方者的指示使用。"),
URGENT(12, "UR", "需要迅速采取行动。"), CALLBACK_FOR_SCHEDULING(13, "CS", "填写者应联系申请者或目标以安排服务。在HL7 2.3版的TQ-优先级组件中为'C'。)"),
CALLBACK_PLACER_FOR_SCHEDULING(14, "CSP", "填写者应联系申请者以安排服务。在HL7 2.3版的TQ-优先级组件中为'C'。)"),
CONTACT_RECIPIENT_FOR_SCHEDULING(15, "CSR", "填写者应联系服务接受者目标以安排服务。在HL7 2.3版的TQ-优先级组件中为'C'。)");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static ActPriority getByValue(Integer value) {
if (value == null) {
return null;
}
for (ActPriority val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,31 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ActivityDefCategory implements HisEnumInterface {
MEDICAL_SERVICE_ITEM(1, "medical_service_item", "医疗服务项"),
TREATMENT_SURGERY(2, "treatment_surgery", "手术与治疗");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static ActivityDefCategory getByValue(Integer value) {
if (value == null) {
return null;
}
for (ActivityDefCategory val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,41 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 活动类型
*/
@Getter
@AllArgsConstructor
public enum ActivityType implements HisEnumInterface {
PROOF(1, "PROOF", "检验"),
TEST(2, "TEST", "检查"),
CARE(3, "CARE", "护理"),
OPERATION(4, "OPERATION", "手术"),
OTHER(5, "OTHER", "其他");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static ActivityType getByValue(Integer value) {
if (value == null) {
return null;
}
for (ActivityType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,37 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 性别 0=男,1=女,2=未知(和若依框架保持一致)
*/
@Getter
@AllArgsConstructor
public enum AdministrativeGender implements HisEnumInterface {
MALE(0, "male", "男性"),
FEMALE(1, "female", "女性"),
UNKNOWN(2, "unknown", "未知");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static AdministrativeGender getByValue(Integer value) {
if (value == null) {
return null;
}
for (AdministrativeGender val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,37 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 入院方式
*
* @author liuhr
* @date 2025/4/7
*/
@Getter
@AllArgsConstructor
public enum AdmissionMethod implements HisEnumInterface {
OUTPATIENT(1, "outpatient", "门诊入院"), EMERGENCY(2, "emergency", "急诊入院"), TRANSFER_IN(3, "transfer_in", "转入入院"),
TRANSFER_FROM_OTHER(4, "transfer_from_other", "其它医疗机构转入"), OTHER(5, "other", "其它");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static AdmissionMethod getByValue(Integer value) {
if (value == null) {
return null;
}
for (AdmissionMethod val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,38 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 入院类型
*
* @author liuhr
* @date 2025/4/7
*/
@Getter
@AllArgsConstructor
public enum AdmissionType implements HisEnumInterface {
ACCIDENT(1, "accident", "事故"), FREE_CHOICE(2, "free_choice", "随意选择的"), URGENT(3, "urgent", "紧急"),
DELIVERY(4, "delivery", "分娩"), NEWBORN(5, "newborn", "新生儿"), NORMAL(6, "normal", "常规"),
CRITICAL(7, "critical", "危重");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static AdmissionType getByValue(Integer value) {
if (value == null) {
return null;
}
for (AdmissionType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,44 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 医嘱操作类型
*/
@Getter
@AllArgsConstructor
public enum AdviceOpType implements HisEnumInterface {
/**
* 保存医嘱
*/
SAVE_ADVICE(1, "1", "保存医嘱"),
/**
* 签发医嘱
*/
SIGN_ADVICE(2, "2", "签发医嘱");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static AdviceOpType getByValue(Integer value) {
if (value == null) {
return null;
}
for (AdviceOpType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,42 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ApplicableScope implements HisEnumInterface {
HUMAN(1, "human", ""),
ANIMAL(2, "animal", "动物"),
ALL(9, "all", "全部");
ApplicableScope(int value, String code, String info) {
this.value = value;
this.code = code;
this.info = info;
}
@EnumValue
@JsonValue // 标记响应json值
private final Integer value;
private final String code;
private final String info;
public static ApplicableScope getByValue(Integer value) {
if (value == null) {
return null;
}
for (ApplicableScope val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,332 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
/**
* 采番前缀枚举
*
* @author zxy
* @date 2025-02-24
*/
public enum AssignSeqEnum {
/**
* 患者编号
*/
PATIENT_NUM("1", "患者编号", "PN"),
/**
* 采购单据号
*/
PURCHASE_NUM("2", "采购单据号", "PUR"),
/**
* 就诊编号
*/
ENCOUNTER_NUM("3", "就诊编号", "EN"),
/**
* 药品请求编码
*/
MEDICATION_RES_NO("5", "药品请求编码", "MR"),
/**
* 耗材请求编码
*/
DEVICE_RES_NO("6", "耗材请求编码", "DR"),
/**
* 服务项目请求编码
*/
SERVICE_RES_NO("7", "服务项目请求编码", "SR"),
/**
* 费用项目编码
*/
CHARGE_ITEM_NO("8", "费用项目编码", "CI"),
/**
* 药品项目编码
*/
MEDICATION_NUM("9", "药品项目编码", "MD"),
/**
* 器材项目编码
*/
DEVICE_NUM("10", "项目编码", "DD"),
/**
* 支付编码
*/
PAYMENT_NO("11", "支付编码", "SF"),
/**
* 诊疗项目编码
*/
ACTIVITY_DEFINITION_NUM("11", "诊疗编码", "AC"),
/**
* 诊断定义编码
*/
CONDITION_DEFINITION_NUM("11", "诊断编码", "CD"),
/**
* 科室业务编码
*/
ORGANIZATION_BUS_NO("14", "科室业务编码", "ORG"),
/**
* 位置业务编码
*/
LOCATION_BUS_NO("15", "科室业务编码", "LOC"),
/**
* 厂商/产地单据号
*/
SUPPLIER_BUS_NO("16", "供应商编号", "SUP"),
/**
* 盘点单据号
*/
STOCKTAKING_NUM("17", "盘点单据号", "STO"),
/**
* 报损单单据号
*/
LOSS_BUS_NO("18", "报损单编号", "LOS"),
/**
* 采购退货单据号
*/
RETURN_BUS_NO("17", "退货编号", "RET"),
/**
* 领用出库单据号
*/
REQUISITION_NUM("19", "领用出库单据号", "REQ"),
/**
* 退货出库单据号
*/
RETURN_ISSUE_NUM("20", "退货出库单据号", "RIS"),
/**
* 处方号-通用药物
*/
PRESCRIPTION_COMMON_NO("21", "处方号-通用药物", "PCN"),
/**
* 处方号-麻醉药品
*/
PRESCRIPTION_NARCOTIC_NO("22", "处方号-麻醉药品", "PNN"),
/**
* 处方号-毒性药品
*/
PRESCRIPTION_TOXIC_NO("23", "处方号", "PTN"),
/**
* 处方号-一类精神药
*/
PRESCRIPTION_A_PSYCHOTROPIC_NO("24", "处方号", "PAN"),
/**
* 处方号-二类精神药
*/
PRESCRIPTION_B_PSYCHOTROPIC_NO("25", "处方号", "PBN"),
/**
* 住院编号
*/
ADMISSION_NUM("26", "住院号", "ZY"),
/**
* 调拨单据号
*/
TRANSFER_NUM("27", "调拨单据号", "TRA"),
/**
* 发票单据号
*/
INVOICE_NUM("28", "发票单据号", "INV"),
/**
* 药品发放编码
*/
MEDICATION_DIS_NO("29", "药品发放编码", "MS"),
/**
* 耗材发放编码
*/
DEVICE_DIS_NO("30", "耗材发放编码", "DS"),
/**
* 医院内部处方编号
*/
ELEP_MEDICATION_NO("31", "医院内部处方编号", "ER"),
/**
* 医保收费批号
*/
YB_CLINIC_ORDER("32", "医保订单编号", "YBORD"),
/**
* 医保收费批号
*/
YB_CLINIC_FEE("34", "费用明细流水号", "F"),
/**
* 自费收费批号
*/
SF_CLINIC_ORDER("33", "自费订单编号", "SFORD"),
/**
* 处方号-中草药
*/
PRESCRIPTION_CHINESE_HERBAL_MEDICINE("34", "处方号-中草药", "PCM"),
/**
* 身体部位编码
*/
BODY_STRUCTURE_NO("35", "身体部位编码", "BS"),
/**
* 订货单单号
*/
PHARMACY_WAREHOUSE_PURCHASE("36", "药库订货单", "PWP"),
/**
* 药房请领单单号
*/
PURCHASE_REQUISITION("37", "药房请领单", "PRE"),
/**
* 药房入库单单号
*/
PURCHASE_STOCKIN("38", "药房入库单", "PST"),
/**
* 药房退库单单号
*/
PURCHASE_RETURN("39", "药房退库单", "PET"),
/**
* 发药单单号
*/
DISPENSING_ORDER("40", "发药单", "DIO"),
/**
* 药房损益单单号
*/
PURCHASE_PRPFITLOSS("41", "药房损益单", "PPR"),
/**
* 药房盘点单单号
*/
PURCHASE_STOCKTAKING("42", "药房盘点单", "PTO"),
/**
* 药房调入单单号
*/
PURCHASE_TRANSFERIN("43", "药房调入单", "PTI"),
/**
* 药房调出单单号
*/
PURCHASE_TRANSFEROUT("44", "药房调出单", "PTU"),
/**
* 医嘱签发编码
*/
ADVICE_SIGN("45", "医嘱签发编码", "ASI"),
/**
* 物资订货单
*/
MATERIAL_PURCHASE("46", "物资订货单", "MPU"),
/**
* 物资进货单
*/
MATERIAL_STOCKIN("47", "物资进货单", "MSI"),
/**
* 物资退货单
*/
MATERIAL_RETURN("48", "物资退货单", "MRE"),
/**
* 物资出库单
*/
MATERIAL_STOCKOUT("49", "物资出库单", "MSO"),
/**
* 物资退库单
*/
MATERIAL_PRODUCT_RETURN("50", "物资退库单", "MPR"),
/**
* 物资损益单
*/
MATERIAL_PRPFITLOSS("51", "物资损益单", "MPP"),
/**
* 物资盘点单
*/
MATERIAL_STOCKTAKING("52", "物资盘点单", "MST"),
/**
* 物资调入单
*/
MATERIAL_TRANSFERIN("53", "物资调入单", "MTI"),
/**
* 物资调出单
*/
MATERIAL_TRANSFEROUT("54", "物资调出单", "MTO"),
/**
* 科室请领单单号
*/
DEPARTMENT_REQUISITION("55", "科室请领单", "DRE"),
/**
* 科室入库单单号
*/
DEPARTMENT_STOCKIN("56", "科室入库单", "DST"),
/**
* 科室退库单单号
*/
DEPARTMENT_RETURN("57", "科室退库单", "DET"),
/**
* 科室损益单单号
*/
DEPARTMENT_PRPFITLOSS("58", "科室损益单", "DPR"),
/**
* 科室盘点单单号
*/
DEPARTMENT_STOCKTAKING("59", "科室盘点单", "DTO"),
/**
* 科室调入单单号
*/
DEPARTMENT_TRANSFERIN("60", "科室调入单", "DTI"),
/**
* 科室调出单单号
*/
DEPARTMENT_TRANSFEROUT("61", "科室调出单", "DTU"),
/**
* 诊疗处方号
*/
ACTIVITY_PSYCHOTROPIC_NO("62", "诊疗处方号", "PAR"),
/**
* b
* 病历文书
*/
PURCHASE_DOCUMENT("63", "病历文书", "DOC");
private final String code;
private final String info;
private final String prefix;
AssignSeqEnum(String code, String info, String prefix) {
this.code = code;
this.info = info;
this.prefix = prefix;
}
public String getCode() {
return code;
}
public String getInfo() {
return info;
}
public String getPrefix() {
return prefix;
}
}

View File

@@ -0,0 +1,37 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 诊断绑定类型
*/
@Getter
@AllArgsConstructor
public enum BindingType implements HisEnumInterface {
PERSONAL(1, "personal", "个人"),
DEFINITION(2, "definition", "科室"),
HOSPITAL(3, "hospital", "全院");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static BindingType getByValue(Integer value) {
if (value == null) {
return null;
}
for (BindingType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,37 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 血型ABO
*
* @author liuhr
* @date 2025/2/25
*/
@Getter
@AllArgsConstructor
public enum BloodTypeABO implements HisEnumInterface {
TYPE_A(1, "typeA", "A 型"), TYPE_B(2, "typeB", "B 型"), TYPE_O(3, "typeO", "O 型"), TYPE_AB(4, "typeAB", "AB 型"),
OTHER(5, "other", "不详"), UNKNOWN(9, "unknown", "未查");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static BloodTypeABO getByValue(Integer value) {
if (value == null) {
return null;
}
for (BloodTypeABO val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,37 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 血型RH
*
* @author liuhr
* @date 2025/2/25
*/
@Getter
@AllArgsConstructor
public enum BloodTypeRH implements HisEnumInterface {
TYPE_RH_NEGATIVEB(1, "typeRHNegative", "Rh 阴性"), TYPE_RH_POSITIVE(2, "typeRHPositive", "Rh 阳性"),
OTHER(3, "other", "不详"), UNKNOWN(4, "unknown", "未查");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static BloodTypeRH getByValue(Integer value) {
if (value == null) {
return null;
}
for (BloodTypeRH val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,119 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import io.swagger.models.auth.In;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* CatalogType (0: MEMBER_FIRST; 1: MEMBER_SECOND;)
*
* @author SunJQ
* @date 2025-04-09
*/
@Getter
@AllArgsConstructor
public enum CatalogType {
/**
* MEMBER_FIRST
*/
CATALOG_TYPE_1301(1301, "西药中成药目录"),
/**
* MEMBER_FIRST
*/
CATALOG_TYPE_1302(1302, "中药饮片目录"),
/**
* MEMBER_FIRST
*/
CATALOG_TYPE_1303(1303, "医疗机构制剂目录"),
/**
* MEMBER_FIRST
*/
CATALOG_TYPE_1304(1304, "民族药品目录"),
/**
* MEMBER_FIRST
*/
CATALOG_TYPE_1305(1305, "医疗服务项目目录"),
/**
* MEMBER_FIRST
*/
CATALOG_TYPE_1306(1306, "医用耗材目录"),
/**
* MEMBER_FIRST
*/
CATALOG_TYPE_1307(1307, "疾病与诊断目录"),
/**
* MEMBER_FIRST
*/
CATALOG_TYPE_1308(1308, "手术操作目录"),
/**
* MEMBER_FIRST
*/
CATALOG_TYPE_1309(1309, "门诊慢特病种目录"),
/**
* MEMBER_FIRST
*/
CATALOG_TYPE_1310(1310, "按病种付费病种目录"),
/**
* MEMBER_FIRST
*/
CATALOG_TYPE_1311(1311, "日间手术治疗病种"),
/**
* MEMBER_FIRST
*/
CATALOG_TYPE_1312(1312, "医保目录信息查询"),
/**
* MEMBER_FIRST
*/
CATALOG_TYPE_1313(1313, "肿瘤形态学目录"),
/**
* MEMBER_FIRST
*/
CATALOG_TYPE_1314(1314, "中医疾病目录"),
/**
* MEMBER_FIRST
*/
CATALOG_TYPE_1315(1315, "中医证候目录"),
/**
* MEMBER_FIRST
*/
CATALOG_TYPE_1316(1316, "医疗目录与医保目录匹配信息"),
/**
* MEMBER_FIRST
*/
CATALOG_TYPE_1317(1317, "医药机构目录匹配信息"),
/**
* MEMBER_FIRST
*/
CATALOG_TYPE_1318(1318, "医保目录限价信息"),
/**
* MEMBER_FIRST
*/
CATALOG_TYPE_1319(1319, "医保目录先自付比例信息"),
/**
* MEMBER_FIRST
*/
CATALOG_TYPE_1320(1320, "中药配方颗粒目录"),
/**
* MEMBER_SECOND
*/
CATALOG_TYPE_1321(1321, "医疗服务项目(新)目录");
private Integer value;
private String description;
public static CatalogType getByValue(Integer value) {
if (value==null) {
return null;
}
for (CatalogType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,51 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* Category 合同类别(结算类别)
*
* @author SunJQ
* @date 2025-03-29
*/
@Getter
@AllArgsConstructor
public enum Category {
/**
* MEMBER_FIRST
*/
SELF(0, "自费"),
/**
* 省医保
*/
PROVINCIAL_INSURANCE(1, "省医保"),
/**
* 市医保
*/
MUNICIPAL_INSURANCE(2, "市医保"),
/**
* 公费
*/
PUBLIC(3, "公费");
@EnumValue
private Integer value;
private String description;
public static Category getByValue(Integer value) {
if (value==null) {
return null;
}
for (Category val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,63 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 药品类型
*
* @author zwh
* @date 2025-03-10
*/
@Getter
@AllArgsConstructor
public enum CategoryType implements HisEnumInterface {
// 西药中成药
WESTERN_AND_CHINESE_PATENT_MEDICINE(101, "101","西药中成药"),
// 重要饮片
IMPORTANT_HERBAL_SLICES(102, "102","重要饮片"),
// 自制剂
SELF_PREPARED_MEDICATION(103, "103","自制剂"),
// 民族药
ETHNIC_MEDICINE(104, "104","民族药"),
// 医疗服务项目
MEDICAL_SERVICE_ITEM(201,"201", "医疗服务项目"),
// 医用耗材
MEDICAL_CONSUMABLES(301,"301", "医用耗材");
@EnumValue
private Integer value;
private String code;
private String info;
public static CategoryType getByValue(Integer value) {
if (value == null) {
return null;
}
for (CategoryType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
public static CategoryType getByCode(String code) {
if (code == null) {
return null;
}
for (CategoryType val : values()) {
if (val.getCode().equals(code)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,54 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 收费项目类型
*
* @author zwh
* @date 2025-03-10
*/
@Getter
@AllArgsConstructor
public enum ChargeItemContext implements HisEnumInterface {
/**
* 药品
*/
MEDICATION(1, "1", "药品"),
/**
* 耗材
*/
DEVICE(2, "2", "耗材"),
/**
* 项目
*/
ACTIVITY(3, "3", "项目"),
/**
* 挂号
*/
REGISTER(4, "4", "挂号");
private final Integer value;
private final String code;
private final String info;
public static ChargeItemContext getByValue(Integer value) {
if (value == null) {
return null;
}
for (ChargeItemContext val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,98 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
/**
* 收费项目
*
* @author zxy
* @date 2025-02-24
*/
public enum ChargeItemEnum {
/**
* 床位费
*/
BED_FEE(1, "床位费"),
/**
* 诊察费
*/
DIAGNOSTIC_FEE(2, "诊察费"),
/**
* 检查费
*/
CHECK_FEE(3, "检查费"),
/**
* 化验费
*/
DIAGNOSTIC_TEST_FEE(4, "化验费"),
/**
* 治疗费
*/
MEDICAL_EXPENSE_FEE(5, "治疗费"),
/**
* 手术费
*/
OPERATION_FEE(6, "手术费"),
/**
* 护理费
*/
NURSING_FEE(7, "护理费"),
/**
* 卫生材料费
*/
SANITARY_MATERIALS_FEE(8, "卫生材料费"),
/**
* 西药费
*/
WEST_MEDICINE(9, "西药费"),
/**
* 中药饮片费
*/
CHINESE_MEDICINE_SLICES_FEE(10, "中药饮片费"),
/**
* 中成药费
*/
CHINESE_MEDICINE_FEE(11, "中成药费"),
/**
* 一般诊疗费
*/
GENERAL_CONSULTATION_FEE(12, "一般诊疗费"),
/**
* 挂号费
*/
REGISTRATION_FEE(13, "挂号费"),
/**
* 其他费
*/
OTHER_FEE(14, "其他费");
private final Integer code;
private final String info;
ChargeItemEnum(Integer code, String info) {
this.code = code;
this.info = info;
}
public Integer getCode() {
return code;
}
public String getInfo() {
return info;
}
public static ChargeItemEnum getByValue(Integer value) {
if (value == null) {
return null;
}
for (ChargeItemEnum val : values()) {
if (val.getCode().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,49 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 账单生成来源
*
* @author zwh
* @date 2025-03-10
*/
@Getter
@AllArgsConstructor
public enum ChargeItemGenerateSource implements HisEnumInterface {
/**
* 医生开立
*/
DOCTOR_PRESCRIPTION(1, "1", "医生开立"),
/**
* 护士划价
*/
NURSE_PRICING(2, "2", "护士划价"),
/**
* 医嘱绑定
*/
MEDICAL_ORDER_BINDING(3, "3", "医嘱绑定");
private final Integer value;
private final String code;
private final String info;
public static ChargeItemGenerateSource getByValue(Integer value) {
if (value == null) {
return null;
}
for (ChargeItemGenerateSource val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,80 @@
package com.openhis.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ChargeItemStatus implements HisEnumInterface {
/**
* 草稿
*/
DRAFT(0, "draft", "草稿"),
/**
* 待收费
*/
PLANNED(1, "planned", "待收费"),
/**
* 待结算
*/
BILLABLE(2, "billable", "待结算"),
/**
* 不可收费
*/
NOT_BILLABLE(3, "not-billable", "不可收费"),
/**
* 终止
*/
ABORTED(4, "aborted", "终止"),
/**
* 已收费
*/
BILLED(5, "billed ", "已收费"),
/**
* 错误
*/
ERROR(6, "entered-in-error", "错误"),
/**
* 待退费
*/
REFUNDING(7, "refunding", "待退费"),
/**
* 已退费
*/
REFUNDED(8, "refunded", "已退费"),
/**
* 部分退费
*/
PART_REFUND(9, "part-refund", "部分退费"),
/**
* 未知
*/
UNKNOWN(10, "unknown", "未知");
private final Integer value;
private final String code;
private final String info;
public static ChargeItemStatus getByValue(Integer value) {
if (value == null) {
return null;
}
for (ChargeItemStatus val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,32 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ClaimType {
INSTITUTIONAL(1, "Institutional", "医院、诊所和通常的住院索赔。"), ORAL(2, "Oral", "牙科、假牙和口腔卫生索赔。"),
PHARMACY(3, "Pharmacy", "药品和服务的药店索赔。"),
PROFESSIONAL(4, "Professional", "通常是来自医生、心理学家、脊椎治疗师、物理治疗师、言语病理学家、康复专家、咨询师的门诊索赔。"),
VISION(5, "Vision", "视力索赔,包括专业服务和产品,如眼镜和隐形眼镜。");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static ClaimType getByValue(Integer value) {
if (value == null) {
return null;
}
for (ClaimType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,30 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ClaimUse {
CLAIM(1, "claim", "治疗已完成,这代表服务的索赔。"), PREAUTHORIZATION(2, "preauthorization", "治疗已提议,这代表服务的预授权。"),
PREDETERMINATION(3, "predetermination", "治疗已提议,这代表服务的预决定。");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static ClaimUse getByValue(Integer value) {
if (value == null) {
return null;
}
for (ClaimUse val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,36 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 过敏与不耐受中临床状况
*
* @author liuhr
* @date 2025/3/6
*/
@Getter
@AllArgsConstructor
public enum ClinicalStatus implements HisEnumInterface {
ACTIVE(1, "active", "阳性"), INACTIVE(2, "inactive", "阴性"), RESOLVED(3, "resolved", "已解决"),
UNKNOWN(4, "unknown", "未知");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static ClinicalStatus getByValue(Integer value) {
if (value == null) {
return null;
}
for (ClinicalStatus val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,29 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ConditionCategory {
PROBLEM(1, "problem-list-item", "问题列表"), DIAGNOSIS(2, "encounter-diagnosis", "就诊诊断");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static ConditionCategory getByValue(Integer value) {
if (value == null) {
return null;
}
for (ConditionCategory val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,35 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ConditionClinicalStatus {
ACTIVE(1, "ACTIVE", "活跃The disease is currently active."),
RECURRENCE(2, "RECURRENCE", "复发The disease has recurred after a period of remission."),
RELAPSE(3, "RELAPSE", "再发The disease has relapsed after a period of improvement."),
INACTIVE(4, "INACTIVE", "不活跃The disease is currently inactive."),
REMISSION(5, "REMISSION", "体验复发风险The disease is in remission."),
RESOLVED(6, "RESOLVED", "康复The disease has been resolved."),
UNKNOWN(7, "UNKNOWN", "位置The disease status is unknown.");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static ConditionClinicalStatus getByValue(Integer value) {
if (value == null) {
return null;
}
for (ConditionClinicalStatus val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,56 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 命中条件枚举
*/
@Getter
@AllArgsConstructor
public enum ConditionCode implements HisEnumInterface {
/**
* 批号
*/
LOT_NUMBER_COST(1, "1", "产品批号进价"),
/**
* 采购
*/
PURCHASE(2, "2", "采购"),
/**
* 单位
*/
UNIT(3, "3", "单位"),
/**
* 限制
*/
LIMIT(4, "4", "限制"),
/**
* 限制
*/
LOT_NUMBER_PRICE(5, "5", "产品批号售价");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static ConditionCode getByValue(Integer value) {
if (value == null) {
return null;
}
for (ConditionCode val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,32 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ConditionDefinitionSource implements HisEnumInterface {
DISEASE_AND_DIAGNOSIS(1, "01", "疾病与诊断"), CHRONIC_DISEASE_DIAGNOSIS_CATALOG(2, "02", "特慢病诊断目录"),
DIAGNOSIS_BY_DISEASE_CATALOG(3, "03", "按病种目录付费诊断"), DAY_SURGERY_TREATMENT_DISEASE(4, "04", "日间手术治疗病种"),
TRADITIONAL_CHINESE_MEDICINE_DIAGNOSIS(5, "05", "中医诊断"),
TRADITIONAL_CHINESE_MEDICINE_SYNDROME_CATALOG(6, "06", "中医证候目录"), TUMOR_MORPHOLOGY_CATALOG(7, "07", "肿瘤形态学目录");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static ConditionDefinitionSource getByValue(Integer value) {
if (value == null) {
return null;
}
for (ConditionDefinitionSource val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,29 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ConditionSeverity {
SEVERE(1, "severe", "严重的"), MIDGRADE(2, "midgrade", "中等的"), MILD(3, "mild", "温和的");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static ConditionSeverity getByValue(Integer value) {
if (value == null) {
return null;
}
for (ConditionSeverity val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,42 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 验证状态
*/
@Getter
@AllArgsConstructor
public enum ConditionVerificationStatus implements HisEnumInterface {
UNCONFIRMED(1, "UNCONFIRMED", "未确诊"),
PROVISIONAL(2, "PROVISIONAL", "疑似"),
DIFFERENTIAL(3, "DIFFERENTIAL", "有差异"),
CONFIRMED(4, "CONFIRMED", "已确诊"),
REFUTED(5, "REFUTED", "已排除"),
ENTERED_IN_ERROR(6, "ENTERED_IN_ERROR", "未知");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static ConditionVerificationStatus getByValue(Integer value) {
if (value == null) {
return null;
}
for (ConditionVerificationStatus val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,62 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 合同类型
*
* @author zwh
* @date 2025-03-29
*/
@Getter
@AllArgsConstructor
public enum ContractCategory implements HisEnumInterface {
/**
* 自费
*/
SELF_CHARGE(1, "1", "自费"),
/**
* 公费
*/
PUBLIC_CHARGE(2, "2", "公费"),
/**
* 省医保
*/
PROVINCIAL_INSURANCE(3, "3", "省医保"),
/**
* 市医保
*/
MUNICIPAL_INSURANCE(4, "4", "市医保"),
/**
* 职工医保
*/
WORKER_INSURANCE(5, "5", "职工医保");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static ContractCategory getByValue(Integer value) {
if (value == null) {
return null;
}
for (ContractCategory val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,32 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ContrastTypeEnum implements HisEnumInterface {
INVOICE_CLINIC(1, "invoice-clinic", "电子发票门诊"),
INVOICE_CINPATIENT(2, "invoice-inpatient", "电子发票住院");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static ContrastTypeEnum getByValue(Integer value) {
if (value == null) {
return null;
}
for (ContrastTypeEnum val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,28 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 危险程度
*
* @author liuhr
* @date 2025/4/10
*/
@Getter
@AllArgsConstructor
public enum Criticality implements HisEnumInterface {
LOW(0, "low", ""),
HIGH(1, "high", ""),
UNASSESSABLE(2, "unassessable", "无法评估");
@EnumValue
@JsonValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,64 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 数据库操作类型
*/
@Getter
@AllArgsConstructor
public enum DbOpType implements HisEnumInterface {
/**
* 新增
*/
INSERT(1, "1", "新增"),
/**
* 修改
*/
UPDATE(2, "2", "修改"),
/**
* 删除
*/
DELETE(3, "3", "删除"),
/**
* 查询
*/
SELECT(4, "4", "查询"),
/**
* 停用
*/
STOP(5, "5", "停用"),
/**
* 启用
*/
START(6, "6", "启用");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static DbOpType getByValue(Integer value) {
if (value == null) {
return null;
}
for (DbOpType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,51 @@
package com.openhis.common.enums;
/**
* 删除标识
*
* @author system
*/
public enum DelFlag {
/**
* 未删除
*/
NO(0, "0", "未删除"),
/**
* 已删除
*/
YES(1, "1", "已删除");
private final Integer value;
private final String code;
private final String info;
DelFlag(Integer value, String code, String info) {
this.value = value;
this.code = code;
this.info = info;
}
public String getCode() {
return code;
}
public String getInfo() {
return info;
}
public Integer getValue() {
return value;
}
public static DelFlag getByValue(Integer value) {
if (value == null) {
return null;
}
for (DelFlag val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,31 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum DeviceCategory implements HisEnumInterface {
ACTIVE(1, "1", "有源的"), COMMUNICATING(2, "2", "通讯类"), HOMEUSE(3, "3", "非院内使用"), IMPLANTABLE(4, "4", "植入类"),
IN_VITRO(5, "5", "试管类"), POINT_OF_CARE(6, "6", "床旁类"), SINGLE_USE(7, "7", "单次消耗类"), REUSABLE(8, "8", "可重用的"),
SOFTWARE(9, "9", "软件类"), DME(10, "10", "治疗设备");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static DeviceCategory getByValue(Integer value) {
if (value == null) {
return null;
}
for (DeviceCategory val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,41 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum DeviceSafety {
Magnetic_Resonance_Conditional(1, "C106046",
"在MR环境中已证明安全的设备在定义条件下。至少应解决静态磁场、切换梯度磁场和射频场的条件。可能需要包括物品特定配置在内的其他条件。参见ASTM F2503"),
Magnetic_Resonance_Safe(2, "C106045", "该设备在暴露于任何MR环境时不会造成已知危害。MR安全物品由非导电、非金属和非磁性材料组成。请参阅ASTM F2503"),
Magnetic_Resonance_Unsafe(3, "C106047", "对患者、医务人员或MR环境内其他人员构成不可接受风险的设备。参见ASTM F2503"),
LABELING_DOES_NOT_CONTAIN_MRI_SAFETY_INFORMATION(4, "C113844", "标签者未在标签中提供使用设备在磁共振MR环境中的安全信息"),
LABELED_AS_CONTAINING_NATURAL_RUBBER_LATEX(5, "C101673", "该设备标签表明天然橡胶乳胶是其成分之一。"),
NOT_MADE_WITH_NATURAL_RUBBER_LATEX(6, "C106038", "该产品的材料组成不含有天然橡胶乳胶。");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static DeviceSafety getByValue(Integer value) {
if (value == null) {
return null;
}
for (DeviceSafety val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,33 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum DeviceStatus {
ACTIVE(1, "active", "有效"),
INACTIVE(2, "inactive", "无效"),
ERROR(3, "entered-in-error", "错误");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static DeviceStatus getByValue(Integer value) {
if (value == null) {
return null;
}
for (DeviceStatus val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,44 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 特殊病种标志枚举类
*
* @author liuhr
* @date 2025/4/22
*/
@Getter
@AllArgsConstructor
public enum DiagnosisCertainty {
PRESENT(1, "1", ""),
UNDETERMINED(2, "2", "临床未确定"),
UNKNOWN(3, "3", "情况不明"),
ABSENT(4, "4", "");
@EnumValue
private final Integer value;
private final String code;
private final String description;
public static DiagnosisCertainty getByValue(Integer value) {
if (value == null) {
return null;
}
for (DiagnosisCertainty certainty : values()) {
if (certainty.getValue().equals(value)) {
return certainty;
}
}
return null;
}
}

View File

@@ -0,0 +1,100 @@
package com.openhis.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 发放状态
*
* @author wangyang
* @date 2025-03-14
*/
@Getter
@AllArgsConstructor
public enum DispenseStatus implements HisEnumInterface {
/**
* 草稿
*/
DRAFT(1, "DR", "草稿"),
/**
* 待配药
*/
PREPARATION(2, "PR", "待配药"),
/**
* 待发药
*/
IN_PROGRESS(3, "IN", "待发药"),
/**
* 已发药
*/
COMPLETED(4, "CO", "已发放"),
/**
* 暂停
*/
ON_HOLD(5, "ON", "暂停"),
/**
* 停止
*/
STOPPED(6, "ST", "停止"),
/**
* 拒绝发药
*/
DECLINED(7, "DE", "拒绝发药"),
/**
* 已汇总
*/
SUMMARIZED(8, "SR", "已汇总"),
/**
* 部分发药
*/
PART_COMPLETED(9, "PC", "部分发药"),
/**
* 部分退药
*/
PART_REFUND(10, "PR", "部分退药"),
/**
* 已退药
*/
REFUNDED(12, "RE", "已退药"),
/**
* 未知
*/
UNKNOWN(13, "UN", "未知"),
/**
* 已配药
*/
PREPARED(14, "PR", "已配药"),
/**
* 撤回
*/
CANCELLED(15, "CA", "撤回");
private Integer value;
private String code;
private String info;
public static DispenseStatus getByValue(Integer value) {
if (value == null) {
return null;
}
for (DispenseStatus val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,52 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 文书权限枚举类 一级菜单
*
* @author zxy
* @date 2025-02-24
*/
@Getter
@AllArgsConstructor
public enum DocPermissionEnum implements HisEnumInterface {
/**
* 不限制
*/
NO_LIMIT(0, "NO_LIMIT", "不限制"),
/**
* 编辑
*/
EDIT(1, "EDIT", "编辑"),
/**
* 查看
*/
VIEW(2, "VIEW", "查看");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static DocPermissionEnum getByValue(Integer value) {
if (value == null) {
return null;
}
for (DocPermissionEnum val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,67 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 文档统计定义-属性类型枚举
* 对应属性类型Input输入框、Date日期选择器、Checkbox复选框、Radio单选框、Select下拉选择、Textarea文本域
*/
@Getter
@AllArgsConstructor
public enum DocStatisticsDefinitionTypeEnum implements HisEnumInterface {
// 枚举项value数据库存储值、code业务编码、info前端/业务描述)
INPUT(1, "INPUT", "输入框(单行文本)"),
DATE(2, "DATE", "日期选择器"),
CHECKBOX(3, "CHECKBOX", "复选框"),
RADIO(4, "RADIO", "单选框"),
SELECT(5, "SELECT", "下拉选择框"),
TEXTAREA(6, "TEXTAREA", "文本域(多行文本)");
// 数据库存储的枚举值与表中type_enum字段对应
@EnumValue
private final Integer value;
// 业务编码(用于前后端交互、日志打印等,避免硬编码)
private final String code;
// 枚举描述(用于前端显示、接口返回说明等)
private final String info;
/**
* 根据数据库存储值value获取枚举实例
*
* @param value 数据库中存储的type_enum值如1、2、3...
* @return 对应的枚举实例若未匹配则返回null
*/
public static DocStatisticsDefinitionTypeEnum getByValue(Integer value) {
if (value == null) {
return null;
}
// 遍历所有枚举项匹配value
for (DocStatisticsDefinitionTypeEnum typeEnum : values()) {
if (typeEnum.getValue().equals(value)) {
return typeEnum;
}
}
// 无匹配项时返回null避免抛出异常便于业务层处理
return null;
}
/**
* 扩展根据业务编码code获取枚举实例可选按需使用
*
* @param code 业务编码(如"INPUT"、"SELECT"
* @return 对应的枚举实例若未匹配则返回null
*/
public static DocStatisticsDefinitionTypeEnum getByCode(String code) {
if (code == null || code.trim().isEmpty()) {
return null;
}
for (DocStatisticsDefinitionTypeEnum typeEnum : values()) {
if (typeEnum.getCode().equals(code.trim())) {
return typeEnum;
}
}
return null;
}
}

View File

@@ -0,0 +1,33 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 就诊类型
*/
@Getter
@AllArgsConstructor
public enum DocStatusEnum implements HisEnumInterface {
DRAFT(0, "DRAFT", "草稿/暂存"),
SAVED(1, "SAVED", "提交"),
ARCHIVED(2, "ARCHIVED", "归档"),
UPDATED(3, "UPDATED", "修改");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static DocStatusEnum getByValue(Integer value) {
if (value == null) {
return null;
}
for (DocStatusEnum val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,39 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 就诊类型
*/
@Getter
@AllArgsConstructor
public enum DocTypeEnum implements HisEnumInterface {
OUT_DOC(0, "OUT_DOC", "门诊病历"),
IN_DOC(1, "IN_DOC", "住院病历"),
NURSING_DOC(2, "NURSING_DOC", "护理评估"),
NURSING_RECORD_DOC(3, "NURSING_RECORD_DOC", "护理记录"),
TEMPERATURE_DOC(4, "NURSING_RECORD_DOC", "体温单"),
NOTICE_DOC(5, "NOTICE_DOC", "告知书"),
AGREEMENT_DOC(6, "AGREEMENT_DOC", "知情同意书"),
IN_CASE_DOC(7, "IN_CASE_DOC", "病案首页");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static DocTypeEnum getByValue(Integer value) {
if (value == null) {
return null;
}
for (DocTypeEnum val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,37 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 就诊类型
*/
@Getter
@AllArgsConstructor
public enum DocUseRangeEnum implements HisEnumInterface {
// 使用范围 0-暂不使用 1-全院使用 2-指定科室使用 3-个人使用
NO_IN_USE(0, "NO_IN_USE", "暂不使用"),
ALL_HOSPITAL_USE(1, "ALL_HOSPITAL_USE", "全院使用"),
DEPT_USE(2, "DEPT_USE", "指定科室使用"),
USE_BY_SELF(3, "USE_BY_SELF", "个人使用");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static DocUseRangeEnum getByValue(Integer value) {
if (value == null) {
return null;
}
for (DocUseRangeEnum val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,44 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 就诊类型
*/
@Getter
@AllArgsConstructor
public enum EncounterClass implements HisEnumInterface {
IMP(1, "IMP", "住院"),
AMB(2, "AMB", "门诊"),
OBSENC(3, "OBSENC", "留观"),
EMER(4, "EMER", "急诊"),
VR(5, "VR", "线上"),
HH(6, "HH", "家庭"),
OTHER(7, "OTHER", "其他");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static EncounterClass getByValue(Integer value) {
if (value == null) {
return null;
}
for (EncounterClass val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,35 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum EncounterLocationStatus implements HisEnumInterface {
PLANNED(1, "planned", "已安排"),
ACTIVE(2, "active", "使用中"),
RESERVED(3, "reserved", "已保留"),
COMPLETED(4, "completed", "已完成");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static EncounterLocationStatus getByValue(Integer value) {
if (value == null) {
return null;
}
for (EncounterLocationStatus val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,48 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 就诊状态
*/
@Getter
@AllArgsConstructor
public enum EncounterStatus implements HisEnumInterface {
PLANNED(1, "draft", "待诊"),
IN_PROGRESS(2, "in-progress", "在诊"),
ON_HOLD(3, "on-hold", "暂离"),
DISCHARGED(4, "on-discharged", "诊毕"),
COMPLETED(5, "completed", "完成"),
CANCELLED(6, "cancelled", "退号"),
DISCONTINUED(7, "discontinued", "已中断"),
IN_ERROR(8, "entered-in-error", "错误"),
UNKNOWN(9, "unknown", "未知");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static EncounterStatus getByValue(Integer value) {
if (value == null) {
return null;
}
for (EncounterStatus val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,40 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 就诊对象状态
*/
@Getter
@AllArgsConstructor
public enum EncounterSubjectStatus implements HisEnumInterface {
PLANNED(1, "arrived", "已到达"),
TRIAGED(2, "triaged", "已分诊"),
RECEIVING_CARE(3, "receiving-care", "已看诊"),
ON_LEAVE(4, "on-leave", "已离开"),
DEPARTED(5, "departed", "已完成");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static EncounterSubjectStatus getByValue(Integer value) {
if (value == null) {
return null;
}
for (EncounterSubjectStatus val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,30 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum EncounterType implements HisEnumInterface {
INITIAL(1, "initial", "初诊"), FOLLOW_UP(2, "follow-up", "复诊");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static EncounterType getByValue(Integer value) {
if (value == null) {
return null;
}
for (EncounterType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,50 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 医保类别
*/
@Getter
@AllArgsConstructor
public enum EncounterYbClass implements HisEnumInterface {
// 住院服务
ORDINARY_HOSPITALIZATION(21, "21", "普通住院"), FOREIGN_HOSPITALIZATION(25, "25", "异地住院"),
SINGLE_DIAGNOSIS_HOSPITALIZATION(26, "26", "单病种住院"), INJURY_HOSPITALIZATION(22, "22", "外伤住院"),
TRANSFER_HOSPITALIZATION(23, "23", "转外诊治住院"), EMERGENCY_TRANSFER_HOSPITALIZATION(24, "24", "急诊转住院"),
PALLIATIVE_CARE_HOSPITALIZATION(2114, "2114", "舒缓疗护住院"), LOW_COPAY_HOSPITALIZATION(3101, "3101", "低自付住院"),
// 门诊服务
ORDINARY_OUTPATIENT(11, "11", "普通门诊"), OUTPATIENT_REGISTRATION(12, "12", "门诊挂号"), EMERGENCY(13, "13", "急诊"),
CHRONIC_SPECIAL_OUTPATIENT(14, "14", "门诊慢特病"), SPECIAL_MEDICATION(15, "15", "特药"),
TRADITIONAL_CHINESE_MEDICINE_OUTPATIENT(16, "16", "中医特色门诊"),
OUTPATIENT_SPECIAL_EXAMINATION_TREATMENT(990404, "990404", "门诊特检特治(限吉林市)"),
CHRONIC_DISEASE_OUTPATIENT(140104, "140104", "门诊慢病"), SPECIAL_DISEASE_OUTPATIENT(140201, "140201", "门诊特病"),
LOW_COPAY_OUTPATIENT(3102, "3102", "低自付门诊"),
// 其他服务
SELF_MEDICATION(27, "27", "自主就医"), ACCIDENTAL_INJURY_OUTPATIENT(81, "81", "意外伤害门诊"), DAY_SURGERY(28, "28", "日间手术"),
NURSING_INSURANCE(61, "61", "照护保险"), PHARMACY_PURCHASE(41, "41", "定点药店购药"), MATERNITY_OUTPATIENT(51, "51", "生育门诊"),
MATERNITY_HOSPITALIZATION(52, "52", "生育住院"), MATERNITY_NEWBORN_COST(5212, "5212", "生育新生儿费用"),
DEDUCTIBLE_TREATMENT(29, "29", "起付线治疗"), PHYSICAL_EXAMINATION(9107, "9107", "体检");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static EncounterYbClass getByValue(Integer value) {
if (value == null) {
return null;
}
for (EncounterYbClass val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,44 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 住院就诊状态
*/
@Getter
@AllArgsConstructor
public enum EncounterZyStatus implements HisEnumInterface {
TO_BE_REGISTERED(1, "to-be-registered", "待登记"),
REGISTERED(2, "registered", "待入科"),
AWAITING_DISCHARGE(3, "awaiting-discharge", "待出院"),
DISCHARGED_FROM_HOSPITAL(4, "discharged-from-hospital", "已出院"),
ADMITTED_TO_THE_HOSPITAL(5, "admitted-to-the-hospital", "已入院"),
PENDING_TRANSFER(6, "pending-transfer", "待转科"),
ALREADY_SETTLED(7, "already-settled", "已结算");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static EncounterZyStatus getByValue(Integer value) {
if (value == null) {
return null;
}
for (EncounterZyStatus val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,76 @@
package com.openhis.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 执行状态(事件执行用)
*
* @author lyx
* @date 2025-03-05
*/
@Getter
@AllArgsConstructor
public enum EventStatus implements HisEnumInterface {
/**
* 待执行
*/
PREPARATION(1, "PREP", "待执行"),
/**
* 执行中
*/
IN_PROGRESS(2, "IP", "执行中"),
/**
* 未完成
*/
NOT_DONE(3, "ND", "未完成"),
/**
* 暂停
*/
ON_HOLD(4, "OH", "暂停"),
/**
* 停止
*/
STOPPED(5, "ST", "停止"),
/**
* 已执行
*/
COMPLETED(6, "CMP", "已执行"),
/**
* 录入错误
*/
ENTERED_IN_ERROR(7, "EIE", "录入错误"),
/**
* 未知
*/
UNKNOWN(8, "UNK", "未知"),
/**
* 取消执行
*/
CANCEL(9, "CCL", "取消执行");
private Integer value;
private String code;
private String info;
public static EventStatus getByValue(Integer value) {
if (value == null) {
return null;
}
for (EventStatus val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,65 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 家庭关系
*
* @author liuhr
* @date 2025/2/25
*/
@Getter
@AllArgsConstructor
public enum FamilyRelationshipType implements HisEnumInterface {
SELF(1, "01", "本人"), HOUSEHOLDER(2, "02", "户主"), SPOUSE(10, "10", "配偶"), HUSBAND(11, "11", ""),
WIFE(12, "12", ""), SON(20, "20", ""), ONLY_SON(21, "21", "独生子"), ELDEST_SON(22, "22", "长子"),
SECOND_SON(23, "23", "次子"), THIRD_SON(24, "24", "三子"), FOURTH_SON(25, "25", "四子"), FIFTH_SON(26, "26", "五子"),
ADOPTED_OR_STEPSON(27, "27", "养子或继子"), SON_IN_LAW(28, "28", "女婿"), OTHER_SON(29, "29", "其他儿子"),
DAUGHTER(30, "30", ""), ONLY_DAUGHTER(31, "31", "独生女"), ELDEST_DAUGHTER(32, "32", "长女"),
SECOND_DAUGHTER(33, "33", "次女"), THIRD_DAUGHTER(34, "34", "三女"), FOURTH_DAUGHTER(35, "35", "四女"),
FIFTH_DAUGHTER(36, "36", "五女"), ADOPTED_OR_STEPDAUGHTER(37, "37", "养女或继女"), DAUGHTER_IN_LAW(38, "38", "儿媳"),
OTHER_DAUGHTER(39, "39", "其他女儿"), GRANDCHILD(40, "40", "孙子、孙女、外孙子、外孙女"), GRANDSON(41, "41", "孙子"),
GRANDDAUGHTER(42, "42", "孙女"), GRANDSON_IN_LAW(43, "43", "外孙子"), GRANDDAUGHTER_IN_LAW(44, "44", "外孙女"),
GRANDSONS_DAUGHTER_IN_LAW(45, "45", "孙媳妇或外孙媳妇"), GRANDDAUGHTERS_SON_IN_LAW(46, "46", "孙女婿或外孙女婿"),
GREAT_GRANDSON(47, "47", "曾孙子或外曾孙子"), GREAT_GRANDDAUGHTER(48, "48", "曾孙女或外曾孙女"),
OTHER_GRANDCHILD(49, "49", "其他孙子、孙女、外孙子、外孙女"), PARENTS(50, "50", "父母"), FATHER(51, "51", "父亲"),
MOTHER(52, "52", "母亲"), FATHER_IN_LAW(53, "53", "公公"), MOTHER_IN_LAW(54, "54", "婆婆"),
FATHER_IN_LAW_OF_SPOUSE(55, "55", "岳父"), MOTHER_IN_LAW_OF_SPOUSE(56, "56", "岳母"),
STEP_OR_FOSTER_FATHER(57, "57", "继父或养父"), STEP_OR_FOSTER_MOTHER(58, "58", "继母或养母"),
OTHER_PARENT(59, "59", "其他父母关系"), GRANDPARENTS(60, "60", "祖父母、外祖父母"), GRANDFATHER(61, "61", "祖父"),
GRANDMOTHER(62, "62", "祖母"), GRANDFATHER_IN_LAW(63, "63", "外祖父"), GRANDMOTHER_IN_LAW(64, "64", "外祖母"),
GRANDPARENTS_OF_SPOUSE(65, "65", "配偶的祖父母、外祖父母"), GREAT_GRANDFATHER(66, "66", "曾祖父"),
GREAT_GRANDMOTHER(67, "67", "曾祖母"), GREAT_GRANDPARENTS_OF_SPOUSE(68, "68", "配偶的曾祖父母、外曾祖父母"),
OTHER_GRANDPARENT(69, "69", "其他祖父母和外祖父母关系"), SIBLINGS(70, "70", "兄、弟、姐、妹"), BROTHER(71, "71", ""),
SISTER_IN_LAW(72, "72", ""), YOUNGER_BROTHER(73, "73", ""), YOUNGER_BROTHERS_WIFE(74, "74", "弟媳"),
OLDER_SISTER(75, "75", "姐姐"), OLDER_SISTERS_HUSBAND(76, "76", "姐夫"), YOUNGER_SISTER(77, "77", "妹妹"),
YOUNGER_SISTERS_HUSBAND(78, "78", "妹夫"), OTHER_SIBLINGS(79, "79", "其他兄弟姐妹"), OTHER_RELATIVES(80, "80", "其他"),
UNCLE(81, "81", "伯父"), AUNT(82, "82", "伯母"), UNCLE_ON_FATHERS_SIDE(83, "83", "叔父"),
AUNT_ON_FATHERS_SIDE(84, "84", "婶母"), UNCLE_ON_MOTHERS_SIDE(85, "85", "舅父"), AUNT_ON_MOTHERS_SIDE(86, "86", "舅母"),
FOSTER_UNCLE(87, "87", "姨父"), FOSTER_AUNT(88, "88", "姨母"), FOSTER_UNCLE_ON_FATHERS_SIDE(89, "89", "姑父"),
FOSTER_AUNT_ON_FATHERS_SIDE(90, "90", "姑母"), COUSINS(91, "91", "堂兄弟、堂姐妹"),
COUSINS_ON_MOTHERS_SIDE(92, "92", "表兄弟、表姐妹"), NEPHEW(93, "93", "侄子"), NEPHEW_DAUGHTER(94, "94", "侄女"),
NIECE(95, "95", "外甥"), NIECE_DAUGHTER(96, "96", "外甥女"), OTHER_RELATIVE(97, "97", "其他亲属"),
NON_RELATIVE(99, "99", "非亲属");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static FamilyRelationshipType getByValue(Integer value) {
if (value == null) {
return null;
}
for (FamilyRelationshipType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,35 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 费用类别
*/
@Getter
@AllArgsConstructor
public enum FeeTypeClass implements HisEnumInterface {
// 费用类别
ORDINARY_HOSPITALIZATION(21, "21", "普通住院"), FOREIGN_HOSPITALIZATION(25, "25", "异地住院"),
SINGLE_DIAGNOSIS_HOSPITALIZATION(26, "26", "单病种住院"), INJURY_HOSPITALIZATION(22, "22", "外伤住院"),
TRANSFER_HOSPITALIZATION(23, "23", "转外诊治住院"), EMERGENCY_TRANSFER_HOSPITALIZATION(24, "24", "急诊转住院"),
PALLIATIVE_CARE_HOSPITALIZATION(2114, "2114", "舒缓疗护住院"), LOW_COPAY_HOSPITALIZATION(3101, "3101", "低自付住院");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static FeeTypeClass getByValue(Integer value) {
if (value == null) {
return null;
}
for (FeeTypeClass val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,53 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum FinCategory implements HisEnumInterface {
/**
* 自费
*/
SELF_PAY(1, "1", "自费"),
/**
* 省医保
*/
PROVINCIAL_MEDICAL_INSURANCE(2, "2", "省医保"),
/**
* 市医保
*/
MUNICIPAL_MEDICAL_INSURANCE(3, "3", "市医保");
private Integer value;
private String code;
private String info;
public static FinCategory getByValue(Integer value) {
if (value == null) {
return null;
}
for (FinCategory val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
public static FinCategory getByCode(String code) {
if (code == null) {
return null;
}
for (FinCategory val : values()) {
if (val.getCode().equals(code)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,31 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum FinancialResourceStatus {
ACTIVE(1, "ACTIVE", "The status is active."), CANCELLED(2, "CANCELLED", "The status has been cancelled."),
DRAFT(3, "DRAFT", "The status is in draft mode."),
IN_ERROR(4, "ENTERED_IN_ERROR", "The status was entered in error.");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static FinancialResourceStatus getByValue(Integer value) {
if (value == null) {
return null;
}
for (FinancialResourceStatus val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,10 @@
package com.openhis.common.enums;
/**
* 枚举类通用接口
*/
public interface HisEnumInterface {
Integer getValue();
String getCode();
String getInfo();
}

View File

@@ -0,0 +1,56 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 医院编码枚举
*
* @author zwh
* @date 2025-06-24
*/
@Getter
@AllArgsConstructor
public enum HospitalCodeEnum implements HisEnumInterface {
/**
* 长大
*/
CCU(1, "H22010200672", "长大"),
/**
* 农大
*/
JLAU(2, "H22017200667", "农大"),;
private Integer value;
private String code;
private String info;
public static HospitalCodeEnum getByValue(Integer value) {
if (value == null) {
return null;
}
for (HospitalCodeEnum val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
public static HospitalCodeEnum getByCode(String code) {
if (code == null) {
return null;
}
for (HospitalCodeEnum val : values()) {
if (val.getCode().equals(code)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,39 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 身份标识的状态枚举
*
* @author liuhr
* @date 2025/5/14
*/
@Getter
@AllArgsConstructor
public enum IdentifierStatusEnum implements HisEnumInterface {
USUAL(1, "usual", "常规"),
OFFICIAL(2, "official", "官方"),
TEMP(3, "temp", "临时"),
SECONDARY(4, "secondary", "次要"),
OLD(5, "old", "");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static IdentifierStatusEnum getByValue(Integer value) {
if (value == null) {
return null;
}
for (IdentifierStatusEnum status : values()) {
if (status.getValue().equals(value)) {
return status;
}
}
return null;
}
}

View File

@@ -0,0 +1,40 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 身份证件类型
*
* @author liuhr
* @date 2025/3/18
*/
@Getter
@AllArgsConstructor
public enum IdentityDocumentType implements HisEnumInterface {
RESIDENT_ID_CARD(1, "residentIdCard", "居民身份证"), HOUSEHOLD_REGISTER(2, "householdRegister", "居民户口簿"),
PASSPORT(3, "passport", "护照"), OFFICER_CERTIFICATE(4, "officerCertificate", "军官证"),
DRIVING_LICENSE(5, "drivingLicense", "驾驶证"), HONGKONG_MACAO_PASS(6, "hongkongMacaoPass", "港澳居民来往内地通行证"),
TAIWAN_PASS(7, "taiwanPass", "台湾居民来往内地通行证"), OTHER(99, "other", "其他身份证件");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static IdentityDocumentType getByValue(Integer value) {
if (value == null) {
return null;
}
for (IdentityDocumentType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,27 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 医保等级枚举类
*
* @author liuhr
* @date 2025/4/16
*/
@Getter
@AllArgsConstructor
public enum InsuranceLevel implements HisEnumInterface {
CLASS_A(1, "1", "甲类"), CLASS_B(2, "2", "乙类"), SELF_PAY(3, "3", "自费");
@EnumValue
@JsonValue
private final Integer value;
private final String code;
private final String info;
}

View File

@@ -0,0 +1,47 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 仓库类型
*
* @author mayang
* @date 2025-03-10
*/
@Getter
@AllArgsConstructor
public enum InventoryType implements HisEnumInterface {
/**
* 仓库
*/
INVENTORY(1, "1", "仓库"),
/**
* 药房
*/
PHARMACY(2, "2", "药房");
@EnumValue
private Integer value;
private String code;
private String info;
public static InventoryType getByValue(Integer value) {
if (value == null) {
return null;
}
for (InventoryType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,37 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum InvoiceStatus {
DRAFT(1, "draft", "发票已经准备好了,但尚未定稿。"),
ISSUED(2, "issued", "发票已定稿并发给了收款人。"),
BALANCED(3, "balanced", "发票已结清/完全付清了。"),
CANCELLED(4, "cancelled", "这张发票作废了。"),
ERROR(5, "entered-in-error", "这张发票在开出去之前就被确定为是填错了的。");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static InvoiceStatus getByValue(Integer value) {
if (value == null) {
return null;
}
for (InvoiceStatus val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,44 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import com.github.pagehelper.util.StringUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* InvoiceType (0: MEMBER_FIRST; 1: MEMBER_SECOND;)
*
* @author SunJQ
* @date 2025-04-28
*/
@Getter
@AllArgsConstructor
public enum InvoiceType {
/**
* 开具
*/
ISSUING_INVOICES("0", "开具"),
/**
* 冲销
*/
REVERSING_INVOICES("1", "冲销");
private String value;
private String description;
public static InvoiceType getByValue(String value) {
if (StringUtil.isEmpty(value)) {
return null;
}
for (InvoiceType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,52 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 项目类型
*
* @author zwh
* @date 2025-03-10
*/
@Getter
@AllArgsConstructor
public enum ItemType implements HisEnumInterface {
/**
* 药品
*/
MEDICINE(1, "1", "药品"),
/**
* 耗材
*/
DEVICE(2, "2", "耗材"),
/**
* 医疗活动
*/
ACTIVITY(3, "3", "医疗活动");
@EnumValue
private Integer value;
private String code;
private String info;
public static ItemType getByValue(Integer value) {
if (value == null) {
return null;
}
for (ItemType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,29 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum LocationBedStatus implements HisEnumInterface {
C(1, "C", "关闭"), H(2, "H", "整理"), O(3, "O", "占用"), U(4, "U", "空闲"), K(5, "K", "污染"), I(6, "I", "隔离");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static LocationBedStatus getByValue(Integer value) {
if (value == null) {
return null;
}
for (LocationBedStatus val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,67 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum LocationForm implements HisEnumInterface {
SITE(1, "si", "集合点"),
BUILDING(2, "bu", "建筑"),
WING(3, "wi", "连廊"),
WARD(4, "wa", "病区"),
LEVEL(5, "lvl", "楼层"),
CORRIDOR(6, "co", "走廊"),
ROOM(7, "ro", "诊室"),
BED(8, "bd", ""),
VEHICLE(9, "ve", "运输工具"),
HOUSE(10, "ho", "病房"),
CABINET(11, "ca", "药库"),
ROAD(12, "rd", ""),
AREA(13, "area", "区域"),
VIRTUAL(15, "vi", "虚拟"),
PHARMACY(16, "ph", "药房"),
WAREHOUSE (17, "wa", "仓库"),
DEPARTMENT (18, "de", "科室");
// PHARMACY_WINDOW(17, "phw", "发药窗口"),
// PHARMACY_TABLE(18, "dt", "摆药台"),
// NURSE_STATION(19, "ns", "护士站"),
// PERSON_STORE(20, "ps", "个人储物柜"),
// DOCTOR_TABLE(21, "dt", "医生诊台");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static LocationForm getByValue(Integer value) {
if (value == null) {
return null;
}
for (LocationForm val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,31 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum LocationMode implements HisEnumInterface {
INSTANCE(1, "instance", "具体"),
KIND(2, "Kind", "种类");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static LocationMode getByValue(Integer value) {
if (value == null) {
return null;
}
for (LocationMode val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,41 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 操作状态
*
* @author zwh
* @date 2025-03-31
*/
@Getter
@AllArgsConstructor
public enum LocationOperational implements HisEnumInterface {
USE(1, "1", "使用"),
NOT_USED(2, "2", "未使用");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static LocationOperational getByValue(Integer value) {
if (value == null) {
return null;
}
for (LocationOperational val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,44 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum LocationStatus implements HisEnumInterface {
ACTIVE(1, "active", "启用"),
INACTIVE(2, "inactive", "停用"),
SUSPENDED(3, "suspended", "临时停用"),
ARRANGE(4, "arrange", "整理"),
OCCUPY(5, "occupy", "占用"),
IDLE(6, "idle", "空闲"),
POLLUTION(7, "pollution", "污染"),
ISOLATE(8, "isolate", "隔离");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static LocationStatus getByValue(Integer value) {
if (value == null) {
return null;
}
for (LocationStatus val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,31 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum MaritalStatus implements HisEnumInterface {
UNMARRIED(10, "10", "未婚"), MARRIED(20, "20", "已婚"), FIRST_MARRIAGE(21, "21", "初婚"), SECOND_MARRIAGE(22, "22", "再婚"),
REMARRIED(23, "23", "复婚"), WIDOWED(30, "30", "丧偶"), DIVORCED(40, "40", "离婚"), UNSPECIFIED(90, "90", "未说明的婚姻状况");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static MaritalStatus getByValue(Integer value) {
if (value == null) {
return null;
}
for (MaritalStatus val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,47 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 未执行原因
*
* @author zwh
* @date 2025-03-29
*/
@Getter
@AllArgsConstructor
public enum NotPerformedReason {
/**
* 退费
*/
REFUND(1, "1", "退费"),
/**
* 异常
*/
ERROR(9, "9", "异常");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static NotPerformedReason getByValue(Integer value) {
if (value == null) {
return null;
}
for (NotPerformedReason val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,136 @@
package com.openhis.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 药品请求状态
*
* @author wangyang
* @date 2025-03-14
*/
@Getter
@AllArgsConstructor
public enum NotPerformedReasonEnum implements HisEnumInterface {
/**
* 订单已停止
*/
ORDER_STOPPED(1,"OS", "订单已停止"),
/**
* 过时订单
*/
OUTDATED_ORDER(2, "OO", "过时订单"),
/**
* 不完整的数据
*/
INCOMPLETE_DATA(3, "ID", "不完整的数据"),
/**
* 产品不可用
*/
PRODUCT_NOT_AVAILABLE(4, "PNA", "产品不可用"),
/**
* 道德/宗教
*/
MORAL_RELIGIOUS(5, "MR", "道德/宗教"),
/**
* 无法提供护理
*/
UNABLE_PROVIDE(6, "UP", "无法提供护理"),
/**
* 先尝试其他治疗方法
*/
OTHER_TREATMENT(7, "OT", "先尝试其他治疗方法"),
/**
* 处方/请求需要澄清
*/
PRESCRIPTION_REQUEST_CLARIFICATION(8, "PRC", "处方/请求需要澄清"),
/**
* 药物水平过高
*/
EXCESSIVE_DRUG_LEVELS(9, "EDL", "药物水平过高"),
/**
* 入院
*/
HOSPITALIZED(10, "HO", "入院"),
/**
* 实验室干扰问题
*/
LABORATORY_INTERFERENCE_ISSUE(11, "LII", "实验室干扰问题"),
/**
* 患者不可用
*/
PATIENT_UNAVAILABLE(12, "PU", "患者不可用"),
/**
* 患者怀孕或哺乳
*/
PATIENT_PREGNANT_BREASTFEEDING(13, "PPB", "患者怀孕或哺乳"),
/**
* 过敏
*/
ALLERGY(14, "AL", "过敏"),
/**
* 药物与另一种药物相互作用
*/
ANOTHER_DRUG(15, "AD", "药物与另一种药物相互作用"),
/**
* 重复治疗
*/
REPEAT_TREATMENT(16, "RT", "重复治疗"),
/**
* 疑似不耐受
*/
SUSPECTED_INTOLERANCE(17, "SI", "疑似不耐受"),
/**
* 计划手术的患者
*/
PATIENTS_PLANNING_SURGERY(18, "PPS", "计划手术的患者"),
/**
* 冲洗
*/
WASH(19, "WA", "冲洗"),
/**
* 药物缺货
*/
DRUG_SHORTAGE(20, "DS", "药物缺货"),
/**
* 药物不可用
*/
MEDICATION_NOT_AVAILABLE(21, "MNA", "药物不可用");
private Integer value;
private String code;
private String info;
public static NotPerformedReasonEnum getByValue(Integer value) {
if (value == null) {
return null;
}
for (NotPerformedReasonEnum val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,83 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import com.core.common.utils.StringUtils;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 护理医嘱分类
*
* @author zwh
* @date 2025-03-14
*/
@Getter
@AllArgsConstructor
public enum NursingOrdersClass implements HisEnumInterface {
/**
* 护理
*/
NURSING(26, "26", "护理"),
/**
* 病情
*/
CONDITION(38, "38", "病情"),
/**
* 护理常规
*/
NURSING_ROUTINE(39, "39", "护理常规"),
/**
* 膳食
*/
DIET(27, "27", "膳食"),
/**
* 体位
*/
POSITION(40, "40", "体位"),
/**
* 陪护
*/
COMPANION_CARE(41, "41", "陪护"),
/**
* 隔离等级
*/
ISOLATION_LEVEL(42, "42", "隔离等级");
private Integer value;
private String code;
private String info;
public static NursingOrdersClass getByValue(Integer value) {
if (value == null) {
return null;
}
for (NursingOrdersClass val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
public static NursingOrdersClass getByCode(String code) {
if (StringUtils.isEmpty(code)) {
return null;
}
for (NursingOrdersClass val : values()) {
if (val.getCode().equals(code)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,32 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum OccupationType implements HisEnumInterface {
STATE_CIVIL_SERVANT(11, "11", "国家公务员"), PROFESSIONAL(13, "13", "专业技术人员"), CLERK(17, "17", "职员"),
BUSINESS_MANAGER(21, "21", "企业管理人员"), WORKER(24, "24", "工人"), FARMER(27, "27", "农民"), STUDENT(31, "31", "学生"),
ACTIVE_MILITARY(37, "37", "现役军人"), FREELANCER(51, "51", "自由职业者"), SELF_EMPLOYED(54, "54", "个体经营者"),
UNEMPLOYED(70, "70", "无业人员"), RETIREE(80, "80", "退(离)休人员"), OTHER(90, "90", "其他");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static OccupationType getByValue(Integer value) {
if (value == null) {
return null;
}
for (OccupationType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,41 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 组套类型
*
* @author yangmo
* @date 2025-04-11
*/
@Getter
@AllArgsConstructor
public enum OrderGroupType implements HisEnumInterface {
ORDER(1, "1", "医嘱组套"),
CHINESE(2, "2", "中医协定处方(组套)"),
CHARGEITEM(3, "3", "划价组套");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static OrderGroupType getByValue(Integer value) {
if (value == null) {
return null;
}
for (OrderGroupType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,31 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum OrganizationClass implements HisEnumInterface {
CLINIC(1, "clinic", "门诊"), INPATIENT(2, "inpatient", "住院"), PHARMACY(3, "pharmacy", "药房"),
STORAGE(4, "storage", "库房"), FIN(5, "fin", "财务"), NS(6, "ns", "护士站"), MANAGER(7, "manager", "管理部门"),
SUPPORT(8, "support", "后勤部门"), OTHER(9, "other", "其他");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static OrganizationClass getByValue(Integer value) {
if (value == null) {
return null;
}
for (OrganizationClass val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,71 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum OrganizationType implements HisEnumInterface {
// // Healthcare Provider
// HEALTHCARE_PROVIDER(1, "Healthcare Provider", "医院"),
//
// // Hospital Department
// HOSPITAL_DEPARTMENT(2, "Hospital Department", "科室"),
//
// // Organizational team
// ORGANIZATIONAL_TEAM(3, "Organizational team", "团队"),
//
// // Government
// GOVERNMENT(4, "Government", "政府"),
//
// // Insurance Company
// INSURANCE_COMPANY(5, "Insurance Company", "医保局"),
//
// // Payer
// PAYER(6, "Payer", "A company, charity, or governmental organization, which processes claims and/or issues
// payments to providers on behalf of patients or groups of patients."),
//
// // Educational Institute
// EDUCATIONAL_INSTITUTE(7, "Educational Institute", "An educational institution that provides education or research
// facilities."),
//
// // Religious Institution
// RELIGIOUS_INSTITUTION(8, "Religious Institution", "An organization that is identified as a part of a religious
// institution."),
//
// // Clinical Research Sponsor
// CLINICAL_RESEARCH_SPONSOR(9, "Clinical Research Sponsor", "An organization that is identified as a
// Pharmaceutical/Clinical Research Sponsor."),
//
// // Community Group
// COMMUNITY_GROUP(10, "Community Group", "An un-incorporated community group."),
//
// // Non-Healthcare Business or Corporation
// NON_HEALTHCARE_BUSINESS(11, "Non-Healthcare Business or Corporation", "An organization that is a registered
// business or corporation but not identified by other types."),
//
// // Network
// NETWORK(12, "Network", "A healthcare provider insurance network");
HOSPITAL(1, "1", "医院"),
DEPARTMENT(2, "2", "科室");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static OrganizationType getByValue(Integer value) {
if (value == null) {
return null;
}
for (OrganizationType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,40 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 门诊分类
*/
@Getter
@AllArgsConstructor
public enum OutpatientClass implements HisEnumInterface {
GENERAL_OUTPATIENT_SERVICE(1, "GOS", "普通门诊"), EMERGENCY_TREATMENT(2, "ET", "急诊"),
HEALTH_COUNSELING(3, "HC", "健康咨询"), SPECIALIZED_OUTPATIENT_DEPARTMENT(4, "SOD", "专科门诊"),
VIP_CLINIC(5, "VC", "特需门诊"), SPECIALIZED_DISEASE_DEPARTMENT(6, "SOD", "专病门诊"),
APPOINTMENT_FOR_REGISTRATION(7, "AFR", "预约挂号"), WESTERN_MEDICINE(11, "WM", "西医"),
TRADITIONAL_CHINESE_MEDICAL_SCIENCE(12, "TCMS", "中医"), WESTERN_MEDICINE_EMERGENCY_DEPARTMENT(21, "WMED", "西医急诊"),
TRADITIONAL_CHINESE_MEDICINE_EMERGENCY(22, "TCME", "中医急诊"), PHYSICAL_EXAMINATION(31, "PE", "体检"),
PREVENTIVE_MEDICAL_EXAMINATION(32, "PME", "预防体检"), MATERNAL_AND_CHILD_HEALTH_CARE(33, "MACHC", "孕产保健"),
OTHER(99, "OT", "其他");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static OutpatientClass getByValue(Integer value) {
if (value == null) {
return null;
}
for (OutpatientClass val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,47 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 包装情况
*
* @author yuxj
* @date 2025-07-29
*/
@Getter
@AllArgsConstructor
public enum PackagingCondition implements HisEnumInterface{
/**
* 包装完好
*/
INTACT_PACKAGING(1, "1","包装完好"),
/**
* 包装破损
*/
DAMAGED_PACKAGING(2, "2","包装破损"),
/**
* 包装损坏
*/
SEVERELY_DAMAGED_PACKAGING(3, "3","包装损坏");
private Integer value;
private String code;
private String info;
public static PackagingCondition getByValue(Integer value) {
if (value == null) {
return null;
}
for (PackagingCondition val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,54 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 参与者类型
*/
@Getter
@AllArgsConstructor
public enum ParticipantType implements HisEnumInterface {
ADMITTER(1, "1", "接诊医生"),
PRIMARY_NURSE(2, "2", "责任护士"),
CONTACT(3, "3", "联系人"),
CONSULTANT(4, "4", "顾问"),
DISCHARGER(5, "5", "出院办理人"),
ESCORT(6, "6", "护送人"),
REFERRER(7, "7", "推荐人"),
EMERGENCY(8, "8", "紧急联系人"),
ADMITTING_DOCTOR(9, "9", "住院医生"),
CHIEF_DOCTOR(10, "10", "主任医生"),
ATTENDING_DOCTOR(11, "11", "主治医生"),
REGISTRATION_DOCTOR(12, "12", "挂号医生");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static ParticipantType getByValue(Integer value) {
if (value == null) {
return null;
}
for (ParticipantType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,49 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* PaymentKind (0: MEMBER_FIRST; 1: MEMBER_SECOND;)
*
* @author SunJQ
* @date 2025-03-29
*/
@Getter
@AllArgsConstructor
public enum PaymentKind {
/**
* 住院存款
*/
HOSPITAL_DEPOSIT(0, "住院存款"),
/**
* 门诊收费
*/
OUTPATIENT_CLINIC(1, "门诊收费"),
/**
* 住院费用
*/
INPATIENT_CLINIC(2, "住院费用");
@EnumValue
private Integer value;
private String description;
public static PaymentKind getByValue(Integer value) {
if (value == null) {
return null;
}
for (PaymentKind val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,52 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import com.github.pagehelper.util.StringUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 付款结果
*
* @author SunJQ
* @date 2025-04-20
*/
@Getter
@AllArgsConstructor
public enum PaymentOutcome {
/**
* 排队
*/
QUEUED("0", 0,"排队"),
/**
* 完整
*/
COMPLETED("1", 1, "完整"),
/**
* 错误
*/
ERROR("2", 3,"错误"),
/**
* 部分
*/
PARTIAL("3", 4, "部分");
private String value;
private Integer code;
private String description;
public static PaymentOutcome getByValue(String value) {
if (StringUtil.isEmpty(value)) {
return null;
}
for (PaymentOutcome val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,46 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* PaymentResult (0: MEMBER_FIRST; 1: MEMBER_SECOND;)
*
* @author SunJQ
* @date 2025-03-29
*/
@Getter
@AllArgsConstructor
public enum PaymentResult {
/**
* 未支付
*/
UNPAID(0, "未支付"),
/**
* 已支付
*/
PAID(1, "已支付"),
/**
* 已退费
*/
REFUNDED(-2, "已退费");
private Integer value;
private String description;
public static PaymentResult getByValue(Integer value) {
if (value == null) {
return null;
}
for (PaymentResult val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,42 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* PaymentStatisticalMethod (0: MEMBER_FIRST; 1: MEMBER_SECOND;)
*
* @author SunJQ
* @date 2025-08-08
*/
@Getter
@AllArgsConstructor
public enum PaymentStatisticalMethod {
/**
* 字典fin_type_code
*/
FIN_TYPE_CODE(1, "fin_type_code"),
/**
* 医保分类med_chrgitm_type
*/
MED_CHRGITM_TYPE(2, "med_chrgitm_type");
private Integer value;
private String description;
public static PaymentStatisticalMethod getByValue(Integer value) {
if (value == null) {
return null;
}
for (PaymentStatisticalMethod val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,69 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 支付状态
*
* @author zwh
* @date 2025-03-17
*/
@Getter
@AllArgsConstructor
public enum PaymentStatus implements HisEnumInterface{
/**
* 草稿
*/
DRAFT(0, "0", "草稿"),
/**
* 支付成功
*/
SUCCESS(1, "1", "支付成功"),
/**
* 支付取消
*/
CANCEL(2, "2", "支付取消"),
/**
* 全部退款
*/
REFUND_ALL(3, "3", "全部退款"),
/**
* 部分退款
*/
REFUND_PART(4, "4", "部分退款"),
/**
* 退款中(对于账单来说依然是入账状态,为了连接charge_item使用的中间状态) 暂不使用
*/
REFUNDING(5, "5", "退款中"),
/**
* 错误
*/
ERROR(9, "9", "错误");
private Integer value;
private String code;
private String info;
public static PaymentStatus getByValue(Integer value) {
if (value == null) {
return null;
}
for (PaymentStatus val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,49 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.common.enums;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* PaymentType (0: MEMBER_FIRST; 1: MEMBER_SECOND;)
*
* @author SunJQ
* @date 2025-03-29
*/
@Getter
@AllArgsConstructor
public enum PaymentType implements HisEnumInterface {
/**
* 付费
*/
PAY(0, "0", "付费", BigDecimal.ONE),
/**
* 退费
*/
UN_PAY(1, "0", "退费", new BigDecimal("-1"));
@EnumValue
private Integer value;
private String code;
private String info;
private BigDecimal multiplier;
public static PaymentType getByValue(Integer value) {
if (value == null) {
return null;
}
for (PaymentType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,37 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 权限限制
*
* @author liuhr
* @date 2025/3/25
*/
@Getter
@AllArgsConstructor
public enum PermissionLimit implements HisEnumInterface {
UNRESTRICTED(1, "unrestricted", "非限制使用"),
RESTRICTED(2, "restricted", "限制使用"),
SPECIAL(3, "special", "特殊使用");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static PermissionLimit getByValue(Integer value) {
if (value == null) {
return null;
}
for (PermissionLimit val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,39 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 参与者角色 : 对应 sys_role表的角色标识 ; 需要补充业务数据时在该枚举类添加
*/
@Getter
@AllArgsConstructor
public enum PractitionerRoles implements HisEnumInterface {
DOCTOR(1, "doctor", "医生"),
NURSE(2, "nurse", "护士"),
PHARMACIST(3, "pharmacist", "药师"),
LOCATION_ADMIN(4, "locationAdmin", "药库管理员");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static PractitionerRoles getByValue(Integer value) {
if (value == null) {
return null;
}
for (PractitionerRoles val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,60 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.github.pagehelper.util.StringUtil;
import com.openhis.common.enums.ybenums.YbRxItemTypeCode;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 处方类别
*
* @author liuhr
* @date 2025/4/21
*/
@Getter
@AllArgsConstructor
public enum PrescriptionType implements HisEnumInterface {
OUTPATIENT_WESTERN_OR_TRADITIONAL_CHINESE_MEDICINE(1, "1", "门诊西药中成药"),
OUTPATIENT_CHINESE_MATERIAL_MEDICATED(2, "2", "门诊中药饮片"),
EMERGENCY_WESTERN_OR_TRADITIONAL_CHINESE_MEDICINE(3, "3", "急诊西药中成药"),
EMERGENCY_CHINESE_MATERIAL_MEDICATED(4, "4", "急诊中药饮片"),
PEDIATRIC_WESTERN_OR_TRADITIONAL_CHINESE_MEDICINE(5, "5", "儿科西药中成药"),
PEDIATRIC_CHINESE_MATERIAL_MEDICATED(6, "6", "儿科中药饮片"),
NARCOTIC_OR_SPIRIT_FIRST_CLASS(7, "7", "麻、精一"),
SPIRIT_SECOND_CLASS(8, "8", "精二"),
CHINESE_MATERIAL_MEDICATED(9, "9", "中药饮片"),
TRADITIONAL_CHINESE_MEDICINE_PREPARATION(10, "10", "中成药"),
INPATIENT_WESTERN_OR_TRADITIONAL_CHINESE_MEDICINE(11, "11", "住院西药中成药"),
OTHER(99, "99", "其它");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static PrescriptionType getByValue(Integer value) {
if (value == null) {
return null;
}
for (PrescriptionType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,41 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 优先级
*/
@Getter
@AllArgsConstructor
public enum PriorityLevel implements HisEnumInterface {
NOT_URGENT(1, "NU", "不紧急"),
ORDINARY(2, "OR", "普通"),
PRIORITY(3, "PR", "优先"),
EMERGENCY(4, "EM", "紧急"),
DANGER(5, "DA", "");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static PriorityLevel getByValue(Integer value) {
if (value == null) {
return null;
}
for (PriorityLevel val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

Some files were not shown because too many files have changed in this diff Show More