Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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;
                }
            }
        }