MCPcopy Create free account
hub / github.com/OpenDRG/DRG_Java / GroupProxy

Class GroupProxy

drg_group/suzhou_2023/GroupProxy.java:25–233  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

23// drg_group.GroupProxy /mnt/c/yb/yc/ba_group_info_java_202209.csv BAHM,BRXB,NL,NLT,XSECSTZ,CYKS,ZYTS,LYFS,ICD10_DRGS,ICD9_DRGS
24
25public class GroupProxy {
26 private static Map<String,String> ZD_INFO=read_dataFile("ICD","ZD_INFO");
27 private static Map<String,String> SS_INFO=read_dataFile("ICD","SS_INFO");
28 private static Map<String,String> ZD_MAP=read_dataFile("ICD","ZD_MAP");
29 private static Map<String,String> SS_MAP=read_dataFile("ICD","SS_MAP");
30 public static Messages checkMessages=new Messages();
31 // public static Function<MedicalRecord,GroupResult> groupFunc=x->Grouper_suzhou_2022.group(x);
32 private Function<MedicalRecord,GroupResult> groupFunc=x->Grouper_suzhou_2023.group(x);
33 private boolean TRANS_CODE=false;
34 public GroupProxy(){
35 }
36 public GroupProxy(boolean TRANS_CODE){
37 this.TRANS_CODE=TRANS_CODE;
38 }
39 public GroupProxy(Function<MedicalRecord,GroupResult> groupFunc){
40 this.groupFunc=groupFunc;
41 }
42 public GroupProxy(boolean TRANS_CODE,Function<MedicalRecord,GroupResult> groupFunc){
43 this.TRANS_CODE=TRANS_CODE;
44 this.groupFunc=groupFunc;
45 }
46 private static DrgGroupStatus check(MedicalRecord record){
47 try{
48 if (record.gender.isEmpty()){
49 checkMessages.putMessage(record.Index,"病人性别为空");
50 return DrgGroupStatus.CHECK_FAILED;
51 }
52 if (record.age==0 && record.ageDay<=28 && record.weight==0){
53 checkMessages.putMessage(record.Index,"新生儿的出生体重必须有值");
54 return DrgGroupStatus.CHECK_FAILED;
55 }
56 if (record.zdList.length==0){
57 checkMessages.putMessage(record.Index,"诊断信息为空");
58 return DrgGroupStatus.CHECK_FAILED;
59 }
60 if (record.gender.indexOf(".")>=0){
61 record.gender=record.gender.substring(0,record.gender.indexOf("."));
62 }else if (record.gender.equals("男")){
63 record.gender="1";
64 }else if (record.gender.equals("女")){
65 record.gender="2";
66 }
67 if (record.dept.indexOf(".")>=0){
68 record.dept=record.dept.substring(0,record.dept.indexOf("."));
69 }
70 if (record.leavingType.indexOf(".")>=0){
71 record.leavingType=record.leavingType.substring(0,record.leavingType.indexOf("."));
72 }
73 }catch (Exception e) {
74 e.printStackTrace();
75 checkMessages.putMessage(record.Index,"病案信息解析出错");
76 return DrgGroupStatus.CHECK_FAILED;
77 }
78 for (String x:record.zdList){
79 if (ZD_INFO.containsKey(x)){
80 checkMessages.putMessage(record.Index, String.format("%s %s",x,ZD_INFO.get(x)));
81 }else{
82 checkMessages.putMessage(record.Index, String.format("%s 未知名称",x));

Callers

nothing calls this directly

Calls 2

read_dataFileMethod · 0.95
groupMethod · 0.95

Tested by

no test coverage detected