Описание таблицы
Конечному пользователю рекомендуется использовать таблицу sr.VReleasedServiceTable, которая включает в себя весь набор полей из sr.ReleasedService
В эту таблицу попадают данные об отпусках и оплате услуг, лечебных действий, лечебных программах (у которых есть отпуски) и медикаментах (отпущенных не из процедуры).
В нее также выводятся удаленные отпуски услуг (AppointmentDeletedDate is not null) и отпуски из услуг с любыми статусами, в том числе и отмененные (PrescriptionStatus = 'X').
Информация об оплате отпуска выводится корректная на текущий момент: при создании счета на услугу у соответствующего отпуска появляется информация о созданном счете, при оплате - появляется информация об оплате, при отмене счета информация о счете для отпусков отображаться перестанет.
Также информация об оплате корректно отображается для отпусков лечебных процедур: если сама услуга процедуры на несколько отпусков оплачена частично (например, есть оплаченный счет на 5 отпусков из 10 отпущенных в рамках процедуры), то информация об оплате будет выведена только соответствующим отпускам, а не всем из услуги (информация об оплате будет выведена первым 5 отпускам из 10, по дате завершения отпуска - DateTimeComplete).
Информация о налоге для услуги берется из счета. Мы считаем корректным, что налог будет начисляться только при наличии счета, то есть, по сути, конечной информации о стоимости и оплате услуги.
Чтобы получить строки с услугами, которые были оплачены именно из счета, нужно использовать условие "PaidDate is not null" или "BillStatus = "P"", так как в поле IsPaid учитываются как оплаченные услуги со способом оплаты по мед. показаниям или из программы (подробнее в описании поля в таблице ниже).
В таблицу выводится также дополнительная информация о:
- наличии и месте диспетчеризации
- пациенте (номер ИБ, ФИО, дата рождения)
- медицинском обследовании (информация из шаблона консультаций и инструментальных исследований)
Описание полей таблицы
| Название поля | Тип | Значение, которое может принимать | Описание поля | Другие заметки |
|---|---|---|---|---|
| PropertyCode | nvarchar(50) | NOT NULL | id объекта, к которому относится сущность | |
| AppointmentId | nvarchar(70) | NOT NULL 0, если если без значения | id отпуска услуги | PK* |
| TreatmentActionId | nvarchar(70) | NOT NULL | id отпущенного лечебного действия | PK |
| MedicalRecordId | nvarchar(70) | NULL (пока что null - где только ЛП) | id ИБ пациента | |
| ScheduleItemId | nvarchar(70) | NULL | id диспетчеризации | |
| IsAppointment | int | NOT NULL | флаг, определяет запись обычной услуги | значения: 1 и 0 |
| IsTreatmentAction | int | NOT NULL | флаг, определяет запись ЛД | значения: 1 и 0 |
| IsMedicalRecordTreatmentProgram | int | NOT NULL | флаг, определяет запись ЛП | значения: 1 и 0 |
| IsMedication | int | NOT NULL | флаг, определяет запись медикамента | значения: 1 и 0 |
| RecordNo | nvarchar(50) | NULL | номер ИБ пациента | |
| PatientFullName | nvarchar(302) | NULL (пока что пустое значение где только ЛП) | полное имя пациента | |
| BirthDate | date | NULL | дата рождения пациента | |
| ServiceItemId | nvarchar(70) | NULL null где только ЛП и отпуск медикамента | id услуги из назначения | |
| ServiceItemMasterCode | nvarchar(50) | NULL | Master код услуги | |
| AppointmentCreatedDate | datetime | NULL null где только ЛП | дата создания отпуск (дата начала, может быть завершен позже) | |
| DateTimeComplete | datetime | NULL | дата и время отпуска (дата завершения отпуска) | Для всех отпусков дата считается из Appointment с учетом значения из KeyValueStorage для ЛИ (за дату отпуска принимается дата создания отпуска (дата забора материала) или дата полного отпуска услуги) |
| DateComplete | date | NULL | дата отпуска (дата завершения отпуска) | Для всех отпусков дата считается из Appointment с учетом значения из KeyValueStorage для ЛИ (за дату отпуска принимается дата создания отпуска (дата забора материала) или дата полного отпуска услуги) |
| TreatmentActionCreatedDate | datetime | NULL | дата создания лечебного действия | |
| PaymentMethod | char(2) | NULL null где только ЛП | способ оплаты услуги | значения: 'BP' - пациентом, 'FP' - из программы (СП или ЛП), 'MI' - по мед. показаниям |
| IsPaid | int, но по сути - bit | NOT NULL 0 или 1 | флаг, оплачена ли услуга или нет (признак оплаты) | Оплаченными считаем:
|
| IsPerformed | int, но по сути - bit | NULL null где только ЛП | флаг, отпущена ли услуга или нет (признак отпуска) | Отпущенными считаем
|
| Quantity | decimal(38,5) | NULL но значения null быть не может | количество отпущенной услуги | для обычных услуг и ЛП - всегда 1, для ЛД - все количество ЛД, так как они отпускаются полностью в рамках отпуска услуги |
| OriginalPrice | money | NULL | цена услуги до всех скидок за все количество Quantity | |
| OriginalPricePerOne | money | NULL | цена услуги за 1 штуку | |
| TotalPrice | money | NULL | цена услуги из листа назначений | учитывается скидка по лояльности и скидка по ЛП, без скидки из счета цена берется из прайс листа |
| PricePerOne | money | NULL | цена услуги из листа назначений за 1 штуку | для обычных отпусков и ЛП равна значению TotalPrice цена берется из прайс листа |
| BillItemOriginalPrice | money | NULL | цена услуги из счета до скидки по счету | цена услуги, оплаченной ил ЛП - 0, т.к. оплачивается сама ЛП |
| BillItemOriginalPricePerOne | money | NULL | цена услуги из счета до скидки по счету за 1 штуку | цена услуги, оплаченной ил ЛП - 0, т.к. оплачивается сама ЛП |
| BillItemTotalPrice | money | NULL | цена услуги из счета со скидкой из счета | цена услуги, оплаченной ил ЛП - 0, т.к. оплачивается сама ЛП |
| BillItemTotalPricePerOne | money | NULL | цена услуги из счета со скидкой из счета за 1 штуку | цена услуги, оплаченной ил ЛП - 0, т.к. оплачивается сама ЛП |
| TaxRateId | nvarchar(70) | NULL | id налога | |
| TaxRate | decimal(18,10) | NULL | процент налога | для ЛП и услуг, оплаченных из ЛП - налог не учитывается |
| TaxAmount | money | NULL | сумма включенного налога | для ЛП и услуг, оплаченных из ЛП - всегда 0 |
| PatientSpentTime | int | NULL | длительность отпуска услуги фактическая | выводится время от фактического начала отпуска услуги по фактического его завершения; для ЛД время учитывается из отпуска обычной услуги (Appointment) |
| AppointmentStatus | char(1) | NULL | статус отпуска услуги | значения: 'S' - начат, 'F' - завершен |
| PrescriptionStatus | char(1) | NULL | статус назначения | значения: 'C' - ожидает утверждения, 'A' - назначен (утверждено), 'R' - отказано в утверждении, 'S' - начат, 'U' - приостановлено, 'D' - время назначено, 'O' - пациент не явился, 'T' - обработка результатов (после проведенного исследования), 'X' - назначение отменено |
| ReleaseStatus | char(1) | NULL | статус отпуска услуги (диспетчеризации) | значения: 'N' - новый, 'F' - завершенный, 'S' - начатый, 'P' - предварительный |
| AppointmentItemCost | money | NULL | фактическая цена услуги, доход от услуги | для услуг со способом оплаты по мед. показаниям и из программы цена - 0, даже если в прайс листе больше 0 |
| PrimeCost | money | NULL | себестоимость из прайс листа | |
| AppointmentScore | int | NULL | оценка удовлетворенности | |
| AppointmentScoreComment | nvarchar(max) | NULL | комментарий оценки удовлетворенности | |
| ExternalId | nvarchar(20) | NULL коды ошибок: '#error','#sentToBus' | id услуги из внешней системы | |
| ServicePointId | nvarchar(70) | NULL | id кабинета, в котором осуществлялся отпуск услуги | |
| ServicePointMasterCode | nvarchar(50) | NULL | Master код кабинета, в котором осуществлялся отпуск услуги | |
| PrescriptionId | nvarchar(70) | NULL | id назначения | |
| PrescriptionType | char(1) | NULL null где только ЛП | тип назначения | частично совпадает с типом услуги значения: 'C' - консультация или ИИ, 'P' - лечебная процедура, 'L' - ЛИ, 'M' - медикамент |
| PrescriptionCancelledDate | datetime | NULL | дата и время отмены назначения | |
| BillId | nvarchar(70) | NULL | id счета | |
| BillStatus | char(1) | NULL | статус счета | значения: 'N' - создан, 'P' - оплачен, 'C' - отменен, 'R' - распечатан, 'S' - частично оплачен (устарело) |
| PaidDate | datetime | NULL | дата оплаты счета | |
| BillItemId | nvarchar(70) | NOT NULL 0, если если без значения | id элемента счета | PK |
| PaymentInstrumentName | nvarchar(50) | NULL | наименование платежного инструмента | |
| PaymentInstrumentCode | nvarchar(10) | NULL | код платежного инструмента | |
| PaymentType | nvarchar(10) | NULL | код способа оплаты | значения: 'C' - наличные, 'CC' - кредитные карты, 'CCT' - кредитные карты (процессинг), 'E' - внешний, 'CERT' - сертификат |
| MedicalRecordTreatmentProgramId | nvarchar(70) | NOT NULL 0, если если без значения | id лечебной программы из ИБ | PK указывается в строках только с ЛП и в строках с услугой, оплаченной из этой ЛП |
| UserIdInitiator | nvarchar(70) | NULL | id пользователя, создавшего назначение (инициатора) | |
| UserIdInitiatorFullName | nvarchar(302) | NULL | ФИО пользователя, создавшего назначение | |
| UserIdComplete | nvarchar(70) | NULL | id пользователя, выполнившего отпуск | |
| UserIdCompleteFullName | nvarchar(302) | NULL | ФИО пользователя, выполнившего отпуск | |
| IsDispatched | int, но по сути - bit | NOT NULL | флаг, диспетчеризована услуга или нет (признак диспетчеризации) | 1, когда есть неудаленная диспетчеризация у услуги, иначе - 0 |
| GenericResult | char(2) | NULL | код результата исследования | значения: 'OK' - норма (патологий не выявлено, кол-во - 0), 'PR' - отклонение (выявлено патологий больше 0), 'CT' - "Cito!", 'NA' - не указано (ничего из вышеперечисленного не указано) |
| PathologyCount | int | NULL | количество выявленных патологий в исследовании | значение из шаблона исследования "Патологий выявлено всего" |
| FirstTimePathologyCount | int | NULL | количество впервые выявленных патологий | значение из шаблона исследования "из них впервые" |
| ExaminationDateTime | datetime | NULL | дата начала медицинского обследования | |
| ExaminationCompletionStartDate | datetime | NULL | дата окончания медицинского обследования | |
| AppointmentDeletedDate | datetime | NULL | дата и время удаления отпуска | по этому полю можно отфильтровывать удаленные отпуски (AppointmentDeletedDate is null) |
| AppointmentUserIdDeleted | nvarchar(70) | NULL | id пользователя, удалившего отпуск | |
| MedicalRecordTreatmentProgramDeletedDate | datetime | NULL | дата и время удаления ЛП в ИБ пациента | |
| MedicalRecordTreatmentProgramUserIdDeleted | nvarchar(70) | NULL | id пользователя, удалившего ЛП в ИБ пациента | |
| TreatmentProgramId | nvarchar(70) | NULL | id ЛП из справочника в администрировании | |
| TreatmentProgramMasterCode | nvarchar(50) | NULL | Master код ЛП | |
| CustomPrescriptionsList | nvarchar(200) | NULL | идентификатор пользовательского листа назначений | |
| ScheduleItemDuration | int | NULL | продолжительность отпуска из диспетчеризации | |
| ActualDate | datetime | NOT NULL | дата и время, по которому хранилище определяет, что необходима сверка данных |
*PK - Primary Key, первичный ключ