|
@@ -117,7 +117,8 @@ public class THR03077 extends QCCatalogue {
|
|
dateStr = firstCourseRecordDoc.getStructureMap().get("记录时间");
|
|
dateStr = firstCourseRecordDoc.getStructureMap().get("记录时间");
|
|
if (drugLabel != null && StringUtil.isNotBlank(dateStr)) {
|
|
if (drugLabel != null && StringUtil.isNotBlank(dateStr)) {
|
|
List<Drug> drugs = drugLabel.getDrugs();
|
|
List<Drug> drugs = drugLabel.getDrugs();
|
|
- getCourseDrugInfo(antibioticDateCourse, dateStr, drugs);
|
|
|
|
|
|
+ getCourseDrugInfo(antibioticDateCourse, dateStr, drugs,
|
|
|
|
+ CatalogueUtil.structureMapJoin(firstCourseRecordDoc.getStructureMap(), Lists.newArrayList("治疗计划")));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
/*********************************************查房记录********************************************************/
|
|
/*********************************************查房记录********************************************************/
|
|
@@ -130,7 +131,8 @@ public class THR03077 extends QCCatalogue {
|
|
dateStr = doc.getStructureMap().get("查房日期");
|
|
dateStr = doc.getStructureMap().get("查房日期");
|
|
ThreeLevelWardLabel label = doc.getThreeLevelWardLabel().get(0);
|
|
ThreeLevelWardLabel label = doc.getThreeLevelWardLabel().get(0);
|
|
List<Drug> drugs = label.getDrugs();
|
|
List<Drug> drugs = label.getDrugs();
|
|
- getCourseDrugInfo(antibioticDateCourse, dateStr, drugs);
|
|
|
|
|
|
+ getCourseDrugInfo(antibioticDateCourse, dateStr, drugs,
|
|
|
|
+ CatalogueUtil.structureMapJoin(doc.getStructureMap(), Lists.newArrayList("病情记录", "治疗计划和措施")));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
/*********************************************手术记录、术后首程************************************************/
|
|
/*********************************************手术记录、术后首程************************************************/
|
|
@@ -142,14 +144,16 @@ public class THR03077 extends QCCatalogue {
|
|
.filter(Objects::nonNull)
|
|
.filter(Objects::nonNull)
|
|
.filter(x -> x.getOperationRecordLabel() != null && StringUtil.isNotBlank(x.getStructureMap().get("病历日期")))
|
|
.filter(x -> x.getOperationRecordLabel() != null && StringUtil.isNotBlank(x.getStructureMap().get("病历日期")))
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
- operationRecordDocs.forEach(x -> getCourseDrugInfo(antibioticDateCourse, x.getStructureMap().get("病历日期"), x.getOperationRecordLabel().getDrugs()));
|
|
|
|
|
|
+ operationRecordDocs.forEach(x -> getCourseDrugInfo(antibioticDateCourse, x.getStructureMap().get("病历日期"), x.getOperationRecordLabel().getDrugs()
|
|
|
|
+ , CatalogueUtil.structureMapJoin(x.getStructureMap(), Lists.newArrayList("手术经过"))));
|
|
List<OperationDiscussionDoc> operationDiscussionDocs = operationDocs
|
|
List<OperationDiscussionDoc> operationDiscussionDocs = operationDocs
|
|
.stream()
|
|
.stream()
|
|
.map(OperationDoc::getOperationDiscussionDoc)
|
|
.map(OperationDoc::getOperationDiscussionDoc)
|
|
.filter(Objects::nonNull)
|
|
.filter(Objects::nonNull)
|
|
.filter(x -> x.getOperationDiscussionLabel() != null && StringUtil.isNotBlank(x.getStructureMap().get("记录日期")))
|
|
.filter(x -> x.getOperationDiscussionLabel() != null && StringUtil.isNotBlank(x.getStructureMap().get("记录日期")))
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
- operationDiscussionDocs.forEach(x -> getCourseDrugInfo(antibioticDateCourse, x.getStructureMap().get("记录日期"), x.getOperationDiscussionLabel().getDrugs()));
|
|
|
|
|
|
+ operationDiscussionDocs.forEach(x -> getCourseDrugInfo(antibioticDateCourse, x.getStructureMap().get("记录日期"), x.getOperationDiscussionLabel().getDrugs()
|
|
|
|
+ , CatalogueUtil.structureMapJoin(x.getStructureMap(), Lists.newArrayList("手术经过", "治疗计划和措施"))));
|
|
}
|
|
}
|
|
/*********************************************会诊结果单********************************************************/
|
|
/*********************************************会诊结果单********************************************************/
|
|
if (consultationDocs.size() > 0) {
|
|
if (consultationDocs.size() > 0) {
|
|
@@ -159,7 +163,8 @@ public class THR03077 extends QCCatalogue {
|
|
.filter(Objects::nonNull)
|
|
.filter(Objects::nonNull)
|
|
.filter(x -> x.getConsultationResultLabel() != null && StringUtil.isNotBlank(x.getStructureMap().get("会诊日期及时间")))
|
|
.filter(x -> x.getConsultationResultLabel() != null && StringUtil.isNotBlank(x.getStructureMap().get("会诊日期及时间")))
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
- consultationResultsDocs.forEach(x -> getCourseDrugInfo(antibioticDateCourse, x.getStructureMap().get("会诊日期及时间"), x.getConsultationResultLabel().getDrugs()));
|
|
|
|
|
|
+ consultationResultsDocs.forEach(x -> getCourseDrugInfo(antibioticDateCourse, x.getStructureMap().get("会诊日期及时间"), x.getConsultationResultLabel().getDrugs()
|
|
|
|
+ , CatalogueUtil.structureMapJoin(x.getStructureMap(), Lists.newArrayList("会诊意见"))));
|
|
}
|
|
}
|
|
/*********************************************出院小结********************************************************/
|
|
/*********************************************出院小结********************************************************/
|
|
if (leaveHospitalDoc != null) {
|
|
if (leaveHospitalDoc != null) {
|
|
@@ -167,7 +172,8 @@ public class THR03077 extends QCCatalogue {
|
|
dateStr = leaveHospitalDoc.getStructureMap().get("出院时间");
|
|
dateStr = leaveHospitalDoc.getStructureMap().get("出院时间");
|
|
if (leaveHospitalLabel != null && StringUtil.isNotBlank(dateStr)) {
|
|
if (leaveHospitalLabel != null && StringUtil.isNotBlank(dateStr)) {
|
|
List<Drug> drugs = leaveHospitalLabel.getDrugs();
|
|
List<Drug> drugs = leaveHospitalLabel.getDrugs();
|
|
- getCourseDrugInfo(antibioticDateCourse, dateStr, drugs);
|
|
|
|
|
|
+ getCourseDrugInfo(antibioticDateCourse, dateStr, drugs
|
|
|
|
+ , CatalogueUtil.structureMapJoin(leaveHospitalDoc.getStructureMap(), Lists.newArrayList("诊治经过", "出院带药")));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//将病程日期排序
|
|
//将病程日期排序
|
|
@@ -251,11 +257,15 @@ public class THR03077 extends QCCatalogue {
|
|
* @param dateStr 记录日期
|
|
* @param dateStr 记录日期
|
|
* @param drugs 模型提取出的药品列表
|
|
* @param drugs 模型提取出的药品列表
|
|
*/
|
|
*/
|
|
- private void getCourseDrugInfo(Map<String, List<String>> antibioticDateWard, String dateStr, List<Drug> drugs) {
|
|
|
|
|
|
+ private void getCourseDrugInfo(Map<String, List<String>> antibioticDateWard, String dateStr, List<Drug> drugs, String content) {
|
|
StringBuffer sb = null;
|
|
StringBuffer sb = null;
|
|
for (Drug drug : drugs) {
|
|
for (Drug drug : drugs) {
|
|
sb = new StringBuffer();
|
|
sb = new StringBuffer();
|
|
String wardDrug = drug.getName();
|
|
String wardDrug = drug.getName();
|
|
|
|
+ int position = content.indexOf(wardDrug);
|
|
|
|
+ if (content.substring(Math.max(0, position - 10), position).contains("继续")) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
wardDrug = removeBracket(wardDrug);
|
|
wardDrug = removeBracket(wardDrug);
|
|
String drugStandardWord = similarityUtil.getDrugStandardWord(wardDrug);
|
|
String drugStandardWord = similarityUtil.getDrugStandardWord(wardDrug);
|
|
if (StringUtil.isNotBlank(drugStandardWord)) {
|
|
if (StringUtil.isNotBlank(drugStandardWord)) {
|