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

Class GroupProxy

drg_group/chongqing_2022/GroupProxy.java:25–222  ·  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 private Function<MedicalRecord,GroupResult> groupFunc=x->Grouper_chongqing_2022.group(x);
32 private boolean TRANS_CODE=false;
33 public GroupProxy(){
34 }
35 public GroupProxy(boolean TRANS_CODE){
36 this.TRANS_CODE=TRANS_CODE;
37 }
38 public GroupProxy(Function<MedicalRecord,GroupResult> groupFunc){
39 this.groupFunc=groupFunc;
40 }
41 public GroupProxy(boolean TRANS_CODE,Function<MedicalRecord,GroupResult> groupFunc){
42 this.TRANS_CODE=TRANS_CODE;
43 this.groupFunc=groupFunc;
44 }
45 private static DrgGroupStatus check(MedicalRecord record){
46 try{
47 if (record.gender.isEmpty()){
48 checkMessages.putMessage(record.Index,"病人性别为空");
49 return DrgGroupStatus.CHECK_FAILED;
50 }
51 if (record.age==0 && record.ageDay<=28 && record.weight==0){
52 checkMessages.putMessage(record.Index,"新生儿的出生体重必须有值");
53 return DrgGroupStatus.CHECK_FAILED;
54 }
55 if (record.zdList.length==0){
56 checkMessages.putMessage(record.Index,"诊断信息为空");
57 return DrgGroupStatus.CHECK_FAILED;
58 }
59 if (record.gender.indexOf(".")>=0){
60 record.gender=record.gender.substring(0,record.gender.indexOf("."));
61 }else if (record.gender.equals("男")){
62 record.gender="1";
63 }else if (record.gender.equals("女")){
64 record.gender="2";
65 }
66 if (record.dept.indexOf(".")>=0){
67 record.dept=record.dept.substring(0,record.dept.indexOf("."));
68 }
69 if (record.leavingType.indexOf(".")>=0){
70 record.leavingType=record.leavingType.substring(0,record.leavingType.indexOf("."));
71 }
72 }catch (Exception e) {
73 e.printStackTrace();
74 checkMessages.putMessage(record.Index,"病案信息解析出错");
75 return DrgGroupStatus.CHECK_FAILED;
76 }
77 for (String x:record.zdList){
78 if (ZD_INFO.containsKey(x)){
79 checkMessages.putMessage(record.Index, String.format("%s %s",x,ZD_INFO.get(x)));
80 }else{
81 checkMessages.putMessage(record.Index, String.format("%s 未知名称",x));
82 }

Callers

nothing calls this directly

Calls 2

read_dataFileMethod · 0.95
groupMethod · 0.95

Tested by

no test coverage detected