예제 #1
0
        /// <summary>Возраст относительно посещения поликлиники</summary>
        private void apaAge()
        {
            try
            {
                PROP_Text = PROP_Text.Replace("[apaAge]", Convert.ToString(MyGlo.HashAPAC["Age"]));
                if (PROP_Text == "11" || PROP_Text == "12" || PROP_Text == "13" || PROP_Text == "14")
                {
                    PROP_Text += " лет";
                }
                else
                {
                    switch (PROP_Text.Last())
                    {
                    case '1':
                        PROP_Text += " год";
                        break;

                    case '2':
                    case '3':
                    case '4':
                        PROP_Text += " года";
                        break;

                    default:
                        PROP_Text += " лет";
                        break;
                    }
                }
            }
            catch
            {
                PROP_Text = PROP_Text.Replace("[apaAge]", "");
            }
        }
예제 #2
0
        /// <summary>Вид оплаты (ОМС, платное)</summary>
        private void astOMS()
        {
            string[] _mOMS = { "ОМС", "ДМС", "Платное", "Бюджетное" };
            int      _Cod  = Convert.ToInt16(MyGlo.HashAPSTAC["OMS"]);

            PROP_Text = PROP_Text.Replace("[astOMS]", _mOMS[_Cod - 1]);
        }
예제 #3
0
        /// <summary>Инвалидность</summary>
        private void kboInv()
        {
            string[] _mInval = { "I группа", "II группа", "III группа", "ребенок-инвалид", "", "", "снята" };
            int      _Cod    = Convert.ToInt16(MyGlo.HashKBOL["Inv"]);

            PROP_Text = PROP_Text.Replace("[kboInv]", _Cod > 0 ? _mInval[_Cod - 1] : "");
        }
예제 #4
0
        /// <summary>Телефон домашний</summary>
        private void Tel()
        {
            string _Tel = Convert.ToString(MyGlo.HashKBOL["TelDom"]);

            _Tel      = _Tel == "" ? "" : ", тел.:" + _Tel;
            PROP_Text = PROP_Text.Replace("[Tel]", _Tel);
        }
예제 #5
0
        ///<summary>МЕТОД Инициализация поля</summary>
        public override void MET_Inicial()
        {
            // Располагаем текст
            this.HorizontalAlignment = HorizontalAlignment.Left;

            if (PROP_Format.MET_If("ac"))
            {
                this.HorizontalAlignment = HorizontalAlignment.Center;
            }
            if (PROP_Format.MET_If("ar"))
            {
                this.HorizontalAlignment = HorizontalAlignment.Right;
            }

            // Если указанно в формате, что показываем 1, а не 2 месяца
            if (PROP_Format.MET_If("m1"))
            {
                PART_Calendar.Columns = 1;
                PART_Calendar.Width   = 250;
            }

            // Помечаем в календаре указанные даты
            foreach (var _Dat in PROP_Text.Split(';'))
            {
                if (DateTime.TryParse(_Dat, out DateTime _DateTime))
                {
                    PART_Calendar.SelectedDates.Add(_DateTime);
                }
            }
        }
예제 #6
0
        /// <summary>Дата протокола</summary>
        private void pDate()
        {
            string _Date = "";

            if (PROP_Protokol != null)
            {
                _Date = PROP_Protokol.PROP_pDate.ToShortDateString() + "г.";
            }
            PROP_Text = PROP_Text.Replace("[pDate]", _Date);
        }
예제 #7
0
        /// <summary>Пользователь создавший протокол</summary>
        /// <remarks>Только для 15 типа (метки), так как в начале протокола ещё нет</remarks>
        private void User()
        {
            string _User = "";

            if (PROP_Protokol != null)
            {
                _User = MyMet.MET_UserName(PROP_Protokol.PROP_xUserUp);
            }
            PROP_Text = PROP_Text.Replace("[User]", _User);
        }
예제 #8
0
 /// <summary>Дата выписки из стационара</summary>
 private void DateVip()
 {
     if (Convert.ToString(MyGlo.HashAPSTAC["DK"]) == "")
     {
         PROP_Text = PROP_Text.Replace("[DateVip]", " . .");
     }
     else
     {
         PROP_Text = PROP_Text.Replace("[DateVip]", Convert.ToString(MyGlo.HashAPSTAC["DK"]).Substring(0, 10) + " г.");
     }
 }
예제 #9
0
 /// <summary>Сколько лет (относительно посещения стационара)</summary>
 private void astAge()
 {
     try
     {
         DateTime _DN  = Convert.ToDateTime(MyGlo.HashAPSTAC["DN"]);
         DateTime _DR  = Convert.ToDateTime(MyGlo.DR);
         int      _Age = (int)(_DN.Subtract(_DR).Days * 0.99932 / 365); // 0.99932 - убераем високосные дни
         PROP_Text = PROP_Text.Replace("[astAge]", _Age.ToString());
     }
     catch
     {
         PROP_Text = PROP_Text.Replace("[astAge]", "");
     }
 }
예제 #10
0
 /// <summary>Паспортные данные</summary>
 private void Pasport()
 {
     try
     {
         string _Pasport = "серия " + Convert.ToString(MyGlo.HashKBOL["Pasp_Ser"]) + " № " +
                           Convert.ToString(MyGlo.HashKBOL["Pasp_Nom"])
                           + " выдан " + Convert.ToString(MyGlo.HashKBOL["Pasp_Kogda"]).Substring(0, 10) + "г. " +
                           Convert.ToString(MyGlo.HashKBOL["Pasp_Kem"]);
         PROP_Text = PROP_Text.Replace("[Pasport]", _Pasport);
     }
     catch
     {
         PROP_Text = PROP_Text.Replace("[Pasport]", "");
     }
 }
예제 #11
0
        /// <summary>Полис (из стационара APSTAC)</summary>
        private void astPolis()
        {
            // Наименование страховой компании
            string _Comp = MySql.MET_NameSpr((int)(MyGlo.HashAPSTAC["ScomEnd"]), "s_StrahComp");
            // Серия
            string _Seria = Convert.ToString(MyGlo.HashAPSTAC["SSEnd"]);

            _Seria = _Seria == "" ? "" : " серия " + _Seria;
            // Номер
            string _Nomer = Convert.ToString(MyGlo.HashAPSTAC["SNEnd"]);

            _Nomer = _Nomer == "" ? "" : " № " + _Nomer;
            // Выводим
            PROP_Text = PROP_Text.Replace("[astPolis]", _Comp + _Seria + _Nomer);
        }
예제 #12
0
 /// <summary>Тройная переменная по шаблону и номеру вопроса (VarId) [ShabVarId|620|50]</summary>
 private void ShabVarId()
 {
     try
     {
         int      _Start = PROP_Text.IndexOf("[ShabVarId");
         int      _End   = PROP_Text.IndexOf("]", _Start) - _Start + 1;
         string[] _mArr  = PROP_Text.Substring(_Start + 1, _End - 2).Split('|');
         // Если номер шаблона меньше 100, то это номер для всех отделениий
         int _Num = Convert.ToInt32(_mArr[1]);
         _Num      = _Num < 100 ? MET_NomShablon(_Num) : _Num;
         PROP_Text = PROP_Text.Replace(PROP_Text.Substring(_Start, _End), MET_StrRazdel(_Num, "", Convert.ToInt32(_mArr[2]), "", true));
     }
     catch
     {
     }
 }
예제 #13
0
 private void fFormula()
 {
     try
     {
         string _Str = PRI_TextBody;
         _Str = _Str.Replace("|VarId", " cast(replace(dbo.GetPole(");
         _Str = _Str.Replace("xd|", ",'" + PROP_Protokol.PROP_Protokol + "'), ',','.') as float) ");   // replace на всякий случай для расчетов меняем все запятые на точки
         _Str = _Str.Replace("nc|", ",'" + PROP_Protokol.PROP_Protokol + "'), '','') as nvarchar) ");  // для обычного текста
         _Str = $"select cast({_Str} as nvarchar)";
         string _Value = MySql.MET_QueryStr(_Str);
         PROP_Text = PROP_Text.Replace(PRI_TextPr, _Value);
     }
     catch
     {
         PROP_Text = PROP_Text.Replace(PRI_TextPr, "");
     }
 }
예제 #14
0
        /// <summary>Полный диагноз посещения поликлиники</summary>
        private void apaDiag()
        {
            string _Diag;

            try
            {
                _Diag = Convert.ToInt16(MyGlo.HashAPAC["EndMKB"]) == 1
                    ? "(окончательный) "
                    : "(предварительный) ";
                string _D = (string)MyGlo.HashAPAC["D"];
                _Diag += _D + " " + MySql.MET_NameSpr(_D, "s_Diag");
            }
            catch
            {
                _Diag = "";
            }
            PROP_Text = PROP_Text.Replace("[apaDiag]", _Diag);
        }
예제 #15
0
        /// <summary>Оплата по тарифу Поликлиники</summary>
        private void apaSumTarif()
        {
            string _SumTarif;

            try
            {
                _SumTarif = MySql.MET_QueryStr(MyQuery.MET_varSumTarifPol_Select_1(MyGlo.IND));
            }
            catch
            {
                _SumTarif = "";
            }
            if (_SumTarif == "0")
            {
                _SumTarif = "";
            }
            PROP_Text = PROP_Text.Replace("[apaSumTarif]", _SumTarif);
        }
예제 #16
0
        /// <summary>Шапка Шаблона выписки из стационара</summary>
        private void astShapkaExtact()
        {
            string _Str = "Бюджетное учреждение здравоохранения Омской области \"Клинический онкологический диспансер\"\n\n";

            // Адрес медицинской организации
            if (MyGlo.Server == 3)
            {
                _Str += "г. Омск, ул. Завертяева 9/1\n";
            }
            else
            {
                _Str += "г. Омск, ул. Учебная 205\n";
            }
            // Находим код отделения
            int _CodOtd = MySql.MET_QueryInt(MyQuery.APSTAC_Select_5(PROP_Protokol.PROP_CodApstac));

            // Наименование Отделения
            _Str += MySql.MET_QueryStr(MyQuery.MET_s_ListDocum_Select_2("2", _CodOtd)) + "\n";
            // Линия
            _Str     += "_________________________________________________________________________________________";
            PROP_Text = PROP_Text.Replace("[astShapkaExtact]", _Str);
        }
예제 #17
0
 /// <summary>Кто направил на обследование</summary>
 private void ParSend()
 {
     PROP_Text = PROP_Text.Replace("[ParSend]", MySql.MET_NameSpr((int)MyGlo.IND, "parObsledov", "SendName", "Cod"));
 }
예제 #18
0
 /// <summary>Номер истории болезни</summary>
 private void NStac()
 {
     PROP_Text = PROP_Text.Replace("[NStac]", MyGlo.NSTAC.ToString());
 }
예제 #19
0
 /// <summary>Наименование текущего Отделения с номером</summary>
 private void astOtd()
 {
     PROP_Text = PROP_Text.Replace("[astOtd]", $"{MyGlo.Otd}. {MyMet.MET_NameOtd()}");
 }
예제 #20
0
 /// <summary>Адрес родственников и номер телефона</summary>
 private void astRelative()
 {
     PROP_Text = PROP_Text.Replace("[astRelative]", Convert.ToString(MyGlo.HashAPSTAC["Relative"]));
 }
예제 #21
0
 /// <summary>Код диагноза посещения поликлиники</summary>
 private void apaMkb10()
 {
     PROP_Text = PROP_Text.Replace("[apaMkb10]", Convert.ToString(MyGlo.HashAPAC["D"]));
 }
예제 #22
0
 /// <summary>Находим значение с прошлого документа, этого же типа</summary>
 private void LastDocum()
 {
     PROP_Text = PROP_Text.Replace("[LastDocum]", MET_StrRazdel(PROP_NomShabl, "", PROP_VarId, "", true));
 }
예제 #23
0
        /// <summary>Вставляем текст в зависимости от кода отделения  Otd</summary>
        /// <remarks>
        /// <para>Вид переменной: [astIfOtd|Условие|Отд1,Отд2, ... |Текст]</para>
        /// <list type="table">
        /// <listheader><term>Константа</term><description>Описание</description></listheader>
        /// <item><term>astIfOtd</term><description>константа (имя переменной)</description></item>
        /// <item><term>Условие</term><description>3 спец символа</description></item>
        /// <item><term>- =</term><description>отделение  равно указанным отделениям</description> </item>
        /// <item><term>- !</term><description>отделение  не равно указанным отделениям</description> </item>
        /// <item><term>- ></term><description>отделеие  больше указанной госпитализации</description> </item>
        /// <item><term>Отд1,Отд2, ... </term><description>перечень отделений</description> </item>
        /// <item><term>Текст</term><description>отображаемый текст, в случае правильного отделения</description></item>
        /// </list>
        /// </remarks>
        private void astIfOtd()
        {
            try
            {
                int _Start = PROP_Text.IndexOf("[astIfOtd");
                int _End   = PROP_Text.IndexOf("]", _Start) - _Start + 1;
                // 0 - условие, 1 -  перечень отделений, через запятую, 2 - текст который вставляем
                string[] _mArr = PROP_Text.Substring(_Start + 1, _End - 2).Split('|');
                // Подстановочный текст
                string _Text = _mArr[3];
                try
                {
                    // Отделение госпитализации
                    int _Otd = (int)MyGlo.HashAPSTAC["otd"];
                    if (_Otd == 0)
                    {
                        _Text = "";
                        goto exit;
                    }
                    // Перечень отделений
                    int[] _mOtd = _mArr[2].Split(',').Select(int.Parse).ToArray();
                    // Условия
                    switch (_mArr[1])
                    {
                    case "=":
                        if (Array.IndexOf(_mOtd, _Otd) == -1)
                        {
                            _Text = "";
                        }
                        break;

                    case "!":
                        if (Array.IndexOf(_mOtd, _Otd) != -1)
                        {
                            _Text = "";
                        }
                        break;

                    case ">":
                        if (_Otd <= _mOtd[0])
                        {
                            _Text = "";
                        }
                        break;

                    default:
                        _Text = "";
                        break;
                    }
exit:
                    ;
                }
                catch
                {
                    _Text = "";
                }
                PROP_Text = PROP_Text.Replace(PROP_Text.Substring(_Start, _End), _Text);
            }
            catch
            {
            }
        }
예제 #24
0
 /// <summary>Наименование текущего Отделения</summary>
 private void NameOtd()
 {
     PROP_Text = PROP_Text.Replace("[NameOtd]", MyMet.MET_NameOtd());
 }
예제 #25
0
 /// <summary>Аппарат</summary>
 private void Apparat()
 {
     PROP_Text = PROP_Text.Replace("[Apparat]", MySql.MET_QueryStr(MyQuery.parObsledovt_Select_2((int)MyGlo.IND)));
 }
예제 #26
0
 /// <summary>Код диагноза стационара (из приемного отделения)</summary>
 private void DiagMKB()
 {
     PROP_Text = PROP_Text.Replace("[DiagMKB]", MyGlo.DiagStac);
 }
예제 #27
0
 /// <summary>Полная строка диагноза (из приемного отделения)</summary>
 private void DiagPriem()
 {
     PROP_Text = PROP_Text.Replace("[DiagPriem]", MyGlo.DiagStac + " " + MySql.MET_NameSpr(MyGlo.DiagStac, "s_Diag"));
 }
예제 #28
0
 /// <summary>Площадь пациента</summary>
 private void astSquare()
 {
     PROP_Text = PROP_Text.Replace("[astSquare]", Convert.ToString(MyGlo.HashAPSTAC["Square"]));
 }
예제 #29
0
 /// <summary>Рост пациента</summary>
 private void astHeight()
 {
     PROP_Text = PROP_Text.Replace("[astHeight]", Convert.ToString(MyGlo.HashAPSTAC["Height"]));
 }
예제 #30
0
 /// <summary>Полная строка диагноза (из осмотра при поступлении)</summary>
 private void DiagPrOsmotr()
 {
     PROP_Text = PROP_Text.Replace("[DiagPrOsmotr]", MET_StrRazdel(MET_NomShablon(1), "Диагноз"));
 }