Esempio n. 1
0
        public ictusData(long npacienteID, umeDataTMP inputUmeDataTMP)
        {
            try
            {
                pacienteID = npacienteID;
                fecha      = inputUmeDataTMP.inc_sello_temporal;
                sexo       = inputUmeDataTMP.pac_sexo;
                edad       = inputUmeDataTMP.edad;
                cie        = inputUmeDataTMP.cie_codigo;


                //////////////////////////////////////HOSPITAL//////////////////////////////////////
                hospital hospitalFound = Util.FindHospitalByName(inputUmeDataTMP.dim_recurso_nombreHospital);

                if (hospitalFound == null)
                {
                    ncLog.Warning("ictusData::Unable to find hospital by name:" + inputUmeDataTMP.dim_recurso_nombreHospital);
                }
                else
                {
                    hospital = hospitalFound;
                }

                //////////////////////////////////////HOSPITAL//////////////////////////////////////

                //////////////////////////////////////ZBS//////////////////////////////////////
                zbs ZBSFound = Util.FindZBSByName(inputUmeDataTMP.dim_zbs_nombre);

                if (ZBSFound == null)
                {
                    ncLog.Warning("ictusData::Unable to find ZBS by name:" + inputUmeDataTMP.dim_zbs_nombre);
                }
                else
                {
                    zbs = ZBSFound;
                }

                //////////////////////////////////////ZBS//////////////////////////////////////



                //////////////////////////////////////USVB//////////////////////////////////////
                usvb USVBFound = Util.FindUSVBByName(inputUmeDataTMP.dim_recurso_nombreUSVB);

                if (USVBFound == null)
                {
                    ncLog.Warning("ictusData::Unable to find USVB by name:" + inputUmeDataTMP.dim_recurso_nombreUSVB);
                }
                else
                {
                    usvb = USVBFound;
                }

                //////////////////////////////////////USVB//////////////////////////////////////

                ////Tiempos UME
                if (inputUmeDataTMP.dim_recurso_nombreUSVB.Contains("UME") ||
                    inputUmeDataTMP.dim_recurso_nombreUSVB.Contains("UVI") ||
                    inputUmeDataTMP.dim_recurso_nombreUSVB.Contains("VIR"))
                {
                    umeRecurso = new recurso("UME", inputUmeDataTMP.act_tac, inputUmeDataTMP.act_tra, inputUmeDataTMP.act_tes, inputUmeDataTMP.act_tra, inputUmeDataTMP.act_trf);
                }

                //////Tiempo SVB
                else if (inputUmeDataTMP.dim_recurso_nombreUSVB.Contains("SVB") ||
                         inputUmeDataTMP.dim_recurso_nombreUSVB.Contains("ACU") ||
                         inputUmeDataTMP.dim_recurso_nombreUSVB.Contains("SVBC"))
                {
                    umeRecurso = new recurso("SVB", inputUmeDataTMP.act_tac, inputUmeDataTMP.act_tra, inputUmeDataTMP.act_tes, inputUmeDataTMP.act_tra, inputUmeDataTMP.act_trf);
                }

                //////Tiempo Helicoptero
                else if (inputUmeDataTMP.dim_recurso_nombreUSVB.Contains("HELICOP"))
                {
                    heliRecurso = new recurso("Helicoptero", inputUmeDataTMP.act_tac, inputUmeDataTMP.act_tra, inputUmeDataTMP.act_tes, inputUmeDataTMP.act_tra, inputUmeDataTMP.act_trf);
                }

                //////Tiempo Atencion Primaria y Otros ("", CG, CL, CS, EES1, EES2, MEDICO, OTROS RECURSOS, PAC, PACIP, REFUERZO PUEBLA DE SANABRIA, REVE LEON, SUAP)
                else
                {
                    attpriRecurso = new recurso("ATTPRI", inputUmeDataTMP.act_tac, inputUmeDataTMP.act_tra, inputUmeDataTMP.act_tes, inputUmeDataTMP.act_tra, inputUmeDataTMP.act_trf);
                }

                ok = true;
            }
            catch (Exception exp)
            {
                ncLog.Exception("ictusData::Unable to create new ictusData for pacienteID:" + npacienteID + "::" + exp.Message);
            }
        }
Esempio n. 2
0
        public ictusData(long npacienteID, List <umeDataTMP> umeDataTMPList)
        {
            try
            {
                if (umeDataTMPList == null || umeDataTMPList.Count() == 0)
                {
                    ncLog.Error("ictusData::Null or empty input umeDataTMP list");
                    ok = false;
                    return;
                }

                pacienteID = npacienteID;
                fecha      = umeDataTMPList.FirstOrDefault().inc_sello_temporal;
                sexo       = umeDataTMPList.FirstOrDefault().pac_sexo;
                edad       = umeDataTMPList.FirstOrDefault().edad;
                cie        = Util.GetCIECcode(umeDataTMPList);

                foreach (umeDataTMP iter in umeDataTMPList)
                {
                    //////////////////////////////////////HOSPITAL//////////////////////////////////////
                    hospital hospitalFound = Util.FindHospitalByName(iter.dim_recurso_nombreHospital);

                    if (hospitalFound == null)
                    {
                        //ncLog.Warning("ictusData::Unable to find hospital by name:" + iter.dim_recurso_nombreHospital);
                    }
                    else
                    {
                        hospital = hospitalFound;
                    }
                    //////////////////////////////////////HOSPITAL//////////////////////////////////////

                    //////////////////////////////////////ZBS//////////////////////////////////////
                    zbs ZBSFound = Util.FindZBSByName(iter.dim_zbs_nombre);

                    if (ZBSFound == null)
                    {
                        //ncLog.Warning("ictusData::Unable to find ZBS by name:" + iter.dim_zbs_nombre);
                    }
                    else
                    {
                        zbs = ZBSFound;
                    }
                    //////////////////////////////////////ZBS//////////////////////////////////////



                    //////////////////////////////////////USVB//////////////////////////////////////
                    usvb USVBFound = Util.FindUSVBByName(iter.dim_recurso_nombreUSVB);

                    if (USVBFound == null)
                    {
                        //ncLog.Warning("ictusData::Unable to find USVB by name:" + iter.dim_recurso_nombreUSVB);
                    }
                    else
                    {
                        usvb = USVBFound;
                    }
                    //////////////////////////////////////USVB//////////////////////////////////////

                    ////Tiempos UME
                    if (iter.dim_recurso_nombreUSVB.Contains("UME") ||
                        iter.dim_recurso_nombreUSVB.Contains("UVI") ||
                        iter.dim_recurso_nombreUSVB.Contains("VIR"))
                    {
                        if (umeRecurso != null)
                        {
                            ncLog.Error("ictusData:UME is already assigned for pacienteID:" + pacienteID);
                            ok = false;
                            return;
                        }

                        umeRecurso = new recurso("UME", iter.act_tac, iter.act_tra, iter.act_tes, iter.act_tra, iter.act_trf);
                    }

                    //////Tiempo SVB
                    else if (iter.dim_recurso_nombreUSVB.Contains("SVB") ||
                             iter.dim_recurso_nombreUSVB.Contains("ACU") ||
                             iter.dim_recurso_nombreUSVB.Contains("SVBC"))
                    {
                        if (svbRecurso != null)
                        {
                            ncLog.Error("ictusData:SVB is already assigned for pacienteID:" + pacienteID);
                            ok = false;
                            return;
                        }

                        svbRecurso = new recurso("SVB", iter.act_tac, iter.act_tra, iter.act_tes, iter.act_tra, iter.act_trf);
                    }

                    //////Tiempo Helicoptero
                    else if (iter.dim_recurso_nombreUSVB.Contains("HELICOP"))
                    {
                        if (heliRecurso != null)
                        {
                            ncLog.Error("ictusData:Helicoptero is already assigned for pacienteID:" + pacienteID);
                            ok = false;
                            return;
                        }

                        heliRecurso = new recurso("Helicoptero", iter.act_tac, iter.act_tra, iter.act_tes, iter.act_tra, iter.act_trf);
                    }

                    //////Tiempo Atencion Primaria y Otros ("", CG, CL, CS, EES1, EES2, MEDICO, OTROS RECURSOS, PAC, PACIP, REFUERZO PUEBLA DE SANABRIA, REVE LEON, SUAP)
                    else
                    {
                        if (attpriRecurso != null)
                        {
                            ncLog.Error("ictusData:Primary care is already assigned for pacienteID:" + pacienteID);
                            ok = false;
                            return;
                        }

                        attpriRecurso = new recurso("ATTPRI", iter.act_tac, iter.act_tra, iter.act_tes, iter.act_tra, iter.act_trf);
                    }

                    ok = true;
                }
            }
            catch (Exception exp)
            {
                ncLog.Exception("ictusData::Unable to create new ictusData for pacienteID:" + npacienteID + "::" + exp.Message);
                ok = false;
            }
        }