From d9a1b188b57026b950ed462b413be59d42ddac75 Mon Sep 17 00:00:00 2001 From: chenqi Date: Fri, 19 Jun 2026 10:18:32 +0800 Subject: [PATCH] =?UTF-8?q?feat(kg):=20=E5=8C=BB=E7=96=97=E7=9F=A5?= =?UTF-8?q?=E8=AF=86=E5=9B=BE=E8=B0=B1=E5=85=A8=E6=A0=88=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=20-=20=E8=A1=A5=E5=85=85=E7=BC=BA=E5=A4=B1=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/knowledgegraph/dto/KgDiseaseDto.java | 4 ++ .../his/web/knowledgegraph/dto/KgDrugDto.java | 2 + .../knowledgegraph/dto/KgExaminationDto.java | 2 + .../web/knowledgegraph/dto/KgSymptomDto.java | 2 + .../db/migration/V89__knowledge_graph.sql | 62 +++++++++++++++++++ .../his/knowledgegraph/domain/KgDisease.java | 4 ++ .../his/knowledgegraph/domain/KgDrug.java | 2 + .../knowledgegraph/domain/KgExamination.java | 2 + .../his/knowledgegraph/domain/KgSymptom.java | 2 + 9 files changed, 82 insertions(+) create mode 100644 healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V89__knowledge_graph.sql diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgDiseaseDto.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgDiseaseDto.java index 86c728731..f5b1c02bb 100644 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgDiseaseDto.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgDiseaseDto.java @@ -24,4 +24,8 @@ public class KgDiseaseDto implements Serializable { private String department; private String severityLevel; + + private String description; + + private String keywords; } diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgDrugDto.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgDrugDto.java index dc2de755d..9d393c5ec 100644 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgDrugDto.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgDrugDto.java @@ -26,4 +26,6 @@ public class KgDrugDto implements Serializable { private String dosageForm; private String contraindications; + + private String sideEffects; } diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgExaminationDto.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgExaminationDto.java index c79663d5d..ef82c1343 100644 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgExaminationDto.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgExaminationDto.java @@ -24,4 +24,6 @@ public class KgExaminationDto implements Serializable { private String department; private String referenceRange; + + private String clinicalSignificance; } diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgSymptomDto.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgSymptomDto.java index 3cbbf5440..55486c403 100644 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgSymptomDto.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgSymptomDto.java @@ -22,4 +22,6 @@ public class KgSymptomDto implements Serializable { private String bodyPart; private String symptomType; + + private String severityIndicator; } diff --git a/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V89__knowledge_graph.sql b/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V89__knowledge_graph.sql new file mode 100644 index 000000000..df1002d9b --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V89__knowledge_graph.sql @@ -0,0 +1,62 @@ +-- V89: 知识图谱 - 添加缺失字段 (description, keywords, severityIndicator, sideEffects, clinicalSignificance, evidenceSource, department, required) + +-- kg_disease: 添加 description, keywords +DO $$ BEGIN + ALTER TABLE kg_disease ADD COLUMN IF NOT EXISTS description TEXT; +EXCEPTION WHEN duplicate_column THEN NULL; +END $$; +DO $$ BEGIN + ALTER TABLE kg_disease ADD COLUMN IF NOT EXISTS keywords VARCHAR(512); +EXCEPTION WHEN duplicate_column THEN NULL; +END $$; + +COMMENT ON COLUMN kg_disease.description IS '疾病描述'; +COMMENT ON COLUMN kg_disease.keywords IS '关键词'; + +-- kg_symptom: 添加 severity_indicator +DO $$ BEGIN + ALTER TABLE kg_symptom ADD COLUMN IF NOT EXISTS severity_indicator VARCHAR(32); +EXCEPTION WHEN duplicate_column THEN NULL; +END $$; + +COMMENT ON COLUMN kg_symptom.severity_indicator IS '严重程度指标'; + +-- kg_drug: 添加 side_effects +DO $$ BEGIN + ALTER TABLE kg_drug ADD COLUMN IF NOT EXISTS side_effects TEXT; +EXCEPTION WHEN duplicate_column THEN NULL; +END $$; + +COMMENT ON COLUMN kg_drug.side_effects IS '不良反应'; + +-- kg_examination: 添加 clinical_significance +DO $$ BEGIN + ALTER TABLE kg_examination ADD COLUMN IF NOT EXISTS clinical_significance TEXT; +EXCEPTION WHEN duplicate_column THEN NULL; +END $$; + +COMMENT ON COLUMN kg_examination.clinical_significance IS '临床意义'; + +-- kg_entity_relation: 添加 evidence_source +DO $$ BEGIN + ALTER TABLE kg_entity_relation ADD COLUMN IF NOT EXISTS evidence_source VARCHAR(512); +EXCEPTION WHEN duplicate_column THEN NULL; +END $$; + +COMMENT ON COLUMN kg_entity_relation.evidence_source IS '证据来源'; + +-- kg_clinical_pathway: 添加 department +DO $$ BEGIN + ALTER TABLE kg_clinical_pathway ADD COLUMN IF NOT EXISTS department VARCHAR(128); +EXCEPTION WHEN duplicate_column THEN NULL; +END $$; + +COMMENT ON COLUMN kg_clinical_pathway.department IS '所属科室'; + +-- kg_pathway_step: 添加 required +DO $$ BEGIN + ALTER TABLE kg_pathway_step ADD COLUMN IF NOT EXISTS required CHAR(1) DEFAULT '1'; +EXCEPTION WHEN duplicate_column THEN NULL; +END $$; + +COMMENT ON COLUMN kg_pathway_step.required IS '是否必选(1-是 0-否)'; diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgDisease.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgDisease.java index 118de459f..61bbc5eb6 100644 --- a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgDisease.java +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgDisease.java @@ -29,4 +29,8 @@ public class KgDisease extends HisBaseEntity { private String department; private String severityLevel; + + private String description; + + private String keywords; } diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgDrug.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgDrug.java index c1a7ae21a..5b692a185 100644 --- a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgDrug.java +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgDrug.java @@ -31,4 +31,6 @@ public class KgDrug extends HisBaseEntity { private String dosageForm; private String contraindications; + + private String sideEffects; } diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgExamination.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgExamination.java index 8aba928a9..e0048fd18 100644 --- a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgExamination.java +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgExamination.java @@ -29,4 +29,6 @@ public class KgExamination extends HisBaseEntity { private String department; private String referenceRange; + + private String clinicalSignificance; } diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgSymptom.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgSymptom.java index 24bc07bf3..5fa2e5bcf 100644 --- a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgSymptom.java +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgSymptom.java @@ -27,4 +27,6 @@ public class KgSymptom extends HisBaseEntity { private String bodyPart; private String symptomType; + + private String severityIndicator; }