Table of Contents |
---|
...
This method is designed to create reimbursement report which is based on Medication request and Medication dispense data for NHS admin.
WS logic
Authorize user
- Verify the validity of access token
- Return 401 in case validation fails
- Check user scopes in order to perform this action (scope = 'reimbursement_report:read')
- Return 403 in case invalid scope(s)
Validate request
Validate input dates
- There is 2 available dates for the filtering: date_from_dispense and date_to_dispense. Both of them must be filled.
In case of error show 422 error with message must be shown ( "Input dates must be filled")
- Validate input date_from and date_to
- if date_from_request is not null then: date_from_dispense<=date_to_dispense and date_to_dispense must be filled
in case of error - return 422 error:
{:error, [{
%{
description:
"Input dates are not valid"
,
params: [],
rule: :invalid
},
"$.date_from_dispense"
}]}
Input dates filter the field:
- date_from_dispense/date_to_dispense comparing to field medication_dispenses.dispensed_at
- if date_from_request is not null then: date_from_dispense<=date_to_dispense and date_to_dispense must be filled
If there is no data available for the requested period of time in response must be sent empty file, no error is shown.
Prepare response
Output format - text/csv
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
ЄДРПОУ,Повна назва закладу первинної медичної допомоги,Cтруктурні підрозділи закладу,,,,,,,,"Кількість населення, яке офіційно зареєстроване на території обслуговування закладу (осіб) ",Статус, ,,Назва структурного підрозділу ,"Населений пункт, де розташовано підрозділ",,,"Адреси проживання населення, що обслуговується підрозділом",,,,,, ,,,Район (місто),Тип,Назва,Індекс,Тип,Назва,Номери будинків,,, 38765198,"КЗ ""Бахмацький районний центр первинної медико-санітарної допомоги""",Амбулаторія ЗП СМ м.Бахмач,Бахмацький район,м.,Бахмач,16500,Структурний підрозділ обслуговує всі адреси цього населеного пункту,,,44 500,, 38765198,"КЗ ""Бахмацький районний центр первинної медико-санітарної допомоги""",Амбулаторія ЗП СМ с. Батурин,Бахмацький район,м.,Батурин,16512,Структурний підрозділ обслуговує всі адреси цього населеного пункту,,,44 500,, 38765198,"КЗ ""Бахмацький районний центр первинної медико-санітарної допомоги""",Амбулаторія ЗП СМ смт. Дмитрівка,Бахмацький район,смт,Дмитрівка,16572,Структурний підрозділ обслуговує всі адреси цього населеного пункту,,,44 500,, 38765198,"КЗ ""Бахмацький районний центр первинної медико-санітарної допомоги""",Амбулаторія ЗП СМ с. Тиниця,Бахмацький район,с.,Тиниця,16560,Структурний підрозділ обслуговує всі адреси цього населеного пункту,,,44 500,, 38765198,"КЗ ""Бахмацький районний центр первинної медико-санітарної допомоги""",Амбулаторія ЗП СМ с. Фастовці,Бахмацький район,с.,Фастовці,16550,Структурний підрозділ обслуговує всі адреси цього населеного пункту,,,44 500,, |
- Prepare response with fields described below and conditions described below:
- first row is for headers (REQUESTED_FIELD which is below)
- NHS admin will receive all Medication Dispenses and corresponding Medication Requests.
- in case there is no Medication Dispenses for Medication Requests, Medication Requests won't be shown in the report
- for Medication Dispense: status='PROCESSED'
...
REQUESTED_FIELD | REPORT_FIELD | SOURCE | COMMENT |
---|---|---|---|
Назва суб’єкту господарювання (аптека) | pharmacy_name | medication_dispense.legal_entity.name | |
Код ЄДРПОУ суб'єкту господарювання (аптека) | pharmacy_edrpou | medication_dispense.legal_entity.edrpou | |
Назва закладу охорони здоров’я | msp_name | medication_request.legal_entity.name | |
Код ЄДРПОУ закладу охорони здоров’я | msp_edrpou | medication_request.legal_entity.edrpou | |
Лікар, що виписав рецепт (ПІБ) | doctor_name | medication_request.party.last_name&first_name.secone_name | |
Лікар, що виписав рецепт (ID) | doctor_id | medication_request.party.id | |
№ Номер рецепта | request_number | medication_request.request_number | |
Дата створення рецепта | created_at | medication_request.created_at | |
Дата відпуску рецепта | dispensed_at | medication_dispense.dispensed_at | |
Міжнародна непатентована назва лікарського засобу (словник реєстру) | innm_name | select i.name | |
Лікарська форма | innm_dosage_name | medication_dispense.innm_dosage.name | innm_dosage |
Торгова назва лікарського засобу | medication_name | medication_dispense.medications.name | |
Сила дії (дозування) | ----- | innm_dosage_namedo not show | |
Форма випуску (словник реєстру) | form | medication_dispense.medications.form | |
Кількість одиниць лікарської форми відповідної дози в упаковці, од. | package_qty | medication_dispense.medications.package_qty | |
Кількість відпущених упаковок, упак | medication_qty | medication_dispense.medications.details.medication_qty | units, not packages |
Фактична роздрібна ціна реалізації упаковки, грн | sell_amount | medication_dispense.medications.details.sell_amount | |
Розмір відшкодування вартості лікарського засобу за упаковку, грн | reimbursement_amount | medication_dispense.medications.details.reimbursement_amount | |
Сума відшкодування, грн | discount_amount | medication_dispense.medications.details.discount_amount | |
Сума доплати за упаковку ЛЗ, грн | sell_price | medication_dispense.medications.details.sell_price | instead we show all fields to be able to calculate this value |
...