@php $price_list_id = is_patient_category_attached_to_price_list($patient_id); @endphp
@if(Auth::user()->can('price-list-category-change-billing') && !$patient_insurance_status)
{{ Form::open(['route' => 'inpatient_billing', 'data-toggle' => 'validator']) }}
{{ Form::close() }}
@endif
@if(is_null($inpatient_info->bed_category_id))
{{ Form::open(['route' => 'store_inpatient_bill', 'id' => 'inpatient_bill_form']) }}
{{ Form::hidden('billing_price_list', $price_list_set) }}
{{ Form::hidden('patient_insurance_status', $patient_insurance_status) }}
{{ __('inpatient.ward') }}
{{ get_name($inpatient_info->ward_id, 'id', 'name', 'wards') }}
{{ __('inpatient.bed_category') }}
@if(is_null($inpatient_info->bed_category_id))
{!! custom_dropdown_selected("inpatient_bed_categories", "id", "name", $inpatient_info->bed_category_id) !!}
@else
{{ get_name($inpatient_info->bed_category_id, 'id', 'name', 'inpatient_bed_categories') }}
@endif
{{ __('inpatient.residence') }}
{{ patient_residence($patient->id) }}
{{ __('inpatient.admitted') }}
@if($inpatient_info->discharged == 1)
@php $end_date = new DateTime($inpatient_info->discharged_on) @endphp
@else
@php $end_date = new DateTime(date('Y-m-d')) @endphp
@endif
@php
$start_date = new DateTime($inpatient_info->admitted_on);
$days_spent_in_ward = ($end_date->diff($start_date)->format('%a'));
@endphp
{{ streamline_date($inpatient_info->admitted_on) }} ( {{ $days_spent_in_ward }} days)
{{ Form::hidden("duration", $days_spent_in_ward) }}
{{ Form::hidden("inpatient_info_id", $inpatient_info->id) }}
{{ __('inpatient.discharged_on') }}
@if($inpatient_info->discharged == 1)
{{ streamline_date($inpatient_info->discharged_on) }}
@else
{{ __('inpatient.still_admitted') }}
@endif
{{ __('inpatient.category') }}
{{ get_name($patient->category_id, 'id', 'name', 'patient_categories') }}
@if(!is_null($patient_discount))
({{ $patient_discount["discount"] }} % {{ __('inpatient.discount') }})
@endif
$patient_id, 'episode_id' => $episode_id])->get();
$ward_bed_admission_total_cost = $chi_ward_accomodation_to_pay = 0;
?>
@if(count($ward_bed_stays) > 0)
{{ __('inpatient.bed_no') }}
{{ __('inpatient.bed_category') }}
{{ __('inpatient.from') }}
{{ __('inpatient.to') }}
{{ __('inpatient.duration') }}
{{ __('inpatient.patient_to_pay') }}
{{ __('inpatient.insurance_to_pay') }}
@if(count($ward_bed_stays) > 0)
@foreach($ward_bed_stays as $bed_record)
@php
$accomodation_cost = $bed_record->bed_fee_total;
$chi_accomodation_cost = $bed_record->chi_bed_fee_total;
$chi_ward_accomodation_to_pay += $chi_accomodation_cost;
$ward_bed_admission_total_cost += $accomodation_cost;
@endphp
{{ $bed_record->bed_number}}
{{ get_name($bed_record->bed_category, "id", "name", "inpatient_bed_categories") }}
{{ streamline_date($bed_record->from) }}
{{ streamline_date($bed_record->to) }}
{{ $bed_record->duration }}
{{ ugandan_shillings_with_decimals($accomodation_cost) }}
{{ ugandan_shillings_with_decimals($chi_accomodation_cost) }}
@endforeach
@endif
{{ __('inpatient.patient_to_pay') }}
{{ Form::hidden('ward_bed_admission_cost', $ward_bed_admission_total_cost, ['id' => 'ward_bed_admission_cost']) }}
{{ Form::text('display_ward_bed_admission_cost', ugandan_shillings_with_decimals($ward_bed_admission_total_cost), ['class' => 'form-control compulsory', 'readonly', 'id' => 'display_ward_bed_admission_cost']) }}
@if($patient_insurance_status)
{{ __('inpatient.insurance_to_pay') }}
{{ Form::hidden('insurance_admission_cost', $chi_ward_accomodation_to_pay, ['id' => 'insurance_admission_cost']) }}
{{ Form::text('display_insurance_ward_bed_admission_cost', ugandan_shillings_with_decimals($chi_ward_accomodation_to_pay), ['class' => 'form-control compulsory', 'readonly']) }}
@endif
@endif
@php $admission_cost = $ward_bed_admission_total_cost; @endphp
count() < 1) style="display: none" @endif>
{{ __('inpatient.name') }}
{{ __('inpatient.patient_to_pay') }}
{{ __('inpatient.insurance_to_pay') }}
@if(count($ordered_ward_investigations) > 0)
@php
// ids of the ordered investigations
$investigation_ids = $ward_inv_pricing = $order_ids = $all_order_ids_array = [];
foreach($ordered_ward_investigations as $ordered_investigation){
if (get_investigation_billing_mode() == 1 && $ordered_investigation->investigation_status == 0) {
// no results yet, so ignore
continue;
}
$investigation_ids = array_merge($investigation_ids, explode(",", $ordered_investigation->investigation_id));
$ward_inv_pricing = array_merge($ward_inv_pricing, explode(",", $ordered_investigation->ward_pricing_id));
$single_order_investigations = explode(",",$ordered_investigation->investigation_id);
for ($w=0; $w < count($single_order_investigations) ; $w++) {
echo ' ';
$all_order_ids_array[] = $ordered_investigation->id;
}
array_push($order_ids, $ordered_investigation->id);
}
$count_orders = count($order_ids);
// create strings from arrays to use when submitting
$investigation_ids_string = implode(',', $investigation_ids);
$investigation_amount = 0;
@endphp
{{ Form::hidden('investigation_ids', $investigation_ids_string) }}
@for ($i = 0; $i < count($investigation_ids); $i++)
@php
// get insurance status for investigation
$investigation_insurance_status = get_name($investigation_ids[$i], "id", "insurance_coverage", "investigations");
// insurance flag
$is_insured = 0;
$tariff_id = 0;
$benefit_id = 0;
$investigation_amount_insurance = 0;
if($patient_insurance_status){
$item_insurance_details = get_item_insurance_pricing($patient_id, $investigation_ids[$i], 3, true, $inpatient_info->ward_id);
$investigation_amount = $item_insurance_details[2];
$investigation_amount_insurance = $item_insurance_details[1];
$is_insured = $item_insurance_details[0];
$tariff_id = $item_insurance_details[3];
$benefit_id = $item_insurance_details[4];
} else {
if ($price_list_set && $price_list_set != 0){
$investigation_amount = get_price_list_category_price($price_list_set, 2, $investigation_ids[$i]);
} elseif ($price_list_id) {
$investigation_amount = get_price_list_category_price($price_list_id, 2, $investigation_ids[$i]);
} else {
$investigation_amount = get_name($investigation_ids[$i], "id", "non_insured_price", "investigations");
}
}
if (isset($ward_inv_pricing[$i]) && is_numeric($ward_inv_pricing[$i])) {
$saved_prices = get_investigation_ward_pricing_by_id($ward_inv_pricing[$i]);
$saved_ward_chi_price = $saved_prices[1];
$saved_ward_price = $saved_prices[0];
} else {
$saved_prices = get_investigation_ward_pricing($patient_id, $episode_id, $investigation_ids[$i], $all_order_ids_array[$i]);
$saved_ward_chi_price = $saved_prices[1];
$saved_ward_price = $saved_prices[0];
if($saved_prices[2]) {
$ward_inv_pricing[$i] = $saved_prices[2];
}
}
//if the inv exists in ward pricing table use that price else use default
if($saved_ward_price != "N/A"){
$investigation_amount = (is_null($price_list_set) || $price_list_set == "") ? $saved_ward_price : $investigation_amount;
}
$investigation_amount_insurance = $saved_ward_chi_price == 'N/A' ? $investigation_amount_insurance : $saved_ward_chi_price;
$investigation_amount_total += $investigation_amount;
$insurance_investigations += $investigation_amount_insurance;
@endphp
@if($is_insured == 1)
{{ get_name($investigation_ids[$i], "id", "name", "investigations") }}
@else
{{ get_name($investigation_ids[$i], "id", "name", "investigations") }}
@endif
{{ Form::hidden('investigations_item_ids[]', $investigation_ids[$i]) }}
{{ Form::hidden('investigations_tariff_ids[]', $tariff_id) }}
{{ Form::hidden('investigations_benefit_ids[]', $benefit_id) }}
{{ Form::hidden('ward_inv_pricing_ids[]', ((isset($ward_inv_pricing[$i]) && is_numeric($ward_inv_pricing[$i])) ? $ward_inv_pricing[$i] : 0)) }}
@if(Auth::user()->can('edit-investigation-prices-on-inpatient-bill') && $is_insured == 0)
{{ Form::number('investigation_amount[]', $investigation_amount, ['class' => 'form-control investigation_amount', 'id' => 'investigation_amount_' . $counter]) }}
@else
{{ Form::number('investigation_amount[]', $investigation_amount, ['class' => 'form-control investigation_amount', 'readonly', 'id' => 'investigation_amount_' . $counter]) }}
@endif
{{ Form::hidden('investigation_insured[]', $is_insured) }}
{{ Form::hidden('investigation_summed_amount[]', ($investigation_amount_insurance + $investigation_amount), ['id' => 'investigation_summed_amount_' . $counter]) }}
@if($is_insured == 1 && Auth::user()->can('chi-to-pay-edit'))
{{ Form::number('investigation_insurance_amount[]', $investigation_amount_insurance, ['class' => 'form-control investigation_insurance_amount', 'id' => 'investigation_insurance_amount_' . $counter]) }}
@else
{{ Form::number('investigation_insurance_amount[]', $investigation_amount_insurance, ['class' => 'form-control investigation_insurance_amount', 'readonly', 'id' => 'investigation_insurance_amount_' . $counter]) }}
@endif
@php $counter++; @endphp
@endfor
@else
{{ __('inpatient.no_investigations_ordered') }}
@endif
{{ __('inpatient.patient_to_pay') }}
{{ Form::hidden('investigation_cost', $investigation_amount_total, ['id' => 'investigation_cost']) }}
{{ Form::hidden('insurance_investigation_cost', $insurance_investigations, ['id' => 'insurance_investigation_cost']) }}
{{ Form::text('display_investigation_cost', ugandan_shillings_with_decimals($investigation_amount_total), ['class' => 'form-control compulsory', 'readonly','id' => 'display_investigation_cost']) }}
@if($patient_insurance_status)
{{ __('inpatient.insurance_to_pay') }}
{{ Form::text('display_insurance_investigation_cost', ugandan_shillings_with_decimals($insurance_investigations), ['class' => 'form-control compulsory', 'readonly','id' => 'display_insurance_investigation_cost']) }}
@endif
count() < 1) style="display: none" @endif>
@php
$inpatient_info_ward_treatments_array = unserialize($inpatient_info->ward_treatments);
$this_drug_sp = 0;
$insurance_treatment_to_pay = 0;
@endphp
@php $treatment_total_cost = 0; @endphp
@if(get_ward_prescription_model() == 1 || $patient_insurance_status)
{{ __('inpatient.treatment') }}
{{ __('inpatient.unit_price') }}
{{ __('inpatient.insurance_unit_price') }}
{{ __('inpatient.quantity_given') }}
{{ __('inpatient.patient_to_pay') }}
{{ __('inpatient.insurance_to_pay') }}
@if(!empty($dispensed_drug_quantity_given_array))
@foreach($dispensed_drug_quantity_given_array as $drug_id => $quantity_given)
@php
$is_insured = 0;
$tariff_id = 0;
$benefit_id = 0;
if($patient_insurance_status){
$item_insurance_details = get_item_insurance_pricing($patient_id, $drug_id, 4, true, $inpatient_info->ward_id);
$drugs_cost = $item_insurance_details[2];
$insurance_treatment_to_pay = $item_insurance_details[1];
$is_insured = $item_insurance_details[0];
$tariff_id = $item_insurance_details[3];
$benefit_id = $item_insurance_details[4];
} else {
if ($price_list_set && $price_list_set != 0){
$drugs_cost = get_price_list_category_price($price_list_set, 3, $drug_id);
} elseif ($price_list_id) {
$drugs_cost = get_price_list_category_price($price_list_id, 3, $drug_id);
} else {
$drugs_cost = get_name($drug_id, "id", "non_insured_price", "drugs");
}
}
//get actual total costs incase the price of item changed after dispensation to allow retro billing
$this_drug_total_price = 0;
$per_ward_drug_given_rows = \Illuminate\Support\Facades\DB::table('ward_treatment_dispensations')->whereNull('deleted_at')->where(['patient_id' => $patient_id, 'episode_id' => $episode_id, 'drug_id' => $drug_id])->get();
foreach ($per_ward_drug_given_rows as $drug_ward_record) {
$this_drug_sp = (is_null($price_list_set) || $price_list_set == "") ? $drug_ward_record->price : $drugs_cost;
$this_drug_sp = is_numeric($this_drug_sp) ? $this_drug_sp : 0;
$this_drug_total_price += ($this_drug_sp * $drug_ward_record->quantity_given);
$insurance_treatment_to_pay = $drug_ward_record->chi_price;
}
$treatment_total_cost += $this_drug_total_price;
$insurance_treatments += ($insurance_treatment_to_pay * $quantity_given);
@endphp
@if($is_insured == 1)
{{ get_name($drug_id, "id", "name", "drugs") }}
@else
{{ get_name($drug_id, "id", "name", "drugs") }}
@endif
{{ Form::number('prescription_treatment_item_prices[]', $this_drug_sp, ['class' => 'form-control', 'readonly', 'id' => 'drug_unit_price_' . $counter]) }}
@if($is_insured == 1 && Auth::user()->can('chi-to-pay-edit'))
{{ Form::number('drug_unit_insurance_amount[]', $insurance_treatment_to_pay, ['class' => 'form-control ward_treatment_insurance', 'id' => 'drug_unit_insurance_amount_' . $counter]) }}
@else
{{ Form::number('drug_unit_insurance_amount[]', $insurance_treatment_to_pay, ['class' => 'form-control ward_treatment_insurance', 'readonly', 'id' => 'drug_unit_insurance_amount_' . $counter]) }}
@endif
{{ Form::number('ward_drug_quantity[]', $quantity_given, ['class' => 'form-control', 'readonly', 'id' => 'ward_drug_quantity_' . $counter]) }}
{{ Form::hidden('prescription_treatment_item_ids[]', $drug_id) }}
{{ Form::hidden('prescription_treatment_tariff_ids[]', $tariff_id) }}
{{ Form::hidden('prescription_treatment_benefit_ids[]', $benefit_id) }}
{{ Form::hidden('drug_summed_amount[]', ($this_drug_sp + $insurance_treatment_to_pay), ['id' => 'drug_summed_amount_' . $counter]) }}
{{ Form::number('drug_subtotal[]', $this_drug_total_price, ['class' => 'form-control ward_drug_amounts', 'readonly', 'id' => 'drug_subtotal_' . $counter]) }}
{{ Form::number('drug_insurance_amount[]', $insurance_treatment_to_pay * $quantity_given, ['class' => 'form-control ward_drug_chi_amount', 'readonly', 'id' => 'drug_insurance_amount_' . $counter]) }}
@php $counter++; @endphp
@endforeach
@else
{{ __('inpatient.no_treatments_ordered') }}
@endif
@elseif(get_ward_prescription_model() == 2)
@php
$inpatient_ward_treatment = unserialize($inpatient_info->ward_treatments);
$dob = get_name($patient_id, "id", "date_of_birth", "patients");
$difference = days_months_years($dob, date("Y-m-d"));
$days = $difference[0];
$months = $difference[1];
$years = $difference[2];
$age_bracket = "";
if (between($years, 0, 5)){
$age_bracket = __('inpatient.infant');
} elseif (between($years, 6, 12)){
$age_bracket = __('inpatient.child');
} elseif ($years > 12){
$age_bracket = __('inpatient.adult');
}
@endphp
{{ __('inpatient.treatment') }}
{{ __('inpatient.days') }}
{{ __('inpatient.daily_cost_for') }} {{ $age_bracket }}
{{ __('inpatient.total_cost') }}
@if(is_null($inpatient_ward_treatment))
{{ __('inpatient.no_treatments_ordered') }}
@else
@php
// for old streamline system records which were using a weird naming convention
$drugs = $inpatient_ward_treatment['drugs'] ?? $inpatient_ward_treatment['Drugs'];
$days = $inpatient_ward_treatment['days'] ?? $inpatient_ward_treatment['Days'];
@endphp
@for($i = 0; $i < count($drugs); $i++)
@php
$daily_cost = 0;
if ($age_bracket == __('inpatient.infant')){
$daily_cost = get_name($drugs[$i], 'id', 'ip_daily_cost_infant', 'drugs');
} elseif ($age_bracket == __('inpatient.child')){
$daily_cost = get_name($drugs[$i], 'id', 'ip_daily_cost_children', 'drugs');
} elseif ($age_bracket == __('inpatient.adult')){
$daily_cost = get_name($drugs[$i], 'id', 'ip_daily_cost_adult', 'drugs');
}
if (!is_numeric($daily_cost)){
$daily_cost = 0;
}
@endphp
{{ get_name($drugs[$i], "id", "name", "drugs") }}
{{ $days[$i] }}
{{ ugandan_shillings_with_decimals($daily_cost) }}
{{ ugandan_shillings_with_decimals($daily_cost * $days[$i]) }}
@php $treatment_total_cost += $daily_cost * $days[$i]; @endphp
@endfor
@endif
@endif
{{ __('inpatient.patient_to_pay') }}
{{ Form::hidden('treatment_cost', (int)$treatment_total_cost, ['id' => 'treatment_cost']) }}
{{ Form::hidden('insurance_treatment_cost', $insurance_treatments, ['id' => 'insurance_treatment_cost']) }}
{{ Form::text('display_treatment_cost', ugandan_shillings_with_decimals((int)$treatment_total_cost), ['class' => 'form-control compulsory', 'readonly', 'id' => 'display_treatment_cost']) }}
@if($patient_insurance_status)
{{ __('inpatient.insurance_to_pay') }}
{{ Form::text('display_insurance_treatment_cost', ugandan_shillings_with_decimals($insurance_treatments), ['class' => 'form-control compulsory', 'readonly', 'id' => 'display_insurance_treatment_cost']) }}
@endif
{{-- opd unpaid treatments --}}
@php
$opd_unpaid_treatments = \Streamline\Models\Treatment::where(['patient_id' => $patient_id, 'episode_id' => $episode_id,'payment_status' => 0, 'tta' => 0])->get();
@endphp
@if (count($opd_unpaid_treatments) > 0)
{{ __('inpatient.unpaid_opd_treatment') }}
{{ __('inpatient.name') }}
{{ __('inpatient.quantity') }}
{{ __('inpatient.unit_price') }}
{{ __('inpatient.insurance_unit_price') }}
{{ __('inpatient.patient_to_pay') }}
{{ __('inpatient.insurance_to_pay') }}
@php
$opd_unpaid_treatment_total = $insurance_opd_treatment = 0;
@endphp
@foreach($opd_unpaid_treatments as $opd_treatment)
@if(!(is_incoming_prescriptions_feature_enabled() && $opd_treatment->confirmation_status == 0))
@php
$opd_treatment_amount = 0;
$opd_treatment_insurance_amount = 0;
$opd_drug_ids = explode(",", $opd_treatment->drugs);
$drug_quantities = explode(",", $opd_treatment->quantities_dispensed);
$purchased_elsewhere = explode(",", $opd_treatment->purchased_elsewhere);
$unit_selling_prices_array = is_null($opd_treatment->unit_selling_prices) ? [] : explode(",", $opd_treatment->unit_selling_prices);
@endphp
@for ($i = 0; $i < count($opd_drug_ids); $i++)
@if(get_name($opd_drug_ids[$i], "id", "name", "drugs") != "N/A")
@php
// insurance flag
$is_insured = 0;
$opd_treatment_insurance_amount = 0;
$tariff_id = 0;
$benefit_id = 0;
// check if drug and patient is eligible for insurance
if($patient_insurance_status){
$item_insurance_details = get_item_insurance_pricing($patient_id, $opd_drug_ids[$i], 4, true, $inpatient_info->ward_id);
$opd_treatment_amount = $item_insurance_details[2];
$opd_treatment_insurance_amount = $item_insurance_details[1];
$is_insured = $item_insurance_details[0];
$tariff_id = $item_insurance_details[3];
$benefit_id = $item_insurance_details[4];
} else {
if (isset($unit_selling_prices_array[$i]) && !is_null($unit_selling_prices_array[$i])) {
$opd_treatment_amount = is_numeric($unit_selling_prices_array[$i]) ? $unit_selling_prices_array[$i] : 0;
} else {
if ($price_list_set && $price_list_set != 0){
$opd_treatment_amount = get_price_list_category_price($price_list_set, 3, $opd_drug_ids[$i]);
} elseif ($price_list_id) {
$opd_treatment_amount = get_price_list_category_price($price_list_id, 3, $opd_drug_ids[$i]);
} else {
$opd_treatment_amount = get_name($opd_drug_ids[$i], "id", "non_insured_price", "drugs");
}
}
}
// get money saved from the inpatient bill table
$opd_treatment_amount = $saved_drug_prices[$opd_drug_ids[$i]] ?? $opd_treatment_amount;
$opd_treatment_insurance_amount = $saved_chi_drug_prices[$opd_drug_ids[$i]] ?? $opd_treatment_insurance_amount;
if(isset($drug_quantities[$i]) && $drug_quantities[$i] != ""){
$opd_treatment_subtotal = $drug_quantities[$i] * $opd_treatment_amount;
$opd_treatment_insurance_subtotal = $drug_quantities[$i] * $opd_treatment_insurance_amount;
} else {
$opd_treatment_subtotal = 0;
$opd_treatment_insurance_subtotal = 0;
}
// add amounts to totals
$opd_unpaid_treatment_total += $opd_treatment_subtotal;
$insurance_opd_treatment += $opd_treatment_insurance_subtotal;
if (is_chi_enabled()) {
$insurance_color = ($is_insured == 1) ? "green" : "orange";
} else {
$insurance_color = (is_drug_covered_by_pay_later_category(get_name($patient_id, 'id', 'category_id', 'patients'), $opd_drug_ids[$i])) ? "green" : "orange";
}
@endphp
@if (count($purchased_elsewhere) > 0 && isset($purchased_elsewhere[$i]) && $purchased_elsewhere[$i] == 1)
{{ get_name($opd_drug_ids[$i], "id", "name", "drugs") }}
@if (!is_chi_enabled() && !is_drug_covered_by_pay_later_category(get_name($patient_id, 'id', 'category_id', 'patients'), $opd_drug_ids[$i]))
{{ __('inpatient.not_covered_by') }} {{ get_name(get_name($patient_id, 'id', 'category_id', 'patients'), 'id', 'name', 'patient_categories') }}
@endif
{{ Form::number('treatment_quantity_show', $drug_quantities[$i], ['class' => 'form-control', 'readonly']) }}
{{ Form::number('treatment_amount_show', $opd_treatment_amount, ['class' => 'form-control', 'readonly']) }}
{{ __('inpatient.purchased_from_elsewhere') }}
@else
{{ get_name($opd_drug_ids[$i], "id", "name", "drugs") }}
@if (!is_chi_enabled() && !is_drug_covered_by_pay_later_category(get_name($patient_id, 'id', 'category_id', 'patients'), $opd_drug_ids[$i]))
{{ __('inpatient.not_covered_by') }} {{ get_name(get_name($patient_id, 'id', 'category_id', 'patients'), 'id', 'name', 'patient_categories') }}
@endif
{{ Form::number('opd_treatment_quantity[]', $drug_quantities[$i], ['class' => 'form-control', 'readonly', 'id' => 'opd_treatment_quantity_' . $counter]) }}
{{ Form::number('opd_treatment_amount[]', $opd_treatment_amount, ['class' => 'form-control', 'readonly', 'id' => 'opd_treatment_amount_' . $counter]) }}
@if($is_insured == 1 && Auth::user()->can('chi-to-pay-edit'))
{{ Form::number('opd_treatment_insurance_unit_amount[]', $opd_treatment_insurance_amount, ['class' => 'form-control opd_drugs_insurance_unit_amount', 'id' => 'opd_treatment_insurance_unit_amount_' . $counter]) }}
@else
{{ Form::number('opd_treatment_insurance_unit_amount[]', $opd_treatment_insurance_amount, ['class' => 'form-control opd_drugs_insurance_unit_amount', 'readonly', 'id' => 'opd_treatment_insurance_unit_amount_' . $counter]) }}
@endif
{{ Form::hidden('opd_treatment_summed[]', ($opd_treatment_amount + $opd_treatment_insurance_amount), ['id' => 'opd_treatment_summed_' . $counter]) }}
{{ Form::hidden('opd_inpatient_bill_generated[]', $opd_treatment->inpatient_bill_generated) }}
{{ Form::number('opd_treatment_subtotal[]', $opd_treatment_subtotal, ['class' => 'form-control opd_treatment_subtotal', 'readonly', 'id' => 'opd_treatment_subtotal_' . $counter]) }}
{{ Form::number('opd_treatment_insurance_amount[]', $opd_treatment_insurance_subtotal, ['class' => 'form-control opd_treatment_insurance_amount', 'readonly', 'id' => 'opd_treatment_insurance_amount_' . $counter]) }}
{{ Form::hidden('opd_treatment_insurance_status[]', $is_insured) }}
{{ Form::hidden('opd_treatment_item[]', $opd_drug_ids[$i]) }}
{{ Form::hidden('opd_treatment_tariff[]', $tariff_id) }}
{{ Form::hidden('opd_treatment_benefit[]', $benefit_id) }}
{{ Form::hidden('opd_treatment_id[]', $opd_treatment->id) }}
@endif
@endif
@php $counter++; @endphp
@endfor
@else
{{ __('inpatient.treatments_not_confirmed') }}
@endif
@endforeach
{{ __('inpatient.patient_to_pay') }}
{{ Form::hidden('opd_treatment_cost', $opd_unpaid_treatment_total, ['id' => 'opd_treatment']) }}
{{ Form::hidden('insurance_opd_treatment', $insurance_opd_treatment, ['id' => 'insurance_opd_treatment']) }}
{{ Form::text('display_opd_treatment', ugandan_shillings_with_decimals($opd_unpaid_treatment_total), ['class' => 'form-control compulsory', 'readonly', 'id' => 'display_opd_treatment']) }}
@if($patient_insurance_status)
{{ __('inpatient.insurance_to_pay') }}
{{ Form::text('display_insurance_opd_treatment', ugandan_shillings_with_decimals($insurance_opd_treatment), ['class' => 'form-control compulsory', 'readonly', 'id' => 'display_insurance_opd_treatment']) }}
@endif
@endif
{{-- sundries section below --}}
count() < 1) style="display: none" @endif>
whereNull('deleted_at')->where(['patient_id' => $patient_id, 'episode_id' => $episode_id])->groupBy('sundry_id')->selectRaw('*, sum(quantity_given) as quantity_given')->get();
?>
{{ __('inpatient.name') }}
{{ __('patient_finance.unit_cost') }}
{{ __('inpatient.insurance_unit_price') }}
{{ __('inpatient.quantity') }}
{{ __('inpatient.patient_to_pay') }}
{{ __('inpatient.insurance_to_pay') }}
@if(count($ward_sundry_quantities_given) > 0)
@foreach($ward_sundry_quantities_given as $sundry_record)
@php
$sundries_cost = $this_sundry_sp = 0;
$is_insured = 0;
$tariff_id = 0;
$benefit_id = 0;
$insurance_sundry_amount = 0;
if($patient_insurance_status){
$item_insurance_details = get_item_insurance_pricing($patient_id, $sundry_record->sundry_id, 5, true, $inpatient_info->ward_id);
$sundries_cost = $item_insurance_details[2];
$insurance_sundry_amount = $item_insurance_details[1];
$is_insured = $item_insurance_details[0];
$tariff_id = $item_insurance_details[3];
$benefit_id = $item_insurance_details[4];
} else {
if ($price_list_set && $price_list_set != 0){
$sundries_cost = get_price_list_category_price($price_list_set, 5, $sundry_record->sundry_id);
} elseif ($price_list_id) {
$sundries_cost = get_price_list_category_price($price_list_id, 5, $sundry_record->sundry_id);
} else {
$sundries_cost = get_name($sundry_record->sundry_id, "id", "non_insured_price", "sundries");
}
}
//get actual total costs incase the price of item changed after dispensation to allow retro billing
$this_sundry_total_price = 0;
$per_ward_sundry_given_rows = DB::table('ward_sundry_dispensations')->whereNull('deleted_at')->where(['patient_id' => $patient_id, 'episode_id' => $episode_id, 'sundry_id' => $sundry_record->sundry_id])->get();
if (count($per_ward_sundry_given_rows) > 0) {
foreach ($per_ward_sundry_given_rows as $sundry_ward_record) {
$this_sundry_sp = ($sundry_ward_record->price != 0 && (is_null($price_list_set) || $price_list_set == "")) ? $sundry_ward_record->price : $sundries_cost;
$this_sundry_total_price += ($this_sundry_sp * $sundry_ward_record->quantity_given);
$insurance_sundry_amount = $sundry_ward_record->chi_price;
}
} else {
$this_sundry_total_price = $sundry_record->quantity_given * $sundries_cost;
}
$sundries_total_cost += $this_sundry_total_price;
$insurance_sundries += ($sundry_record->quantity_given * $insurance_sundry_amount);
@endphp
@if($is_insured)
{{ get_name($sundry_record->sundry_id, "id", "name", "sundries") }}
@else
{{ get_name($sundry_record->sundry_id, "id", "name", "sundries") }}
@endif
{{ Form::hidden('sundries_item_ids[]', $sundry_record->sundry_id) }}
{{ Form::hidden('sundries_benefit_ids[]', $benefit_id) }}
{{ Form::hidden('sundries_tariff_ids[]', $tariff_id) }}
{{ Form::number('sundries_item_prices[]', $this_sundry_sp, ['class' => 'form-control', 'readonly', 'id' => 'sundries_item_prices_' . $counter]) }}
@if($is_insured == 1 && Auth::user()->can('chi-to-pay-edit'))
{{ Form::number('sundry_unit_insurance_amount[]', $insurance_sundry_amount, ['class' => 'form-control sundry_unit_insurance_amount', 'id' => 'sundry_unit_insurance_amount_' . $counter]) }}
@else
{{ Form::number('sundry_unit_insurance_amount[]', $insurance_sundry_amount, ['class' => 'form-control sundry_unit_insurance_amount', 'readonly', 'id' => 'sundry_unit_insurance_amount_' . $counter]) }}
@endif
{{ Form::hidden('sundry_amount_summed[]', $insurance_sundry_amount + $this_sundry_sp, ['id' => 'sundry_amount_summed_' . $counter]) }}
{{ Form::number('sundry_quantity_given[]', $sundry_record->quantity_given, ['class' => 'form-control', 'readonly', 'id' => 'sundry_quantity_given_' . $counter]) }}
{{ Form::number('sundry_subtotal[]', $this_sundry_total_price, ['class' => 'form-control sundry_subtotal', 'readonly', 'id' => 'sundry_subtotal_' . $counter]) }}
{{ Form::number('sundry_insurance_amount[]', $sundry_record->quantity_given * $insurance_sundry_amount, ['class' => 'form-control sundry_insurance_amount', 'readonly', 'id' => 'sundry_insurance_amount_' . $counter]) }}
@php $counter++; @endphp
@endforeach
@endif
{{ __('inpatient.patient_to_pay') }}
{{ Form::hidden('sundries_cost', $sundries_total_cost, ['id' => 'sundries_cost']) }}
{{ Form::hidden('insurance_sundries_cost', $insurance_sundries, ['id' => 'insurance_sundries_cost']) }}
{{ Form::text('display_sundries_cost', ugandan_shillings_with_decimals($sundries_total_cost), ['class' => 'form-control compulsory', 'readonly', 'id' => 'display_sundries_cost']) }}
@if($patient_insurance_status)
{{ __('inpatient.insurance_to_pay') }}
{{ Form::text('display_insurance_sundries_cost', ugandan_shillings_with_decimals($insurance_sundries), ['class' => 'form-control compulsory', 'readonly', 'id' => 'display_insurance_sundries_cost']) }}
@endif
{{-- opd unpaid sundries --}}
@php
$opd_unpaid_sundries = \Streamline\Models\OrderedSundry::where(['patient_id' => $patient_id, 'episode_id' => $episode_id,'payment_status' => 0,'inpatient_bill_generated' => 0])->get();
$opd_sundries_total_cost = $opd_insurance_sundries = 0;
@endphp
@if (count($opd_unpaid_sundries) > 0)
@php
$opd_sundries_ids = [];
$opd_sundries_quantity = [];
$opd_sundry_order_ids = [];
$opd_sundries_orders_amounts = [];
$opd_unit_sundries_selling_prices_array = [];
foreach($opd_unpaid_sundries as $opd_ordered_sundry){
$opd_sundries_ids = array_merge($opd_sundries_ids, explode(",", $opd_ordered_sundry->sundries_id));
$opd_sundries_quantity = array_merge($opd_sundries_quantity, explode(",",$opd_ordered_sundry->quantity));
$opd_unit_sundries_selling_prices_array = array_merge($opd_unit_sundries_selling_prices_array, explode(",",$opd_ordered_sundry->sundries_amount));// is_null($treatment->sundries_amount) ? [] : explode(",", $treatment->unit_selling_prices);
array_push($opd_sundry_order_ids, $opd_ordered_sundry->id);
//if amounts are put at the time of ordering
$opd_sundries_orders_amounts = is_null($opd_ordered_sundry->sundries_amount) ? array_merge($opd_sundries_orders_amounts, []) : array_merge($opd_sundries_orders_amounts, explode(",", $opd_ordered_sundry->sundries_amount));
}
$count_orders = count($opd_sundry_order_ids);
// create strings from arrays to use when submitting
$opd_sundry_order_ids_string = implode(',', $opd_sundry_order_ids);
@endphp
{{ __('inpatient.unpaid_opd_sundries') }}
{{ __('patient_finance.sundry_name') }}
{{ __('patient_finance.unit_cost') }}
{{ __('inpatient.insurance_unit_price') }}
{{ __('patient_finance.quantity') }}
{{ __('patient_finance.patient_to_pay') }}
{{ __('patient_finance.insurance_to_pay') }}
@php $orders_count = 0; @endphp
{{ Form::hidden('opd_sundry_order_ids', $opd_sundry_order_ids_string) }}
@for ($i = 0; $i < count($opd_sundries_ids); $i++)
@php
// get insurance status for sundry
$opd_sundry_insurance_status = get_name($opd_sundries_ids[$i], "id", "insurance", "sundries");
// insurance flag
$is_insured = 0;
$tariff_id = 0;
$benefit_id = 0;
$opd_sund_insurance_amount = 0;
if($patient_insurance_status){
$item_insurance_details = get_item_insurance_pricing($patient_id, $opd_sundries_ids[$i], 5, true, $inpatient_info->ward_id);
$opd_sundry_amount = $item_insurance_details[2];
$opd_sund_insurance_amount = $item_insurance_details[1];
$is_insured = $item_insurance_details[0];
$tariff_id = $item_insurance_details[3];
$benefit_id = $item_insurance_details[4];
} else {
if (isset($opd_unit_sundries_selling_prices_array[$i]) && !is_null($opd_unit_sundries_selling_prices_array[$i]) && is_numeric($opd_unit_sundries_selling_prices_array[$i])) {
$opd_sundry_amount = $opd_unit_sundries_selling_prices_array[$i];
} else {
// check if the patient category is attached to a price list
if ($price_list_set && $price_list_set != 0){
$opd_sundry_amount = get_price_list_category_price($price_list_set, 5, $opd_sundries_ids[$i]);
} elseif ($price_list_id) {
$opd_sundry_amount = get_price_list_category_price($price_list_id, 5, $opd_sundries_ids[$i]);
} else {
//if amount was set at time of ordering
if (isset($opd_sundries_orders_amounts[$i]) && !is_null($opd_sundries_orders_amounts[$i])) {
$opd_sundry_amount = $opd_sundries_orders_amounts[$i];
} else{
$opd_sundry_amount = get_name($opd_sundries_ids[$i], "id", "non_insured_price", "sundries");
}
}
}
}
$opd_sundry_amount = $saved_sundry_prices[$opd_sundries_ids[$i]] ?? $opd_sundry_amount;
$opd_sund_insurance_amount = $saved_chi_sundry_prices[$opd_sundries_ids[$i]] ?? $opd_sund_insurance_amount;
// get the subtotal for this sundry
$opd_sundry_subtotal = $opd_sundries_quantity[$orders_count] * $opd_sundry_amount;
$opd_sundry_insurance_subtotal = $opd_sundries_quantity[$orders_count] * $opd_sund_insurance_amount;
@endphp
@if($is_insured)
{{ get_name($opd_sundries_ids[$i], "id", "name", "sundries") }}
@else
{{ get_name($opd_sundries_ids[$i], "id", "name", "sundries") }}
@endif
{{ Form::hidden('opd_sundries_ids[]', $opd_sundries_ids[$i]) }}
{{ Form::hidden('opd_sundries_benefit_ids[]', $benefit_id) }}
{{ Form::hidden('opd_sundries_tariff_ids[]', $tariff_id) }}
{{ Form::number('opd_sundry_amount[]', $opd_sundry_amount, ['class' => 'form-control', 'readonly', 'id' => 'opd_sundry_amount_' . $counter]) }}
@if($is_insured == 1 && Auth::user()->can('chi-to-pay-edit'))
{{ Form::number('opd_sundry_insurance_unit[]', $opd_sund_insurance_amount, ['class' => 'form-control opd_sundry_insurance_unit', 'id' => 'opd_sundry_insurance_unit_' . $counter]) }}
@else
{{ Form::number('opd_sundry_insurance_unit[]', $opd_sund_insurance_amount, ['class' => 'form-control opd_sundry_insurance_unit', 'readonly', 'id' => 'opd_sundry_insurance_unit_' . $counter]) }}
@endif
{{ Form::hidden('opd_sundry_summed[]', $opd_sund_insurance_amount + $opd_sundry_amount, ['id' => 'opd_sundry_summed_' . $counter]) }}
{{ Form::number('opd_sundry_quantity[]', $opd_sundries_quantity[$orders_count], ['class' => 'form-control', 'readonly', 'id' => 'opd_sundry_quantity_' . $counter]) }}
{{ Form::number('opd_sundry_subtotal[]', $opd_sundry_subtotal, ['class' => 'form-control opd_sundry_subtotal', 'readonly', 'id' => 'opd_sundry_subtotal_' . $counter]) }}
{{ Form::hidden('opd_sundry_insurance_status[]', $is_insured) }}
{{ Form::number('opd_sundry_insurance_amount[]', $opd_sundry_insurance_subtotal, ['class' => 'form-control opd_sundry_insurance_amount', 'readonly', 'id' => 'opd_sundry_insurance_amount_' . $counter]) }}
@php
$orders_count++;
$opd_sundries_total_cost += $opd_sundry_subtotal;
$opd_insurance_sundries += $opd_sundry_insurance_subtotal;
$counter++;
@endphp
@endfor
{{ __('inpatient.patient_to_pay') }}
{{ Form::hidden('opd_sundries_cost', $opd_sundries_total_cost, ['id' => 'opd_sundries_cost']) }}
{{ Form::hidden('insurance_opd_sundries_cost', $opd_insurance_sundries, ['id' => 'insurance_opd_sundries_cost']) }}
{{ Form::text('display_opd_sundries_cost', ugandan_shillings_with_decimals($opd_sundries_total_cost), ['class' => 'form-control compulsory', 'readonly', 'id' => 'display_opd_sundries_cost']) }}
@if($patient_insurance_status)
{{ __('inpatient.insurance_to_pay') }}
{{ Form::text('display_insurance_opd_sundries_cost', ugandan_shillings_with_decimals($opd_insurance_sundries), ['class' => 'form-control compulsory', 'readonly', 'id' => 'display_insurance_opd_sundries_cost']) }}
@endif
@endif
{{-- services section below --}}
@php
$services_total_cost = 0;
$ward_services_quantities_given = DB::table('ward_consultations_and_services')->whereNull('deleted_at')->where(['patient_id' => $patient_id, 'episode_id' => $episode_id])->get();
@endphp
{{ __('inpatient.name') }}
{{ __('inpatient.unit_cost') }}
{{ __('inpatient.insurance_unit_price') }}
{{ __('inpatient.quantity') }}
{{ __('inpatient.patient_to_pay') }}
{{ __('inpatient.insurance_to_pay') }}
@foreach($ward_services_quantities_given as $record)
@php
$services_cost = 0;
$is_insured = 0;
$tariff_id = 0;
$benefit_id = 0;
$service_amount_insurance = 0;
$service_id = 0;
if(array_key_exists($record->service_id, $services_with_users_array)){
$custom_service_name = $services_with_users_array[$record->service_id];
$services_user_key = explode("__", $record->service_id);
$service_id = $services_user_key[0];
} else {
$service_id = $record->service_id;
}
if($patient_insurance_status){
$item_insurance_details = get_item_insurance_pricing($patient_id, $service_id, 1, true, $inpatient_info->ward_id);
$services_cost = $item_insurance_details[2];
$service_amount_insurance = $item_insurance_details[1];
$is_insured = $item_insurance_details[0];
$tariff_id = $item_insurance_details[3];
$benefit_id = $item_insurance_details[4];
} else {
if ($price_list_set && $price_list_set != 0){
$services_cost = get_price_list_category_price($price_list_set, 6, $service_id);
} elseif ($price_list_id) {
$services_cost = get_price_list_category_price($price_list_id, 6, $service_id);
} else {
$services_cost = get_name($service_id, "id", "non_insured_price", "services");
}
}
$services_cost = (is_null($price_list_set) || $price_list_set == "") ? $record->unit_price : $services_cost;
$service_amount_insurance = $record->chi_price;
$services_total_cost += ($services_cost * $record->quantity_given);
$insurance_services += ($record->quantity_given * $service_amount_insurance);
@endphp
@if($is_insured)
{{ $service_items[$record->service_id] ?? "" }}
@else
{{ $service_items[$record->service_id] ?? "" }}
@endif
{{ Form::hidden('service_item_ids[]', $record->service_id) }}
{{ Form::hidden('service_benefit_ids[]', $benefit_id) }}
{{ Form::hidden('service_tariff_ids[]', $tariff_id) }}
{{ Form::number('services_item_prices[]', $services_cost, ['class' => 'form-control', 'readonly', 'id' => 'services_item_prices_' . $counter]) }}
@if($is_insured == 1 && Auth::user()->can('chi-to-pay-edit'))
{{ Form::number('service_insurance_unit[]', $service_amount_insurance, ['class' => 'form-control service_insurance_unit', 'id' => 'service_insurance_unit_' . $counter]) }}
@else
{{ Form::number('service_insurance_unit[]', $service_amount_insurance, ['class' => 'form-control service_insurance_unit', 'readonly', 'id' => 'service_insurance_unit_' . $counter]) }}
@endif
{{ Form::hidden('service_summed[]', $services_cost + $service_amount_insurance, ['id' => 'service_summed_' . $counter]) }}
{{ Form::number('service_quantity[]', $record->quantity_given, ['class' => 'form-control', 'readonly', 'id' => 'service_quantity_' . $counter]) }}
{{ Form::number('service_total_cost[]', $services_cost * $record->quantity_given, ['class' => 'form-control service_total_cost', 'readonly', 'id' => 'service_total_cost_' . $counter]) }}
{{ Form::number('service_insurance_amount[]', $record->quantity_given * $service_amount_insurance, ['class' => 'form-control service_insurance_amount', 'readonly', 'id' => 'service_insurance_amount_' . $counter]) }}
@php $counter++; @endphp
@endforeach
{{ __('inpatient.patient_to_pay') }}
{{ Form::hidden('services_cost', $services_total_cost, ['id' => 'grand_services_cost']) }}
{{ Form::hidden('insurance_services_cost', $insurance_services, ['id' => 'insurance_services_cost']) }}
{{ Form::text('display_services_cost', ugandan_shillings_with_decimals($services_total_cost), ['class' => 'form-control compulsory', 'readonly', 'id' => 'display_services_cost']) }}
@if($patient_insurance_status)
{{ __('inpatient.insurance_to_pay') }}
{{ Form::text('display_insurance_services_cost', ugandan_shillings_with_decimals($insurance_services), ['class' => 'form-control compulsory', 'readonly', 'id' => 'display_insurance_services_cost']) }}
@endif
{{-- opd unpaid services --}}
@php
$opd_unpaid_services = \Streamline\Models\OrderedService::where(['patient_id' => $patient_id, 'episode_id' => $episode_id,'payment_status' => 0,'inpatient_bill_generated' => 0])->get();
$opd_services_amount_total = $opd_services_insurance_amount_total = 0;
@endphp
@if (count($opd_unpaid_services) > 0)
{{ __('inpatient.unpaid_opd_services') }}
{{ __('inpatient.name') }}
{{ __('inpatient.unit_cost') }}
{{ __('inpatient.insurance_unit_price') }}
{{ __('inpatient.quantity') }}
{{ __('inpatient.patient_to_pay') }}
{{ __('inpatient.insurance_to_pay') }}
@foreach($opd_unpaid_services as $used_service)
@php
$service_ids = explode(",", $used_service->service_id);
$service_quantity = explode(",", $used_service->quantity);
$ordered_services_amounts = (is_null($used_service->service_amount) || $used_service->service_amount == '') ? []: explode(",", $used_service->service_amount);
@endphp
{{ Form::hidden('opd_service_order_id[]', $used_service->id) }}
@for($i = 0; $i < count($service_ids); $i++)
@php
$service_cost = 0;
$is_insured = 0;
$tariff_id = 0;
$benefit_id = 0;
$opd_service_insurance = 0;
if($patient_insurance_status){
$item_insurance_details = get_item_insurance_pricing($patient_id, $service_ids[$i], 1, true, $inpatient_info->ward_id);
$service_cost = $item_insurance_details[2];
$opd_service_insurance = $item_insurance_details[1];
$is_insured = $item_insurance_details[0];
$tariff_id = $item_insurance_details[3];
$benefit_id = $item_insurance_details[4];
} else {
if($price_list_set && $price_list_set != 0){
$service_cost = get_price_list_category_price($price_list_set, 6, $service_ids[$i]);
}else if($price_list_id){
$service_cost = get_price_list_category_price($price_list_id, 6, $service_ids[$i]);
} else {
$pre_order = \Streamline\Models\Services::withTrashed()->find($service_ids[$i]);
//if amount was set at time of ordering
if (isset($ordered_services_amounts[$i]) && !is_null($ordered_services_amounts[$i])) {
$service_cost = $ordered_services_amounts[$i];
} else{
$service_cost = $pre_order->non_insured_price;
}
}
}
$service_cost = $saved_services_prices[$service_ids[$i]] ?? $service_cost;
$opd_service_insurance = $saved_chi_services_prices[$service_ids[$i]] ?? $opd_service_insurance;
@endphp
@if($is_insured == 1)
{{ $service_items[$service_ids[$i]] ?? "" }}
@else
{{ $service_items[$service_ids[$i]] ?? "" }}
@endif
{{ Form::hidden('opd_service_id[]', $service_ids[$i]) }}
{{ Form::hidden('opd_service_benefit_ids[]', $benefit_id) }}
{{ Form::hidden('opd_service_tariff_ids[]', $tariff_id) }}
{{ Form::hidden('opd_service_insurance_status[]', $is_insured) }}
{{ Form::number('opd_service_unit_cost[]', $service_cost, ['class' => 'form-control', 'readonly', 'id' => 'opd_service_unit_cost_' . $counter]) }}
@if($is_insured == 1 && Auth::user()->can('chi-to-pay-edit'))
{{ Form::number('opd_service_insurance_unit[]', $opd_service_insurance, ['class' => 'form-control opd_service_insurance_unit', 'id' => 'opd_service_insurance_unit_' . $counter]) }}
@else
{{ Form::number('opd_service_insurance_unit[]', $opd_service_insurance, ['class' => 'form-control opd_service_insurance_unit', 'readonly', 'id' => 'opd_service_insurance_unit_' . $counter]) }}
@endif
{{ Form::hidden('opd_services_summed[]', $service_cost + $opd_service_insurance, ['id' => 'opd_services_summed_' . $counter]) }}
{{ Form::number('opd_service_quantity[]', $service_quantity[$i], ['class' => 'form-control', 'readonly', 'id' => 'opd_service_quantity_' . $counter]) }}
{{ Form::number('opd_service_amount[]', $service_cost * $service_quantity[$i], ['class' => 'form-control opd_service_amount', 'readonly', 'id' => 'opd_service_amount_' . $counter]) }}
{{ Form::number('opd_service_insurance_amount[]', $opd_service_insurance * $service_quantity[$i], ['class' => 'form-control opd_service_insurance_amount', 'readonly', 'id' => 'opd_service_insurance_amount_' . $counter]) }}
@php
$opd_services_amount_total += ($service_cost * $service_quantity[$i]);
$opd_services_insurance_amount_total += ($opd_service_insurance * $service_quantity[$i]);
$counter++;
@endphp
@endfor
@endforeach
{{ __('inpatient.patient_to_pay') }}
{{ Form::hidden('opd_services_cost', $opd_services_amount_total, ['id' => 'opd_services_cost']) }}
{{ Form::hidden('insurance_opd_services_cost', $opd_services_insurance_amount_total, ['id' => 'insurance_opd_services_cost']) }}
{{ Form::text('display_opd_services_cost', ugandan_shillings_with_decimals($opd_services_amount_total), ['class' => 'form-control compulsory', 'readonly', 'id' => 'display_opd_services_cost']) }}
@if($patient_insurance_status)
{{ __('inpatient.insurance_to_pay') }}
{{ Form::text('display_insurance_opd_services_cost', ugandan_shillings_with_decimals($opd_services_insurance_amount_total), ['class' => 'form-control compulsory', 'readonly', 'id' => 'display_insurance_opd_services_cost']) }}
@endif
@endif
@php
$ward_procedures = DB::table('ward_procedures')->whereNull('deleted_at')->where(['patient_id' => $patient_id, 'episode_id' => $episode_id])->get();
$procedures_total_cost = 0;
@endphp
{{ __('inpatient.name') }}
{{ __('inpatient.hospital_fee') }}
{{ __('inpatient.staff_fee') }}
{{ __('inpatient.patient_to_pay') }}
{{ __('inpatient.insurance_to_pay') }}
@foreach($ward_procedures as $ward_procedure)
@php
$is_insured = 0;
$tariff_id = 0;
$benefit_id = 0;
$procedure_amount_insurance = 0;
if($patient_insurance_status){
$item_insurance_details = get_item_insurance_pricing($patient_id, $ward_procedure->procedure_id, 2, true, $inpatient_info->ward_id);
$procedure_price = $item_insurance_details[2];
$procedure_amount_insurance = $item_insurance_details[1];
$is_insured = $item_insurance_details[0];
$tariff_id = $item_insurance_details[3];
$benefit_id = $item_insurance_details[4];
} else {
$procedure_price = 0;
if ($price_list_set && $price_list_set != 0){
$procedure_price = get_price_list_category_price($price_list_set, 4, $ward_procedure->procedure_id);
} elseif ($price_list_id) {
$procedure_price = get_price_list_category_price($price_list_id, 4, $ward_procedure->procedure_id);
} else {
$procedure_price = get_name($ward_procedure->procedure_id, "id", "non_insured_price", "procedures");
}
}
$procedure_price = (is_null($price_list_set) || $price_list_set == "") ? $ward_procedure->hospital_fee : $procedure_price;
$procedure_amount_insurance = $ward_procedure->chi_price;
$procedures_cost = $procedure_price + $ward_procedure->staff_fee;
$procedures_total_cost += $procedures_cost;
$insurance_procedures += $procedure_amount_insurance;
@endphp
@if($is_insured)
{{ get_name($ward_procedure->procedure_id, "id", "name", "procedures") }}
@else
{{ get_name($ward_procedure->procedure_id, "id", "name", "procedures") }}
@endif
{{ Form::hidden('ipd_procedure_benefit_ids[]', $benefit_id) }}
{{ Form::hidden('ipd_procedure_tariff_ids[]', $tariff_id) }}
{{ Form::hidden('ipd_procedure_order_ids[]', $ward_procedure->id) }}
{{ Form::number('ipd_procedure_amount[]', $procedure_price, ['class' => 'form-control', 'readonly', 'id' => 'ipd_procedure_amount_' . $counter]) }}
{{ Form::number('ipd_procedure_staff_fee[]', $ward_procedure->staff_fee, ['class' => 'form-control', 'readonly', 'id' => 'ipd_procedure_staff_fee_' . $counter]) }}
{{ Form::number('procedures_item_prices[]', $procedures_cost, ['class' => 'form-control procedures_item_prices', 'readonly', 'id' => 'procedures_item_prices_' . $counter]) }}
{{ Form::hidden('ipd_procedure_summed[]', $procedure_price + $procedure_amount_insurance, ['id' => 'ipd_procedure_summed_' . $counter]) }}
@if($is_insured == 1 && Auth::user()->can('chi-to-pay-edit'))
{{ Form::number('ipd_procedure_insurance_amount[]', $procedure_amount_insurance, ['class' => 'form-control ipd_procedure_insurance_amount', 'id' => 'ipd_procedure_insurance_amount_' . $counter]) }}
@else
{{ Form::number('ipd_procedure_insurance_amount[]', $procedure_amount_insurance, ['class' => 'form-control ipd_procedure_insurance_amount', 'readonly', 'id' => 'ipd_procedure_insurance_amount_' . $counter]) }}
@endif
@php $counter++; @endphp
@endforeach
{{ __('inpatient.patient_to_pay') }}
{{ Form::hidden('procedures_cost', $procedures_total_cost, ['id' => 'procedures_cost']) }}
{{ Form::hidden('insurance_procedures_cost', $insurance_procedures, ['id' => 'insurance_procedures_cost']) }}
{{ Form::text('display_procedures_cost', ugandan_shillings_with_decimals($procedures_total_cost), ['class' => 'form-control compulsory', 'readonly', 'id' => 'display_procedures_cost']) }}
@if($patient_insurance_status)
{{ __('inpatient.insurance_to_pay') }}
{{ Form::text('display_insurance_procedures_cost', ugandan_shillings_with_decimals($insurance_procedures), ['class' => 'form-control compulsory', 'readonly', 'id' => 'display_insurance_procedures_cost']) }}
@endif
{{-- opd unpaid procedures --}}
@php
$opd_unpaid_procedures = \Streamline\Models\OrderedProcedure::where(['patient_id' => $patient_id, 'episode_id' => $episode_id,'payment_status' => 0,'inpatient_bill_generated' => 0])->get();
$opd_procedures_total_cost = $opd_insurance_procedures = 0;
@endphp
@if (count($opd_unpaid_procedures) > 0)
@php
$opd_procedure_ids = [];
$opd_procedure_order_ids = [];
// amounts at the time was ordered
$opd_procedures_orders_amounts = [];
foreach($opd_unpaid_procedures as $opd_ordered_procedure){
$opd_procedure_ids = array_merge($opd_procedure_ids, explode(",", $opd_ordered_procedure->procedure_id));
array_push($opd_procedure_order_ids, $opd_ordered_procedure->id);
//if amounts are put at the time of ordering
$opd_procedures_orders_amounts = is_null($opd_ordered_procedure->procedure_amount) ? array_merge($opd_procedures_orders_amounts, []) : array_merge($opd_procedures_orders_amounts, explode(",", $opd_ordered_procedure->procedure_amount));
}
$opd_count_orders = count($opd_procedure_order_ids);
// create strings from arrays to use when submitting
$opd_procedure_order_ids_string = implode(',', $opd_procedure_order_ids);
$opd_procedure_ids_string = implode(',', $opd_procedure_ids);
$procedure_orders_amounts_string = implode(',', $opd_procedures_orders_amounts);
@endphp
{{ __('inpatient.unpaid_opd_procedures') }}
{{ __('patient_finance.procedure_name') }}
{{ __('patient_finance.patient_to_pay') }}
{{ __('inpatient.insurance_to_pay') }}
@php
$opd_procedure_amount = 0;
@endphp
{{ Form::hidden('opd_procedure_order_ids', $opd_procedure_order_ids_string) }}
{{ Form::hidden('opd_procedure_ids', $opd_procedure_ids_string) }}
@for ($i = 0; $i < count($opd_procedure_ids); $i++)
@php
// insurance flag
$is_insured = 0;
$tariff_id = 0;
$benefit_id = 0;
$opd_insurance_amount = 0;
if($patient_insurance_status){
$item_insurance_details = get_item_insurance_pricing($patient_id, $opd_procedure_ids[$i], 2, true, $inpatient_info->ward_id);
$opd_procedure_amount = $item_insurance_details[2];
$opd_insurance_amount = $item_insurance_details[1];
$is_insured = $item_insurance_details[0];
$tariff_id = $item_insurance_details[3];
$benefit_id = $item_insurance_details[4];
} else {
// check if the patient category is attached to a price list
if ($price_list_set && $price_list_set != 0){
$opd_procedure_amount = get_price_list_category_price($price_list_set, 4, $opd_procedure_ids[$i]);
} elseif ($price_list_id) {
$opd_procedure_amount = get_price_list_category_price($price_list_id, 4, $opd_procedure_ids[$i]);
} else {
//if amount was set at time of ordering
if (isset($opd_procedures_orders_amounts[$i]) && !is_null($opd_procedures_orders_amounts[$i])) {
$opd_procedure_amount = $opd_procedures_orders_amounts[$i];
} else{
$opd_procedure_amount = get_name($opd_procedure_ids[$i], "id", "non_insured_price", "procedures");
}
}
}
$opd_procedure_amount = $saved_procedures_prices[$opd_procedure_ids[$i]] ?? $opd_procedure_amount;
$opd_insurance_amount = $saved_chi_procedures_prices[$opd_procedure_ids[$i]] ?? $opd_insurance_amount;
// add amounts to totals
$opd_procedure_amount_total += $opd_procedure_amount;
$opd_procedure_insurance_amount_total += $opd_insurance_amount;
@endphp
@if($is_insured)
{{ get_name($opd_procedure_ids[$i], "id", "name", "procedures") }}
@else
{{ get_name($opd_procedure_ids[$i], "id", "name", "procedures") }}
@endif
{{ Form::hidden('opd_procedure_ids[]', $opd_procedure_ids[$i]) }}
{{ Form::hidden('opd_procedure_benefit_ids[]', $benefit_id) }}
{{ Form::hidden('opd_procedure_tariff_ids[]', $tariff_id) }}
{{ Form::hidden('opd_procedure_summed[]', $opd_procedure_amount + $opd_insurance_amount, ['id' => 'opd_procedure_summed_' . $counter]) }}
{{ Form::number('opd_procedure_amount[]', $opd_procedure_amount, ['class' => 'form-control opd_procedure_amount', 'readonly', 'id' => 'opd_procedure_amount_' . $counter]) }}
{{ Form::hidden('opd_procedure_insurance_status[]', $is_insured) }}
@if($is_insured == 1 && Auth::user()->can('chi-to-pay-edit'))
{{ Form::number('opd_procedure_insurance_amount[]', $opd_insurance_amount, ['class' => 'form-control opd_procedure_insurance_amount', 'id' => 'opd_procedure_insurance_amount_' . $counter]) }}
@else
{{ Form::number('opd_procedure_insurance_amount[]', $opd_insurance_amount, ['class' => 'form-control opd_procedure_insurance_amount', 'readonly', 'id' => 'opd_procedure_insurance_amount_' . $counter]) }}
@endif
@php $counter++; @endphp
@endfor
{{ __('inpatient.patient_to_pay') }}
{{ Form::hidden('opd_procedures_cost', $opd_procedure_amount_total, ['id' => 'opd_procedures_cost']) }}
{{ Form::hidden('insurance_opd_procedures_cost', $opd_procedure_insurance_amount_total, ['id' => 'insurance_opd_procedures_cost']) }}
{{ Form::text('display_opd_procedures_cost', ugandan_shillings_with_decimals($opd_procedure_amount_total), ['class' => 'form-control compulsory', 'readonly', 'id' => 'display_opd_procedures_cost']) }}
@if($patient_insurance_status)
{{ __('inpatient.insurance_to_pay') }}
{{ Form::text('display_insurance_opd_procedures_cost', ugandan_shillings_with_decimals($opd_procedure_insurance_amount_total), ['class' => 'form-control compulsory', 'readonly', 'id' => 'display_insurance_opd_procedures_cost']) }}
@endif
@endif
@php $drugs_given_anae_cost_total = 0; @endphp
{{--other_drugs_given)): ?>
{{ __('inpatient.anaesthetics') }}
{{ __('inpatient.drug_name') }}
{{ __('inpatient.dose') }}
{{ __('inpatient.unit_price') }}
other_drugs_given);
$drugs_given_anae_cost = unserialize($anaesthesia->other_drugs_cost);
$do_not_bill_other_drugs = explode(",", $anaesthesia->other_drugs_bill);
$drugs = DB::table('drugs')->where('available', 1)->whereNull('deleted_at')->pluck('name', 'id');
$units = DB::table('drug_units')->whereNull('deleted_at')->pluck('name', 'id');
if (count($drugs_given_anae) > 0) {
foreach ($drugs_given_anae as $key => $value) {
if (isset($drugs[$value['id']]) && !in_array($value['id'], $do_not_bill_other_drugs)) {
$name = $drugs[$value['id']] ?? "";
$dose = $value['dose'] ?? "";
$unit = $units[$value['unit']] ?? "";
$cost = isset($drugs_given_anae_cost[$key]) ? trim($drugs_given_anae_cost[$key]) : 0;
$drugs_given_anae_cost_total += $cost;
echo ""
. "{$name} "
. "{$dose}{$unit} "
. "".ugandan_shillings_with_decimals($cost)." "
. " ";
}
}
}
?>
'form-control compulsory', 'readonly']); ?>
--}}
{{ __('inpatient.tta') }}
{{ __('inpatient.name') }}
{{ __('inpatient.unit_price') }}
{{ __('inpatient.insurance_unit_price') }}
{{ __('inpatient.quantity') }}
{{ __('inpatient.patient_to_pay') }}
{{ __('inpatient.insurance_to_pay') }}
@php $tta_total_cost = 0; @endphp
@if(count($treatment_to_take_away) > 0)
@foreach($treatment_to_take_away as $treatment)
@php
$tta_drugs_array = explode(",", $treatment->drugs);
$tta_dispensed_array = explode(",", $treatment->quantities_dispensed);
$tta_unit_selling_prices_array = is_null($treatment->unit_selling_prices) ? [] : explode(",", $treatment->unit_selling_prices);
@endphp
@for($x = 0; $x < count($tta_drugs_array); $x++)
@php
$is_insured = 0;
$tariff_id = 0;
$benefit_id = 0;
$tta_insurance_amount = 0;
if($patient_insurance_status){
$item_insurance_details = get_item_insurance_pricing($patient_id, $tta_drugs_array[$x], 4, true, $inpatient_info->ward_id);
$drugs_cost = $item_insurance_details[2];
$tta_insurance_amount = $item_insurance_details[1];
$is_insured = $item_insurance_details[0];
$tariff_id = $item_insurance_details[3];
$benefit_id = $item_insurance_details[4];
} else {
if (isset($tta_unit_selling_prices_array[$x])) {
$drugs_cost = is_numeric($tta_unit_selling_prices_array[$x]) ? $tta_unit_selling_prices_array[$x] : 0;
} else {
if ($price_list_set && $price_list_set != 0){
$drugs_cost = get_price_list_category_price($price_list_set, 3, $tta_drugs_array[$x]);
} elseif ($price_list_id) {
$drugs_cost = get_price_list_category_price($price_list_id, 3, $tta_drugs_array[$x]);
} else {
$drugs_cost = get_name($tta_drugs_array[$x], "id", "non_insured_price", "drugs");
}
}
}
$drugs_cost = $saved_tta_prices[$tta_drugs_array[$x]] ?? $drugs_cost;
$tta_insurance_amount = $saved_chi_tta_prices[$tta_drugs_array[$x]] ?? $tta_insurance_amount;
$insurance_tta += $tta_dispensed_array[$x] * $tta_insurance_amount;
@endphp
@if($is_insured == 1)
{{ get_name($tta_drugs_array[$x], "id", "name", "drugs") }}
@else
{{ get_name($tta_drugs_array[$x], "id", "name", "drugs") }}
@endif
{{ Form::hidden('tta_drugs_array[]', $tta_drugs_array[$x]) }}
{{ Form::hidden('tta_tariff_ids[]', $tariff_id) }}
{{ Form::hidden('tta_benefit_ids[]', $benefit_id) }}
{{ Form::hidden('tta_treatment_id[]', $treatment->id) }}
{{ Form::hidden('tta_inpatient_bill_generated[]', $treatment->inpatient_bill_generated) }}
{{ Form::number('tta_unit_cost[]', $drugs_cost, ['class' => 'form-control', 'readonly', 'id' => 'tta_unit_cost_' . $counter]) }}
@if($is_insured == 1 && Auth::user()->can('chi-to-pay-edit'))
{{ Form::number('tta_insurance_unit[]', $tta_insurance_amount, ['class' => 'form-control tta_insurance_unit', 'id' => 'tta_insurance_unit_' . $counter]) }}
@else
{{ Form::number('tta_insurance_unit[]', $tta_insurance_amount, ['class' => 'form-control tta_insurance_unit', 'readonly', 'id' => 'tta_insurance_unit_' . $counter]) }}
@endif
{{ Form::hidden('tta_summed[]', $drugs_cost + $tta_insurance_amount, ['id' => 'tta_summed_' . $counter]) }}
{{ Form::number('tta_quantity[]', $tta_dispensed_array[$x], ['class' => 'form-control', 'readonly', 'id' => 'tta_quantity_' . $counter]) }}
@php $tta_total_cost += $drugs_cost * $tta_dispensed_array[$x]; @endphp
{{ Form::number('tta_amount[]', $drugs_cost * $tta_dispensed_array[$x], ['class' => 'form-control tta_amount', 'readonly', 'id' => 'tta_amount_' . $counter]) }}
{{ Form::number('tta_insurance_amount[]', $tta_dispensed_array[$x] * $tta_insurance_amount, ['class' => 'form-control tta_insurance_amount', 'readonly', 'id' => 'tta_insurance_amount_' . $counter]) }}
@php $counter++; @endphp
@endfor
{{ __('inpatient.ordered_by') }} : {{ get_full_name($treatment->created_by, "id", "first_name", "last_name", "users") }}
@endforeach
@else
{{ __('inpatient.no_tta_ordered') }}
@endif
{{ __('inpatient.patient_to_pay') }}
{{ Form::hidden('tta_cost', $tta_total_cost, ['id' => 'tta_cost']) }}
{{ Form::hidden('insurance_tta_cost', $insurance_tta, ['id' => 'insurance_tta_cost']) }}
{{ Form::text('display_tta_cost', ugandan_shillings_with_decimals($tta_total_cost), ['class' => 'form-control compulsory', 'readonly', 'id' => 'display_tta_cost']) }}
@if($patient_insurance_status)
{{ __('inpatient.insurance_to_pay') }}
{{ Form::text('display_insurance_tta_cost', ugandan_shillings_with_decimals($insurance_tta), ['class' => 'form-control compulsory', 'readonly', 'id' => 'display_insurance_tta_cost']) }}
@endif
whereNull('deleted_at')->where(['patient_id' => $patient_id, 'episode_id' => $episode_id])->get();
?>
{{ __('inpatient.name') }}
{{ __('inpatient.cost') }}
@if(count($ward_extras_given) > 0)
@foreach($ward_extras_given as $extras_record)
{{ $extras_record->extra_item }}
{{ ugandan_shillings_with_decimals($extras_record->extra_cost) }}
@php $extras_total_cost += $extras_record->extra_cost; @endphp
@endforeach
@endif
{{ Form::hidden('extras_cost', $extras_total_cost, ['id' => 'extras_cost']) }}
{{ Form::text('display_extras_cost', ugandan_shillings_with_decimals($extras_total_cost), ['class' => 'form-control compulsory', 'readonly', 'id' => 'display_extras_cost']) }}
@php
$unpaid_opd_grand_total = $opd_unpaid_treatment_total + $opd_sundries_total_cost + $opd_services_amount_total + $opd_procedure_amount_total;
$amount_to_pay = $extras_total_cost + $tta_total_cost + $procedures_total_cost + $sundries_total_cost + $treatment_total_cost + $admission_cost + $investigation_amount_total + $services_total_cost + $drugs_given_anae_cost_total + $unpaid_opd_grand_total;
$total_insurance_payment = $chi_ward_accomodation_to_pay + $insurance_investigations + $insurance_treatments + $insurance_sundries + $insurance_procedures + $insurance_tta + $insurance_services +
$insurance_opd_treatment + $opd_insurance_sundries + $opd_services_insurance_amount_total + $opd_procedure_insurance_amount_total;
@endphp
@if(count($service_deposits) > 0)
@foreach($service_deposits as $service_deposit)
@if(($service_deposit->service_type == "Inpatient_Deposit") && ($service_deposit->patient_id == $patient_id) && ($service_deposit->episode_id == $episode_id))
@php
$total_deposits_paid += $service_deposit->patient_amount_paid;
@endphp
@endif
@endforeach
@endif
@php
$co_payment = check_patient_category_co_payment_status($patient->category_id);
$total_copayment_share = 0;
if(!empty($co_payment) && $co_payment['co_payment_share'] != 0){
$total_copayment_share = $amount_to_pay / $co_payment['co_payment_share'];
}
@endphp
{{ __('inpatient.initial_total_bill') }}
{{ Form::text('display_insurance_amount_owed', ugandan_shillings_with_decimals((int)$total_insurance_payment + (int)$amount_to_pay), ['class' => 'form-control compulsory', 'readonly']) }}
{{ __('inpatient.patient_to_pay_total') }}
{{ Form::hidden('original_amount_owed', (int)$amount_to_pay, ['id' => 'original_amount_owed']) }}
{{ Form::text('display_amount_owed', ugandan_shillings_with_decimals((int)$amount_to_pay), ['class' => 'form-control compulsory', 'readonly', 'id' => 'display_amount_owed']) }}
@if($total_insurance_payment == 0)
{{ __('inpatient.insurance_to_pay_total') }}
{{ Form::hidden('original_insurance_amount_owed', (int)$total_insurance_payment, ['id' => 'original_insurance_amount_owed']) }}
{{ Form::text('display_insurance_amount_owed', ugandan_shillings_with_decimals($total_insurance_payment), ['class' => 'form-control compulsory', 'readonly', 'id' => 'display_insurance_amount_owed']) }}
@endif
@php
$ward_discount_records = \Streamline\Models\InpatientWardDiscounts::where(['inpatient_info_id' => $inpatient_info->id])->get();
$ward_discount_total = 0;
@endphp
@if(count($ward_discount_records) > 0)
@php
$category_to_pay_deposits = 0;
$patient_category_invoices_record = \Streamline\Models\PatientCategoryInvoice::where(['patient_id' => $patient_id, 'episode_id' => $episode_id, 'patient_category' => $patient->category_id])->get();
@endphp
@php
$dependant_consumptions_total = 0;
$dependant_consumptions = \Streamline\Models\DependantsConsumption::where(['dependant_patient_id' => $patient_id, 'episode_id' => $episode_id])->get();
@endphp
@php
$debt_plan_total = 0;
$debt_plan_payments = \Streamline\Models\DebtPlan::where(['patient_id' => $patient_id, 'episode_id' => $episode_id, 'tag_id' => 10])->get();
@endphp
@if (Auth::user()->can('view-inpatient-bill-saving-history'))
@if ($inpatient_bill_info && !is_null($inpatient_bill_info->bill_saved_by))
@php
$bill_savers_array = explode(",", $inpatient_bill_info->bill_saved_by);
$saver_timestamps_array = explode(",", $inpatient_bill_info->bill_saved_at);
@endphp