public bool CheckDocumentInCase(MedRecord i, string idLpu) { TestMedRecord doc = null; Service serv = i as Service; if (serv != null) doc = new TestService(serv); TfomsInfo tfi = i as TfomsInfo; if (tfi != null) doc = new TestTfomsInfo(tfi); DeathInfo di = i as DeathInfo; if (di != null) doc = new TestDeathInfo(di); Diagnosis diag = i as Diagnosis; if ((diag != null) && (diag.DiagnosisInfo.IdDiagnosisType != TestDiagnosis.IdClinicMainDiagnosis)) doc = new TestDiagnosis(diag, idLpu); ClinicMainDiagnosis cmd = i as ClinicMainDiagnosis; if ((cmd != null) && (cmd.DiagnosisInfo.IdDiagnosisType == TestDiagnosis.IdClinicMainDiagnosis)) doc = new TestClinicMainDiagnosis(cmd, idLpu); AnatomopathologicalClinicMainDiagnosis acmd = i as AnatomopathologicalClinicMainDiagnosis; if ((acmd != null) && (cmd.DiagnosisInfo.IdDiagnosisType == TestDiagnosis.IdClinicMainDiagnosis)) doc = new TestClinicMainDiagnosis(acmd, idLpu); Referral r = i as Referral; if (r != null) doc = new TestReferral(r, idLpu); SickList sl = i as SickList; if (sl != null) doc = new TestSickList(sl, idLpu); DischargeSummary ds = i as DischargeSummary; if (ds != null) doc = new TestDischargeSummary(ds, idLpu); LaboratoryReport lr = i as LaboratoryReport; if (lr != null) doc = new TestLaboratoryReport(lr, idLpu); ConsultNote cn = i as ConsultNote; if (cn != null) doc = new TestConsultNote(cn, idLpu); DispensaryOne d1 = i as DispensaryOne; if ((d1 != null) && (caseBase.idCaseType == dispensaryId)) doc = new TestDispensaryOne(d1, idLpu); AppointedMedication ap = i as AppointedMedication; if (ap != null) doc = new TestAppointedMedication(ap, idLpu); Form027U form = i as Form027U; if (form != null) doc = new TestForm027U(form, idLpu); if (Global.IsEqual(doc, null)) { Global.errors1.Add("Документ не найден"); return true; } foreach (TestMedRecord document in this.medRecords) if (Global.IsEqual(doc, document)) return true; return false; }
public void ChangeUpdateStatCase(string guid, CaseStat cs) { GUID = guid.ToLower(); if (cs != null) { if (cs.DeliveryCode != null) this.caseStat.DeliveryCode = cs.DeliveryCode; if (cs.IdIntoxicationType != 0) this.caseStat.IdIntoxicationType = cs.IdIntoxicationType; if (cs.IdPatientConditionOnAdmission != 0) this.caseStat.IdPatientConditionOnAdmission = cs.IdPatientConditionOnAdmission; if (cs.IdTypeFromDiseaseStart != 0) this.caseStat.IdTypeFromDiseaseStart = cs.IdTypeFromDiseaseStart; if (cs.IdTransportIntern != 0) this.caseStat.IdTransportIntern = cs.IdTransportIntern; if (cs.IdHospChannel != 0) this.caseStat.IdHospChannel = cs.IdHospChannel; this.caseStat.RW1Mark = cs.RW1Mark; this.caseStat.AIDSMark = cs.AIDSMark; caseBase.UpdateCaseBase(guid, cs); if (cs.MedRecords != null) { List<TestMedRecord> newMedRecords = new List<TestMedRecord>(); TestTfomsInfo tfi = null; TestClinicMainDiagnosis cmd = null; TestDischargeSummary ds = null; TestConsultNote cn = null; TestDeathInfo tdi = null; foreach (object i in cs.MedRecords) { Service ser = i as Service; if (ser != null) newMedRecords.Add(new TestService(ser, cs.IdLpu)); TfomsInfo tf = i as TfomsInfo; if (tf != null) tfi = new TestTfomsInfo(tf); Diagnosis diag = i as Diagnosis; if ((diag != null) && (diag.DiagnosisInfo.IdDiagnosisType != TestDiagnosis.IdClinicMainDiagnosis)) newMedRecords.Add(new TestDiagnosis(diag, cs.IdLpu)); ClinicMainDiagnosis cd = i as ClinicMainDiagnosis; if ((cd != null) && (cs.HospResult != IdDeath) && (cd.DiagnosisInfo.IdDiagnosisType == TestDiagnosis.IdClinicMainDiagnosis)) cmd = new TestClinicMainDiagnosis(cd, cs.IdLpu); ClinicMainDiagnosis ca = i as ClinicMainDiagnosis; if ((ca != null) && (cs.HospResult == IdDeath) && (ca.DiagnosisInfo.IdDiagnosisType == TestDiagnosis.IdClinicMainDiagnosis)) cmd = new TestClinicMainDiagnosis(ca, cs.IdLpu); Referral r = i as Referral; if (r != null) newMedRecords.Add(new TestReferral(r, cs.IdLpu)); SickList sl = i as SickList; if (sl != null) newMedRecords.Add(new TestSickList(sl, cs.IdLpu)); DischargeSummary pds = i as DischargeSummary; if (pds != null) ds = new TestDischargeSummary(pds, cs.IdLpu); LaboratoryReport lr = i as LaboratoryReport; if (lr != null) newMedRecords.Add(new TestLaboratoryReport(lr, cs.IdLpu)); ConsultNote pcn = i as ConsultNote; if (pcn != null) cn = new TestConsultNote(pcn, cs.IdLpu); AppointedMedication ap = i as AppointedMedication; if (ap != null) newMedRecords.Add(new TestAppointedMedication(ap, cs.IdLpu)); DeathInfo di = i as DeathInfo; if (di != null) tdi = new TestDeathInfo(di); Form027U form = i as Form027U; if (form != null) newMedRecords.Add(new TestForm027U(form, cs.IdLpu)); //? } if (Global.GetLength(this.medRecords) != 0) { foreach (object i in this.medRecords) { TestService ser = i as TestService; if (!Global.IsEqual(ser, null)) newMedRecords.Add(ser); TestTfomsInfo tf = i as TestTfomsInfo; if (!Global.IsEqual(tfi, null) && (!Global.IsEqual(tf, null))) newMedRecords.Add(tf); else if (!Global.IsEqual(tfi, null)) newMedRecords.Add(tfi); TestDiagnosis diag = i as TestDiagnosis; if (!Global.IsEqual(diag, null)) newMedRecords.Add(diag); TestClinicMainDiagnosis cm = i as TestClinicMainDiagnosis; if (!Global.IsEqual(cmd, null)) newMedRecords.Add(cmd); else if (!Global.IsEqual(cm, null)) newMedRecords.Add(cm); TestReferral r = i as TestReferral; if (!Global.IsEqual(r, null)) newMedRecords.Add(r); TestSickList sl = i as TestSickList; if (!Global.IsEqual(sl, null)) newMedRecords.Add(sl); TestDischargeSummary pds = i as TestDischargeSummary; if (!Global.IsEqual(ds, null)) newMedRecords.Add(ds); else if (!Global.IsEqual(pds, null)) newMedRecords.Add(pds); TestLaboratoryReport lr = i as TestLaboratoryReport; if (!Global.IsEqual(lr, null)) newMedRecords.Add(lr); TestConsultNote pcn = i as TestConsultNote; if (!Global.IsEqual(cn, null)) newMedRecords.Add(cn); else if (!Global.IsEqual(pcn, null)) newMedRecords.Add(pcn); TestAppointedMedication ap = i as TestAppointedMedication; if (!Global.IsEqual(ap, null)) newMedRecords.Add(ap); TestDeathInfo di = i as TestDeathInfo; if (!Global.IsEqual(tdi, null) && (!Global.IsEqual(di, null))) newMedRecords.Add(di); else if (!Global.IsEqual(tdi, null)) newMedRecords.Add(tdi); TestForm027U form = i as TestForm027U; if (!Global.IsEqual(form, null)) newMedRecords.Add(form); } } else { if (!Global.IsEqual(tfi, null)) newMedRecords.Add(tfi); if (!Global.IsEqual(cmd, null)) newMedRecords.Add(cmd); if (!Global.IsEqual(ds, null)) newMedRecords.Add(ds); if (!Global.IsEqual(cn, null)) newMedRecords.Add(cn); if (!Global.IsEqual(tdi, null)) newMedRecords.Add(tdi); } this.records = newMedRecords; } } }