|
@@ -25,73 +25,19 @@ public class TaizDataImportApiTest {
|
|
|
private static String hospitalId = "3";
|
|
|
|
|
|
private Map<String,String> caseMap = new HashMap<>();
|
|
|
- {
|
|
|
- caseMap.put("0010 入院记录(新生儿)", "入院记录");
|
|
|
- caseMap.put("0160 术后首次病程录02", "术后首次谈话及病程录");
|
|
|
- caseMap.put("0330 危急值处置记录", "危急值记录");
|
|
|
- caseMap.put("0300 首次病程录02", "首次病程录");
|
|
|
- caseMap.put("0010 入院记录(女)", "入院记录");
|
|
|
- caseMap.put("0220 转出记录","转出记录");
|
|
|
- caseMap.put("0310 会诊记录","会诊记录");
|
|
|
- caseMap.put("0010 再次入院(男)","入院记录");
|
|
|
- caseMap.put("0120 上级查房记录","查房记录");
|
|
|
- caseMap.put("0010 入院记录(儿)","入院记录");
|
|
|
- caseMap.put("0130 普通病程录","查房记录");
|
|
|
- caseMap.put("0010 入院记录(产科)","入院记录");
|
|
|
- caseMap.put("0433 病危(重)通知","病危通知书");
|
|
|
- caseMap.put("会诊结果","会诊结果单");
|
|
|
- caseMap.put("0290 术前讨论兼术前小结","术前讨论小结");
|
|
|
- caseMap.put("0300 首次病程录(中医)","首次病程录");
|
|
|
- caseMap.put("0900 手术记录02","手术记录");
|
|
|
- caseMap.put("0010 入院记录(男)","入院记录");
|
|
|
- caseMap.put("0010 入院记录(中医 女)","入院记录");
|
|
|
- caseMap.put("0310 会诊申请","会诊申请单");
|
|
|
- caseMap.put("0110 查房记录(SOAP)","查房记录");
|
|
|
- caseMap.put("0840 出院记录(手术)","出院小结");
|
|
|
- caseMap.put("0840 出院记录(非手术)","出院小结");
|
|
|
- caseMap.put("0011 入院记录(神经外科--女)","入院记录");
|
|
|
- caseMap.put("0073 (日间)手术及术后首次病程记录","术后首次谈话及病程录");
|
|
|
- caseMap.put("0010 入院记录(中医 男)","入院记录");
|
|
|
- caseMap.put("住院病案首页02(病人存档及卫生统计用)","病案首页");
|
|
|
-
|
|
|
- }
|
|
|
|
|
|
public static void main(String[] args) {
|
|
|
TaizDataImportApiTest test = new TaizDataImportApiTest();
|
|
|
- test.insertPatient(test.importPatient());
|
|
|
+ //台州模块映射
|
|
|
+ test.loadTaizhouModelHospital();
|
|
|
+ //台州患者信息
|
|
|
+ test.insertPatient(test.loadOraclePatients("BR_INPATIENTINFO_TZ20200330"));
|
|
|
//病人流水号获取
|
|
|
Map<String, String> patientMap = test.loadPatients(hospitalId);
|
|
|
Map<String, String> modelMap = test.loadModel();
|
|
|
test.insertPatientText(patientMap, modelMap);
|
|
|
}
|
|
|
|
|
|
- private List<Patient> importPatient() {
|
|
|
- try {
|
|
|
- String result = HttpApi.get("http://192.168.3.241:11000/api/inpatientlist");
|
|
|
- List<Patient> patients = FastJsonUtils.getJsonToList(result, Patient.class);
|
|
|
- return patients;
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
- private List<PatientText> importPatientText(String patientId) {
|
|
|
- try {
|
|
|
- String result = HttpApi.get("http://192.168.3.241:11000/api/GetMedrecords?brzyid=" + patientId);
|
|
|
-// String s = result.substring(result.indexOf("[") + 1, result.lastIndexOf("]"));
|
|
|
-// s = s.replaceAll("\\[","<");
|
|
|
-// s = s.replaceAll("\\]",">");
|
|
|
-//
|
|
|
-// s = "[" + s + "]";
|
|
|
- List<PatientText> patientTexts = FastJsonUtils.getJsonToList(result, PatientText.class);
|
|
|
- return patientTexts;
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
private void insertPatient(List<Patient> patients) {
|
|
|
List<Map<String, Object>> list = new ArrayList<>();
|
|
|
for (Patient patient : patients) {
|
|
@@ -100,19 +46,21 @@ public class TaizDataImportApiTest {
|
|
|
patientMap.put("hospital_id", hospitalId);
|
|
|
list.add(patientMap);
|
|
|
}
|
|
|
- initJdbc().insert(list, "qc_cases_number", new String[]{"hospital_id", "case_number"});
|
|
|
+ initMysqlJdbc().insert(list, "qc_cases_number", new String[]{"hospital_id", "case_number"});
|
|
|
}
|
|
|
|
|
|
private void insertPatientText(Map<String, String> patientMap, Map<String, String> modelMap) {
|
|
|
List<Map<String, Object>> list = new ArrayList<>();
|
|
|
|
|
|
for (Map.Entry<String, String> entry : patientMap.entrySet()) {
|
|
|
- List<PatientText> patientTexts = importPatientText(entry.getKey());
|
|
|
+ List<PatientText> patientTexts = loadOraclePatientTexts(entry.getKey());
|
|
|
for (PatientText patientText : patientTexts) {
|
|
|
+System.out.println(patientText.getBrzyid() + " " + patientText.getBljlmc());
|
|
|
Map<String, Object> patientTextMap = new HashMap<>();
|
|
|
patientTextMap.put("case_number", patientText.getBrzyid());
|
|
|
patientTextMap.put("case_number_id", patientMap.get(patientText.getBrzyid()));
|
|
|
patientTextMap.put("hospital_id", hospitalId);
|
|
|
+System.out.println("******" + patientText.getBljlmc() + "**" + caseMap.get(patientText.getBljlmc()));
|
|
|
patientTextMap.put("mode_id", modelMap.get(caseMap.get(patientText.getBljlmc())));
|
|
|
|
|
|
if (patientTextMap.get("mode_id") == null) {
|
|
@@ -129,11 +77,72 @@ public class TaizDataImportApiTest {
|
|
|
list.add(patientTextMap);
|
|
|
}
|
|
|
}
|
|
|
- initJdbc().insert(list, "qc_model_mapping", new String[]{"case_number", "case_number_id", "origin_text", "mode_id", "text"});
|
|
|
+ initMysqlJdbc().insert(list, "qc_model_mapping", new String[]{"case_number", "case_number_id", "origin_text", "mode_id", "text"});
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<Patient> loadOraclePatients(String tableName) {
|
|
|
+ MysqlJdbc mysqlJdbc = initOracleJdbc();
|
|
|
+ Connection conn = mysqlJdbc.connect();
|
|
|
+ Statement st = null;
|
|
|
+ ResultSet rs = null;
|
|
|
+ String r1, r2;
|
|
|
+ List<Patient> patients = new ArrayList<>();
|
|
|
+ try {
|
|
|
+ st = conn.createStatement();
|
|
|
+ String sql = "select BRZYID from " + tableName;
|
|
|
+ rs = st.executeQuery(sql);
|
|
|
+ while (rs.next()) {
|
|
|
+ r1 = rs.getString(1);
|
|
|
+ Patient patient = new Patient();
|
|
|
+ patient.setBrzyid(r1);
|
|
|
+ patients.add(patient);
|
|
|
+ }
|
|
|
+ } catch (SQLException sqle) {
|
|
|
+ sqle.printStackTrace();
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ } finally {
|
|
|
+ mysqlJdbc.close(rs, st, conn);
|
|
|
+ }
|
|
|
+ return patients;
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<PatientText> loadOraclePatientTexts(String brzyid) {
|
|
|
+ MysqlJdbc mysqlJdbc = initOracleJdbc();
|
|
|
+ Connection conn = mysqlJdbc.connect();
|
|
|
+ Statement st = null;
|
|
|
+ ResultSet rs = null;
|
|
|
+ String r1, r2, r3;
|
|
|
+ List<PatientText> patientTexts = new ArrayList<>();
|
|
|
+ try {
|
|
|
+ st = conn.createStatement();
|
|
|
+ String sql = "select brzyid,bljlmc,bljlnr from mr_medicalrecords_TZ20200330 a " +
|
|
|
+ "left join mr_mrcontent_TZ20200330 b on a.bljlid=b.bljlid " +
|
|
|
+ "where bljlnr is not null " +
|
|
|
+ "order by brzyid";
|
|
|
+ rs = st.executeQuery(sql);
|
|
|
+ while (rs.next()) {
|
|
|
+ r1 = rs.getString(1);
|
|
|
+ r2 = rs.getString(2);
|
|
|
+ r3 = rs.getString(3);
|
|
|
+ PatientText patientText = new PatientText();
|
|
|
+ patientText.setBrzyid(r1);
|
|
|
+ patientText.setBljlmc(r2);
|
|
|
+ patientText.setBljlnr(r3);
|
|
|
+ patientTexts.add(patientText);
|
|
|
+ }
|
|
|
+ } catch (SQLException sqle) {
|
|
|
+ sqle.printStackTrace();
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ } finally {
|
|
|
+ mysqlJdbc.close(rs, st, conn);
|
|
|
+ }
|
|
|
+ return patientTexts;
|
|
|
}
|
|
|
|
|
|
private Map<String, String> loadPatients(String hospitalId) {
|
|
|
- MysqlJdbc mysqlJdbc = initJdbc();
|
|
|
+ MysqlJdbc mysqlJdbc = initMysqlJdbc();
|
|
|
Connection conn = mysqlJdbc.connect();
|
|
|
Statement st = null;
|
|
|
ResultSet rs = null;
|
|
@@ -159,7 +168,7 @@ public class TaizDataImportApiTest {
|
|
|
}
|
|
|
|
|
|
private Map<String, String> loadModel() {
|
|
|
- MysqlJdbc mysqlJdbc = initJdbc();
|
|
|
+ MysqlJdbc mysqlJdbc = initMysqlJdbc();
|
|
|
Connection conn = mysqlJdbc.connect();
|
|
|
Statement st = null;
|
|
|
ResultSet rs = null;
|
|
@@ -184,11 +193,43 @@ public class TaizDataImportApiTest {
|
|
|
return map;
|
|
|
}
|
|
|
|
|
|
- private MysqlJdbc initJdbc() {
|
|
|
+ private void loadTaizhouModelHospital() {
|
|
|
+ MysqlJdbc mysqlJdbc = initMysqlJdbc();
|
|
|
+ Connection conn = mysqlJdbc.connect();
|
|
|
+ Statement st = null;
|
|
|
+ ResultSet rs = null;
|
|
|
+ String r1, r2;
|
|
|
+ try {
|
|
|
+ st = conn.createStatement();
|
|
|
+ String sql = "select hospital_model_name, stand_model_name from qc_model_hospital_taizhou where stand_model_name is not null";
|
|
|
+ rs = st.executeQuery(sql);
|
|
|
+ while (rs.next()) {
|
|
|
+ r1 = rs.getString(1);
|
|
|
+ r2 = rs.getString(2);
|
|
|
+ caseMap.put(r1, r2);
|
|
|
+ }
|
|
|
+ } catch (SQLException sqle) {
|
|
|
+ sqle.printStackTrace();
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ } finally {
|
|
|
+ mysqlJdbc.close(rs, st, conn);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private MysqlJdbc initMysqlJdbc() {
|
|
|
PropertiesUtil propertiesUtil = new PropertiesUtil("kernel.properties");
|
|
|
MysqlJdbc mysqlJdbc = new MysqlJdbc(propertiesUtil.getProperty("mysql.test.user"),
|
|
|
propertiesUtil.getProperty("mysql.test.password"),
|
|
|
propertiesUtil.getProperty("mysql.test.url"));
|
|
|
return mysqlJdbc;
|
|
|
}
|
|
|
+
|
|
|
+ private MysqlJdbc initOracleJdbc() {
|
|
|
+ PropertiesUtil propertiesUtil = new PropertiesUtil("kernel.properties");
|
|
|
+ MysqlJdbc mysqlJdbc = new MysqlJdbc(propertiesUtil.getProperty("oracle.test.user"),
|
|
|
+ propertiesUtil.getProperty("oracle.test.password"),
|
|
|
+ propertiesUtil.getProperty("oracle.test.url"), propertiesUtil.getProperty("oracle.test.driver"));
|
|
|
+ return mysqlJdbc;
|
|
|
+ }
|
|
|
}
|