break;
case DiagnosisDocument.OUTCOME_COL:
// JComboBox から選択
String saveOutcome = rd.getOutcome();
DiagnosisOutcomeModel dom = (DiagnosisOutcomeModel) value;
test = dom.getOutcome();
test = test != null && (!test.equals("")) ? test : null;
if (saveOutcome != null) {
if (test != null) {
if (!saveOutcome.equals(test)) {
// undo 用に保存
offerQueue(undoMap, rd);
rd.setOutcome(dom.getOutcome());
rd.setOutcomeDesc(dom.getOutcomeDesc());
rd.setOutcomeCodeSys(dom.getOutcomeCodeSys());
// 疾患終了日を入れる
if (Project.getPreferences().getBoolean("autoOutcomeInput", false)) {
String val = rd.getEndDate();
if (val == null || val.equals("")) {
// 転帰日の自動入力の基準日を,lastVisit にする
GregorianCalendar gc = new GregorianCalendar(lastVisitYmd[0], lastVisitYmd[1], lastVisitYmd[2]);
int offset = Project.getPreferences().getInt(Project.OFFSET_OUTCOME_DATE, -7);
gc.add(Calendar.DAY_OF_MONTH, offset);
gc.add(Calendar.DAY_OF_MONTH, offset);
String today = MMLDate.getDate(gc);
rd.setEndDate(today);
}
}
update(row, rd);
}
} else {
// 転帰が消去された場合は新規病名として登録し直すことにした
RegisteredDiagnosisModel newRd = new RegisteredDiagnosisModel();
newRd.setDiagnosis(rd.getDiagnosis());
newRd.setDiagnosisCode(rd.getDiagnosisCode());
newRd.setDiagnosisCodeSystem(rd.getDiagnosisCodeSystem());
newRd.setCategory(rd.getCategory());
newRd.setCategoryDesc(rd.getCategoryDesc());
newRd.setCategoryCodeSys(rd.getCategoryCodeSys());
insert(newRd);
}
} else {
if (test != null) {
// undo 用に保存
offerQueue(undoMap, rd);
rd.setOutcome(dom.getOutcome());
rd.setOutcomeDesc(dom.getOutcomeDesc());
rd.setOutcomeCodeSys(dom.getOutcomeCodeSys());
// 疾患終了日を入れる
if (Project.getPreferences().getBoolean("autoOutcomeInput", false)) {
String val = rd.getEndDate();
if (val == null || val.equals("")) {
// 転帰日の自動入力の基準日を,lastVisit にする