Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Описание таблицы

Warning

Конечному пользователю рекомендуется использовать таблицу sr.VReleasedServiceTable, которая включает в себя весь набор полей из sr.ReleasedService


В эту таблицу попадают данные об отпусках и оплате услуг, лечебных действий, лечебных программах (у которых есть отпуски) и медикаментах (отпущенных не из процедуры).
В нее также выводятся удаленные отпуски услуг (AppointmentDeletedDate is not null) и отпуски из услуг с любыми статусами, в том числе и отмененные (PrescriptionStatus = 'X').

...

  • наличии и месте диспетчеризации
  • пациенте (номер ИБ, ФИО, дата рождения)
  • медицинском обследовании (информация из шаблона консультаций и инструментальных исследований)

Описание полей таблицы

Название поляТипЗначение, которое
может принимать
Описание поляДругие заметки
PropertyCodenvarchar(50)NOT NULLid объекта, к которому относится сущность
AppointmentId

nvarchar(70)

NOT NULL
0, если если без значения
id отпуска услугиPK*
TreatmentActionIdnvarchar(70)

NOT NULL
0, если если без значения

id отпущенного лечебного действияPK
MedicalRecordIdnvarchar(70)NULL
(пока что null - где только ЛП)
id ИБ пациента
ScheduleItemIdnvarchar(70)NULLid диспетчеризации
IsAppointmentintNOT NULLфлаг, определяет запись обычной услугизначения: 1 и 0
IsTreatmentActionintNOT NULLфлаг, определяет запись ЛДзначения: 1 и 0
IsMedicalRecordTreatmentProgramintNOT NULLфлаг, определяет запись ЛПзначения: 1 и 0
IsMedicationintNOT NULLфлаг, определяет запись медикаментазначения: 1 и 0
RecordNonvarchar(50)NULLномер ИБ пациента
PatientFullNamenvarchar(302)NULL
(пока что пустое значение где только ЛП)
полное имя пациента
BirthDatedateNULLдата рождения пациента
ServiceItemIdnvarchar(70)NULL
null где только ЛП и отпуск медикамента
id услуги из назначения
ServiceItemMasterCodenvarchar(50)NULLMaster код услуги
AppointmentCreatedDatedatetimeNULL
null где только ЛП
дата создания отпуск (дата начала, может быть завершен позже)
DateTimeCompletedatetimeNULLдата и время отпуска (дата завершения отпуска)Для всех отпусков дата считается из Appointment с учетом значения из KeyValueStorage для ЛИ (за дату отпуска принимается дата создания отпуска (дата забора материала) или дата полного отпуска услуги)
DateCompletedateNULLдата отпуска (дата завершения отпуска)Для всех отпусков дата считается из Appointment с учетом значения из KeyValueStorage для ЛИ (за дату отпуска принимается дата создания отпуска (дата забора материала) или дата полного отпуска услуги)
TreatmentActionCreatedDatedatetimeNULLдата создания лечебного действия
PaymentMethodchar(2)NULL
null где только ЛП
способ оплаты услугизначения: 'BP' - пациентом, 'FP' - из программы (СП или ЛП), 'MI' - по мед. показаниям
IsPaidint, но по сути - bitNOT NULL
0 или 1
флаг, оплачена ли услуга или нет (признак оплаты)Оплаченными считаем:
  • Для обычных отпусков (способ оплаты не из ЛП): способ оплаты по мед. показаниям или из программы ИЛИ цена услуги больше либо равна 0 и есть оплаченный счет ИЛИ цена услуги равно 0 ИЛИ услуга была оплачена из внешней системы без ошибок (Appointment.ExternalId not in ('#error','#sentToBus'))
  • Для ЛД со счетом: способ оплаты по мед. показаниям или из программы ИЛИ цена ЛД больше либо равна 0 и в счете последняя транзакция была платной транзакцией ИЛИ цена ЛД равна 0 ИЛИ услуга была оплачена из внешней системы без ошибок (Appointment.ExternalId not in ('#error','#sentToBus'))
  • Для ЛД без счета: способ оплаты по мед. показаниям или из программы ИЛИ цена ЛД равна 0 ИЛИ услуга была оплачена из внешней системы без ошибок (Appointment.ExternalId not in ('#error','#sentToBus'))
  • Для обычных отпусков со способом оплаты из ЛП или просто ЛП: способ оплаты по мед. показаниям (вероятно, лишнее старое условие) ИЛИ ЛП не из внешней системы (MedicalRecordTreatmentProgram.IsExternal = 0) и в счете последняя транзакция была оплатной транзакцией ИЛИ ЛП из внешней системы (MedicalRecordTreatmentProgram.IsExternal = 1) ИЛИ услуга была оплачена из внешней системы без ошибок (Appointment.ExternalId not in ('#error','#sentToBus'))
IsPerformedint, но по сути - bitNULL
null где только ЛП
флаг, отпущена ли услуга или нет (признак отпуска)

Отпущенными считаем

  • Для всех обычных отпусков: отпуск не удален (AppointmentDeletedDate is null) И отпуск завершен по его статусу (AppointmentStatus = 'F' and DateTimeComplete is not null или это ЛИ и в настройках стоит отпуск по забору материала) И пациент на прием явился (PrescriptionStatus <> 'O') И ИБ не в статусе "незаезд" или "отмена брони" И ИБ не удалена
  • Для всех ЛД: отпуск не удален И пациент на прием явился И назначение не удалено (вероятно старая логика, удаленные назначения сейчас сохранить в БД нельзя)
Quantitydecimal(38,5)NULL
но значения null быть не может
количество отпущенной услугидля обычных услуг и ЛП - всегда 1, для ЛД - все количество ЛД, так как они отпускаются полностью в рамках отпуска услуги
OriginalPricemoneyNULLцена услуги до всех скидок за все количество Quantity
OriginalPricePerOnemoneyNULLцена услуги за 1 штуку
TotalPricemoneyNULLцена услуги из листа назначенийучитывается скидка по лояльности и скидка по ЛП, без скидки из счета
цена берется из прайс листа
PricePerOnemoneyNULLцена услуги из листа назначений за 1 штукудля обычных отпусков и ЛП равна значению TotalPrice

цена берется из прайс листа

BillItemOriginalPricemoneyNULLцена услуги из счета до скидки по счетуцена услуги, оплаченной ил ЛП - 0, т.к. оплачивается сама ЛП
BillItemOriginalPricePerOnemoneyNULLцена услуги из счета до скидки по счету за 1 штукуцена услуги, оплаченной ил ЛП - 0, т.к. оплачивается сама ЛП
BillItemTotalPricemoneyNULLцена услуги из счета со скидкой из счетацена услуги, оплаченной ил ЛП - 0, т.к. оплачивается сама ЛП
BillItemTotalPricePerOnemoneyNULLцена услуги из счета со скидкой из счета за 1 штукуцена услуги, оплаченной ил ЛП - 0, т.к. оплачивается сама ЛП
TaxRateIdnvarchar(70)NULLid налога
TaxRatedecimal(18,10)NULLпроцент налогадля ЛП и услуг, оплаченных из ЛП - налог не учитывается
TaxAmountmoneyNULLсумма включенного налогадля ЛП и услуг, оплаченных из ЛП - всегда 0
PatientSpentTimeintNULLдлительность отпуска услуги фактическаявыводится время от фактического начала отпуска услуги по фактического его завершения; для ЛД время учитывается из отпуска обычной услуги (Appointment)
AppointmentStatuschar(1)NULLстатус отпуска услугизначения: 'S' - начат, 'F' - завершен
PrescriptionStatuschar(1)NULLстатус назначениязначения: 'C' - ожидает утверждения, 'A' - назначен (утверждено), 'R' - отказано в утверждении, 'S' - начат, 'U' - приостановлено, 'D' - время назначено, 'O' - пациент не явился, 'T' - обработка результатов (после проведенного исследования), 'X' - назначение отменено
ReleaseStatuschar(1)NULLстатус отпуска услуги (диспетчеризации)значения: 'N' - новый, 'F' - завершенный, 'S' - начатый, 'P' - предварительный
AppointmentItemCostmoneyNULLфактическая цена услуги, доход от услугидля услуг со способом оплаты по мед. показаниям и из программы цена - 0, даже если в прайс листе больше 0
PrimeCostmoneyNULLсебестоимость из прайс листа
AppointmentScoreintNULLоценка удовлетворенности
AppointmentScoreCommentnvarchar(max)NULLкомментарий оценки удовлетворенности
ExternalIdnvarchar(20)NULL
коды ошибок: '#error','#sentToBus'
id услуги из внешней системы
ServicePointIdnvarchar(70)NULLid кабинета, в котором осуществлялся отпуск услуги
ServicePointMasterCodenvarchar(50)NULLMaster код кабинета, в котором осуществлялся отпуск услуги
PrescriptionIdnvarchar(70)

NULL
null где только ЛП

id назначения
PrescriptionTypechar(1)NULL
null где только ЛП
тип назначениячастично совпадает с типом услуги
значения: 'C' - консультация или ИИ, 'P' - лечебная процедура, 'L' - ЛИ, 'M' - медикамент
PrescriptionCancelledDatedatetimeNULLдата и время отмены назначения
BillIdnvarchar(70)NULLid счета
BillStatuschar(1)NULLстатус счетазначения: 'N' - создан, 'P' - оплачен, 'C' - отменен, 'R' - распечатан, 'S' - частично оплачен (устарело)
PaidDatedatetimeNULLдата оплаты счета
BillItemIdnvarchar(70)NOT NULL
0, если если без значения
id элемента счетаPK
PaymentInstrumentNamenvarchar(50)NULLнаименование платежного инструмента
PaymentInstrumentCodenvarchar(10)NULLкод платежного инструмента
PaymentTypenvarchar(10)NULLкод способа оплатызначения: 'C' - наличные, 'CC' - кредитные карты, 'CCT' - кредитные карты (процессинг), 'E' - внешний, 'CERT' - сертификат
MedicalRecordTreatmentProgramIdnvarchar(70)NOT NULL
0, если если без значения
id лечебной программы из ИБPK
указывается в строках только с ЛП и в строках с услугой, оплаченной из этой ЛП
UserIdInitiatornvarchar(70)NULLid пользователя, создавшего назначение (инициатора)
UserIdInitiatorFullNamenvarchar(302)NULLФИО пользователя, создавшего назначение
UserIdCompletenvarchar(70)NULLid пользователя, выполнившего отпуск
UserIdCompleteFullNamenvarchar(302)NULLФИО пользователя, выполнившего отпуск
IsDispatchedint, но по сути - bitNOT NULLфлаг, диспетчеризована услуга или нет (признак диспетчеризации)1, когда есть неудаленная диспетчеризация у услуги, иначе - 0
GenericResultchar(2)NULLкод результата исследованиязначения: 'OK' - норма (патологий не выявлено, кол-во - 0), 'PR' - отклонение (выявлено патологий больше 0), 'CT' - "Cito!", 'NA' - не указано (ничего из вышеперечисленного не указано)
PathologyCountintNULLколичество выявленных патологий в исследованиизначение из шаблона исследования "Патологий выявлено всего"
FirstTimePathologyCountintNULLколичество впервые выявленных патологийзначение из шаблона исследования "из них впервые"
ExaminationDateTimedatetimeNULLдата начала медицинского обследования
ExaminationCompletionStartDatedatetimeNULLдата окончания медицинского обследования
AppointmentDeletedDatedatetimeNULLдата и время удаления отпускапо этому полю можно отфильтровывать удаленные отпуски (AppointmentDeletedDate is null)
AppointmentUserIdDeletednvarchar(70)NULLid пользователя, удалившего отпуск
MedicalRecordTreatmentProgramDeletedDatedatetimeNULLдата и время удаления ЛП в ИБ пациента
MedicalRecordTreatmentProgramUserIdDeletednvarchar(70)NULLid пользователя, удалившего ЛП в ИБ пациента
TreatmentProgramIdnvarchar(70)NULLid ЛП из справочника в администрировании
TreatmentProgramMasterCodenvarchar(50)NULL

Master код ЛП


CustomPrescriptionsListnvarchar(200)NULLидентификатор пользовательского листа назначений
ScheduleItemDurationintNULLпродолжительность отпуска из диспетчеризации
ActualDatedatetimeNOT NULL

дата и время, по которому хранилище определяет, что необходима сверка данных


*PK - Primary Key, первичный ключ