1 (edited by baster.89 2014-12-18 06:29:53)

Topic: Проект "Печать справки"

Добрый день.
Делается небольшая программка для выдачи посетителю больницы справки о стоимости оказанных ему услуг. Присутствует ФИО клиента, период лечения (с "такого-то числа" по "такое"), список оказанных услуг и их стоимость. С услугами и возник вопрос.
Их список стандартизированный для лечебного учреждения и делится на 5 подкатегорий (стационар, стационар-отдельные мед.услуги, поликлиника-профилактика, поликлиника-заболевание, поликлиника-неотложка).
На главной форме (в программе) вышеописанные пункты.
Возникло несколько вопросов:
1) Как сделать, чтобы на главной форме можно было через Checkbox выбрать "Тарифную группу" (одну из пяти) и в зависимости от этого для пациента можно было указать услуги из конкретной "Тарифной группы"?
2) Выбор услуг для пациента лучше реализовать так же через чекбоксы? Если ему услуг 10 нужно добавить? Некрасиво по-моему 10 боксов держать на главной форме
3) Самый сложный для меня вопрос:
Первая тарифная группа отличается от остальных тем, что человека могут лечить несколько дней. Например по стандарту "Профиль КПГ: Кардиология; Средний срок: 12,7; Тариф койко-дня: 2368,13; Тариф ЗС: 30075,25". Если "средний срок" отличается от того, который забит в тарифах на +-20%, то стоимость лечения=тариф койко-дня*количество дней (т.е. в данном случае, если вылечили за 10-15 дней, то стоимость лечения равна стоимости законченного случая 30075,25;  а если его вылечили за срок менее 10 дней или более 15 дней, то срок умножается на тариф койко-дня). Как можно реализовать данный пункт для подсчёта суммы за услугу?
Заранее спасибо.
ПС. Прикрепил "черновую форму"  проекта, а то может не совсем внятно описал свои проблемы sad

Post's attachments

Attachment icon Стоимость услуг.zip 327.65 kb, 414 downloads since 2014-12-10 

Re: Проект "Печать справки"

Приветствую,


Немного доработал ваш проект, но на счет расчетов тарифов не подскажу, не совсем понял, что к чему

Post's attachments

Attachment icon Стоимость услуг2.zip 5.65 kb, 440 downloads since 2014-12-11 

Dmitry.

3 (edited by baster.89 2014-12-12 05:28:00)

Re: Проект "Печать справки"

DriveSoft wrote:

Приветствую,


Немного доработал ваш проект, но на счет расчетов тарифов не подскажу, не совсем понял, что к чему

Спасибо большое.
Сам перечитал вопрос и не совсем понял smile
Т.е. имеется первая тарифная группа, в ней может меняться сумма за оказанную услугу в зависимости от того, больше или меньше среднего срока пациент лечился.
Для автоматизации расчета, как я понимаю, нужно сравнить даты начала лечения и окончания.
Вот простыми словами запрос могу объяснить, а на языке программирования нет:
----------------------------------------------------------------------------------
Для "тарифная_группа_1"
"дата_начала" - "дата_окончания" = "количество_дней"
Если "количество_дней"="средний_срок"+-20%, то "стоимость_услуги"="тариф_законченного_случая_(ЗС)"
Иначе "стоимость_услуги"="тариф" * "количество_дней"
-----------------------------------------------------------------------------------
С остальными группами не так всё запутано, там стоимость фиксированная, т.е. для них всегда считать по "тарифу законченного случая".
После этого уже печать справки по шаблону и выдача пациенту.

Post's attachments

Attachment icon Стоимость услуг.zip 340.53 kb, 461 downloads since 2014-12-12 

Re: Проект "Печать справки"

С небольшой частью вопроса разобрался,может кому пригодится.
Запрос для расчёта количества дней между датами:
----------------------------------------------------------------------------------
SELECT (julianday(vypis) - julianday(postup)) FROM klient
----------------------------------------------------------------------------------
Здесь "vypis"-это конечная дата,"postup"-начальная дата,"klient"-таблица, в которой эти даты хранятся.
В моём случае, нужно учитывать ещё и последний день, поэтому в запросе добавляю 1:
SELECT (julianday(vypis) - julianday(postup) + 1) FROM klient

Re: Проект "Печать справки"

Наконец-то удалось осуществить задуманное.
Расчет стоимости в зависимости от количества пролеченных дней (вся сложность ситуации описана выше) реализован непосредственно в самом отчёте.