.getFullDiagnosisList(diseaseLocal == null ? 0 : diseaseLocal.getID());
//Поиск основного диагноза из заболевания
//*Если конечно есть заболевание и в нем есть диагнозы
int mainID;
if (diseaseLocal != null && diseaseLocal.getSpecificDiagnosis()!= null) {
DiagnosisLocal specificDiagnosis = diseaseLocal.getSpecificDiagnosis();
if (specificDiagnosis == null) {
throw new ClipsException("В заболевании отсутствует диагноз");
}
mainID = specificDiagnosis.getID();
} else {
mainID = 0;
}
//Добавление пустой строки
allItems.add(new PairIntStr(0, ""));
//Добавление основного диагноза
for (int i = 0; i < fullDiagnosisList.size(); i++) {
DiagnosisLocal dl = fullDiagnosisList.get(i);
if (dl.getID() == mainID) {
PairIntStr pair = new PairIntStr(dl.getID(), dl.getMkb().getTitle());
allItems.add(pair);
}
}
//Добавление остальных диагнозов (исключая сопутствующие)
for (int i = 0; i < fullDiagnosisList.size(); i++) {
DiagnosisLocal dl = fullDiagnosisList.get(i);
if (dl.getID() != mainID && !dl.hasReferencedDiagnosis()) {
PairIntStr pair = new PairIntStr(dl.getID(), dl.getMkb().getTitle());
allItems.add(pair);
}
}
//Добавление сопутствующих диагнозов
for (int i = 0; i < fullDiagnosisList.size(); i++) {
DiagnosisLocal dl = fullDiagnosisList.get(i);
if (dl.hasReferencedDiagnosis()) {
PairIntStr pair = new PairIntStr(dl.getID(), dl.getMkb().getTitle());
allItems.add(pair);
}
}
}