|
@@ -60,13 +60,8 @@ public class FIRC03326 extends QCCatalogue {
|
|
if (initialDiagLabel != null) {
|
|
if (initialDiagLabel != null) {
|
|
List<Diag> diagLists = initialDiagLabel.getDiags();
|
|
List<Diag> diagLists = initialDiagLabel.getDiags();
|
|
if (ListUtil.isNotEmpty(diagLists)) {
|
|
if (ListUtil.isNotEmpty(diagLists)) {
|
|
- diagLists.stream().filter(diag -> StringUtil.isNotEmpty(diag.getHospitalDiagName()) && (diagListWords.contains(diag.getHospitalDiagName()))).forEach(diag -> {
|
|
|
|
- Pattern pattern = Pattern.compile("[Gg孕][^1-9]?([1-9])[^1-9]?[Pp产][^1-9]?([0-9])[^1-9]");
|
|
|
|
- Matcher matcher = pattern.matcher(diag.getHospitalDiagName());
|
|
|
|
- if (matcher.find()) {
|
|
|
|
- diagList.add(matcher.group());
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
|
|
+ diagLists.stream().filter(diag -> StringUtil.isNotEmpty(diag.getHospitalDiagName()) && (diagListWords.contains(diag.getHospitalDiagName()) || diag.getHospitalDiagName().matches(".*[Gg孕][^1-9]?([1-9])[^1-9]?[Pp产][^1-9]?([0-9])[^1-9].*"))).forEach(diag ->
|
|
|
|
+ diagList.add(diag.getHospitalDiagName()));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -77,10 +72,10 @@ public class FIRC03326 extends QCCatalogue {
|
|
|
|
|
|
//第一个诊断为准
|
|
//第一个诊断为准
|
|
if (diagList.get(0).contains("孕")) {
|
|
if (diagList.get(0).contains("孕")) {
|
|
- graNumA = diagList.get(0).substring(diagList.get(0).indexOf("孕"), Math.min(diagList.get(0).length(), diagList.get(0).indexOf("孕") + 1));
|
|
|
|
|
|
+ graNumA = diagList.get(0).substring(diagList.get(0).indexOf("孕") + 1, Math.min(diagList.get(0).length(), diagList.get(0).indexOf("孕") + 2));
|
|
}
|
|
}
|
|
if (diagList.get(0).contains("产")) {
|
|
if (diagList.get(0).contains("产")) {
|
|
- parityNumB = diagList.get(0).substring(diagList.get(0).indexOf("产"), Math.min(diagList.get(0).length(), diagList.get(0).indexOf("产") + 1));
|
|
|
|
|
|
+ parityNumB = diagList.get(0).substring(diagList.get(0).indexOf("产") + 1, Math.min(diagList.get(0).length(), diagList.get(0).indexOf("产") + 2));
|
|
}
|
|
}
|
|
|
|
|
|
if (StringUtil.isEmpty(graNumA) || StringUtil.isEmpty(parityNumB)) {
|
|
if (StringUtil.isEmpty(graNumA) || StringUtil.isEmpty(parityNumB)) {
|
|
@@ -92,7 +87,7 @@ public class FIRC03326 extends QCCatalogue {
|
|
if (diagnosisLabel != null) {
|
|
if (diagnosisLabel != null) {
|
|
String text = diagnosisLabel.getText();
|
|
String text = diagnosisLabel.getText();
|
|
if (StringUtil.isNotBlank(text)) {
|
|
if (StringUtil.isNotBlank(text)) {
|
|
- Pattern pattern = Pattern.compile("[Gg孕][^1-9]?([1-9])[^1-9]?[Pp产][^1-9]?([0-9])[^1-9]");
|
|
|
|
|
|
+ Pattern pattern = Pattern.compile(".*[Gg孕][^1-9]?([1-9])[^1-9]?[Pp产][^1-9]?([0-9])[^1-9].*|([0-9])-([0-9])-([0-9])-([0-9])");
|
|
Matcher matcher = pattern.matcher(text);
|
|
Matcher matcher = pattern.matcher(text);
|
|
if (matcher.find()) {
|
|
if (matcher.find()) {
|
|
Diagnosis = matcher.group();
|
|
Diagnosis = matcher.group();
|
|
@@ -102,22 +97,34 @@ public class FIRC03326 extends QCCatalogue {
|
|
if (StringUtil.isEmpty(Diagnosis)) {
|
|
if (StringUtil.isEmpty(Diagnosis)) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- if (Diagnosis.contains("孕")) {
|
|
|
|
- graNumA1 = Diagnosis.substring(Diagnosis.indexOf("孕"), Math.min(Diagnosis.length(), Diagnosis.indexOf("孕") + 1));
|
|
|
|
- }
|
|
|
|
- if (Diagnosis.contains("产")) {
|
|
|
|
- parityNumB1 = Diagnosis.substring(Diagnosis.indexOf("产"), Math.min(Diagnosis.length(), Diagnosis.indexOf("产") + 1));
|
|
|
|
- }
|
|
|
|
|
|
+ if (Diagnosis.contains("孕") && Diagnosis.contains("产")) {
|
|
|
|
+ graNumA1 = Diagnosis.substring(Diagnosis.indexOf("孕") + 1, Math.min(Diagnosis.length(), Diagnosis.indexOf("孕") + 2));
|
|
|
|
+ parityNumB1 = Diagnosis.substring(Diagnosis.indexOf("产") + 1, Math.min(Diagnosis.length(), Diagnosis.indexOf("产") + 2));
|
|
|
|
|
|
- if (StringUtil.isEmpty(graNumA1) || StringUtil.isEmpty(parityNumB1)) {
|
|
|
|
- return;
|
|
|
|
|
|
+ if (StringUtil.isEmpty(graNumA1) || StringUtil.isEmpty(parityNumB1)) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ if (strConvertInt(graNumA) != strConvertInt(graNumA1) || strConvertInt(parityNumB) != strConvertInt(parityNumB1)) {
|
|
|
|
+ status.set("-1");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
- if (strConvertInt(graNumA) != strConvertInt(graNumA1) || strConvertInt(parityNumB) != strConvertInt(parityNumB1)) {
|
|
|
|
- status.set("-1");
|
|
|
|
- return;
|
|
|
|
|
|
+ if (Diagnosis.contains("-")) {
|
|
|
|
+ String[] split = Diagnosis.split("-");
|
|
|
|
+ try {
|
|
|
|
+ if ((strConvertInt(graNumA) != strConvertInt(split[0]) + strConvertInt(split[1]) + strConvertInt(split[2]) + 1) ||
|
|
|
|
+ (strConvertInt(parityNumB) != strConvertInt(split[0]) + strConvertInt(split[1]) + strConvertInt(split[2]))
|
|
|
|
+ ) {
|
|
|
|
+ status.set("-1");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
//String转int
|
|
//String转int
|