|
@@ -33,7 +33,6 @@ public class FIRP0190 extends QCCatalogue {
|
|
|
if (CatalogueUtil.isEmpty(rhFactor)) {
|
|
|
return;
|
|
|
}
|
|
|
-// rhFactor = "RH" + rhFactor;
|
|
|
int matchSum = 0, noRhSum = 0;
|
|
|
for (ClinicalBloodDoc clinicalBloodDoc : clinicalBloodDocList) {
|
|
|
String bloodType = clinicalBloodDoc.getStructureMap().get("病情记录");
|
|
@@ -41,33 +40,31 @@ public class FIRP0190 extends QCCatalogue {
|
|
|
// 台州无“输注种类、血型、数量”,匹配“Rh血型”
|
|
|
bloodType = clinicalBloodDoc.getStructureMap().get("Rh血型");
|
|
|
}
|
|
|
+ String rh = clinicalBloodDoc.getStructureMap().get("RH");
|
|
|
+ if (StringUtil.isBlank(rh)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (StringUtil.isNotBlank(rh) && rh.contains(rhFactor)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (rhFactor.contains("阴") && rh.contains("阳")) {
|
|
|
+ status.set("-1");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (rhFactor.contains("阳") && rh.contains("阴")) {
|
|
|
+ status.set("-1");
|
|
|
+ return;
|
|
|
+ }
|
|
|
if (StringUtils.isEmpty(bloodType)) {
|
|
|
continue;
|
|
|
}
|
|
|
if (!bloodType.contains("阴") && !bloodType.contains("阳")) {
|
|
|
noRhSum++;
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- bloodType = bloodType.toUpperCase();
|
|
|
- if (bloodType.contains("RH")) {
|
|
|
- if (rhFactor.contains("阴") && bloodType.contains("-")) {
|
|
|
- matchSum++;
|
|
|
- }
|
|
|
- if (rhFactor.contains("阳") && bloodType.contains("+")) {
|
|
|
- matchSum++;
|
|
|
- }
|
|
|
- if (bloodType.contains(rhFactor)) {
|
|
|
- matchSum++;
|
|
|
- }
|
|
|
- }
|
|
|
}
|
|
|
/* 如果所有输血记录都没有rh记录(阴、阳),则不报错 */
|
|
|
if (noRhSum == clinicalBloodDocList.size()) {
|
|
|
return;
|
|
|
}
|
|
|
- if (matchSum == 0) {
|
|
|
- status.set("-1");
|
|
|
- }
|
|
|
}
|
|
|
}
|