mirror of
https://gitlab.com/signalytic/client-external/streamline/streamline-emr.git
synced 2026-09-13 03:31:31 +00:00
resolved conflicts
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'name' => 'WardManagement'
|
||||
];
|
||||
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\WardManagement\Http\Controllers;
|
||||
|
||||
use Illuminate\Foundation\Bus\DispatchesJobs;
|
||||
use Illuminate\Routing\Controller as BaseController;
|
||||
use Illuminate\Foundation\Validation\ValidatesRequests;
|
||||
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
|
||||
|
||||
class Controller extends BaseController
|
||||
{
|
||||
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
|
||||
}
|
||||
@@ -0,0 +1,174 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\WardManagement\Http\Controllers;
|
||||
|
||||
use Streamline\Models\HmisWard;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
|
||||
class HmisWardController extends Controller
|
||||
{
|
||||
public function __construct() {
|
||||
$this->middleware('auth');
|
||||
$this->middleware('permission:hmis-ward-list', ['only' => ['index', 'select']]);
|
||||
$this->middleware('permission:hmis-ward-create', ['only' => ['create', 'store']]);
|
||||
$this->middleware('permission:hmis-ward-edit', ['only' => ['edit', 'update']]);
|
||||
$this->middleware('permission:hmis-ward-delete', ['only' => ['destroy', 'inactive', 'activate']]);
|
||||
}
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$wards = HmisWard::orderBy('name', 'asc')->paginate(50);
|
||||
|
||||
return view('ward_management::hmis_wards.index', compact('wards'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
return view('ward_management::hmis_wards.create');
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'name' => 'required|string|max:255|unique:hmis_wards',
|
||||
'slug' => 'required|string|max:255|unique:hmis_wards',
|
||||
]);
|
||||
|
||||
if ($validator->fails()) {
|
||||
$string = "";
|
||||
foreach ($validator->errors()->getMessages() as $item) {
|
||||
$string .= "{$item[0]}<br>";
|
||||
}
|
||||
flash($string)->error();
|
||||
return back()->withErrors($validator)->withInput();
|
||||
} else {
|
||||
$ward = new HmisWard;
|
||||
$ward->name = $request->name;
|
||||
$ward->slug = $request->slug;
|
||||
$ward->created_by = auth()->user()->id;
|
||||
$ward->save();
|
||||
flash($request->name . " Hmis Ward has been created")->success();
|
||||
return redirect("/hmis_wards/");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
$ward = HmisWard::findOrFail($id);
|
||||
return view('ward_management::hmis_wards.edit', compact('ward'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'name' => 'required|string|max:255|unique:hmis_wards,name,'.$id,
|
||||
'slug' => 'required|string|max:255|unique:hmis_wards,slug,'.$id,
|
||||
|
||||
]);
|
||||
|
||||
if ($validator->fails()) {
|
||||
$string = "";
|
||||
foreach ($validator->errors()->getMessages() as $item) {
|
||||
$string .= "{$item[0]}<br>";
|
||||
}
|
||||
flash($string)->error();
|
||||
return back()->withErrors($validator)->withInput();
|
||||
} else {
|
||||
$ward = HmisWard::find($id);
|
||||
$ward->name = $request->name;
|
||||
$ward->slug = $request->slug;
|
||||
$ward->updated_by = auth()->user()->id;
|
||||
$ward->save();
|
||||
flash($request->name . " Hmis Ward has been updated")->success();
|
||||
return redirect("/hmis_wards/");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
$ward = HmisWard::findOrFail($id);
|
||||
|
||||
if ($ward->delete()) {
|
||||
flash("Hmis Ward has been deleted.")->success();
|
||||
return redirect('/hmis_wards/');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a listing of the inactive resource(s).
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function inactive()
|
||||
{
|
||||
$wards = HmisWard::onlyTrashed()->orderBy('created_at', 'desc')->paginate(50);
|
||||
|
||||
return view('ward_management::hmis_wards.inactive', compact('wards'));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Activate the specified resource in storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function activate($id)
|
||||
{
|
||||
$ward = HmisWard::onlyTrashed()->findOrFail($id);
|
||||
|
||||
if ($ward->restore()) {
|
||||
flash("Hmis Ward has been activated.")->success();
|
||||
return redirect('/hmis_wards/');
|
||||
} else {
|
||||
flash()->error("Hmis Ward hasn't been activated.");
|
||||
return redirect()->route('hmis_wards.inactive');
|
||||
}
|
||||
}
|
||||
}
|
||||
+88
@@ -0,0 +1,88 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\WardManagement\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Streamline\Models\InpatientInfo;
|
||||
use Carbon\Carbon;
|
||||
use Streamline\Models\Ward;
|
||||
|
||||
class InpatientBillsController extends Controller {
|
||||
public function __construct() {
|
||||
$this->middleware('auth');
|
||||
$this->middleware('permission:incoming-inpatient-bills', ['only' => ['incoming_inpatient_bills']]);
|
||||
}
|
||||
|
||||
public function incoming_inpatient_bills(Request $request) {
|
||||
$filters = [];
|
||||
|
||||
if ($request->search_by == 1) {
|
||||
$end = Carbon::yesterday()->endOfDay()->toDateTimeString();
|
||||
$start = Carbon::yesterday()->startOfDay()->toDateTimeString();
|
||||
$search_text = " Yesterday";
|
||||
} else if ($request->search_by == 2) {
|
||||
$end = Carbon::parse($request->reg_date)->endOfDay()->toDateTimeString();
|
||||
$start = Carbon::parse($request->reg_date)->startOfDay()->toDateTimeString();
|
||||
$search_text = " On: " . streamline_date($request->reg_date);
|
||||
} else if ($request->search_by == 3) {
|
||||
$end = Carbon::parse($request->end_date)->endOfDay()->toDateTimeString();
|
||||
$start = Carbon::parse($request->start_date)->startOfDay()->toDateTimeString();
|
||||
$search_text = " Between: " . streamline_date($request->start_date) . " And " . streamline_date($request->end_date);
|
||||
} else {
|
||||
$end = Carbon::today()->endOfDay()->toDateTimeString();
|
||||
$start = Carbon::today()->startOfDay()->toDateTimeString();
|
||||
$search_text = " Today";
|
||||
}
|
||||
|
||||
if(isset($request->ward_id) && $request->ward_id != 0){
|
||||
$filters[] = ['inpatient_info.ward_id', '=', $request->ward_id];
|
||||
}
|
||||
|
||||
if ($request->inpatient_status == 1) {
|
||||
// patient still admitted in date range
|
||||
$search_text = "Patients Still Admitted" . $search_text;
|
||||
|
||||
$inpatients_info = DB::table('inpatient_info')
|
||||
->where('inpatient_info.discharged_on', '>', $end)
|
||||
->OrWhereNull('inpatient_info.discharged_on')
|
||||
->where('inpatient_info.admitted_on', '<', $end)
|
||||
->join('patients', 'inpatient_info.patient_id', '=', 'patients.id')
|
||||
->join('inpatient_bills', 'inpatient_info.id', '=', 'inpatient_bills.inpatient_info_id')
|
||||
->select('inpatient_info.*', 'patients.category_id as patients_category_id', 'patients.number as patients_number',
|
||||
'inpatient_bills.amount_to_pay as bills_amount_to_pay', 'inpatient_bills.invoices_amount as bills_invoices_amount', 'inpatient_bills.created_by as bills_created_by',
|
||||
'inpatient_bills.updated_by as bills_updated_by', 'inpatient_bills.original_bill as bills_original_bill', 'inpatient_bills.amount_paid as bills_amount_paid')
|
||||
->paginate(200);
|
||||
} else {
|
||||
if ($request->inpatient_status == 2) {
|
||||
// patient discharge in data range
|
||||
$filters[] = ['inpatient_info.discharged_on', '>', $start];
|
||||
$filters[] = ['inpatient_info.discharged_on', '<', $end];
|
||||
$filters[] = ['inpatient_info.discharged', '=', 1];
|
||||
$search_text = "Patients Discharged" . $search_text;
|
||||
} else {
|
||||
// all patients
|
||||
$filters[] = ['inpatient_info.created_at', '>', $start];
|
||||
$filters[] = ['inpatient_info.created_at', '<', $end];
|
||||
$search_text = "Patients Admitted" . $search_text;
|
||||
}
|
||||
|
||||
$inpatients_info = DB::table('inpatient_info')
|
||||
->where($filters)
|
||||
->join('patients', 'inpatient_info.patient_id', '=', 'patients.id')
|
||||
->join('inpatient_bills', 'inpatient_info.id', '=', 'inpatient_bills.inpatient_info_id')
|
||||
->select('inpatient_info.*', 'patients.category_id as patients_category_id', 'patients.number as patients_number',
|
||||
'inpatient_bills.amount_to_pay as bills_amount_to_pay', 'inpatient_bills.invoices_amount as bills_invoices_amount', 'inpatient_bills.created_by as bills_created_by',
|
||||
'inpatient_bills.updated_by as bills_updated_by', 'inpatient_bills.original_bill as bills_original_bill', 'inpatient_bills.amount_paid as bills_amount_paid')
|
||||
->paginate(200);
|
||||
}
|
||||
|
||||
$patient_categories = DB::table('patient_categories')->where('available', 1)->pluck('name', 'id')->toArray();
|
||||
$wards = DB::table('wards')->where('available', 1)->pluck('name', 'id')->toArray();
|
||||
$wards = ['' => '- select -', '0' => 'All wards'] + $wards;
|
||||
|
||||
$inpatient_status = [0 => "All Patients", 1 => "Still Admitted", 2 => "Discharged"];
|
||||
|
||||
return view('ward_management::inpatient.incoming_bills',compact('inpatients_info','wards','inpatient_status', 'search_text', 'patient_categories'));
|
||||
}
|
||||
}
|
||||
+3876
File diff suppressed because it is too large
Load Diff
+301
@@ -0,0 +1,301 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\WardManagement\Http\Controllers;
|
||||
|
||||
use Barryvdh\Snappy\Facades\SnappyPdf;
|
||||
use Illuminate\Database\QueryException;
|
||||
use Illuminate\Foundation\Application;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Redirector;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\View\View;
|
||||
use Modules\Cancer\Http\Controllers\CancerProtocolController;
|
||||
use Modules\ClinicalData\Services\Drugs\DrugFormsService;
|
||||
use Modules\ClinicalData\Services\Drugs\DrugRoutesService;
|
||||
use Modules\ClinicalData\Services\Drugs\DrugsService;
|
||||
use Modules\ClinicalData\Services\Drugs\DrugUnitsService;
|
||||
use Modules\WardManagement\Services\TreatmentSheetService;
|
||||
use Streamline\Models\OrderedCancerProtocols;
|
||||
use Streamline\Models\Patient;
|
||||
use Streamline\Models\TreatmentSheetDispensations;
|
||||
use Streamline\Models\User;
|
||||
use Streamline\Models\WardTreatment;
|
||||
use Streamline\Models\WardTreatmentDispensation;
|
||||
use Streamline\Services\UserService;
|
||||
use Streamline\Services\WardManagement\WardTreatmentDispensationService;
|
||||
|
||||
class TreatmentSheetController extends Controller
|
||||
{
|
||||
public function __construct(
|
||||
protected TreatmentSheetService $treatmentSheetService,
|
||||
protected DrugsService $drugsService,
|
||||
protected DrugRoutesService $drugRoutesService,
|
||||
protected DrugUnitsService $drugUnitsService,
|
||||
protected UserService $userService,
|
||||
protected DrugFormsService $drugFormsService,
|
||||
protected WardTreatmentDispensationService $dispensationService
|
||||
) {
|
||||
$this->middleware('auth');
|
||||
}
|
||||
|
||||
public function viewTreatmentSheet(): View|RedirectResponse
|
||||
{
|
||||
$patient_id = session()->get('patient_id');
|
||||
$episode_id = session()->get('episode_id');
|
||||
|
||||
$inpatient_info = DB::table('inpatient_info')->where('episode_id', $episode_id)->first();
|
||||
|
||||
if ($inpatient_info) {
|
||||
$ward_id = $inpatient_info->ward_id;
|
||||
} else {
|
||||
return redirect('home');
|
||||
}
|
||||
|
||||
$patient = Patient::find($patient_id);
|
||||
|
||||
$ordered_cancer_protocols = DB::table('ordered_cancer_protocols')
|
||||
->whereNull('deleted_at')->where('episode_id', $episode_id)->get();
|
||||
|
||||
$drugs = $this->drugsService->pluckAvailableDrugs('name');
|
||||
$drug_with_units = $this->drugsService->pluckAvailableDrugs('unit_id');
|
||||
$drug_units = $this->drugUnitsService->pluckAvailableDrugUnits('name');
|
||||
$drug_routes = $this->drugRoutesService->pluckAvailableDrugRoutes('name');
|
||||
$drug_with_forms = $this->drugsService->pluckAvailableDrugs('form_id');
|
||||
$drug_forms = $this->drugFormsService->pluckAvailableDrugForms('name');
|
||||
$factors = CancerProtocolController::$factors;
|
||||
|
||||
$ward_prescriptions = WardTreatment::where('episode_id', $episode_id)->get();
|
||||
|
||||
$users_array = $this->userService->pluckUserFullName();
|
||||
$users_array = ['' => '- select -'] + $users_array;
|
||||
|
||||
return view('ward_management::inpatient.treatment_sheet_view', compact('patient', 'episode_id', 'patient_id', 'inpatient_info',
|
||||
'ordered_cancer_protocols', 'drugs', 'drug_with_units', 'drug_units', 'drug_routes', 'factors', 'ward_prescriptions', 'users_array',
|
||||
'ward_id', 'drug_forms', 'drug_with_forms'));
|
||||
}
|
||||
|
||||
public function saveTreatmentSheet(Request $request) {
|
||||
$pre_chemo_given_on = $request->pre_chemo_given_on ?? [];
|
||||
$pre_chemo_tracker_num = $request->pre_chemo_tracker_num ?? [];
|
||||
$pre_chemo_given_by = $request->pre_chemo_given_by ?? [];
|
||||
$pre_chemo_quantity_given = $request->pre_chemo_quantity_given ?? [];
|
||||
$pre_chemo_order_id = $request->pre_chemo_order_id ?? [];
|
||||
$chemo_given_on = $request->chemo_given_on ?? [];
|
||||
$chemo_tracker_num = $request->chemo_tracker_num ?? [];
|
||||
$chemo_given_by = $request->chemo_given_by ?? [];
|
||||
$chemo_quantity_given = $request->chemo_quantity_given ?? [];
|
||||
$chemo_order_id = $request->chemo_order_id ?? [];
|
||||
$post_chemo_given_on = $request->post_chemo_given_on ?? [];
|
||||
$post_chemo_tracker_num = $request->post_chemo_tracker_num ?? [];
|
||||
$post_chemo_given_by = $request->post_chemo_given_by ?? [];
|
||||
$post_chemo_quantity_given = $request->post_chemo_quantity_given ?? [];
|
||||
$post_chemo_order_id = $request->post_chemo_order_id ?? [];
|
||||
$patient_id = $request->patient_id;
|
||||
$episode_id = $request->episode_id;
|
||||
$ward_id = $request->ward_id;
|
||||
|
||||
$grouped_items = [];
|
||||
$duration_counter = 0;
|
||||
|
||||
for ($x = 0; $x < count($pre_chemo_order_id); $x++) {
|
||||
if (isset($pre_chemo_given_by[$x]) && isset($pre_chemo_given_on[$x]) && $pre_chemo_quantity_given[$x] > 0) {
|
||||
$grouped_items[$pre_chemo_order_id[$x]]['pre_chemo'][$pre_chemo_tracker_num[$x]] = [
|
||||
"pre_chemo_given_on" => $pre_chemo_given_on[$x],
|
||||
"pre_chemo_given_by" => $pre_chemo_given_by[$x],
|
||||
"pre_chemo_quantity_given" => $pre_chemo_quantity_given[$x]
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
for ($x = 0; $x < count($chemo_order_id); $x++) {
|
||||
if (isset($chemo_given_by[$x]) && isset($chemo_given_on[$x]) && $chemo_quantity_given[$x] > 0) {
|
||||
$grouped_items[$chemo_order_id[$x]]['chemo'][$chemo_tracker_num[$x]] = [
|
||||
"chemo_given_on" => $chemo_given_on[$x],
|
||||
"chemo_given_by" => $chemo_given_by[$x],
|
||||
"chemo_quantity_given" => $chemo_quantity_given[$x]
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
for ($x = 0; $x < count($post_chemo_order_id); $x++) {
|
||||
if (isset($post_chemo_given_by[$x]) && isset($post_chemo_given_on[$x]) && $post_chemo_quantity_given[$x] > 0) {
|
||||
$grouped_items[$post_chemo_order_id[$x]]['post_chemo'][$post_chemo_tracker_num[$x]] = [
|
||||
"post_chemo_given_on" => $post_chemo_given_on[$x],
|
||||
"post_chemo_given_by" => $post_chemo_given_by[$x],
|
||||
"post_chemo_quantity_given" => $post_chemo_quantity_given[$x]
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($grouped_items as $key => $grouped_item) {
|
||||
$ordered_protocol = OrderedCancerProtocols::find($key);
|
||||
|
||||
if ($ordered_protocol) {
|
||||
$pre_chemo_drugs = json_decode($ordered_protocol->pre_chemo_drugs, true);
|
||||
|
||||
for($x = 0; $x < count($pre_chemo_drugs); $x++) {
|
||||
for($i = 0; $i < count($pre_chemo_drugs[$x]['dose']); $i++) {
|
||||
for($p = 0; $p < count($pre_chemo_drugs[$x]['dose'][$i]['duration']); $p++) {
|
||||
if (isset($grouped_item['pre_chemo']) && isset($grouped_item['pre_chemo'][$duration_counter])) {
|
||||
$pre_chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_by'] = $grouped_item['pre_chemo'][$duration_counter]['pre_chemo_given_by'];
|
||||
$pre_chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_on'] = $grouped_item['pre_chemo'][$duration_counter]['pre_chemo_given_on'];
|
||||
$pre_chemo_drugs[$x]['dose'][$i]['duration'][$p]['quantity_given'] = $grouped_item['pre_chemo'][$duration_counter]['pre_chemo_quantity_given'];
|
||||
$this->dispensationService->saveDispensation($patient_id, $episode_id, $pre_chemo_drugs[$x]['drug_id'], $grouped_item['pre_chemo'][$duration_counter]['pre_chemo_quantity_given'], 0, $ward_id);
|
||||
$ordered_protocol->pre_chemo_status = 1;
|
||||
}
|
||||
|
||||
$duration_counter++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$ordered_protocol->pre_chemo_drugs = json_encode($pre_chemo_drugs);
|
||||
|
||||
$chemo_drugs = json_decode($ordered_protocol->chemo_drugs, true);
|
||||
|
||||
for($x = 0; $x < count($chemo_drugs); $x++) {
|
||||
for($i = 0; $i < count($chemo_drugs[$x]['dose']); $i++) {
|
||||
for($p = 0; $p < count($chemo_drugs[$x]['dose'][$i]['duration']); $p++) {
|
||||
if (isset($grouped_item['chemo']) && isset($grouped_item['chemo'][$duration_counter])) {
|
||||
$chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_by'] = $grouped_item['chemo'][$duration_counter]['chemo_given_by'];
|
||||
$chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_on'] = $grouped_item['chemo'][$duration_counter]['chemo_given_on'];
|
||||
$chemo_drugs[$x]['dose'][$i]['duration'][$p]['quantity_given'] = $grouped_item['chemo'][$duration_counter]['chemo_quantity_given'];
|
||||
$this->dispensationService->saveDispensation($patient_id, $episode_id, $chemo_drugs[$x]['drug_id'], $grouped_item['chemo'][$duration_counter]['chemo_quantity_given'], 0, $ward_id);
|
||||
$ordered_protocol->chemo_status = 1;
|
||||
}
|
||||
|
||||
$duration_counter++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$ordered_protocol->chemo_drugs = json_encode($chemo_drugs);
|
||||
|
||||
$post_chemo_drugs = json_decode($ordered_protocol->post_chemo_drugs, true);
|
||||
|
||||
for($x = 0; $x < count($post_chemo_drugs); $x++) {
|
||||
for($i = 0; $i < count($post_chemo_drugs[$x]['dose']); $i++) {
|
||||
for($p = 0; $p < count($post_chemo_drugs[$x]['dose'][$i]['duration']); $p++) {
|
||||
if (isset($grouped_item['post_chemo']) && isset($grouped_item['post_chemo'][$duration_counter])) {
|
||||
$post_chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_by'] = $grouped_item['post_chemo'][$duration_counter]['post_chemo_given_by'];
|
||||
$post_chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_on'] = $grouped_item['post_chemo'][$duration_counter]['post_chemo_given_on'];
|
||||
$post_chemo_drugs[$x]['dose'][$i]['duration'][$p]['quantity_given'] = $grouped_item['post_chemo'][$duration_counter]['post_chemo_quantity_given'];
|
||||
$this->dispensationService->saveDispensation($patient_id, $episode_id, $post_chemo_drugs[$x]['drug_id'], $grouped_item['post_chemo'][$duration_counter]['post_chemo_quantity_given'], 0, $ward_id);
|
||||
$ordered_protocol->post_chemo_status = 1;
|
||||
}
|
||||
|
||||
$duration_counter++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$ordered_protocol->post_chemo_drugs = json_encode($post_chemo_drugs);
|
||||
|
||||
try {
|
||||
$ordered_protocol->save();
|
||||
} catch (QueryException $e) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// handle the rest of the treatments
|
||||
$opd_given_by = $request->opd_given_by ?? [];
|
||||
$opd_given_on = $request->opd_given_on ?? [];
|
||||
$opd_order_number = $request->opd_order_number ?? [];
|
||||
$opd_ward_treatment_id = $request->opd_ward_treatment_id ?? [];
|
||||
$opd_drug_id = $request->opd_drug_id ?? [];
|
||||
$opd_quantity_given = $request->opd_quantity_given ?? [];
|
||||
|
||||
for ($x = 0; $x < count($opd_given_by); $x++) {
|
||||
if (isset($opd_given_by[$x]) && isset($opd_given_on[$x])) {
|
||||
$dispensations = new TreatmentSheetDispensations();
|
||||
$dispensations->patient_id = $patient_id;
|
||||
$dispensations->episode_id = $episode_id;
|
||||
$dispensations->ward_treatment_id = $opd_ward_treatment_id[$x];
|
||||
$dispensations->order_number = $opd_order_number[$x];
|
||||
$dispensations->drug_id = $opd_drug_id[$x];
|
||||
$dispensations->quantity_given = $opd_quantity_given[$x];
|
||||
$dispensations->given_by = $opd_given_by[$x];
|
||||
$dispensations->given_on = $opd_given_on[$x];
|
||||
$dispensations->created_by = Auth::id();
|
||||
$dispensations->save();
|
||||
|
||||
$this->dispensationService->saveDispensation($patient_id, $episode_id, $opd_drug_id[$x], $opd_quantity_given[$x], 0, $ward_id);
|
||||
}
|
||||
}
|
||||
|
||||
if (session()->has('treatment_sheet_route')) {
|
||||
$treatment_sheet_route = session()->get('treatment_sheet_route');
|
||||
session()->forget('treatment_sheet_route');
|
||||
return $treatment_sheet_route;
|
||||
} else {
|
||||
return "self";
|
||||
}
|
||||
}
|
||||
|
||||
public function printTreatmentSheet($episode_id)
|
||||
{
|
||||
$ordered_cancer_protocols = DB::table('ordered_cancer_protocols')
|
||||
->whereNull('deleted_at')->where('episode_id', $episode_id)->get();
|
||||
|
||||
$ward_prescriptions = WardTreatment::where('episode_id', $episode_id)->get();
|
||||
|
||||
$drugs = $this->drugsService->pluckAvailableDrugs('name');
|
||||
$drug_with_units = $this->drugsService->pluckAvailableDrugs('unit_id');
|
||||
$drug_units = $this->drugUnitsService->pluckAvailableDrugUnits('name');
|
||||
$drug_routes = $this->drugRoutesService->pluckAvailableDrugRoutes('name');
|
||||
$factors = CancerProtocolController::$factors;
|
||||
|
||||
$inpatient_info = DB::table('inpatient_info')->where('episode_id', $episode_id)->first();
|
||||
|
||||
if ($inpatient_info) {
|
||||
$patient_id = $inpatient_info->patient_id;
|
||||
$ward_id = $inpatient_info->ward_id;
|
||||
$admitted_on = $inpatient_info->admitted_on;
|
||||
} else {
|
||||
return redirect('home');
|
||||
}
|
||||
|
||||
$patient = Patient::find($patient_id);
|
||||
|
||||
$users_array = $this->userService->pluckUserFullName();
|
||||
$users_array = ['' => '- select -'] + $users_array;
|
||||
|
||||
$data = [
|
||||
"patient" => $patient,
|
||||
"users_array" => $users_array,
|
||||
"ordered_cancer_protocols" => $ordered_cancer_protocols,
|
||||
"ward_prescriptions" => $ward_prescriptions,
|
||||
"factors" => $factors,
|
||||
"drug_routes" => $drug_routes,
|
||||
"drug_with_units" => $drug_with_units,
|
||||
"drug_units" => $drug_units,
|
||||
"drugs" => $drugs,
|
||||
"ward_id" => $ward_id,
|
||||
"admitted_on" => $admitted_on,
|
||||
];
|
||||
|
||||
$pdf = SnappyPDF::loadView('ward_management::inpatient/print_treatment_sheet', $data)
|
||||
->setOrientation('portrait')
|
||||
->setOption('margin-bottom', 7)
|
||||
->setOption('margin-top', 5)
|
||||
->setOption('footer-html', '<i>Stre@mline</i>');
|
||||
|
||||
return $pdf->inline('Inpatient Bill' . date(" d-m-y h:ia") . '.pdf');
|
||||
}
|
||||
|
||||
public function redirectBack(): RedirectResponse
|
||||
{
|
||||
$treatment_sheet_route = session()->get('treatment_sheet_route');
|
||||
session()->forget('treatment_sheet_route');
|
||||
|
||||
if ($treatment_sheet_route === "ward_home") {
|
||||
return redirect('/wards/select');
|
||||
} else {
|
||||
return redirect('/patient_episodes');
|
||||
}
|
||||
}
|
||||
}
|
||||
+540
@@ -0,0 +1,540 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\WardManagement\Http\Controllers;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Database\Query\Builder;
|
||||
use Illuminate\Http\Request;
|
||||
use Streamline\Models\ChartOfAccount;
|
||||
use Streamline\Models\StreamlineSetupStep;
|
||||
use Streamline\Models\Ward;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Database\QueryException;
|
||||
use Streamline\Models\InpatientInfo;
|
||||
use Streamline\Models\Patient;
|
||||
use Streamline\Models\PatientEpisode;
|
||||
use Streamline\Models\WardStock;
|
||||
use Streamline\Models\HmisWard;
|
||||
use Streamline\Models\WardStockReconciliation;
|
||||
use Streamline\Services\StreamlineSetupServiceInterface;
|
||||
|
||||
class WardController extends Controller {
|
||||
public function __construct(
|
||||
protected StreamlineSetupServiceInterface $setupService
|
||||
) {
|
||||
$this->middleware('auth');
|
||||
$this->middleware('permission:ward-list', ['only' => ['index', 'select']]);
|
||||
$this->middleware('permission:ward-create', ['only' => ['create', 'store']]);
|
||||
$this->middleware('permission:ward-edit', ['only' => ['edit', 'update']]);
|
||||
$this->middleware('permission:ward-delete', ['only' => ['destroy', 'inactive', 'activate']]);
|
||||
}
|
||||
|
||||
public static $ward_types = ['maternity' => 'Maternity Ward', 'theatre' => 'Theatre Ward', 'psychiatric'=>'Psychiatric ward','emergency'=>'Emergency ward'];
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$wards = DB::table('wards')->leftJoin('hmis_wards', 'hmis_wards.id', '=', 'wards.hmis_ward_id')->whereNull('wards.deleted_at')
|
||||
->select('wards.*', 'hmis_wards.name as hmis_ward')->orderby('name', 'asc')->get();
|
||||
|
||||
$inpatient_wards = InpatientInfo::distinct('ward_id')->pluck('ward_id', 'ward_id')->toArray();
|
||||
$ward_types = static::$ward_types;
|
||||
|
||||
return view('ward_management::wards.index', compact('wards', 'inpatient_wards', 'ward_types'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
$wards = ['CHILDREN', 'MEDICAL LOWER (ISOLATION)', 'MATERNITY', 'MEDICAL UPPER', 'PSYCHIATRY Ahumuza Centre', 'REHABILITATION', 'SPECIAL CARE BABY UNIT', 'SURGICAL MALE', 'SURGICAL FEMALE', 'THEATRE', 'OPD', 'NIGHT NURSES CUPBOARD', 'DEMO TEST WARD', 'SCHOOL OF NURSING', 'GYNAECOLOGY WARD'];
|
||||
$ward_types = HmisWard::all('name', 'id');
|
||||
$actual_ward_types = static::$ward_types;
|
||||
return view('ward_management::wards.create', compact('wards', 'ward_types', 'actual_ward_types'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//validation passed
|
||||
if (isset($request->skip)&& $request->skip == 'skip') {
|
||||
//update the streamline setup table with the new finished step
|
||||
$this->setupService->saveStep("wards registration", 1);
|
||||
return redirect("service_items/create");
|
||||
} else {
|
||||
$ward = new Ward;
|
||||
$ward->name = $request->name;
|
||||
$ward->available = $request->available;
|
||||
$ward->beds = $request->beds;
|
||||
$ward->hmis_ward_id = $request->type;
|
||||
$ward->type = $request->ward_type;
|
||||
if ($request->type == '4') $ward->slug = 'maternity';
|
||||
$ward->created_by = Auth::id();
|
||||
|
||||
try {
|
||||
if (!is_null($ward->name)) {
|
||||
$ward->save();
|
||||
}
|
||||
|
||||
if (session()->has('streamline_setup')) {
|
||||
if (isset($request->other_wards)) {
|
||||
$other_wards_array = $request->other_wards;
|
||||
$other_beds_array = $request->other_ward_beds;
|
||||
$other_ward_types_array = $request->other_ward_types;
|
||||
for ($i = 0; $i < count($other_wards_array); $i++) {
|
||||
$ward = new Ward;
|
||||
$ward->name = $other_wards_array[$i];
|
||||
$ward->beds = $other_beds_array[$i];
|
||||
$ward->slug = $other_ward_types_array[$i];
|
||||
$ward->created_by = Auth::id();
|
||||
$ward->save();
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($request->selected_wards)) {
|
||||
$selected_wards_array = $request->selected_wards;
|
||||
if (!empty($selected_wards_array)) {
|
||||
for ($i = 0; $i < count($selected_wards_array); $i++) {
|
||||
$ward = new Ward;
|
||||
$ward->name = $selected_wards_array[$i];
|
||||
$ward->beds = 0;
|
||||
$ward->created_by = Auth::id();
|
||||
$ward->save();
|
||||
}
|
||||
}
|
||||
}
|
||||
//update the streamline setup table with the new finished step
|
||||
$this->setupService->saveStep("wards registration", 1);
|
||||
flash("Wards have been added")->success();
|
||||
|
||||
return redirect("service_items/create");
|
||||
}
|
||||
|
||||
flash($request->name . " Ward has been saved")->success();
|
||||
return redirect("/wards/");
|
||||
} catch (QueryException $e) {
|
||||
flash("An error occurred")->error();
|
||||
return back()->withInput();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
$ward = Ward::where(['id' => $id])->first();
|
||||
$ward_types = HmisWard::all('name', 'id')->toArray();
|
||||
$actual_ward_types = static::$ward_types;
|
||||
$selected_ward_type = '';
|
||||
if (!$ward) {
|
||||
flash()->error("Ward not found");
|
||||
return redirect('/wards/');
|
||||
} else {
|
||||
if (!empty($ward->hmis_ward_id)) {
|
||||
$hmis_ward_id = $ward->hmis_ward_id;
|
||||
$other_ward_types = array_filter($ward_types, function ($item) use ($hmis_ward_id) {
|
||||
return $item['id'] !== $hmis_ward_id;
|
||||
});
|
||||
$selected_ward_type = array_filter($ward_types, function ($item) use ($hmis_ward_id) {
|
||||
return $item['id'] == $hmis_ward_id;
|
||||
});
|
||||
} else $other_ward_types = $ward_types;
|
||||
return view('ward_management::wards.edit', compact('ward', 'other_ward_types', 'selected_ward_type', 'actual_ward_types'));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
request()->validate([
|
||||
'name' => 'required',
|
||||
'beds' => 'required',
|
||||
'type' => 'required'
|
||||
]);
|
||||
|
||||
//validation passed
|
||||
$ward = Ward::findOrFail($id);
|
||||
|
||||
$ward->name = $request->name;
|
||||
$ward->beds = $request->beds;
|
||||
$ward->available = $request->available;
|
||||
$ward->hmis_ward_id = $request->type;
|
||||
$ward->type = $request->ward_type;
|
||||
if ($request->type == '4') $ward->slug = 'maternity';
|
||||
$ward->updated_by = Auth::id();
|
||||
|
||||
try {
|
||||
$ward->save();
|
||||
flash($request->name . " Ward has been updated")->success();
|
||||
return redirect("/wards/");
|
||||
} catch (QueryException $e) {
|
||||
flash("An error occurred")->error();
|
||||
return back()->withInput();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
$ward = Ward::findOrFail($id);
|
||||
|
||||
if ($ward->delete()) {
|
||||
flash("Ward has been deleted.")->success();
|
||||
return redirect('/wards/');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a listing of the inactive resource(s).
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function inactive()
|
||||
{
|
||||
$wards = Ward::onlyTrashed()
|
||||
->orderBy('name', 'asc')
|
||||
->paginate(50);
|
||||
|
||||
if (empty($wards)) {
|
||||
flash()->error("There is no inactive ward");
|
||||
return redirect('/wards/');
|
||||
} else {
|
||||
return view('ward_management::wards.inactive', compact('wards'));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Activate the specified resource in storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function activate($id)
|
||||
{
|
||||
$ward = Ward::withTrashed()->find($id);
|
||||
|
||||
if ($ward->restore()) :
|
||||
flash("Ward has been activated.")->success();
|
||||
return redirect('/wards/inactive');
|
||||
endif;
|
||||
}
|
||||
|
||||
public function select(Request $request)
|
||||
{
|
||||
$ward_id = $request->ward_id;
|
||||
$search_by = $request->search_by;
|
||||
$reg_date = $request->reg_date;
|
||||
$start_date = $request->start_date;
|
||||
$end_date = $request->end_date;
|
||||
$patient_id = $request->patient_id;
|
||||
|
||||
if (!isset($ward_id) && !isset($search_by)) {
|
||||
$ward_id = session()->get('ward_id');
|
||||
$search_by = session()->get('search_by');
|
||||
$reg_date = session()->get('reg_date');
|
||||
$start_date = session()->get('start_date');
|
||||
$end_date = session()->get('end_date');
|
||||
$patient_id = session()->get('ward_patient_id');
|
||||
} else {
|
||||
session()->put('ward_id', $ward_id);
|
||||
session()->put('search_by', $search_by);
|
||||
session()->put('reg_date', $reg_date);
|
||||
session()->put('start_date', $start_date);
|
||||
session()->put('end_date', $end_date);
|
||||
session()->put('ward_patient_id', $patient_id);
|
||||
}
|
||||
|
||||
$patient_id = empty($patient_id) ? false : $patient_id;
|
||||
$ward_id = empty($ward_id) ? false : $ward_id;
|
||||
|
||||
if ($search_by === '0') {
|
||||
$start_date = Carbon::today()->startOfCentury()->toDateTimeString();
|
||||
$end_date = Carbon::now()->endOfDay()->toDateTimeString();
|
||||
} elseif($search_by == 2){
|
||||
$start_date = Carbon::yesterday()->startOfDay()->toDateTimeString();
|
||||
$end_date = Carbon::yesterday()->endOfDay()->toDateTimeString();
|
||||
} elseif($search_by == 3 && !empty($reg_date)){
|
||||
// custom date
|
||||
$start_date = Carbon::createFromFormat('d/m/Y', $reg_date)->startOfDay()->toDateTimeString();
|
||||
$end_date = Carbon::createFromFormat('d/m/Y', $reg_date)->endOfDay()->toDateTimeString();
|
||||
} elseif($search_by == 4 && !(empty($start_date) || empty($end_date))){
|
||||
// custom date range
|
||||
$start_date = Carbon::createFromFormat('d/m/Y', $start_date)->startOfDay()->toDateTimeString();
|
||||
$end_date = Carbon::createFromFormat('d/m/Y', $end_date)->endOfDay()->toDateTimeString();
|
||||
} else {
|
||||
$start_date = Carbon::now()->startOfDay()->toDateTimeString();
|
||||
$end_date = Carbon::now()->endOfDay()->toDateTimeString();
|
||||
}
|
||||
|
||||
$inpatients = DB::table('inpatient_info as i')->leftJoin('patients as p', 'p.id','i.patient_id')->leftJoin('inpatient_bed_categories as b','b.id', 'i.bed_category_id')
|
||||
->leftJoin('wards as w','w.id', 'i.ward_id')->leftJoin('triage as t','t.episode_id', 'i.episode_id')->leftJoin('diagnoses as d','d.id', 'i.primary_diagnosis')
|
||||
->where('i.discharged', 0)
|
||||
->when($ward_id, function (Builder $query, string $ward_id) {
|
||||
$query->where('i.ward_id', $ward_id);
|
||||
})
|
||||
->when($patient_id, function (Builder $query, string $patient_id) {
|
||||
$query->where('i.patient_id', $patient_id);
|
||||
})
|
||||
->whereBetween('i.created_at', [$start_date, $end_date])
|
||||
->whereNull('p.deleted_at')
|
||||
->select('i.episode_id', 'i.patient_id', 'i.id','i.bed_no','i.bed_category_id','i.admitted_on', 'i.primary_diagnosis', 'i.comments', 'i.ward_id',
|
||||
'b.name as bed_category', 'p.number', 'p.gender','p.date_of_birth','w.slug', 't.severe_grade','d.name as primary_diagnosis_name')
|
||||
->orderBy('i.created_at', 'desc')->get();
|
||||
|
||||
if (!is_null($ward_id)) {
|
||||
if ($ward_id != 0) {
|
||||
$search_text = get_name($ward_id, 'id', 'name', 'wards');
|
||||
} else {
|
||||
$search_text = 'All Wards';
|
||||
}
|
||||
} else {
|
||||
$search_text = __('wards.no_ward_selected');
|
||||
}
|
||||
|
||||
$search_text .= " From " . streamline_date($start_date) . " to " . streamline_date($end_date);
|
||||
|
||||
$wards = DB::table('wards')->where('available', 1)->whereNull('deleted_at')->orderBy('name')->pluck("name", "id")->toArray();
|
||||
$wards = [0 => 'All Wards'] + $wards;
|
||||
$wards = ['' => '- select -'] + $wards;
|
||||
|
||||
return view('ward_management::wards.select', compact('inpatients', 'wards', 'ward_id', 'search_text'));
|
||||
}
|
||||
|
||||
/* submit bed category sent via ajax from the ward sheet containing patients */
|
||||
public function submit_bed_category(Request $request)
|
||||
{
|
||||
$bed_category = $request->bed_category;
|
||||
$inpatient_id = $request->inpatient_id;
|
||||
|
||||
$inpatient_info_collection = InpatientInfo::where(['id' => $inpatient_id])->get();
|
||||
if (!is_null($inpatient_info_collection)) {
|
||||
$inpatient_info = $inpatient_info_collection->first();
|
||||
$inpatient_info->bed_category_id = $bed_category;
|
||||
if ($inpatient_info->update()) {
|
||||
return "success";
|
||||
}
|
||||
}
|
||||
return "error";
|
||||
}
|
||||
|
||||
/* submit bed number sent via ajax from the ward sheet containing patients */
|
||||
public function submit_bed_number(Request $request)
|
||||
{
|
||||
$bed_number = $request->bed_no;
|
||||
$inpatient_id = $request->inpatient_id;
|
||||
|
||||
$inpatient_info_collection = InpatientInfo::where(['id' => $inpatient_id])->get();
|
||||
if (!is_null($inpatient_info_collection)) {
|
||||
$inpatient_info = $inpatient_info_collection->first();
|
||||
$inpatient_info->bed_no = $bed_number;
|
||||
if ($inpatient_info->update()) {
|
||||
return "success";
|
||||
}
|
||||
}
|
||||
return "error";
|
||||
}
|
||||
|
||||
/* submit ward message sent via ajax from the ward sheet containing patients */
|
||||
public function submit_ward_message(Request $request)
|
||||
{
|
||||
$comments = $request->comment;
|
||||
$patient_id = $request->patient_id;
|
||||
$episode_id = $request->episode_id;
|
||||
|
||||
$inpatient_info_collection = InpatientInfo::where(['patient_id' => $patient_id, 'episode_id' => $episode_id])->get();
|
||||
if (!is_null($inpatient_info_collection)) {
|
||||
$inpatient_info = $inpatient_info_collection->first();
|
||||
$inpatient_info->comments = $comments;
|
||||
if ($inpatient_info->update()) {
|
||||
return "success";
|
||||
}
|
||||
}
|
||||
return "error";
|
||||
}
|
||||
|
||||
//set episode and patient_id for selected patient
|
||||
public function route_patient_episode(Request $request)
|
||||
{
|
||||
$episode_id = $request->episode_id;
|
||||
$patient_id = PatientEpisode::find($episode_id)->patient_id;
|
||||
|
||||
session()->put('episode_id', $episode_id);
|
||||
session()->put('patient_id', $patient_id);
|
||||
|
||||
switch ($request->submit) {
|
||||
case 'triage':
|
||||
return redirect('/triage/');
|
||||
case 'consultation':
|
||||
return redirect('/consultation/route');
|
||||
case 'create_anaesthetics':
|
||||
return redirect('anaesthetics/create');
|
||||
case 'create_surgery':
|
||||
return redirect('theatre_surgery/create');
|
||||
case 'anaesthetics_history':
|
||||
return redirect('anaesthetics/history');
|
||||
case 'surgery_index':
|
||||
return redirect('theatre_surgery');
|
||||
case 'inpatient_sheet':
|
||||
case 'maternity_summary':
|
||||
return redirect('in_patient_sheet');
|
||||
case 'inpatient_billing':
|
||||
return redirect('inpatient_billing');
|
||||
case 'maternity_admission':
|
||||
// return redirect('maternity_inpatient_sheet');
|
||||
return redirect('/maternity_admission/route');
|
||||
break;
|
||||
case 'labour_ward_admission':
|
||||
return redirect('labour_ward_admission_sheet');
|
||||
break;
|
||||
case 'labour_ward_admission_sheet_details':
|
||||
return redirect('labour_ward_admission_sheet_details');
|
||||
break;
|
||||
case 'edit_labour_ward_admission_sheet':
|
||||
return redirect('edit_labour_ward_admission_sheet');
|
||||
break;
|
||||
case 'delivery_record':
|
||||
return redirect('maternity_delivery_record');
|
||||
case 'treatment_sheet':
|
||||
session()->put(['treatment_sheet_route' => 'ward_home']);
|
||||
return redirect('treatment_sheet/view');
|
||||
default:
|
||||
return redirect('/patient_episodes/');
|
||||
}
|
||||
}
|
||||
|
||||
public function drugs_stock_sheet(Request $request)
|
||||
{
|
||||
$ward_id = null;
|
||||
$ward_stock_records = [];
|
||||
$ward_id = $request->ward_id;
|
||||
|
||||
$wards = Ward::orderBy('name', 'asc')->pluck('name', 'id')->toArray();
|
||||
$wards = ['' => '- select -'] + $wards;
|
||||
|
||||
if (!is_null($ward_id)) {
|
||||
$ward_stock_records = WardStock::where(['ward_id' => $ward_id, 'item_type' => 1])->get();
|
||||
}
|
||||
|
||||
return view('ward_management::wards.drugs_stock_sheet', compact('ward_stock_records', 'wards', 'ward_id'));
|
||||
}
|
||||
|
||||
public function update_drugs_stock_sheet(Request $request)
|
||||
{
|
||||
$ward_id = $request->ward_id;
|
||||
$batch_drugs_ids_array = $request->batch_drug_id;
|
||||
$batch_watcher_ids_array = $request->item_batch_watcher_id;
|
||||
$batch_numbers_array = $request->batch_number;
|
||||
$batch_quantity_array = $request->batch_quantity;
|
||||
$batch_unit_cost_array = $request->batch_unit_cost;
|
||||
$batch_expiry_dates_array = $request->batch_expiry_date;
|
||||
$batch_db_record_ids_array = $request->item_batch_watcher_id;
|
||||
|
||||
$stock_adjustment_chart_of_account = ChartOfAccount::where('slug', 'stock_adjustment')->first();
|
||||
$affected_account_id = $stock_adjustment_chart_of_account->id;
|
||||
|
||||
|
||||
for ($i = 0; $i < count($batch_drugs_ids_array); $i++) {
|
||||
|
||||
$max_stock_count_identifier = DB::table('ward_stock_reconciliations')->max('stock_count_identifier');
|
||||
|
||||
//enforce double entry per batch
|
||||
account_for_batch_reconciliations_difference($item_type = 1, $batch_drugs_ids_array[$i], $affected_account_id, $batch_numbers_array[$i], $batch_quantity_array[$i], Carbon::now()->toDateString(), "ward", $ward_id);
|
||||
|
||||
reconcile_batches($item_type = 1, $batch_drugs_ids_array[$i], $batch_numbers_array[$i], $batch_quantity_array[$i], $batch_expiry_dates_array[$i], "ward", $batch_unit_cost_array[$i] ?? 0, $batch_db_record_ids_array[$i] ?? 0, $ward_id);
|
||||
|
||||
$physical_stock = new WardStockReconciliation;
|
||||
$physical_stock->item_type = 1;
|
||||
$physical_stock->item_id = $batch_drugs_ids_array[$i];
|
||||
$physical_stock->physical_stock = $batch_quantity_array[$i];
|
||||
$physical_stock->completion_status = 1;
|
||||
$physical_stock->affected_account_id = $affected_account_id;
|
||||
$physical_stock->general_comment = $request->general_comment;
|
||||
$physical_stock->created_by = Auth::id();
|
||||
$physical_stock->save();
|
||||
//add the stock_count_identifier of the newly counted stock
|
||||
$physical_stock_record_to_update = WardStockReconciliation::find($physical_stock->id);
|
||||
$physical_stock_record_to_update->stock_count_identifier = $max_stock_count_identifier + 1; //increase ID by 1 for new
|
||||
$physical_stock_record_to_update->update();
|
||||
|
||||
|
||||
|
||||
$drug_ward_stock = WardStock::where(['ward_id' => $ward_id, 'item_type' => 1, 'item_id' => $batch_drugs_ids_array[$i]])->first();
|
||||
$drug_ward_stock->ward_item_stock = $batch_quantity_array[$i];
|
||||
$drug_ward_stock->update();
|
||||
}
|
||||
|
||||
flash("Ward stock has been updated")->success();
|
||||
|
||||
return redirect('ward_drugs_stock_sheet');
|
||||
}
|
||||
|
||||
public function sundries_stock_sheet(Request $request)
|
||||
{
|
||||
$ward_id = null;
|
||||
$ward_stock_records = [];
|
||||
$ward_id = $request->ward_id;
|
||||
|
||||
$wards = Ward::orderBy('name', 'asc')->pluck('name', 'id')->toArray();
|
||||
$wards = ['' => '- select -'] + $wards;
|
||||
|
||||
if (!is_null($ward_id)) {
|
||||
$ward_stock_records = WardStock::where(['ward_id' => $ward_id, 'item_type' => 2])->get();
|
||||
}
|
||||
|
||||
return view('ward_management::wards.sundries_stock_sheet', compact('ward_stock_records', 'wards', 'ward_id'));
|
||||
}
|
||||
|
||||
public function update_sundries_stock_sheet(Request $request)
|
||||
{
|
||||
$ward_id = $request->ward_id;
|
||||
$sundry_ids_array = $request->sundry_id;
|
||||
$quantity_array = $request->quantity;
|
||||
|
||||
for ($i = 0; $i < count($sundry_ids_array); $i++) {
|
||||
$sundry_ward_stock = WardStock::where(['ward_id' => $ward_id, 'item_type' => 2, 'item_id' => $sundry_ids_array[$i]])->first();
|
||||
$sundry_ward_stock->ward_item_stock = $quantity_array[$i];
|
||||
$sundry_ward_stock->update();
|
||||
}
|
||||
|
||||
return redirect('ward_sundries_stock_sheet');
|
||||
}
|
||||
|
||||
public function home()
|
||||
{
|
||||
return view('ward_management::wards.home');
|
||||
}
|
||||
}
|
||||
+436
@@ -0,0 +1,436 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\WardManagement\Http\Controllers;
|
||||
|
||||
use Barryvdh\Snappy\Facades\SnappyPdf;
|
||||
use Illuminate\Http\Request;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Streamline\Models\HospitalInformation;
|
||||
use Streamline\Models\User;
|
||||
use Streamline\Models\WardItemRequest;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Streamline\Models\Sundry;
|
||||
use Streamline\Models\Drug;
|
||||
use Streamline\Models\GeneralItem;
|
||||
use Streamline\Services\UserService;
|
||||
|
||||
class WardItemRequestController extends Controller {
|
||||
protected UserService $userService;
|
||||
|
||||
public function __construct(
|
||||
UserService $userService
|
||||
) {
|
||||
$this->userService = $userService;
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/* incoming ward drug requests */
|
||||
public function incoming_ward_requests(Request $request) {
|
||||
$search_complete = null;
|
||||
$ward_item_requests = null;
|
||||
$start_date = null; $end_date = null;
|
||||
if (!is_null($request->item_type)) {
|
||||
$search_complete = 1;
|
||||
$start_date = Carbon::parse($request->start_date)->startOfDay()->toDateTimeString();
|
||||
$end_date = Carbon::parse($request->end_date)->endOfDay()->toDateTimeString();
|
||||
|
||||
if ($request->ward_id) {
|
||||
$ward_item_requests = WardItemRequest::where('item_type', $request->item_type)->where('ward_id',$request->ward_id)->whereBetween('created_at', [$start_date, $end_date])->orderBy('created_at','desc')
|
||||
->get();
|
||||
} else {
|
||||
$ward_item_requests = WardItemRequest::where('item_type', $request->item_type)
|
||||
->whereBetween('created_at', [$start_date, $end_date])->orderBy('created_at','desc')
|
||||
->get();
|
||||
}
|
||||
} else {
|
||||
//show drug requests of last 24 hours
|
||||
$last_24_hours = Carbon::now()->subDay()->toDateTimeString();
|
||||
$ward_item_requests = WardItemRequest::where('created_at', '>=', $last_24_hours)->orderBy('created_at','desc')->get();
|
||||
}
|
||||
|
||||
$wards = DB::table('wards')->where('available', 1)->whereNull('deleted_at')->orderBy('name')->pluck('name', 'id')->toArray();
|
||||
$wards = ['' => '- select -'] + $wards;
|
||||
|
||||
return view('ward_management::ward_item_requests.incoming_ward_requests',compact('wards','search_complete', 'ward_item_requests', 'start_date', 'end_date','wards'));
|
||||
}
|
||||
|
||||
/* ward request form */
|
||||
public function ward_item_requests(Request $request) {
|
||||
$item_type = null; $ward_id = null; $drugs_requested = null; $general_items_requested = null; $sundries_requested = null;
|
||||
$drugs = DB::table('drugs')->where('available', 1)->whereNull('deleted_at')->orderBy('name')->pluck('name', 'id');
|
||||
$sundries = DB::table('sundries')->whereNull('deleted_at')->orderBy('name')->pluck('name', 'id');
|
||||
$general_items = DB::table('general_items')->whereNull('deleted_at')->orderBy('name')->pluck('name', 'id');
|
||||
$wards = DB::table('wards')->where('available', 1)->whereNull('deleted_at')->orderBy('name')->pluck('name', 'id')->toArray();
|
||||
$wards = ['' => '- select -'] + $wards;
|
||||
$all_ward_item_requests = WardItemRequest::whereNull('dispensation_status')->paginate(500);
|
||||
|
||||
if (!is_null($request->item_type)) {
|
||||
$ward_id = $request->ward;
|
||||
$item_type = $request->item_type;
|
||||
|
||||
if($item_type == "1"){
|
||||
$drugs_requested = $request->drugs_requested;
|
||||
} else if($item_type == "2"){
|
||||
$sundries_requested = $request->sundries_requested;
|
||||
} else {
|
||||
$general_items_requested = $request->general_items_requested;
|
||||
}
|
||||
}
|
||||
|
||||
return view('ward_management::ward_item_requests.ward_item_request',compact('drugs','wards','sundries', 'general_items', 'item_type','ward_id',
|
||||
'drugs_requested', 'sundries_requested', 'general_items_requested', 'all_ward_item_requests'));
|
||||
}
|
||||
|
||||
/* store ward drug requests */
|
||||
public function store_ward_item_requests(Request $request) {
|
||||
if (in_array(null, $request->quantity_requested)) {
|
||||
flash("Please fill in the required fields")->error();
|
||||
return back()->withInput();
|
||||
}
|
||||
|
||||
$ward_drug_request = new WardItemRequest;
|
||||
$ward_drug_request->ward_id = $request->ward_id;
|
||||
$ward_drug_request->item_type = $request->item_type;
|
||||
$ward_drug_request->item_ids = implode(",", $request->item_id);
|
||||
$ward_drug_request->item_quantities = implode(",", $request->quantity_requested);
|
||||
$ward_drug_request->balance_on_ward_during_request = implode(",", $request->balance_on_ward_during_request);
|
||||
$ward_drug_request->balance_returned = implode(",", $request->balance_returned);
|
||||
$ward_drug_request->item_unit_cost = implode(",", $request->item_unit_cost);
|
||||
$ward_drug_request->order_comment = $request->order_comment;
|
||||
$ward_drug_request->created_by = Auth::id();
|
||||
$ward_drug_request->save();
|
||||
|
||||
flash('Ward request has been successfully submitted')->success();
|
||||
return redirect('ward_item_requests');
|
||||
}
|
||||
|
||||
/* show details of a ward item request */
|
||||
public function ward_item_request_details(Request $request)
|
||||
{
|
||||
$ward_request_id = $request->ward_item_request_id;
|
||||
$ward_request_details = WardItemRequest::find($ward_request_id);
|
||||
$staff_array = $this->userService->pluckUserFullName();
|
||||
|
||||
$batches_array = [];
|
||||
|
||||
return view('ward_management::ward_item_requests.ward_item_request_details',compact('ward_request_details','staff_array', 'batches_array'));
|
||||
}
|
||||
|
||||
/* store a ward item request action */
|
||||
public function store_ward_item_request_details_action(Request $request)
|
||||
{
|
||||
$ward_request_id = $request->ward_request_id;
|
||||
$approved_button = $request->approve;
|
||||
$dispensed_button = $request->dispense;
|
||||
|
||||
$ward_request_record = WardItemRequest::find($ward_request_id);
|
||||
$ward_id = $ward_request_record->ward_id;
|
||||
|
||||
$item_ids_array = $request->item_ids;
|
||||
$dispensed_batches_array = $request->dispensed_from_batch;
|
||||
$ward_request_record->item_quantities_approved = implode(",", $request->quantity_approved);
|
||||
$ward_request_record->item_ids_issued_out = implode(",", $request->item_ids);
|
||||
$ward_request_record->quantity_issued_out = implode(",", $request->quantity_issued_out);
|
||||
if (isset($approved_button)) {
|
||||
$ward_request_record->comment = $request->comment;
|
||||
$ward_request_record->approved_status = 1;
|
||||
$ward_request_record->approved_by = Auth::id();
|
||||
$ward_request_record->approval_date = Carbon::now();
|
||||
$ward_request_record->update();
|
||||
flash('ward request has been approved')->success();
|
||||
return redirect('incoming_ward_requests');
|
||||
} elseif (isset($dispensed_button)) {
|
||||
$ward_request_record->received_by = $request->received_by;
|
||||
$ward_request_record->dispensation_status = 1;
|
||||
$ward_request_record->dispensed_by = Auth::id();
|
||||
$ward_request_record->dispensation_date = Carbon::parse($request->dispensation_date)->toDateTimeString();
|
||||
$received_from_stores_or_pharmacy = $request->received_from;
|
||||
$balance_returned_array = $request->balance_returned;
|
||||
$item_quantities_issued_out_array = $request->quantity_issued_out;
|
||||
|
||||
// 1 - means received from pharmacy, 2 means received from stores so do the respective stock reduction
|
||||
if ($received_from_stores_or_pharmacy == 1) {
|
||||
$ward_request_record->issued_from = "pharmacy";
|
||||
if ($ward_request_record->item_type == 1) {
|
||||
for ($i=0; $i < count($item_ids_array) ; $i++) {
|
||||
$drug = Drug::find($item_ids_array[$i]);
|
||||
|
||||
if ($drug && !is_null($dispensed_batches_array[$i])) {
|
||||
$stock_before_making_necessary_calculations = $drug->pharmacy_stock;
|
||||
$balance_returned = empty($balance_returned_array[$i]) ? 0 : $balance_returned_array[$i];
|
||||
$quantity_approved = empty($item_quantities_issued_out_array[$i]) ? 0 : $item_quantities_issued_out_array[$i];
|
||||
$drug->pharmacy_stock = $stock_before_making_necessary_calculations + (int)$balance_returned - (int)$quantity_approved;
|
||||
$drug->update();
|
||||
|
||||
// return the drugs to pharmacy
|
||||
reduce_ward_stock_with_consumed_quantity($item_ids_array[$i], $balance_returned, 1, $ward_id, null, null, null);
|
||||
update_ward_stock($ward_id, 1, $item_ids_array[$i], $item_quantities_issued_out_array[$i]);
|
||||
move_batch_item_from_pharmacy_to_ward($item_type = 1, $item_ids_array[$i], $dispensed_batches_array[$i], $item_quantities_issued_out_array[$i], $ward_id);
|
||||
}
|
||||
}
|
||||
} elseif ($ward_request_record->item_type == 2) {
|
||||
for ($i=0; $i < count($item_ids_array) ; $i++) {
|
||||
$sundry = Sundry::find($item_ids_array[$i]);
|
||||
|
||||
if ($sundry && !is_null($dispensed_batches_array[$i])) {
|
||||
$stock_before_making_necessary_calculations = $sundry->pharmacy_stock;
|
||||
$balance_returned = empty($balance_returned_array[$i]) ? 0 : $balance_returned_array[$i];
|
||||
$quantity_approved = empty($item_quantities_issued_out_array[$i]) ? 0 : $item_quantities_issued_out_array[$i];
|
||||
$sundry->pharmacy_stock = $stock_before_making_necessary_calculations + (int)$balance_returned - (int)$quantity_approved;
|
||||
$sundry->update();
|
||||
|
||||
// return the drugs to pharmacy
|
||||
reduce_ward_stock_with_consumed_quantity($item_ids_array[$i], $balance_returned, 2, $ward_id, null, null, null);
|
||||
update_ward_stock($ward_id, 2, $item_ids_array[$i], $item_quantities_issued_out_array[$i]);
|
||||
move_batch_item_from_pharmacy_to_ward($item_type = 2, $item_ids_array[$i], $dispensed_batches_array[$i], $item_quantities_issued_out_array[$i], $ward_id);
|
||||
}
|
||||
}
|
||||
} elseif ($ward_request_record->item_type == 3) {
|
||||
for ($i=0; $i < count($item_ids_array) ; $i++) {
|
||||
$general_item = GeneralItem::find($item_ids_array[$i]);
|
||||
|
||||
if ($general_item && !is_null($dispensed_batches_array[$i])) {
|
||||
$stock_before_making_necessary_calculations = $general_item->pharmacy_stock;
|
||||
$balance_returned = empty($balance_returned_array[$i]) ? 0 : $balance_returned_array[$i];
|
||||
$quantity_approved = empty($item_quantities_issued_out_array[$i]) ? 0 : $item_quantities_issued_out_array[$i];
|
||||
$general_item->pharmacy_stock = $stock_before_making_necessary_calculations + (int)$balance_returned - (int)$quantity_approved;
|
||||
$general_item->update();
|
||||
|
||||
// return the drugs to pharmacy
|
||||
reduce_ward_stock_with_consumed_quantity($item_ids_array[$i], $balance_returned, 3, $ward_id, null, null, null);
|
||||
update_ward_stock($ward_id, 3, $item_ids_array[$i], $item_quantities_issued_out_array[$i]);
|
||||
move_batch_item_from_pharmacy_to_ward($item_type = 6, $item_ids_array[$i], $dispensed_batches_array[$i], $item_quantities_issued_out_array[$i], $ward_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
} elseif ($received_from_stores_or_pharmacy == 2) {
|
||||
$ward_request_record->issued_from = "store";
|
||||
if ($ward_request_record->item_type == 1) {
|
||||
for ($i=0; $i < count($item_ids_array) ; $i++) {
|
||||
$drug = Drug::withTrashed()->find($item_ids_array[$i]);
|
||||
|
||||
if ($drug && !is_null($dispensed_batches_array[$i])) {
|
||||
$stock_before_making_necessary_calculations = $drug->store_stock;
|
||||
$balance_returned = empty($balance_returned_array[$i]) ? 0 : $balance_returned_array[$i];
|
||||
$quantity_approved = empty($item_quantities_issued_out_array[$i]) ? 0 : $item_quantities_issued_out_array[$i];
|
||||
$drug->store_stock = $stock_before_making_necessary_calculations + (int)$balance_returned - (int)$quantity_approved;
|
||||
$drug->update();
|
||||
|
||||
// return the drugs to pharmacy
|
||||
reduce_ward_stock_with_consumed_quantity($item_ids_array[$i], $balance_returned, 1, $ward_id, null, null, null);
|
||||
update_ward_stock($ward_id, 1, $item_ids_array[$i], $item_quantities_issued_out_array[$i]);
|
||||
move_batch_item_from_store_to_ward($item_type = 1, $item_ids_array[$i], $dispensed_batches_array[$i], $item_quantities_issued_out_array[$i], $ward_id, $ward_request_id);
|
||||
|
||||
//cater for drug batch processing
|
||||
/* $batch_number = null;
|
||||
if (batch_tracking_method() == "manual") {
|
||||
$batch_number = $dispensed_batches_array[$i] ?? null;
|
||||
}
|
||||
$item_batch_calculations = batch_calculations_for_item_based_on_fifo($item_ids_array[$i], $quantity_approved, $batch_number, $item_type = 1); */
|
||||
}
|
||||
}
|
||||
} elseif ($ward_request_record->item_type == 2) {
|
||||
for ($i=0; $i < count($item_ids_array) ; $i++) {
|
||||
$sundry = Sundry::withTrashed()->find($item_ids_array[$i]);
|
||||
|
||||
if ($sundry && !is_null($dispensed_batches_array[$i])) {
|
||||
$stock_before_making_necessary_calculations = $sundry->store_stock;
|
||||
$balance_returned = empty($balance_returned_array[$i]) ? 0 : $balance_returned_array[$i];
|
||||
$quantity_approved = empty($item_quantities_issued_out_array[$i]) ? 0 : $item_quantities_issued_out_array[$i];
|
||||
$sundry->store_stock = $stock_before_making_necessary_calculations + (int)$balance_returned - (int)$quantity_approved;
|
||||
$sundry->update();
|
||||
|
||||
// return the drugs to pharmacy
|
||||
reduce_ward_stock_with_consumed_quantity($item_ids_array[$i], $balance_returned, 2, $ward_id, null, null, null);
|
||||
update_ward_stock($ward_id, 2, $item_ids_array[$i], $item_quantities_issued_out_array[$i]);
|
||||
move_batch_item_from_store_to_ward($item_type = 2, $item_ids_array[$i], $dispensed_batches_array[$i], $item_quantities_issued_out_array[$i], $ward_id, $ward_request_id);
|
||||
|
||||
//cater for sundries batch processing
|
||||
/* $batch_number = null;
|
||||
if (batch_tracking_method() == "manual") {
|
||||
$batch_number = $dispensed_batches_array[$i] ?? null;
|
||||
}
|
||||
$item_batch_calculations = batch_calculations_for_item_based_on_fifo($item_ids_array[$i], $quantity_approved, $batch_number, $item_type = 2); */
|
||||
}
|
||||
}
|
||||
} elseif ($ward_request_record->item_type == 3) {
|
||||
for ($i=0; $i < count($item_ids_array) ; $i++) {
|
||||
$general_item = GeneralItem::find($item_ids_array[$i]);
|
||||
|
||||
if ($general_item && !is_null($dispensed_batches_array[$i])) {
|
||||
$stock_before_making_necessary_calculations = $general_item->store_stock;
|
||||
$balance_returned = empty($balance_returned_array[$i]) ? 0 : $balance_returned_array[$i];
|
||||
$quantity_approved = empty($item_quantities_issued_out_array[$i]) ? 0 : $item_quantities_issued_out_array[$i];
|
||||
$general_item->store_stock = $stock_before_making_necessary_calculations + (int)$balance_returned - (int)$quantity_approved;
|
||||
$general_item->update();
|
||||
|
||||
// return the drugs to pharmacy
|
||||
reduce_ward_stock_with_consumed_quantity($item_ids_array[$i], $balance_returned, 3, $ward_id, null, null, null);
|
||||
update_ward_stock($ward_id, 3, $item_ids_array[$i], $item_quantities_issued_out_array[$i]);
|
||||
move_batch_item_from_store_to_ward($item_type = 6, $item_ids_array[$i], $dispensed_batches_array[$i], $item_quantities_issued_out_array[$i], $ward_id, $ward_request_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$ward_request_record->update();
|
||||
|
||||
flash('Items for '.get_name($ward_request_record->ward_id, "id", "name", "wards").' have been successfully dispensed')->success();
|
||||
return view('ward_management::ward_item_requests.print_ward_item_request_receipt',compact('ward_request_record'));
|
||||
}
|
||||
}
|
||||
|
||||
public function show_ward_item_request_details_action(Request $request)
|
||||
{
|
||||
$ward_request_id = $request->ward_request_id;
|
||||
$ward_request_details = WardItemRequest::find($ward_request_id);
|
||||
return view('ward_management::ward_item_requests.ward_request_show',compact('ward_request_details'));
|
||||
}
|
||||
|
||||
public function ward_item_request_edit(Request $request)
|
||||
{
|
||||
$ward_request_id = $request->ward_request_id;
|
||||
$ward_request_details = WardItemRequest::find($ward_request_id);
|
||||
$search_status = false;
|
||||
return view('ward_management::ward_item_requests.ward_item_request_edit',compact('ward_request_details', 'search_status'));
|
||||
}
|
||||
|
||||
public function edit_ward_item_request_search(Request $request)
|
||||
{
|
||||
$ward_request_id = $request->ward_request_id;
|
||||
$ward_request_details = WardItemRequest::find($ward_request_id);
|
||||
$search_status = true;
|
||||
$selected_item_ids_array = $request->items_ids;
|
||||
|
||||
return view('ward_management::ward_item_requests.ward_item_request_edit',compact('ward_request_details', 'search_status', 'selected_item_ids_array'));
|
||||
}
|
||||
|
||||
public function update_ward_item_requests(Request $request)
|
||||
{
|
||||
$ward_request_id = $request->ward_request_id;
|
||||
$ward_item_request = WardItemRequest::find($ward_request_id);
|
||||
$ward_item_request->item_ids = implode(",", $request->item_ids);
|
||||
$ward_item_request->item_quantities = implode(",", $request->item_quantities);
|
||||
$ward_item_request->balance_on_ward_during_request = implode(",", $request->balance_on_ward_during_request);
|
||||
$ward_item_request->balance_returned = implode(",", $request->balance_returned);
|
||||
$ward_item_request->item_unit_cost = implode(",", $request->item_unit_cost);
|
||||
$ward_item_request->order_comment = $request->order_comment;
|
||||
$ward_item_request->created_by = Auth::id();
|
||||
$ward_item_request->save();
|
||||
|
||||
flash('Ward request has been successfully submitted')->success();
|
||||
return redirect('ward_item_requests');
|
||||
}
|
||||
|
||||
public function ward_item_request_delete(Request $request)
|
||||
{
|
||||
$ward_request_id = $request->ward_request_id;
|
||||
$ward_item_request = WardItemRequest::find($ward_request_id);
|
||||
$ward_item_request->delete();
|
||||
|
||||
flash('Ward request has been successfully deleted')->error();
|
||||
return redirect('ward_item_requests');
|
||||
}
|
||||
|
||||
public function print_ward_item_request_details($id) {
|
||||
$ward_request_record = WardItemRequest::find($id);
|
||||
|
||||
return view('ward_management::ward_item_requests.print_ward_item_request_receipt',compact('ward_request_record'));
|
||||
}
|
||||
|
||||
public function print_ward_item_request_details_pdf($id) {
|
||||
$ward_request_record = WardItemRequest::find($id);
|
||||
$hospital_information = HospitalInformation::find(1);
|
||||
|
||||
$data = [
|
||||
'ward_request_record' => $ward_request_record,
|
||||
'hospitalInfo' => $hospital_information
|
||||
];
|
||||
|
||||
$print_footer = (!is_null($hospital_information->print_footer)) ? '     <i>' . $hospital_information->print_footer . '</i>' : '';
|
||||
|
||||
$pdf = SnappyPDF::loadView("ward_management::ward_item_requests/print_ward_item_request_details_pdf", $data)
|
||||
->setOrientation('portrait')
|
||||
->setPaper('a4')
|
||||
->setOption('margin-bottom', 5)
|
||||
->setOption('margin-top', 5)
|
||||
->setOption('footer-html', '<i>© ' . date('Y') . ' Stre@mline</i>' . $print_footer);
|
||||
|
||||
return $pdf->inline('Ward Item Request Details' . date(" d-m-y h:ia") . '.pdf');
|
||||
}
|
||||
}
|
||||
+623
@@ -0,0 +1,623 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\WardManagement\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Streamline\Models\WardSundryDispensation;
|
||||
use Streamline\Models\WardTreatment;
|
||||
use Streamline\Models\WardTreatmentDispensation;
|
||||
use Streamline\Models\WardItemRequest;
|
||||
use Streamline\Models\WardDispensing;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Carbon\Carbon;
|
||||
use Streamline\Models\PatientDispensing;
|
||||
use Streamline\Models\Requisition;
|
||||
|
||||
class WardsConsumptionController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
*/
|
||||
public function index() {
|
||||
return redirect('ward_consumption_report');
|
||||
}
|
||||
|
||||
/*
|
||||
* Details drill down for the report
|
||||
*/
|
||||
public function wards_consumption_details(Request $request)
|
||||
{
|
||||
$filters = [];
|
||||
$report_by = $request->report_by;
|
||||
$ward_id = $request->ward_details_for;
|
||||
$drug_id = $request->drug_details_for;
|
||||
$start_date = $request->start_date;
|
||||
$end_date = $request->end_date;
|
||||
$ward_treatment_dispensations = [];
|
||||
$ward_sundry_dispensations = [];
|
||||
$sundries_issued_to_ward = [];
|
||||
$general_items_issued_to_ward = [];
|
||||
$sundry_id = null;
|
||||
$general_items_id = null;
|
||||
$ward_item_request_records = [];
|
||||
$general_items_item_request_records = [];
|
||||
|
||||
if($request->search_by_details == 0){
|
||||
// last 24 hours
|
||||
$last_day = Carbon::now()->subDay();
|
||||
|
||||
array_push($filters, ['created_at', '>', $last_day]);
|
||||
} elseif($request->search_by_details == 1){
|
||||
// custom date
|
||||
$start_date = Carbon::parse($request->start_date)->startOfDay()->toDateTimeString();
|
||||
$end_date = Carbon::parse($request->end_date)->endOfDay()->toDateTimeString();
|
||||
|
||||
array_push($filters, ['created_at', '>', $start_date]);
|
||||
array_push($filters, ['created_at', '<', $end_date]);
|
||||
} elseif($request->search_by_details == 2){
|
||||
// custom date range
|
||||
$start_date = Carbon::parse($request->start_date)->startOfDay()->toDateTimeString();
|
||||
$end_date = Carbon::parse($request->end_date)->endOfDay()->toDateTimeString();
|
||||
|
||||
array_push($filters, ['created_at', '>', $start_date]);
|
||||
array_push($filters, ['created_at', '<', $end_date]);
|
||||
}
|
||||
|
||||
if ($request->report_by == 3) {
|
||||
$sundry_id = $request->sundries_details_for;
|
||||
$ward_item_request_records = WardItemRequest::where(['dispensation_status' => 1, 'item_type' => 2])->where($filters)->get();
|
||||
}else if ($request->report_by == 4) {
|
||||
$sundry_id = $request->sundries_details_for;
|
||||
$ward_id = $request->ward_details_for;
|
||||
//$ward_item_request_records = WardItemRequest::where(['dispensation_status' => 1, 'item_type' => 2, 'ward_id' => $ward_id])->where($filters)->get();
|
||||
$ward_sundry_dispensations = WardSundryDispensation::where('ward_id', $ward_id)->where('sundry_id', $sundry_id)->where($filters)->get();
|
||||
} else if ($request->report_by == 6) {
|
||||
$general_items_id = $request->general_items_details_for;
|
||||
$ward_id = $request->ward_details_for;
|
||||
//$ward_item_request_records = WardItemRequest::where(['dispensation_status' => 1, 'item_type' => 2, 'ward_id' => $ward_id])->where($filters)->get();
|
||||
$ward_general_items_dispensations = WardSundryDispensation::where('ward_id', $ward_id)->where('general_items_id', $general_items_id)->where($filters)->get();
|
||||
}
|
||||
else{
|
||||
$ward_treatment_dispensations = WardTreatmentDispensation::where('ward_id', $ward_id)->where('drug_id', $drug_id)->where($filters)->get();
|
||||
}
|
||||
|
||||
return view('ward_management::wards_consumption.wards_consumption_details',compact('start_date','end_date','ward_id','drug_id','ward_treatment_dispensations','sundries_issued_to_ward', 'sundry_id', 'ward_item_request_records','report_by', 'ward_sundry_dispensations'));
|
||||
}
|
||||
|
||||
public function ward_consumption_report(Request $request) {
|
||||
$search_complete = true;
|
||||
$consumption_filters = $ward_item_filters = [];
|
||||
$selected_drug_id = 0;
|
||||
$selected_sundry_id = 0;
|
||||
$selected_general_items_id = 0;
|
||||
$start_date = null; $end_date = null;
|
||||
$report_by = $request->report_by;
|
||||
$ward_id = $request->ward_id;
|
||||
$search_text = "";
|
||||
|
||||
$wards = DB::table('wards')->where('available', 1)->whereNull('deleted_at')->orderBy('name')->pluck('name', 'id')->toArray();
|
||||
$wards = ['' => '- select -'] + $wards;
|
||||
|
||||
$drugs = DB::table('drugs')->where('available', 1)->whereNull('deleted_at')->orderBy('name')->pluck('name', 'id')->toArray();
|
||||
$drugs = ['' => '- select -'] + $drugs;
|
||||
|
||||
$sundries = DB::table('sundries')->whereNull('deleted_at')->orderBy('name')->pluck('name', 'id')->toArray();
|
||||
$sundries = ['' => '- select -'] + $sundries;
|
||||
|
||||
$general_items = DB::table('general_items')->whereNull('deleted_at')->orderBy('name')->pluck('name', 'id')->toArray();
|
||||
$general_items = ['' => '- select -'] + $general_items;
|
||||
|
||||
if($request->search_by == 0){
|
||||
// last 24 hours
|
||||
$last_day = Carbon::now()->subDay();
|
||||
array_push($consumption_filters, ['created_at', '>', $last_day]);
|
||||
array_push($ward_item_filters, ['dispensation_date', '>', $last_day]);
|
||||
} elseif($request->search_by == 1){
|
||||
// custom date
|
||||
$start_date = Carbon::parse($request->reg_date)->startOfDay()->toDateTimeString();
|
||||
$end_date = Carbon::parse($request->reg_date)->endOfDay()->toDateTimeString();
|
||||
|
||||
array_push($consumption_filters, ['created_at', '>', $start_date]);
|
||||
array_push($consumption_filters, ['created_at', '<', $end_date]);
|
||||
array_push($ward_item_filters, ['dispensation_date', '>', $start_date]);
|
||||
array_push($ward_item_filters, ['dispensation_date', '<', $end_date]);
|
||||
} elseif($request->search_by == 2){
|
||||
// custom date range
|
||||
$start_date = Carbon::parse($request->start_date)->startOfDay()->toDateTimeString();
|
||||
$end_date = Carbon::parse($request->end_date)->endOfDay()->toDateTimeString();
|
||||
|
||||
array_push($consumption_filters, ['created_at', '>', $start_date]);
|
||||
array_push($consumption_filters, ['created_at', '<', $end_date]);
|
||||
array_push($ward_item_filters, ['dispensation_date', '>', $start_date]);
|
||||
array_push($ward_item_filters, ['dispensation_date', '<', $end_date]);
|
||||
}
|
||||
|
||||
//loop through the collections and from an array
|
||||
$patient_consumptions = $item_ids = $array_of_wards_to_loop = $patient_ids = [];
|
||||
$item_consumption = $item_requests = [];
|
||||
|
||||
if ($request->report_by == 1) {
|
||||
# report by drugs consumption per ward
|
||||
//$ward_prescription_results = WardTreatment::where('ward_id', $ward_id)->where($consumption_filters)->get();
|
||||
$ward_treatment_dispensation_results = WardTreatmentDispensation::where('ward_id', $ward_id)->where($consumption_filters)->get();
|
||||
$ward_item_requests_results = WardItemRequest::where(['dispensation_status' => 1, 'item_type' => 1, 'ward_id' => $ward_id])->where($ward_item_filters)->get();
|
||||
$ward_dispensing_results = WardDispensing::where(['ward_id'=>$ward_id])->where($consumption_filters)->get();
|
||||
$results = Requisition::where($consumption_filters)->get();
|
||||
|
||||
foreach ($ward_dispensing_results as $ward_dispensing) {
|
||||
$issued_item_ids = explode(",", $ward_dispensing->drug_id);
|
||||
$issued_item_quantities = explode(",", $ward_dispensing->quantity_dispensed);
|
||||
for ($i=0; $i < count($issued_item_ids) ; $i++) {
|
||||
if(!in_array($issued_item_ids[$i], $item_ids)) {$item_ids[] = $issued_item_ids[$i];}
|
||||
|
||||
if (isset($item_consumption[$issued_item_ids[$i]])) {
|
||||
$item_consumption[$issued_item_ids[$i]] += (isset($issued_item_quantities[$i]) && is_numeric($issued_item_quantities[$i])) ? $issued_item_quantities[$i] : 0;
|
||||
} else {
|
||||
$item_consumption[$issued_item_ids[$i]] = (isset($issued_item_quantities[$i]) && is_numeric($issued_item_quantities[$i])) ? $issued_item_quantities[$i] : 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($ward_treatment_dispensation_results as $dispensation_record) {
|
||||
if(!in_array($dispensation_record->drug_id, $item_ids)) $item_ids[] = $dispensation_record->drug_id;
|
||||
$patient_ids[$dispensation_record->drug_id][] = $dispensation_record->patient_id;
|
||||
$episode_ids[] = ['episode_id'=>$dispensation_record->episode_id, 'patient_id'=>$dispensation_record->patient_id, 'drug_id'=>$dispensation_record->drug_id];
|
||||
$patient_consumptions[$dispensation_record->drug_id] = $dispensation_record->quantity_given + ($patient_consumptions[$dispensation_record->drug_id] ?? 0);
|
||||
}
|
||||
|
||||
foreach ($ward_item_requests_results as $ward_item_request) {
|
||||
$issued_item_ids = explode(",", $ward_item_request->item_ids_issued_out);
|
||||
$issued_item_quantities = explode(",", $ward_item_request->quantity_issued_out);
|
||||
for ($i=0; $i < count($issued_item_ids) ; $i++) {
|
||||
if(!in_array($issued_item_ids[$i], $item_ids)) {$item_ids[] = $issued_item_ids[$i];}
|
||||
if (isset($item_consumption[$issued_item_ids[$i]])) {
|
||||
$item_consumption[$issued_item_ids[$i]] += (isset($issued_item_quantities[$i]) && is_numeric($issued_item_quantities[$i])) ? $issued_item_quantities[$i] : 0;
|
||||
} else {
|
||||
$item_consumption[$issued_item_ids[$i]] = (isset($issued_item_quantities[$i]) && is_numeric($issued_item_quantities[$i])) ? $issued_item_quantities[$i] : 0;
|
||||
}
|
||||
}
|
||||
|
||||
$requested_item_ids = explode(",", $ward_item_request->item_ids);
|
||||
$requested_item_quantities = explode(",", $ward_item_request->item_quantities);
|
||||
for ($i=0; $i < count($requested_item_ids) ; $i++) {
|
||||
if(!in_array($requested_item_ids[$i], $item_ids)) {$item_ids[] = $requested_item_ids[$i];}
|
||||
if (isset($item_requests[$requested_item_ids[$i]])) {
|
||||
$item_requests[$requested_item_ids[$i]] += (isset($requested_item_quantities[$i]) && is_numeric($requested_item_quantities[$i])) ? $requested_item_quantities[$i] : 0;
|
||||
} else {
|
||||
$item_requests[$requested_item_ids[$i]] = (isset($requested_item_quantities[$i]) && is_numeric($requested_item_quantities[$i])) ? $requested_item_quantities[$i] : 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$search_text = "Results for <b>" . ($wards[$ward_id] ?? 'N/A') . "</b> from " . streamline_date($start_date) . " to " . streamline_date($end_date);
|
||||
|
||||
if ($ward_id == "pharmacy") {
|
||||
if (count($results) > 0) {
|
||||
foreach ($results as $pharmacy_record) {
|
||||
$issued_item_ids = explode(",", $pharmacy_record->item_ids_issued_out);
|
||||
$issued_item_quantities = explode(",", $pharmacy_record->quantity_issued);
|
||||
|
||||
for ($i=0; $i < count($issued_item_ids) ; $i++) {
|
||||
if(!in_array($issued_item_ids[$i], $item_ids)) {$item_ids[] = $issued_item_ids[$i];}
|
||||
if (isset($item_consumption[$issued_item_ids[$i]])) {
|
||||
$item_consumption[$issued_item_ids[$i]] += (isset($issued_item_quantities[$i]) && is_numeric($issued_item_quantities[$i])) ? $issued_item_quantities[$i] : 0;
|
||||
} else {
|
||||
$item_consumption[$issued_item_ids[$i]] = (isset($issued_item_quantities[$i]) && is_numeric($issued_item_quantities[$i])) ? $issued_item_quantities[$i] : 0;
|
||||
}
|
||||
}
|
||||
|
||||
$requested_item_ids = explode(",", $pharmacy_record->drug_id);
|
||||
$requested_item_quantities = explode(",", $pharmacy_record->quantity_requested);
|
||||
for ($i=0; $i < count($requested_item_ids) ; $i++) {
|
||||
if(!in_array($requested_item_ids[$i], $item_ids)) {$item_ids[] = $requested_item_ids[$i];}
|
||||
if (isset($item_requests[$requested_item_ids[$i]])) {
|
||||
$item_requests[$requested_item_ids[$i]] += (isset($requested_item_quantities[$i]) && is_numeric($requested_item_quantities[$i])) ? $requested_item_quantities[$i] : 0;
|
||||
} else {
|
||||
$item_requests[$requested_item_ids[$i]] = (isset($requested_item_quantities[$i]) && is_numeric($requested_item_quantities[$i])) ? $requested_item_quantities[$i] : 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$search_text = "Results for <b>Pharmacy</b> from " . streamline_date($start_date) . " to " . streamline_date($end_date);
|
||||
}
|
||||
} elseif ($request->report_by == 2) {
|
||||
# report for drug
|
||||
$selected_drug_id = $request->drug_id;
|
||||
$ward_treatment_dispensation_results = WardTreatmentDispensation::where('ward_id', 2)->where($consumption_filters)->get();
|
||||
$ward_item_requests_results = WardItemRequest::where(['dispensation_status' => 1, 'item_type' => 1])->where($ward_item_filters)->get();
|
||||
$ward_dispensing_results = WardDispensing::where($consumption_filters)->whereRaw('FIND_IN_SET(' . $selected_drug_id . ',drug_id)')->get();
|
||||
$results = DB::table('requisitions')->select('*')->whereNull('deleted_at')->where('quotation_type_id', 1)->whereRaw('FIND_IN_SET(' . $selected_drug_id . ',drug_id)')->whereBetween('created_at', [$start_date, $end_date])->get();
|
||||
|
||||
if (count($results) > 0) {
|
||||
foreach ($results as $pharmacy_record) {
|
||||
$issued_item_ids = explode(",", $pharmacy_record->item_ids_issued_out);
|
||||
$issued_item_quantities = explode(",", $pharmacy_record->quantity_issued);
|
||||
for ($i=0; $i < count($issued_item_ids) ; $i++) {
|
||||
if ($selected_drug_id == $issued_item_ids[$i]) {
|
||||
if(!in_array("pharmacy", $array_of_wards_to_loop)) {$array_of_wards_to_loop[] = "pharmacy";}
|
||||
if (isset($item_consumption["pharmacy"])) {
|
||||
$item_consumption["pharmacy"] += (isset($issued_item_quantities[$i]) && is_numeric($issued_item_quantities[$i])) ? $issued_item_quantities[$i] : 0;
|
||||
} else {
|
||||
$item_consumption["pharmacy"] = (isset($issued_item_quantities[$i]) && is_numeric($issued_item_quantities[$i])) ? $issued_item_quantities[$i] : 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//requested ids loop
|
||||
$req_item_ids = explode(",", $pharmacy_record->drug_id);
|
||||
$req_item_quantities = explode(",", $pharmacy_record->quantity_requested);
|
||||
for ($i=0; $i < count($req_item_ids) ; $i++) {
|
||||
if ($selected_drug_id == $req_item_ids[$i]) {
|
||||
if(!in_array("pharmacy", $array_of_wards_to_loop)) {$array_of_wards_to_loop[] = "pharmacy";}
|
||||
if (isset($item_requests["pharmacy"])) {
|
||||
$item_requests["pharmacy"] += (isset($req_item_quantities[$i]) && is_numeric($req_item_quantities[$i])) ? $req_item_quantities[$i] : 0;
|
||||
} else {
|
||||
$item_requests["pharmacy"] = (isset($req_item_quantities[$i]) && is_numeric($req_item_quantities[$i])) ? $req_item_quantities[$i] : 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (count($ward_dispensing_results) > 0) {
|
||||
foreach ($ward_dispensing_results as $ward_dispensing) {
|
||||
$issued_item_ids = explode(",", $ward_dispensing->drug_id);
|
||||
$issued_item_quantities = explode(",", $ward_dispensing->quantity_dispensed);
|
||||
for ($i=0; $i < count($issued_item_ids) ; $i++) {
|
||||
if ($selected_drug_id == $issued_item_ids[$i]) {
|
||||
if(!in_array($ward_dispensing->ward_id, $array_of_wards_to_loop)) {$array_of_wards_to_loop[] = $ward_dispensing->ward_id;}
|
||||
if (isset($item_consumption[$ward_dispensing->ward_id])) {
|
||||
$item_consumption[$ward_dispensing->ward_id] += is_numeric($issued_item_quantities[$i]) ? $issued_item_quantities[$i] : 0;
|
||||
} else {
|
||||
$item_consumption[$ward_dispensing->ward_id] = is_numeric($issued_item_quantities[$i]) ? $issued_item_quantities[$i] : 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (count($ward_treatment_dispensation_results) > 0) {
|
||||
foreach ($ward_treatment_dispensation_results as $dispensation_record) {
|
||||
if ($selected_drug_id == $dispensation_record->drug_id) {
|
||||
if(!in_array($dispensation_record->ward_id, $array_of_wards_to_loop)) {$array_of_wards_to_loop[] = $dispensation_record->ward_id;}
|
||||
|
||||
$patient_consumptions[$dispensation_record->ward_id] = $dispensation_record->quantity_given + ($patient_consumptions[$dispensation_record->ward_id] ?? 0);
|
||||
}
|
||||
$patient_ids[$dispensation_record->drug_id][] = $dispensation_record->patient_id;
|
||||
}
|
||||
}
|
||||
|
||||
if (count($ward_item_requests_results) > 0) {
|
||||
foreach ($ward_item_requests_results as $ward_item_request) {
|
||||
//issued out loop
|
||||
$issued_item_ids = explode(",", $ward_item_request->item_ids_issued_out);
|
||||
$issued_item_quantities = explode(",", $ward_item_request->quantity_issued_out);
|
||||
for ($i=0; $i < count($issued_item_ids) ; $i++) {
|
||||
if ($selected_drug_id == $issued_item_ids[$i]) {
|
||||
if(!in_array($ward_item_request->ward_id, $array_of_wards_to_loop)) {$array_of_wards_to_loop[] = $ward_item_request->ward_id;}
|
||||
if (isset($item_consumption[$ward_item_request->ward_id])) {
|
||||
$item_consumption[$ward_item_request->ward_id] += is_numeric($issued_item_quantities[$i]) ? $issued_item_quantities[$i] : 0;
|
||||
} else {
|
||||
$item_consumption[$ward_item_request->ward_id] = is_numeric($issued_item_quantities[$i]) ? $issued_item_quantities[$i] : 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//requested ids loop
|
||||
$req_item_ids = explode(",", $ward_item_request->item_ids);
|
||||
$req_item_quantities = explode(",", $ward_item_request->item_quantities);
|
||||
for ($i=0; $i < count($req_item_ids) ; $i++) {
|
||||
if ($selected_drug_id == $req_item_ids[$i]) {
|
||||
if(!in_array($ward_item_request->ward_id, $array_of_wards_to_loop)) {$array_of_wards_to_loop[] = $ward_item_request->ward_id;}
|
||||
if (isset($item_requests[$ward_item_request->ward_id])) {
|
||||
$item_requests[$ward_item_request->ward_id] += (isset($req_item_quantities[$i]) && is_numeric($req_item_quantities[$i])) ? $req_item_quantities[$i] : 0;
|
||||
} else {
|
||||
$item_requests[$ward_item_request->ward_id] = (isset($req_item_quantities[$i]) && is_numeric($req_item_quantities[$i])) ? $req_item_quantities[$i] : 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$opd_dispensations = PatientDispensing::where($consumption_filters)->get();
|
||||
if (count($opd_dispensations) > 0) {
|
||||
foreach ($opd_dispensations as $opd_record) {
|
||||
$opd_drugs_array = explode(",", $opd_record->drugs);
|
||||
$opd_quantities_array = explode(",", $opd_record->quantity_dispensed);
|
||||
for ($i=0; $i < count($opd_drugs_array); $i++) {
|
||||
if ($selected_drug_id == $opd_drugs_array[$i]) {
|
||||
if(!in_array("pharmacy", $array_of_wards_to_loop)) {$array_of_wards_to_loop[] = "pharmacy";}
|
||||
|
||||
$patient_consumptions["pharmacy"] = ($opd_quantities_array[$i] ?? 0) + ($patient_consumptions["pharmacy"] ?? 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$search_text = "Results for <b>" . ($drugs[$selected_drug_id] ?? 'N/A') . "</b> from " . streamline_date($start_date) . " to " . streamline_date($end_date);
|
||||
} elseif ($request->report_by == 3) {
|
||||
# report for sundry
|
||||
$selected_sundry_id = $request->sundry_id;
|
||||
$ward_item_requests_results = WardItemRequest::where(['dispensation_status' => 1, 'item_type' => 2])->where($ward_item_filters)->get();
|
||||
$ward_sundry_dispensation_results = WardSundryDispensation::where($consumption_filters)->get();
|
||||
|
||||
if (count($ward_item_requests_results) > 0) {
|
||||
foreach ($ward_item_requests_results as $ward_item_request) {
|
||||
$issued_item_ids = explode(",", $ward_item_request->item_ids_issued_out);
|
||||
$issued_item_quantities = explode(",", $ward_item_request->quantity_issued_out);
|
||||
for ($i=0; $i < count($issued_item_ids) ; $i++) {
|
||||
if ($selected_sundry_id == $issued_item_ids[$i]) {
|
||||
if(!in_array($ward_item_request->ward_id, $array_of_wards_to_loop)) {$array_of_wards_to_loop[] = $ward_item_request->ward_id;}
|
||||
if (isset($item_consumption[$ward_item_request->ward_id])) {
|
||||
$item_consumption[$ward_item_request->ward_id] += is_numeric($issued_item_quantities[$i]) ? $issued_item_quantities[$i] : 0;
|
||||
} else {
|
||||
$item_consumption[$ward_item_request->ward_id] = is_numeric($issued_item_quantities[$i]) ? $issued_item_quantities[$i] : 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($ward_sundry_dispensation_results as $dispensation_record) {
|
||||
if ($selected_sundry_id == $dispensation_record->sundry_id) {
|
||||
if(!in_array($dispensation_record->ward_id, $array_of_wards_to_loop)) {$array_of_wards_to_loop[] = $dispensation_record->ward_id;}
|
||||
if (isset($patient_consumptions[$dispensation_record->ward_id])) {
|
||||
$patient_consumptions[$dispensation_record->ward_id] += $dispensation_record->quantity_given;
|
||||
} else {
|
||||
$patient_consumptions[$dispensation_record->ward_id] = $dispensation_record->quantity_given;
|
||||
}
|
||||
$patient_ids[$dispensation_record->sundry_id][] = $dispensation_record->patient_id;
|
||||
}
|
||||
}
|
||||
|
||||
$search_text = "Results for <b>" . ($sundries[$selected_sundry_id] ?? 'N/A') . "</b> from " . streamline_date($start_date) . " to " . streamline_date($end_date);
|
||||
} elseif ($request->report_by == 4) {
|
||||
# report for sundries consumption per ward
|
||||
$ward_sundry_dispensation_results = WardSundryDispensation::where('ward_id', $ward_id)->where($consumption_filters)->get();
|
||||
$ward_item_requests_results = WardItemRequest::where(['dispensation_status' => 1, 'item_type' => 2, 'ward_id' => $ward_id])->where($ward_item_filters)->get();
|
||||
|
||||
if (count($ward_sundry_dispensation_results) > 0) {
|
||||
foreach ($ward_sundry_dispensation_results as $sundry_dispensation) {
|
||||
if(!in_array($sundry_dispensation->sundry_id, $item_ids)) {$item_ids[] = $sundry_dispensation->sundry_id;}
|
||||
if (isset($patient_consumptions[$sundry_dispensation->sundry_id])) {
|
||||
$patient_consumptions[$sundry_dispensation->sundry_id] += $sundry_dispensation->quantity_given;
|
||||
} else {
|
||||
$patient_consumptions[$sundry_dispensation->sundry_id] = $sundry_dispensation->quantity_given;
|
||||
}
|
||||
$patient_ids[$sundry_dispensation->sundry_id][] = $sundry_dispensation->patient_id;
|
||||
}
|
||||
}
|
||||
|
||||
if (count($ward_item_requests_results) > 0) {
|
||||
foreach ($ward_item_requests_results as $ward_item_request) {
|
||||
$issued_item_ids = explode(",", $ward_item_request->item_ids);
|
||||
$issued_item_quantities = explode(",", $ward_item_request->quantity_issued_out);
|
||||
for ($i=0; $i < count($issued_item_ids) ; $i++) {
|
||||
if(!in_array($issued_item_ids[$i], $item_ids)) {$item_ids[] = $issued_item_ids[$i];}
|
||||
if (isset($item_consumption[$issued_item_ids[$i]])) {
|
||||
$item_consumption[$issued_item_ids[$i]] += (isset($issued_item_quantities[$i]) && is_numeric($issued_item_quantities[$i])) ? $issued_item_quantities[$i] : 0;
|
||||
} else {
|
||||
$item_consumption[$issued_item_ids[$i]] = (isset($issued_item_quantities[$i]) && is_numeric($issued_item_quantities[$i])) ? $issued_item_quantities[$i] : 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$search_text = "Results for <b>" . ($wards[$ward_id] ?? 'N/A') . "</b> from " . streamline_date($start_date) . " to " . streamline_date($end_date);
|
||||
} elseif ($request->report_by == 5) {
|
||||
# report for general items
|
||||
$selected_general_items_id = $request->general_items_id;
|
||||
$ward_treatment_dispensation_results = WardTreatmentDispensation::where($consumption_filters)->get();
|
||||
$ward_item_requests_results = WardItemRequest::where(['dispensation_status' => 1, 'item_type' => 1])->where($ward_item_filters)->get();
|
||||
$ward_dispensing_results = WardDispensing::where($consumption_filters)->get();
|
||||
$general_items_ids_array = [];
|
||||
|
||||
if (count($ward_dispensing_results) > 0) {
|
||||
foreach ($ward_dispensing_results as $ward_dispensing) {
|
||||
$issued_item_ids = explode(",", $ward_dispensing->drug_id);
|
||||
$issued_item_quantities = explode(",", $ward_dispensing->quantity_dispensed);
|
||||
for ($i=0; $i < count($issued_item_ids) ; $i++) {
|
||||
if ($selected_drug_id == $issued_item_ids[$i]) {
|
||||
if(!in_array($ward_dispensing->ward_id, $array_of_wards_to_loop)) {$array_of_wards_to_loop[] = $ward_dispensing->ward_id;}
|
||||
if (isset($item_consumption[$ward_dispensing->ward_id])) {
|
||||
$item_consumption[$ward_dispensing->ward_id] += is_numeric($issued_item_quantities[$i]) ? $issued_item_quantities[$i] : 0;
|
||||
} else {
|
||||
$item_consumption[$ward_dispensing->ward_id] = is_numeric($issued_item_quantities[$i]) ? $issued_item_quantities[$i] : 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (count($ward_treatment_dispensation_results) > 0) {
|
||||
foreach ($ward_treatment_dispensation_results as $dispensation_record) {
|
||||
if ($selected_drug_id == $dispensation_record->drug_id) {
|
||||
if(!in_array($dispensation_record->ward_id, $array_of_wards_to_loop)) {$array_of_wards_to_loop[] = $dispensation_record->ward_id;}
|
||||
if (isset($patient_consumptions[$dispensation_record->ward_id])) {
|
||||
$patient_consumptions[$dispensation_record->ward_id] += $dispensation_record->quantity_given;
|
||||
} else {
|
||||
$patient_consumptions[$dispensation_record->ward_id] = $dispensation_record->quantity_given;
|
||||
}
|
||||
}
|
||||
$patient_ids[$dispensation_record->drug_id][] = $dispensation_record->patient_id;
|
||||
}
|
||||
}
|
||||
|
||||
if (count($ward_item_requests_results) > 0) {
|
||||
foreach ($ward_item_requests_results as $ward_item_request) {
|
||||
$issued_item_ids = explode(",", $ward_item_request->item_ids);
|
||||
$issued_item_quantities = explode(",", $ward_item_request->quantity_issued_out);
|
||||
for ($i=0; $i < count($issued_item_ids) ; $i++) {
|
||||
if ($selected_drug_id == $issued_item_ids[$i]) {
|
||||
if(!in_array($ward_item_request->ward_id, $array_of_wards_to_loop)) {$array_of_wards_to_loop[] = $ward_item_request->ward_id;}
|
||||
if (isset($item_consumption[$ward_item_request->ward_id])) {
|
||||
$item_consumption[$ward_item_request->ward_id] += is_numeric($issued_item_quantities[$i]) ? $issued_item_quantities[$i] : 0;
|
||||
} else {
|
||||
$item_consumption[$ward_item_request->ward_id] = is_numeric($issued_item_quantities[$i]) ? $issued_item_quantities[$i] : 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$search_text = "Results for <b>" . ($general_items[$selected_general_items_id] ?? 'N/A') . "</b> from " . streamline_date($start_date) . " to " . streamline_date($end_date);
|
||||
} elseif ($request->report_by == 6) {
|
||||
$ward_item_requests_results = WardItemRequest::where(['dispensation_status' => 1, 'item_type' => 3, 'ward_id' => $ward_id])->where($ward_item_filters)->get();
|
||||
|
||||
if (count($ward_item_requests_results) > 0) {
|
||||
foreach ($ward_item_requests_results as $ward_item_request) {
|
||||
$issued_item_ids = explode(",", $ward_item_request->item_ids);
|
||||
$issued_item_quantities = explode(",", $ward_item_request->quantity_issued_out);
|
||||
for ($i=0; $i < count($issued_item_ids) ; $i++) {
|
||||
|
||||
if(!in_array($issued_item_ids[$i], $item_ids)) {
|
||||
$item_ids[] = $issued_item_ids[$i];
|
||||
}
|
||||
|
||||
if (isset($item_consumption[$issued_item_ids[$i]])) {
|
||||
$item_consumption[$issued_item_ids[$i]] += (isset($issued_item_quantities[$i]) && is_numeric($issued_item_quantities[$i])) ? $issued_item_quantities[$i] : 0;
|
||||
} else {
|
||||
$item_consumption[$issued_item_ids[$i]] = (isset($issued_item_quantities[$i]) && is_numeric($issued_item_quantities[$i])) ? $issued_item_quantities[$i] : 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$search_text = "Results for <b>" . ($wards[$ward_id] ?? 'N/A') . "</b> from " . streamline_date($start_date) . " to " . streamline_date($end_date);
|
||||
}
|
||||
|
||||
return view('ward_management::wards_consumption.ward_consumption_report',compact('start_date', 'end_date', 'wards', 'drugs','patient_ids', 'sundries', 'general_items', 'search_complete', 'report_by', 'ward_id', 'item_ids',
|
||||
'patient_consumptions', 'array_of_wards_to_loop', 'selected_drug_id', 'selected_sundry_id', 'selected_general_items_id', 'search_text', 'item_consumption', 'start_date', 'end_date','item_requests'));
|
||||
}
|
||||
|
||||
public function patient_drill_down(Request $request) {
|
||||
$item_id = $request->item_id;
|
||||
$start_date = $request->start_date;
|
||||
$end_date = $request->end_date;
|
||||
$ward_id = $request->ward_id;
|
||||
$wards = unserialize($request->wards);
|
||||
$patient_id_array = unserialize($request->patient_ids);
|
||||
$ward_name = $wards[$ward_id];
|
||||
if ($request->report_by == 1) {
|
||||
$patients_results = WardTreatmentDispensation::join('patients', 'patients.id', '=', 'ward_treatment_dispensations.patient_id')
|
||||
->leftjoin('inpatient_info', 'inpatient_info.episode_id', 'ward_treatment_dispensations.episode_id')
|
||||
->whereBetween('ward_treatment_dispensations.created_at', [$start_date, $end_date])->where([['drug_id', $item_id],['ward_treatment_dispensations.ward_id', $ward_id]])
|
||||
->get(['ward_treatment_dispensations.quantity_given', 'ward_treatment_dispensations.created_at as date_given',
|
||||
'patients.number', 'patients.id', 'patients.gender', 'patients.date_of_birth', 'ward_treatment_dispensations.episode_id', 'primary_diagnosis','other_diagnoses','right_eye_diagnosis','left_eye_diagnosis']);
|
||||
$name = get_name($item_id, 'id', 'name', 'drugs');
|
||||
} elseif ($request->report_by == 3) {
|
||||
$patients_results = WardSundryDispensation::join('patients', 'patients.id', '=', 'ward_sundry_dispensations.patient_id')
|
||||
->whereBetween('ward_sundry_dispensations.created_at', [$start_date, $end_date])->where('sundry_id', $item_id)
|
||||
->where('ward_id', $ward_id)->get(['ward_sundry_dispensations.quantity_given', 'ward_sundry_dispensations.created_at as date_given',
|
||||
'patients.number', 'patients.id', 'patients.gender', 'patients.date_of_birth']);
|
||||
$name = get_name($item_id, 'id', 'name', 'sundries');
|
||||
} elseif ($request->report_by == 4) {
|
||||
$patients_results = WardSundryDispensation::join('patients', 'patients.id', '=', 'ward_sundry_dispensations.patient_id')
|
||||
->whereBetween('ward_sundry_dispensations.created_at', [$start_date, $end_date])->where('sundry_id', $item_id)
|
||||
->where('ward_id', $ward_id)->get(['ward_sundry_dispensations.quantity_given', 'ward_sundry_dispensations.created_at as date_given',
|
||||
'patients.number', 'patients.id', 'patients.gender', 'patients.date_of_birth']);
|
||||
$name = get_name($item_id, 'id', 'name', 'sundries');
|
||||
} else {
|
||||
return redirect('ward_consumption_report');
|
||||
}
|
||||
return view('ward_management::wards_consumption.patient_drill_down', compact('patients_results', 'name', 'ward_name'));
|
||||
}
|
||||
|
||||
public function issued_items_drill_down(Request $request){
|
||||
//form variables for search form
|
||||
$wards = DB::table('wards')->where('available', 1)->whereNull('deleted_at')->orderBy('name')->pluck('name', 'id')->toArray();
|
||||
$wards = ['' => '- select -'] + $wards;
|
||||
$wards = ['pharmacy' => 'Pharmacy'] + $wards;
|
||||
$drugs = DB::table('drugs')->where('available', 1)->whereNull('deleted_at')->orderBy('name')->pluck('name', 'id')->toArray();
|
||||
$drugs = ['' => '- select -'] + $drugs;
|
||||
|
||||
$sundries = DB::table('sundries')->whereNull('deleted_at')->orderBy('name')->pluck('name', 'id')->toArray();
|
||||
$sundries = ['' => '- select -'] + $sundries;
|
||||
$general_items = DB::table('general_items')->whereNull('deleted_at')->orderBy('name')->pluck('name', 'id')->toArray();
|
||||
$general_items = ['' => '- select -'] + $general_items;
|
||||
$quotation_type_id = $item_type = 0;
|
||||
|
||||
//sent via request
|
||||
$item_id = $request->item_id;
|
||||
$start_date = $request->start_date;
|
||||
$end_date = $request->end_date;
|
||||
$ward_id = $request->ward_id;
|
||||
$report_by = $request->report_by;
|
||||
$wards = unserialize($request->wards);
|
||||
$patient_id_array = unserialize($request->patient_ids);
|
||||
$ward_name = $wards[$ward_id];
|
||||
// if (isset($request->start_date) && isset($request->end_date)) {
|
||||
// $start_date_string = Carbon::createFromFormat('Y-m-d', $start_date)->toDateTimeString();
|
||||
// $end_date_string = Carbon::createFromFormat('Y-m-d', $end_date)->toDateTimeString();
|
||||
// } else {
|
||||
// $start_date_string = Carbon::now()->toDateTimeString();
|
||||
// $end_date_string = Carbon::now()->toDateTimeString();
|
||||
// }
|
||||
$display = "Records details between " . streamline_date($start_date) . " and " . streamline_date($end_date);
|
||||
$results = $ward_results = [];
|
||||
|
||||
if ($request->report_by == 1) {
|
||||
// report by ward
|
||||
if ($ward_id == "pharmacy") {
|
||||
$results = DB::table('requisitions')
|
||||
->select('*')->whereNull('deleted_at')
|
||||
->where('quotation_type_id', 1)
|
||||
->whereRaw('FIND_IN_SET(' . $item_id . ',drug_id)')
|
||||
->whereBetween('created_at', [$start_date, $end_date])
|
||||
->get();
|
||||
$display = "Records details for Pharmacy between " . streamline_date($start_date) . " and " . streamline_date($end_date);
|
||||
} else {
|
||||
$ward_results = DB::table('ward_item_requests')
|
||||
->select('*')->whereNull('deleted_at')
|
||||
->where(['item_type' => $quotation_type_id, 'ward_id' => $ward_id])
|
||||
->whereRaw('FIND_IN_SET(' . $item_id . ',item_ids_issued_out)')
|
||||
->whereBetween('created_at', [$start_date, $end_date])
|
||||
->get();
|
||||
$display = "Records details for ".get_name($ward_id, "id", "name", "wards")." between " . streamline_date($start_date) . " and " . streamline_date($end_date);
|
||||
}
|
||||
} elseif ($request->report_by == 2) {
|
||||
//report by drugs
|
||||
$quotation_type_id = $item_type = 1;
|
||||
if ($ward_id == "pharmacy") {
|
||||
$results = DB::table('requisitions')
|
||||
->select('*')->whereNull('deleted_at')
|
||||
->where('quotation_type_id', $quotation_type_id)
|
||||
->whereRaw('FIND_IN_SET(' . $item_id . ',drug_id)')
|
||||
->whereBetween('created_at', [$start_date, $end_date])
|
||||
->get();
|
||||
$display = "Records details for Pharmacy between " . streamline_date($start_date) . " and " . streamline_date($end_date);
|
||||
} else {
|
||||
$ward_results = DB::table('ward_item_requests')
|
||||
->select('*')->whereNull('deleted_at')
|
||||
->where(['item_type' => $quotation_type_id, 'ward_id' => $ward_id])
|
||||
->whereRaw('FIND_IN_SET(' . $item_id . ',item_ids_issued_out)')
|
||||
->whereBetween('created_at', [$start_date, $end_date])
|
||||
->get();
|
||||
|
||||
$display = "Records details for ".get_name($ward_id, "id", "name", "wards")." between " . streamline_date($start_date) . " and " . streamline_date($end_date);
|
||||
}
|
||||
} elseif ($request->report_by == 3) {
|
||||
if ($ward_id == "pharmacy") {
|
||||
$results = DB::table('requisitions')
|
||||
->select('*')->whereNull('deleted_at')
|
||||
->where('quotation_type_id', 2)
|
||||
->whereRaw('FIND_IN_SET(' . $item_id . ',drug_id)')
|
||||
->whereBetween('created_at', [$start_date, $end_date])
|
||||
->get();
|
||||
$display = "Records details for Pharmacy between " . streamline_date($start_date) . " and " . streamline_date($end_date);
|
||||
} else {
|
||||
$ward_results = DB::table('ward_item_requests')
|
||||
->select('*')->whereNull('deleted_at')
|
||||
->where(['item_type' => 2, 'ward_id' => $ward_id])
|
||||
->whereRaw('FIND_IN_SET(' . $item_id . ',item_ids_issued_out)')
|
||||
->whereBetween('created_at', [$start_date, $end_date])
|
||||
->get();
|
||||
|
||||
$display = "Records details for ".get_name($ward_id, "id", "name", "wards")." between " . streamline_date($start_date) . " and " . streamline_date($end_date);
|
||||
}
|
||||
}
|
||||
|
||||
return view('ward_management::wards_consumption.issued_items_drill_down', compact('start_date', 'end_date', 'wards', 'drugs', 'sundries', 'general_items', 'report_by', 'display', 'results', 'display', 'item_id', 'ward_results', 'item_type'));
|
||||
}
|
||||
}
|
||||
+68
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\WardManagement\Providers;
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
|
||||
|
||||
class RouteServiceProvider extends ServiceProvider
|
||||
{
|
||||
/**
|
||||
* This namespace is applied to your controller routes.
|
||||
*
|
||||
* In addition, it is set as the URL generator's root namespace.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $namespace = 'Modules\WardManagement\Http\Controllers';
|
||||
|
||||
/**
|
||||
* Define your route model bindings, pattern filters, etc.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function boot()
|
||||
{
|
||||
parent::boot();
|
||||
}
|
||||
|
||||
/**
|
||||
* Define the routes for the application.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function map()
|
||||
{
|
||||
$this->mapApiRoutes();
|
||||
$this->mapWebRoutes();
|
||||
}
|
||||
|
||||
/**
|
||||
* Define the "web" routes for the application.
|
||||
*
|
||||
* These routes all receive session state, CSRF protection, etc.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function mapWebRoutes()
|
||||
{
|
||||
Route::middleware('web')
|
||||
->namespace($this->namespace)
|
||||
->group(module_path('WardManagement', '/Routes/web.php'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Define the "api" routes for the application.
|
||||
*
|
||||
* These routes are typically stateless.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function mapApiRoutes()
|
||||
{
|
||||
Route::prefix('api')
|
||||
->middleware('api')
|
||||
->namespace($this->namespace)
|
||||
->group(module_path('WardManagement', '/Routes/api.php'));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\WardManagement\Providers;
|
||||
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Modules\WardManagement\Providers\RouteServiceProvider;
|
||||
|
||||
class WardManagementServiceProvider extends ServiceProvider {
|
||||
/**
|
||||
* @var string $moduleName
|
||||
*/
|
||||
protected $moduleName = 'WardManagement';
|
||||
|
||||
/**
|
||||
* @var string $moduleNameLower
|
||||
*/
|
||||
protected $moduleNameLower = 'ward_management';
|
||||
|
||||
/**
|
||||
* Boot the application events.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function boot()
|
||||
{
|
||||
$this->registerTranslations();
|
||||
$this->registerConfig();
|
||||
$this->registerViews();
|
||||
$this->loadMigrationsFrom(module_path($this->moduleName, 'Database/Migrations'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Register the service provider.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
$this->app->register(RouteServiceProvider::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Register config.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function registerConfig()
|
||||
{
|
||||
$this->publishes([
|
||||
module_path($this->moduleName, 'Config/config.php') => config_path($this->moduleNameLower . '.php'),
|
||||
], 'config');
|
||||
$this->mergeConfigFrom(
|
||||
module_path($this->moduleName, 'Config/config.php'), $this->moduleNameLower
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Register views.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function registerViews()
|
||||
{
|
||||
$viewPath = resource_path('views/modules/' . $this->moduleNameLower);
|
||||
|
||||
$sourcePath = module_path($this->moduleName, 'Resources/views');
|
||||
|
||||
$this->publishes([
|
||||
$sourcePath => $viewPath
|
||||
], ['views', $this->moduleNameLower . '-module-views']);
|
||||
|
||||
$this->loadViewsFrom(array_merge($this->getPublishableViewPaths(), [$sourcePath]), $this->moduleNameLower);
|
||||
}
|
||||
|
||||
/**
|
||||
* Register translations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function registerTranslations()
|
||||
{
|
||||
$langPath = resource_path('lang/modules/' . $this->moduleNameLower);
|
||||
|
||||
if (is_dir($langPath)) {
|
||||
$this->loadTranslationsFrom($langPath, $this->moduleNameLower);
|
||||
$this->loadJsonTranslationsFrom($langPath);
|
||||
} else {
|
||||
$this->loadTranslationsFrom(module_path($this->moduleName, 'Resources/lang'), $this->moduleNameLower);
|
||||
$this->loadJsonTranslationsFrom(module_path($this->moduleName, 'Resources/lang'));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the services provided by the provider.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function provides()
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
private function getPublishableViewPaths(): array
|
||||
{
|
||||
$paths = [];
|
||||
foreach (\Config::get('view.paths') as $path) {
|
||||
if (is_dir($path . '/modules/' . $this->moduleNameLower)) {
|
||||
$paths[] = $path . '/modules/' . $this->moduleNameLower;
|
||||
}
|
||||
}
|
||||
return $paths;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@section('content')
|
||||
<div class="row bg-title">
|
||||
<div class="col-lg-3 col-md-4 col-sm-4 col-xs-12">
|
||||
<h4 class="page-title">{{ __('wards.add_ward') }}</h4>
|
||||
</div>
|
||||
<div class="col-lg-9 col-sm-8 col-md-8 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">{{ __('wards.dashboard') }}</a></li>
|
||||
<li><a href="{{ route('hmis_wards.index') }}">{{ __('wards.hmis_wards') }}</a></li>
|
||||
<li class="active">{{ __('wards.create') }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
@include('ward_management::hmis_wards.menu')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<!--Flash messages at the top -->
|
||||
@include('flash::message')
|
||||
<div class="white-box">
|
||||
{{ Form::open(['route' => 'hmis_wards.store', 'data-toggle' => 'validator']) }}
|
||||
|
||||
<div class="row" id="optionsList">
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
{{ Form::label('name', __('wards.ward_name')) }}
|
||||
{{ Form::text('name', '', ['class' => 'form-control compulsory', 'required']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
{{ Form::label('slug', __('wards.slug')) }}
|
||||
{{ Form::text('slug', '', ['class' => 'form-control compulsory', 'required']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ Form::button(__('wards.submit'),['type'=>'submit','class'=>'btn btn-success waves-effect waves-light m-r-10 submit-btn']) }}
|
||||
{{ Form::button(__('wards.cancel'),['type'=>'reset','class'=>'btn btn-default waves-effect waves-light']) }}
|
||||
|
||||
{{ Form::close() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script src="{{ asset('elite/js/validator.js') }}"></script>
|
||||
@endpush
|
||||
@@ -0,0 +1,62 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@push('styles')
|
||||
<link href="{{ asset('elite/bower_components/select2/select2.min.css') }}" rel="stylesheet" />
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div class="row bg-title">
|
||||
<div class="col-lg-3 col-md-4 col-sm-4 col-xs-12">
|
||||
<h4 class="page-title">{{ __('wards.edit_ward') }}</h4>
|
||||
</div>
|
||||
<div class="col-lg-9 col-sm-8 col-md-8 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">{{ __('wards.dashboard') }}</a></li>
|
||||
<li><a href="{{ route('hmis_wards.index') }}">{{ __('wards.hmis_wards') }}</a></li>
|
||||
<li class="active">{{ __('wards.edit') }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
@include('ward_management::hmis_wards.menu')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<!--Flash messages at the top -->
|
||||
@include('flash::message')
|
||||
<div class="white-box">
|
||||
{{ Form::model($ward, ['method' => 'PUT', 'route' => ['hmis_wards.update',$ward], 'data-toggle' => 'validator']) }}
|
||||
|
||||
<div class="form-group">
|
||||
{{ Form::label('name', __('wards.ward_name')) }}
|
||||
{{ Form::text('name', $ward->name, ['class' => 'form-control compulsory', 'required']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
{{ Form::label('slug', __('wards.slug')) }}
|
||||
{{ Form::text('slug', $ward->slug, ['class' => 'form-control compulsory', 'required']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
|
||||
{{ Form::button(__('wards.submit'),['type'=>'submit','class'=>'btn btn-success waves-effect waves-light m-r-10']) }}
|
||||
{{ Form::button(__('wards.cancel'),['type'=>'reset','class'=>'btn btn-default waves-effect waves-light']) }}
|
||||
|
||||
{{ Form::close() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script src="{{ asset('elite/js/validator.js') }}"></script>
|
||||
<script src="{{ asset('elite/bower_components/select2/select2.min.js') }}"></script>
|
||||
<script type="text/javascript">
|
||||
$('#type').select2();
|
||||
</script>
|
||||
@endpush
|
||||
+91
@@ -0,0 +1,91 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@push('styles')
|
||||
<link href="{{ asset('/elite/bower_components/datatables/jquery.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('elite/tables/css/buttons.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div class="row bg-title">
|
||||
<div class="col-lg-3 col-md-4 col-sm-4 col-xs-12">
|
||||
<h4 class="page-title">{{ __('wards.activate_wards') }}</h4>
|
||||
</div>
|
||||
<div class="col-lg-9 col-sm-8 col-md-8 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">{{ __('wards.dashboard') }}</a></li>
|
||||
<li><a href="{{ route('hmis_wards.index') }}">{{ __('hmis_wards.wards') }}</a></li>
|
||||
<li class="active">{{ __('wards.activate') }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
@include('ward_management::hmis_wards.menu')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="white-box">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ __('wards.ward_name') }}</th>
|
||||
<th>{{ __('wards.slug') }}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>{{ __('wards.ward_name') }}</th>
|
||||
<th>{{ __('wards.slug') }}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
@foreach($wards as $ward)
|
||||
<tr>
|
||||
<td>{{ $ward->name }}</td>
|
||||
<td>{{ $ward->slug }}</td>
|
||||
<td>
|
||||
{{ Form::model($ward->id ,['method' => 'POST', 'route' => ['hmis_wards.activate', $ward->id]]) }}
|
||||
<button type="submit" class="btn btn-warning"
|
||||
onclick="return confirm('<?php echo __('wards.are_you_sure');?>')"><i
|
||||
class="fa fa-check"></i> {{ __('wards.activate') }}</button>
|
||||
{{ Form::close() }}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
|
||||
<script src="{{ asset('elite/bower_components/datatables/jquery.dataTables.min.js') }}"></script>
|
||||
|
||||
<script src="{{ asset('elite/tables/js/dataTables.buttons.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.flash.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/jszip.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/pdfmake.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/vfs_fonts.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.html5.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.print.min.js') }}"></script>
|
||||
|
||||
<script>
|
||||
$('.table').DataTable({
|
||||
dom: 'Bfrtip',
|
||||
buttons: [
|
||||
'copy', 'csv', 'excel', 'pdf', 'print'
|
||||
]
|
||||
});
|
||||
|
||||
</script>
|
||||
@endpush
|
||||
@@ -0,0 +1,134 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@push('styles')
|
||||
<link href="{{ asset('/elite/bower_components/datatables/jquery.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('elite/tables/css/buttons.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div class="row bg-title">
|
||||
<div class="col-lg-3 col-md-4 col-sm-4 col-xs-12">
|
||||
<h4 class="page-title">{{ __('wards.wards') }}</h4>
|
||||
</div>
|
||||
<div class="col-lg-9 col-sm-8 col-md-8 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">{{ __('wards.dashboard') }}</a></li>
|
||||
<li class="active">{{ __('wards.hmis_wards') }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
@include('ward_management::hmis_wards.menu')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@include('flash::message')
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="white-box">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ __('wards.ward_name') }}</th>
|
||||
<th>{{ __('wards.slug') }}</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>{{ __('wards.ward_name') }}</th>
|
||||
<th>{{ __('wards.slug') }}</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
@foreach($wards as $ward)
|
||||
<tr>
|
||||
<td>{{ $ward->name }}</td>
|
||||
<td>{{ $ward->slug }}</td>
|
||||
<td>
|
||||
@if (Auth::user()->can('budget-edit'))
|
||||
<a href="/hmis_wards/{{ $ward->id }}/edit/" class="btn btn-sm btn-warning btn-rounded"><i class="fa fa-pencil"></i> {{ __('wards.edit') }}</a>
|
||||
@endif
|
||||
|
||||
</td>
|
||||
<td>
|
||||
@if (Auth::user()->can('budget-edit'))
|
||||
{{ Form::model($ward->id ,['method' => 'DELETE', 'route' => ['hmis_wards.destroy', $ward->id]]) }}
|
||||
<button type="submit" class="btn btn-sm btn-rounded btn-danger" onclick="return confirm('<?php echo __('wards.are_you_sure');?>')"><i class="fa fa-trash"></i> {{ __('wards.delete') }}</button>
|
||||
{{ Form::close() }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script src="{{ asset('elite/bower_components/datatables/jquery.dataTables.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/dataTables.buttons.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.flash.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/jszip.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/pdfmake.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/vfs_fonts.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.html5.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.print.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.colVis.min.js') }}"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$('.table').DataTable({
|
||||
dom: 'Bfrtip',
|
||||
buttons: [
|
||||
'copy',
|
||||
{extend: 'csv',
|
||||
message: '<?php echo __('wards.list_of_wards');?>'
|
||||
},
|
||||
{extend: 'excel',
|
||||
message: '<?php echo __('wards.list_of_wards');?>',
|
||||
exportOptions: {
|
||||
columns: [0, 1]
|
||||
},
|
||||
sheetName: '<?php echo __('wards.list_of_wards');?>'
|
||||
},
|
||||
{extend: 'pdf',
|
||||
message: '<?php echo __('wards.list_of_wards');?>',
|
||||
orientation: 'portrait',
|
||||
pageSize: 'LETTER',
|
||||
exportOptions: {
|
||||
columns: [0, 1]
|
||||
},
|
||||
customize: function (doc) {
|
||||
doc.defaultStyle.fontSize = 10;
|
||||
// doc.styles.tableHeader.alignment = 'left';
|
||||
}
|
||||
},
|
||||
{extend: 'print',
|
||||
message: '<?php echo __('wards.list_of_wards');?>',
|
||||
exportOptions: {
|
||||
columns: [0, 1]
|
||||
},
|
||||
customize: function (win) {
|
||||
$(win.document.body)
|
||||
.css('font-size', '10pt')
|
||||
.css('background', '#fff')
|
||||
.prepend('<img src="<?php echo asset('uploads/logo/logo-sm.png'); ?>" style="position:absolute; top:0; right:0;" />');
|
||||
$(win.document.body).find('table')
|
||||
.addClass('compact table-bordered')
|
||||
.css('font-size', 'inherit');
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@@ -0,0 +1,19 @@
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
@if (Auth::user()->can('hmis-ward-create'))
|
||||
<a href="{{ route('hmis_wards.create') }}" class="nav-item btn btn-success" style="border-radius: 5px;"><i
|
||||
class="fa fa-plus" aria-hidden="true"></i> <span style="margin-left: 5px">{{ __('wards.hmis_create_ward')
|
||||
}}</span></a>
|
||||
@endif
|
||||
@if (Auth::user()->can('hmis-ward-list'))
|
||||
<a href="{{ route('hmis_wards.index') }}" class="nav-item btn btn-info" style="border-radius: 5px;"><i
|
||||
class="fa fa-eye" aria-hidden="true"></i> <span style="margin-left: 5px">{{ __('wards.hmis_view_wards')
|
||||
}}</span></a>
|
||||
@endif
|
||||
@if (Auth::user()->can('hmis-ward-delete'))
|
||||
<a href="{{ route('hmis_wards.inactive') }}" class="nav-item btn btn-danger" style="border-radius: 5px;"><i
|
||||
class="fa fa-undo" aria-hidden="true"></i> <span style="margin-left: 5px">{{ __('wards.hmis_inactive_wards')
|
||||
}}</span></a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
docker/statistics/Modules/WardManagement/Resources/views/inpatient/discharge_summary_print.blade.php
Executable
+873
@@ -0,0 +1,873 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ app()->getLocale() }}">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ asset('uploads/streamline/color/streamline_icon-02.png') }}">
|
||||
<title>{{ config('app.name', 'Inpatient Bill - Stre@mline') }}</title>
|
||||
<!-- Bootstrap Core CSS -->
|
||||
<link href="{{ asset('bootstrap/css/bootstrap.min.css') }}" rel="stylesheet">
|
||||
|
||||
<style>
|
||||
body{
|
||||
font-size: 0.8em;
|
||||
}
|
||||
/*thead, tfoot { display: table-row-group }*/
|
||||
thead {
|
||||
display: table-header-group;
|
||||
}
|
||||
tfoot {
|
||||
display: table-row-group;
|
||||
}
|
||||
tr {
|
||||
page-break-before: always;
|
||||
page-break-after: always;
|
||||
page-break-inside: avoid !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
@php
|
||||
$total_deposits_paid = 0;
|
||||
$total_amount_to_pay = 0;
|
||||
$discount_amount = 0;
|
||||
$insurance_hospital_stay = 0;
|
||||
$insurance_investigations = 0;
|
||||
$insurance_treatments = 0;
|
||||
$insurance_sundries = 0;
|
||||
$insurance_procedures = 0;
|
||||
$insurance_tta = 0;
|
||||
$insurance_services = 0;
|
||||
$price_list_id = is_patient_category_attached_to_price_list($patient_id);
|
||||
$investigation_amount_total = 0;
|
||||
@endphp
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
@include('layouts.header_pdf_print')
|
||||
|
||||
<h5 class="heading" style="text-align: center;"> {{ __('inpatient.discharge_summary') }}</h5>
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<table class="table table-light table-sm table-borderless">
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.patient_number') }}</th>
|
||||
<td>{{ $patient->number}}</td>
|
||||
<td width="60" style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.ward') }}</th>
|
||||
<td>
|
||||
{{ get_name($inpatient_info->ward_id, 'id', 'name', 'wards') }} |
|
||||
@if(is_null($inpatient_info->bed_category_id))
|
||||
@else
|
||||
{{ get_name($inpatient_info->bed_category_id, 'id', 'name', 'inpatient_bed_categories') }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.patient_names') }}</th>
|
||||
<td>{{ $patient->first_name}} {{ $patient->last_name}}</td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.admitted') }}</th>
|
||||
<td>
|
||||
@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 }} {{ __('inpatient.days') }})
|
||||
|
||||
{{ Form::hidden("duration", $days_spent_in_ward) }}
|
||||
{{ Form::hidden("inpatient_info_id", $inpatient_info->id) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.age') }}</th>
|
||||
<td><?php echo get_patients_age($patient->date_of_birth); ?></td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.discharged') }}</th>
|
||||
<td>
|
||||
@if($inpatient_info->discharged == 1)
|
||||
{{ streamline_date($inpatient_info->discharged_on) }}
|
||||
@else
|
||||
{{ __('inpatient.still_admitted') }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.gender') }}</th>
|
||||
<td>{{ $patient->gender == 1 ? __('inpatient.male') : __('inpatient.female') }}</td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th scope="row">{{ __('inpatient.category') }}</th>
|
||||
<td>
|
||||
{{ get_name($patient->category_id, 'id', 'name', 'patient_categories') }}
|
||||
|
||||
@if(!is_null($patient_discount))
|
||||
({{ $patient_discount["discount"] }} % {{ __('inpatient.discount') }})
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if( Auth::user()->can('view-patient-episode-primary-diagnoses') && !$main_exam)
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<strong>{{ __('inpatient.primary_diagnosis') }}</strong>
|
||||
|
||||
@php
|
||||
$primary_diagnosis = \Streamline\Models\Diagnosis::withTrashed()->find($inpatient_info->primary_diagnosis);
|
||||
@endphp
|
||||
|
||||
<table class="table table-light table-sm table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>{{ $primary_diagnosis ? $primary_diagnosis->name : "" }}</td>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col">
|
||||
@php $other_diagnoses = @unserialize($inpatient_info->other_diagnoses); @endphp
|
||||
|
||||
@if(!empty($other_diagnoses) && !(count($other_diagnoses) == 1 && $other_diagnoses[0] == ''))
|
||||
<strong>{{ __('inpatient.secondary_diagnosis') }}</strong>
|
||||
|
||||
<table class="table table-light table-sm table-bordered">
|
||||
<thead>
|
||||
@foreach($other_diagnoses as $diagnosis)
|
||||
@php
|
||||
$other_diagnosis = \Streamline\Models\Diagnosis::withTrashed()->find($diagnosis);
|
||||
@endphp
|
||||
<tr>
|
||||
<td>{{ $other_diagnosis ? $other_diagnosis->name : "" }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</thead>
|
||||
</table>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<br>
|
||||
|
||||
@if($cons_comments && ($cons_comments->comments || $cons_comments->history_comments || $cons_comments->clinic_examination_comments || $cons_comments->investigation_and_management_plan_comments))
|
||||
<h4>{{ __('inpatient.opd_consultation_comments') }}</h4>
|
||||
|
||||
<table class="table table-light table-sm table-bordered">
|
||||
@if($cons_comments->comments)
|
||||
<tr>
|
||||
<td><b>{{ __('inpatient.comments') }}</b></td>
|
||||
<td>{{ $cons_comments->comments }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
@if($cons_comments->history_comments)
|
||||
<tr>
|
||||
<td><b>{{ __('inpatient.history') }}</b></td>
|
||||
<td>{{ $cons_comments->history_comments }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
@if($cons_comments->clinic_examination_comments)
|
||||
<tr>
|
||||
<td><b>{{ __('consultations.clinical_examination') }}</b></td>
|
||||
<td>{{ $cons_comments->clinic_examination_comments }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
@if($cons_comments->investigation_and_management_plan_comments)
|
||||
<tr>
|
||||
<td><b>{{ __('consultations.investigation_and_mgt_plan') }}</b></td>
|
||||
<td>{{ $cons_comments->investigation_and_management_plan_comments }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
</table>
|
||||
|
||||
<br>
|
||||
@endif
|
||||
|
||||
<strong>{{ __('inpatient.clinical_summary') }}</strong>
|
||||
|
||||
<table class="table table-light table-sm table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>{{ $inpatient_info->clinical_summary }}</td>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
|
||||
<br>
|
||||
|
||||
<strong>{{ __('inpatient.investigations_done') }}</strong>
|
||||
|
||||
<table class="table table-light table-sm table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Investigation Name</th>
|
||||
<th>Result</th>
|
||||
<th>Comment</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if(count($ward_investigations) > 0)
|
||||
@for($i = 0; $i < count($ward_investigations['name']); $i++)
|
||||
@if(in_array($i, $ward_investigations_position))
|
||||
<tr>
|
||||
<td colspan="3" class="text-center" style="color: #0000FF; font-weight: small;">
|
||||
{{ $ward_investigations_date[array_search($i, $ward_investigations_position)] }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
<tr>
|
||||
<td>{{ $ward_investigations['name'][$i] }}</td>
|
||||
<input type="hidden" name="ward_investigation_ids[]" value="{{ $ward_investigations['id'][$i] }}">
|
||||
<td>
|
||||
@if($ward_investigations['type'][$i] == 1 && $ward_investigations['value'][$i] != "Pending")
|
||||
<i style="color: blue"> {{ __('inpatient.refer_to_investigation_report') }} </i>
|
||||
@else
|
||||
{!! nl2br(e($ward_investigations['value'][$i])) !!}
|
||||
@endif
|
||||
</td>
|
||||
<td>{!! nl2br(e($ward_investigations['comment'][$i])) !!}</td>
|
||||
</tr>
|
||||
@endfor
|
||||
@else
|
||||
<tr>
|
||||
<td colspan="3">{{ __('inpatient.no_ward_invs') }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{{-- if patient has any treatment to take home --}}
|
||||
@if (count($treatment_to_take_away) > 0)
|
||||
<br>
|
||||
|
||||
<strong>{{ __('inpatient.treatment_on_discharge') }}</strong>
|
||||
<table class="table table-light table-sm table-bordered">
|
||||
@foreach($treatment_to_take_away as $treatment)
|
||||
@php
|
||||
$tta_drugs_array = explode(",", $treatment->drugs);
|
||||
$tta_dose_array = explode(",", $treatment->doses);
|
||||
$tta_freq_array = explode(",", $treatment->frequencies);
|
||||
$tta_duration_array = explode(",", $treatment->durations);
|
||||
@endphp
|
||||
|
||||
<tr>
|
||||
<td colspan="4" class="text-center" style="color: #0000FF; font-weight: small;">{{ __('inpatient.ordered_on') }} {{ streamline_date($treatment->created_at) }} by <b>{{ get_full_name($treatment->created_by, "id", "first_name", "last_name", "users") }}</b></td>
|
||||
</tr>
|
||||
@for($x = 0; $x < count($tta_drugs_array); $x++)
|
||||
@php
|
||||
$drug_name = get_name($tta_drugs_array[$x], 'id', "name", 'drugs');
|
||||
$drug_unit = get_name(get_name($tta_drugs_array[$x], 'id', "unit_id", 'drugs'), "id", "name", "drug_units");
|
||||
$frequency = get_name($tta_freq_array[$x], "id", "name", "dosage_frequencies");
|
||||
@endphp
|
||||
<tr class='gradeX'>
|
||||
<td>{{ $drug_name }}</td>
|
||||
<input type="hidden" name="tta_drugs[]" value="{{ $tta_drugs_array[$x] }}">
|
||||
<td>{{ $tta_dose_array[$x] }} {{ $drug_unit }} {{ $frequency}} </td>
|
||||
<td>{{ $tta_duration_array[$x] }}</td>
|
||||
@if($treatment->dispense_status == 1)
|
||||
<td style='color: green;'>{{ __('inpatient.dispensed') }}</td>
|
||||
@else
|
||||
<td style='color: maroon;'>{{ __('inpatient.pending_dispensing') }}</td>
|
||||
@endif
|
||||
</tr>
|
||||
@endfor
|
||||
@endforeach
|
||||
</table>
|
||||
@endif
|
||||
|
||||
<br>
|
||||
|
||||
@if($main_exam)
|
||||
<div class="row"><div class="col"><strong>{{ __('patient_episode.eye_clinic') }} Main Exam</strong></div></div>
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<table class='table table-sm'>
|
||||
<thead class="thead-light">
|
||||
<tr>
|
||||
<th colspan="3" class="text-center">External</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th width="10%"></th>
|
||||
<th width="45%" class="text-center">Right</th>
|
||||
<th width="45%" class="text-center">Left</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Ext</th>
|
||||
<th class="text-center">{{ $main_exam->external_right }}</th>
|
||||
<th class="text-center">{{ $main_exam->external_left }}</th>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table class='table table-sm'>
|
||||
<thead class="thead-light">
|
||||
<tr>
|
||||
<th colspan="3" class="text-center">Slit Lamp</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th width="20%"><b>Section</b></th>
|
||||
<th width="40%" class="text-right"><b>Right</b></th>
|
||||
<th width="40%" class="text-right"><b>Left</b></th>
|
||||
</tr>
|
||||
|
||||
@foreach($slit_lamp_test_areas as $area)
|
||||
<tr>
|
||||
<td><b>{{ $area->name }}</b></td>
|
||||
@php
|
||||
$right_slug = $area->slug."_right";
|
||||
$left_slug = $area->slug."_left";
|
||||
$left_other_slug = $area->slug."_other_left";
|
||||
$right_other_slug = $area->slug."_other_right";
|
||||
@endphp
|
||||
<td class="text-center">
|
||||
@if(in_array($main_exam->$right_slug, $slit_lamp_test_area_ids))
|
||||
@php
|
||||
$value_array = explode(',', $main_exam->$right_slug);
|
||||
@endphp
|
||||
@for($x = 0; $x < count($value_array); $x++)
|
||||
- {{ $slit_lamp_test_area_values[$value_array[$x]] }} <br/>
|
||||
@endfor
|
||||
@endif
|
||||
@if(isset($right_other_slug))
|
||||
- {{ $main_exam->$right_other_slug }}
|
||||
@endif
|
||||
</td>
|
||||
<td class="text-center">
|
||||
@if(in_array($main_exam->$left_slug, $slit_lamp_test_area_ids))
|
||||
@php
|
||||
$value_array = explode(',', $main_exam->$left_slug);
|
||||
@endphp
|
||||
@for($x = 0; $x < count($value_array); $x++)
|
||||
- {{ $slit_lamp_test_area_values[$value_array[$x]] }} <br/>
|
||||
@endfor
|
||||
@endif
|
||||
@if(isset($left_other_slug))
|
||||
- {{ $main_exam->$left_other_slug }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
@if (!empty($main_exam->doctors_notes))
|
||||
<table class="table table-sm table-bordered">
|
||||
<thead class="thead-light">
|
||||
<tr><th>{{ __('inpatient.doctor_comments') }} (Main Exam)</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>{!! nl2br(e($main_exam->doctors_notes)) !!}</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-6">
|
||||
<table class='table table-sm'>
|
||||
<thead class="thead-light">
|
||||
<tr>
|
||||
<th>EYE</th>
|
||||
<th>SECTION</th>
|
||||
<th>DIAGNOSIS</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@php
|
||||
$right_diagnosis_array = explode(",", $main_exam->right_eye_diagnosis);
|
||||
$left_diagnosis_array = explode(",", $main_exam->left_eye_diagnosis);
|
||||
@endphp
|
||||
@if(count($right_diagnosis_array) > 0)
|
||||
@foreach($right_diagnosis_array as $id)
|
||||
<tr>
|
||||
<td>Right</td>
|
||||
<td>{{ get_name(get_name($id, 'id', 'diagnosis_category', 'diagnoses'),'id','name','diagnosis_categories') }}</td>
|
||||
<td>{{ get_name($id, 'id', 'name', 'diagnoses') }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@else
|
||||
<th>-</th>
|
||||
<th>-</th>
|
||||
<th>-</th>
|
||||
@endif
|
||||
@if(count($left_diagnosis_array) > 0)
|
||||
@foreach($left_diagnosis_array as $id)
|
||||
<tr>
|
||||
<td>Left</td>
|
||||
<td>{{ get_name(get_name($id, 'id', 'diagnosis_category', 'diagnoses'),'id','name','diagnosis_categories') }}</td>
|
||||
<td>{{ get_name($id, 'id', 'name', 'diagnoses') }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@else
|
||||
<th>-</th>
|
||||
<th>-</th>
|
||||
<th>-</th>
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table class='table table-sm'>
|
||||
<thead class="thead-light">
|
||||
<tr>
|
||||
<th colspan="2" class="text-center">IOP</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th width="45%" class="text-center">Right</th>
|
||||
<th width="45%" class="text-center">Left</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="text-center">{{ $main_exam->iop_right ?? '-' }}</th>
|
||||
<th class="text-center">{{ $main_exam->iop_left ?? '-' }}</th>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table class='table table-sm'>
|
||||
<thead class="thead-light">
|
||||
<tr>
|
||||
<th colspan="2" class="text-center">CDR</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th width="45%" class="text-center">Right</th>
|
||||
<th width="45%" class="text-center">Left</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="text-center">{{ $main_exam->cdr_right ?? '-' }}</th>
|
||||
<th class="text-center">{{ $main_exam->cdr_left ?? '-' }}</th>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if($base_exam)
|
||||
<br><br>
|
||||
<div class="row"> <div class="col"><strong>{{ __('patient_episode.eye_clinic') }} Base Refraction Exam</strong></div></div>
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<table class="table table-sm">
|
||||
<thead class="thead-light">
|
||||
<tr>
|
||||
<th class="text-left">Visual Acuity</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-2">Distance</div>
|
||||
<div class="col-5">Right</div>
|
||||
<div class="col-5">Left</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row" style="margin-bottom: 10px">
|
||||
<div class="col-2 text-center">sc</div>
|
||||
<div class="col-5">
|
||||
{{ Form::text('visual_acuity_distance_sc_right', $base_exam->visual_acuity_distance_sc_right, ['class' => 'form-control', 'readonly']) }}
|
||||
</div>
|
||||
<div class="col-5">
|
||||
{{ Form::text('visual_acuity_distance_sc_left', $base_exam->visual_acuity_distance_sc_left, ['class' => 'form-control', 'readonly']) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin-bottom: 10px">
|
||||
<div class="col-2 text-center">ph</div>
|
||||
<div class="col-5">
|
||||
{{ Form::text('visual_acuity_distance_ph_right', $base_exam->visual_acuity_distance_ph_right, ['class' => 'form-control', 'readonly']) }}
|
||||
</div>
|
||||
<div class="col-5">
|
||||
{{ Form::text('visual_acuity_distance_ph_left', $base_exam->visual_acuity_distance_ph_left, ['class' => 'form-control', 'readonly']) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin-bottom: 10px">
|
||||
<div class="col-2 text-center">cc</div>
|
||||
<div class="col-5">
|
||||
{{ Form::text('visual_acuity_distance_cc_right', $base_exam->visual_acuity_distance_cc_right, ['class' => 'form-control', 'readonly']) }}
|
||||
</div>
|
||||
<div class="col-5">
|
||||
{{ Form::text('visual_acuity_distance_cc_left', $base_exam->visual_acuity_distance_cc_left, ['class' => 'form-control', 'readonly']) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-2">Near</div>
|
||||
<div class="col-10"></div>
|
||||
</div>
|
||||
<div class="row" style="margin-bottom: 10px">
|
||||
<div class="col-2 text-center">sc</div>
|
||||
<div class="col-5">
|
||||
{{ Form::text('visual_acuity_near_sc_right', $base_exam->visual_acuity_near_sc_right, ['class' => 'form-control', 'readonly']) }}
|
||||
</div>
|
||||
<div class="col-5">
|
||||
{{ Form::text('visual_acuity_near_sc_left', $base_exam->visual_acuity_near_sc_left, ['class' => 'form-control', 'readonly']) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-2 text-center">cc</div>
|
||||
<div class="col-5">
|
||||
{{ Form::text('visual_acuity_near_cc_right', $base_exam->visual_acuity_near_cc_right, ['class' => 'form-control', 'readonly']) }}
|
||||
</div>
|
||||
<div class="col-5">
|
||||
{{ Form::text('visual_acuity_near_cc_left', $base_exam->visual_acuity_near_cc_left, ['class' => 'form-control', 'readonly']) }}
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Add
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
{{ Form::text('added_values',$base_exam->added_values, ['class' => 'form-control', 'readonly']) }}
|
||||
</div>
|
||||
</div>
|
||||
<br/>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-6 form-group">
|
||||
<label>Best Vision Right Eye</label>
|
||||
{{ Form::text('best_right_vision',$base_exam->best_right_vision, ['class' => 'form-control', 'readonly']) }}
|
||||
</div>
|
||||
<div class="col-6 form-group">
|
||||
<label>Best Vision Left Eye</label>
|
||||
{{ Form::text('best_left_vision',$base_exam->best_left_vision, ['class' => 'form-control', 'readonly']) }}
|
||||
</div>
|
||||
</div>
|
||||
<br/>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<table class='table table-sm'>
|
||||
<thead class="thead-light">
|
||||
<tr>
|
||||
<th class="text-center">Refraction</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
Autorefractor
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row" style="margin-bottom: 10px">
|
||||
<div class="col-1"></div>
|
||||
<div class="col-11">
|
||||
<div class="row">
|
||||
<div class="col-4">Sphere</div>
|
||||
<div class="col-4">Cylinder</div>
|
||||
<div class="col-4">Axis</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin-bottom: 10px">
|
||||
<div class="col-1">R</div>
|
||||
<div class="col-11">
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
{{ $base_exam->manifest_auto_right_sphere ?? "-" }}
|
||||
</div>
|
||||
<div class="col-4">
|
||||
{{ $base_exam->manifest_auto_right_cylinder ?? "-" }}
|
||||
</div>
|
||||
<div class="col-4">
|
||||
{{ $base_exam->manifest_auto_right_axis ?? "-" }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin-bottom: 10px">
|
||||
<div class="col-1">L</div>
|
||||
<div class="col-11">
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
{{ $base_exam->manifest_auto_left_sphere ?? "-" }}
|
||||
</div>
|
||||
<div class="col-4">
|
||||
{{ $base_exam->manifest_auto_left_cylinder ?? "-" }}
|
||||
</div>
|
||||
<div class="col-4">
|
||||
{{ $base_exam->manifest_auto_left_axis ?? "-" }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Keratometry
|
||||
|
||||
<div class="row" style="margin-bottom: 10px">
|
||||
<div class="col-1"></div>
|
||||
<div class="col-11">
|
||||
<div class="row">
|
||||
<div class="col-4">K1</div>
|
||||
<div class="col-4">K2</div>
|
||||
<div class="col-4">Axis</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin-bottom: 10px">
|
||||
<div class="col-1">R</div>
|
||||
<div class="col-11">
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
{{ $base_exam->keratometry_k1_right ?? "-" }}
|
||||
</div>
|
||||
<div class="col-4">
|
||||
{{ $base_exam->keratometry_k2_right ?? "-" }}
|
||||
</div>
|
||||
<div class="col-4">
|
||||
{{ $base_exam->keratometry_axis_right ?? "-" }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin-bottom: 10px">
|
||||
<div class="col-1">L</div>
|
||||
<div class="col-11">
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
{{ $base_exam->keratometry_k1_left ?? "-" }}
|
||||
</div>
|
||||
<div class="col-4">
|
||||
{{ $base_exam->keratometry_k2_left ?? "-" }}
|
||||
</div>
|
||||
<div class="col-4">
|
||||
{{ $base_exam->keratometry_axis_left ?? "-" }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Retinoscope
|
||||
<div class="row" style="margin-bottom: 10px">
|
||||
<div class="col-1"></div>
|
||||
<div class="col-11">
|
||||
<div class="row">
|
||||
<div class="col-4">Sphere</div>
|
||||
<div class="col-4">Cylinder</div>
|
||||
<div class="col-4">Axis</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin-bottom: 10px">
|
||||
<div class="col-1">R</div>
|
||||
<div class="col-11">
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
{{ $base_exam->manifest_ret_right_sphere ?? "-" }}
|
||||
</div>
|
||||
<div class="col-4">
|
||||
{{ $base_exam->manifest_ret_right_cylinder ?? "-" }}
|
||||
</div>
|
||||
<div class="col-4">
|
||||
{{ $base_exam->manifest_ret_right_axis ?? "-" }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin-bottom: 10px">
|
||||
<div class="col-1">L</div>
|
||||
<div class="col-11">
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
{{ $base_exam->manifest_ret_left_sphere ?? "-" }}
|
||||
</div>
|
||||
<div class="col-4">
|
||||
{{ $base_exam->manifest_ret_left_cylinder ?? "-" }}
|
||||
</div>
|
||||
<div class="col-4">
|
||||
{{ $base_exam->manifest_ret_left_axis ?? "-" }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Subjective
|
||||
<div class="row" style="margin-bottom: 10px">
|
||||
<div class="col-1"></div>
|
||||
<div class="col-11">
|
||||
<div class="row">
|
||||
<div class="col-4">Sphere</div>
|
||||
<div class="col-4">Cylinder</div>
|
||||
<div class="col-4">Axis</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin-bottom: 10px">
|
||||
<div class="col-1">R</div>
|
||||
<div class="col-11">
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
{{ $base_exam->subjective_right_sphere ?? "-" }}
|
||||
</div>
|
||||
<div class="col-4">
|
||||
{{ $base_exam->subjective_right_cylinder ?? "-" }}
|
||||
</div>
|
||||
<div class="col-4">
|
||||
{{ $base_exam->subjective_right_axis ?? "-" }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin-bottom: 10px">
|
||||
<div class="col-1">L</div>
|
||||
<div class="col-11">
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
{{ $base_exam->subjective_left_sphere ?? "-" }}
|
||||
</div>
|
||||
<div class="col-4">
|
||||
{{ $base_exam->subjective_left_cylinder ?? "-" }}
|
||||
</div>
|
||||
<div class="col-4">
|
||||
{{ $base_exam->subjective_left_axis ?? "-" }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-6 form-group">
|
||||
<label>PD for Right Eye</label>
|
||||
{{ Form::text('pd_right_eye', $base_exam->pd_right_eye, ['class' => 'form-control', 'readonly']) }}
|
||||
</div>
|
||||
<div class="col-6 form-group">
|
||||
<label>PD for Left Eye</label>
|
||||
{{ Form::text('pd_left_eye', $base_exam->pd_left_eye, ['class' => 'form-control', 'readonly']) }}
|
||||
</div>
|
||||
</div>
|
||||
<br/>
|
||||
</div>
|
||||
@if (!empty($base_exam->comment))
|
||||
<div class="col">
|
||||
<table class="table table-sm table-bordered">
|
||||
<thead class="thead-light">
|
||||
<tr><th>{{ __('inpatient.doctor_comments') }} (Base Refraction Exam)</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>{!! nl2br(e($base_exam->comment)) !!}</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<strong>{{ __('inpatient.discharge_summary') }}</strong>
|
||||
|
||||
<table class="table table-light table-sm table-bordered">
|
||||
<tbody>
|
||||
<tr><td>{{ $inpatient_info->discharge_summary }}</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{{-- if a home with follow up show appointment details --}}
|
||||
@if ($inpatient_info->outcome_id == 3)
|
||||
@php
|
||||
$patient_appointment = \Streamline\Models\PatientAppointment::where(['patient_id' => $patient_id, 'episode_id' => $episode_id])->first();
|
||||
@endphp
|
||||
|
||||
<br>
|
||||
|
||||
<strong>{{ __('inpatient.appointment_details') }}</strong>
|
||||
<table class="table table-light table-sm table-bordered">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>{{ __('inpatient.appointment_date') }}</b></td>
|
||||
<td>{{ streamline_date($patient_appointment->appointment_date) }} {{ __('inpatient.at') }} {{ $patient_appointment->appointment_time }}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><b>{{ __('inpatient.clinic') }}</b></td>
|
||||
<td>{{ get_name($patient_appointment->clinic_allocation, "id", "name", "clinics") }}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><b>{{ __('inpatient.doctor_to_see') }}</b></td>
|
||||
<td>{{ get_full_name($patient_appointment->incharge_id, "id", "first_name", "last_name", "users") }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@endif
|
||||
|
||||
<br>
|
||||
|
||||
<table class="table table-light table-sm table-bordered">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>{{ __('inpatient.discharged_by') }}: </b></td>
|
||||
<td>{{ get_full_name($inpatient_info->discharged_by, "id", "first_name", "last_name", "users")}} {{ __('inpatient.on') }} {{ streamline_date($inpatient_info->discharged_on)}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<br>
|
||||
|
||||
<table class="table table-light table-bordered">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>{{ __('inpatient.printed_by') }}: </b></td>
|
||||
<td>{{ get_full_name(auth()->id(), "id", "first_name", "last_name", "users") }} {{ __('inpatient.on') }} {{ streamline_date_time(date("Y-m-d H:i:s")) }}</td>
|
||||
{{-- @if (is_add_stamp_feature_enabled() && !empty($hospitalInfo->stamp))
|
||||
<td><b>{{ __('inpatient.stamp') }}: </b></td>
|
||||
@endif --}}
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>{{ __('inpatient.printed_by_signature') }}:</b></td>
|
||||
<td></td>
|
||||
{{-- @if (is_add_stamp_feature_enabled() && !empty($hospitalInfo->stamp))
|
||||
<td>
|
||||
<img style="max-width: 300px; max-height: 140px;" src="{{ asset($hospitalInfo->stamp) }}" class="img-fluid mx-auto d-block mx-3" alt="{{ $hospitalInfo->name}} stamp">
|
||||
</td>
|
||||
@endif --}}
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@if (is_add_stamp_feature_enabled() && !empty($hospitalInfo->stamp))
|
||||
<table class="table table-borderless">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>{{ __('inpatient.stamp') }}: </b></td>
|
||||
<td style="text-align: center">
|
||||
<img style="max-width: 300px; max-height: 150px;" src="{{ asset($hospitalInfo->stamp) }}" class="img-fluid mx-auto d-block mx-3" alt="{{ $hospitalInfo->name}} stamp">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@endif
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Executable
+305
@@ -0,0 +1,305 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@push('styles')
|
||||
<link href="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('elite/bower_components/typeahead.js-master/dist/typehead-min.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('/elite/bower_components/datatables/jquery.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('elite/tables/css/buttons.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div class="row bg-title">
|
||||
<div class="col-md-7">
|
||||
<h4 class="page-title">{{ __('inpatient.incoming_inpatient_bills') }}</h4>
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">{{ __('inpatient.dashboard') }}</a></li>
|
||||
<li class="active">{{ __('inpatient.incoming_inpatient_bills') }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@include('flash::message')
|
||||
|
||||
<div class="white-box">
|
||||
{{ Form::open(['route' => 'inpatient_bills.incoming', 'method' => 'POST']) }}
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="form-group">
|
||||
{{ Form::label('ward_id', __('inpatient.wards')) }}
|
||||
{{ Form::select('ward_id', $wards, '', ['class' => 'form-control compulsory', 'required']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
{{ Form::label('inpatient_status', __('inpatient.inpatient_status')) }}
|
||||
{{ Form::select('inpatient_status', $inpatient_status, 0, ['class' => 'form-control compulsory', 'required']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="form-group" id="searchby">
|
||||
{{ Form::label('search_by', __('inpatient.date')) }}
|
||||
{{ Form::select('search_by', ['0'=>__('inpatient.today'), '1' => __('inpatient.yesterday'),'2'=>__('inpatient.custom_date'),'3'=>__('inpatient.custom_date_range')], '', ['class' => 'form-control','id'=>'search_by', 'required']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3" style="display: none;" id="date_search">
|
||||
<div class="form-group" id="reg_date" style="padding-top: 23px;">
|
||||
<div class="input-group">
|
||||
{{ Form::text('reg_date','',['class' => 'form-control compulsory', 'required','readonly','id'=>'datepicker-autoclose']) }}
|
||||
<span class="input-group-addon"><i class="icon-calender"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3" style="display: none;" id="date_range_search">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
{{ Form::label('start_date', __('inpatient.from')) }}
|
||||
<div class="input-group">
|
||||
{{ Form::text('start_date','',['class' => 'form-control compulsory','readonly','id'=>'datepicker-autoclose-1']) }}
|
||||
<span class="input-group-addon"><i class="icon-calender"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group" id="reg_date">
|
||||
{{ Form::label('end_date', __('inpatient.to')) }}
|
||||
<div class="input-group">
|
||||
{{ Form::text('end_date','',['class' => 'form-control compulsory','readonly','id'=>'datepicker-autoclose-2']) }}
|
||||
<span class="input-group-addon"><i class="icon-calender"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="form-group" style="padding-top: 5px;"><br>
|
||||
{{ Form::button(__('inpatient.submit'),['type'=>'submit','class'=>'btn btn-success waves-effect waves-light m-r-10', 'id'=>'select_patient']) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ Form::close() }}
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="white-box">
|
||||
<h4><label class="label label-info">{{ $search_text }}</label></h4>
|
||||
<div class="table-responsive">
|
||||
<table class="table color-bordered-table success-bordered-table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="display: none"></th>
|
||||
<th>{{ __('inpatient.admission_day_ward_discharge') }}</th>
|
||||
<th>{{ __('inpatient.patient_names') }}</th>
|
||||
<th>{{ __('inpatient.admitted_by') }}</th>
|
||||
<th>{{ __('inpatient.category') }}</th>
|
||||
<th>{{ __('inpatient.ward') }}</th>
|
||||
<th>{{ __('inpatient.total_saved_bill') }}</th>
|
||||
<th>{{ __('inpatient.amount_paid_and_invoiced') }}</th>
|
||||
<th>{{ __('inpatient.balance') }}</th>
|
||||
<th>{{ __('inpatient.bill_last_updated') }}</th>
|
||||
<th>{{ __('inpatient.action') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@php
|
||||
$amount_to_pay_grand_total = 0;
|
||||
$amount_paid_grand_total = 0;
|
||||
$total_bill_sum = 0;
|
||||
@endphp
|
||||
@if(count($inpatients_info) > 0)
|
||||
@foreach($inpatients_info as $inpatient_info)
|
||||
<tr>
|
||||
<th style="display: none">{{ $inpatient_info->id }}</th>
|
||||
<td>
|
||||
{{ streamline_date_time($inpatient_info->admitted_on) }}
|
||||
@php
|
||||
$admitted_on = new Carbon\Carbon($inpatient_info->admitted_on);
|
||||
|
||||
if ($inpatient_info->discharged == 1) {
|
||||
$days_on_ward = $admitted_on->diffInDays($inpatient_info->discharged_on);
|
||||
} else {
|
||||
$days_on_ward = $admitted_on->diffInDays(Carbon\Carbon::now());
|
||||
}
|
||||
@endphp
|
||||
|
||||
<br><br>
|
||||
|
||||
<span style='font-size: smaller; color: #0a776c; font-weight: bold;'>{{ $days_on_ward }} {{ __('inpatient.days_on_ward') }}</span>
|
||||
|
||||
@if($inpatient_info->discharged == 1)
|
||||
<br><br><span style="color:green; font-weight:bold">{{ __('inpatient.discharged_on') }} {{ streamline_date($inpatient_info->discharged_on) }} {{ __('inpatient.by') }} {{ get_full_name($inpatient_info->discharged_by, 'id', 'first_name', 'last_name', 'users') }}</span>
|
||||
@endif
|
||||
</td>
|
||||
<td>{!! insurance_flag($inpatient_info->patient_id) !!} ({{ $inpatient_info->patients_number }})</td>
|
||||
<td>
|
||||
{{ get_full_name($inpatient_info->created_by, "id", "first_name", "last_name", "users") }}
|
||||
</td>
|
||||
<td>{{ $patient_categories[$inpatient_info->patients_category_id] ?? "" }}</td>
|
||||
<td>{{ $wards[$inpatient_info->ward_id] ?? "" }}</td>
|
||||
@php
|
||||
$amount_to_pay = $inpatient_info->bills_amount_to_pay ?? 0;
|
||||
|
||||
$bill_last_created_by = $inpatient_info->bills_created_by;
|
||||
$bill_last_updated_by = $inpatient_info->bills_updated_by;
|
||||
|
||||
$bill_last_updated_by = $bill_last_updated_by ? get_full_name($bill_last_updated_by, 'id', 'first_name', 'last_name', 'users') : get_full_name($bill_last_created_by, 'id', 'first_name', 'last_name', 'users');
|
||||
|
||||
$amount_to_pay_grand_total += is_numeric($amount_to_pay) ? $amount_to_pay : 0;
|
||||
|
||||
$amount_to_pay = is_null($inpatient_info->bills_amount_to_pay) ? "<label class='label label-info'>Bill not yet saved</label>" : ugandan_shillings($amount_to_pay);
|
||||
|
||||
$invoices_amount = is_numeric($inpatient_info->bills_invoices_amount) ? $inpatient_info->bills_invoices_amount : 0;
|
||||
$amount_paid = is_numeric($inpatient_info->bills_amount_paid) ? $inpatient_info->bills_amount_paid : 0;
|
||||
|
||||
$amount_paid_plus_invoices_to_pay = $amount_paid + $invoices_amount;
|
||||
$amount_paid_grand_total += $amount_paid_plus_invoices_to_pay;
|
||||
$original_bill = is_numeric($inpatient_info->bills_original_bill) ? $inpatient_info->bills_original_bill : 0;
|
||||
$total_bill_sum += $original_bill;
|
||||
@endphp
|
||||
<td>{{ ugandan_shillings($original_bill) }}</td>
|
||||
<td>{!! ugandan_shillings($amount_paid_plus_invoices_to_pay) !!}</td>
|
||||
<td>
|
||||
{!! $amount_to_pay !!}
|
||||
</td>
|
||||
<td>
|
||||
{{ streamline_date_time($inpatient_info->updated_at) }} by {{ $bill_last_updated_by }}
|
||||
@php
|
||||
$inpatient_bill_record = \Streamline\Models\InpatientBill::where(['patient_id' => $inpatient_info->patient_id, 'episode_id' => $inpatient_info->episode_id])->first();
|
||||
@endphp
|
||||
|
||||
@if ($inpatient_bill_record)
|
||||
@php
|
||||
$bill_authorized_by_array = is_null($inpatient_bill_record->bill_authorized_by) ? [] : explode(",", $inpatient_bill_record->bill_authorized_by);
|
||||
$bill_authorized_at_array = is_null($inpatient_bill_record->bill_authorized_at) ? [] : explode(",",$inpatient_bill_record->bill_authorized_at);
|
||||
@endphp
|
||||
@if (count($bill_authorized_by_array) > 0)
|
||||
<p>
|
||||
<b style="color: blue">{{ __('inpatient.bill_authorized_by') }}:</b>
|
||||
@for ($i = 0; $i < count($bill_authorized_by_array); $i++)
|
||||
{{ get_full_name($bill_authorized_by_array[$i], "id", "first_name", "last_name", "users") }} {{ __('inpatient.on') }} {{ streamline_date_time($bill_authorized_at_array[$i]) }}
|
||||
@endfor
|
||||
</p>
|
||||
@endif
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
<a class="btn btn-success btn-sm" href="patient_finance/set_patient_session{{ $inpatient_info->patient_id }}">Select Patient</a>
|
||||
<br><br>
|
||||
<a class="btn btn-primary btn-sm" href="patient_finance/view_inpatient_bill/{{ $inpatient_info->patient_id }}/{{ $inpatient_info->episode_id }}">View Inpatient Bill</a>
|
||||
<br><br>
|
||||
{{ Form::open(['url' => 'receive_inpatient_payment']) }}
|
||||
{{ Form::hidden('patient_id', $inpatient_info->patient_id) }}
|
||||
{{ Form::hidden('episode_id', $inpatient_info->episode_id) }}
|
||||
{{ Form::submit('Receive Payment', ['class' => 'btn btn-info btn-sm btn-rounded'])}}
|
||||
{{ Form::close() }}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@else
|
||||
<tr class="warning"><td class="center" colspan="10">{{ __('inpatient.no_records_found') }}</td></tr>
|
||||
@endif
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th style="display: none"></th>
|
||||
<th><strong>{{ __('inpatient.total') }}</strong></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th>{{ ugandan_shillings($total_bill_sum) }}</th>
|
||||
<th>{{ ugandan_shillings($amount_paid_grand_total) }}</th>
|
||||
<th>{{ ugandan_shillings($amount_to_pay_grand_total) }}</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('styles')
|
||||
<style type="text/css">
|
||||
#depositTable td{
|
||||
border-left: 1px solid #dddddd;
|
||||
}
|
||||
</style>
|
||||
@endpush
|
||||
|
||||
@push('scripts')
|
||||
<script src="{{ asset('elite/bower_components/datatables/jquery.dataTables.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/dataTables.buttons.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.flash.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/jszip.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/pdfmake.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/vfs_fonts.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.html5.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.print.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.js') }}"></script>
|
||||
<script type="text/javascript">
|
||||
$('#datepicker-autoclose,#datepicker-autoclose-1,#datepicker-autoclose-2').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'yyyy-mm-dd'
|
||||
});
|
||||
|
||||
$('#search_by').change(function () {
|
||||
if ($(this).val() == 2) {
|
||||
$('#date_search').show();
|
||||
$('#date_range_search').hide();
|
||||
} else if ($(this).val() == 3) {
|
||||
$('#date_range_search').show();
|
||||
$('#date_search').hide();
|
||||
} else {
|
||||
$('#date_search,#date_range_search').hide();
|
||||
}
|
||||
});
|
||||
|
||||
$('.table').DataTable({
|
||||
dom: 'Bfrtip',
|
||||
pageLength: 100,
|
||||
buttons: [
|
||||
'copy',
|
||||
{ extend: 'csv',
|
||||
message: 'INCOMING INPATIENT BILLS',
|
||||
exportOptions: {
|
||||
columns: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
|
||||
},
|
||||
sheetName: 'INCOMING INPATIENT BILLS ON STREAMLINE'
|
||||
},
|
||||
{ extend: 'excel',
|
||||
message: 'INCOMING INPATIENT BILLS',
|
||||
exportOptions: {
|
||||
columns: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
|
||||
},
|
||||
sheetName: 'INPATIENT BILLS ON STREAMLINE'
|
||||
},
|
||||
{ extend: 'pdf',
|
||||
message: 'INCOMING INPATIENT BILLS',
|
||||
exportOptions: {
|
||||
columns: [ 0, 1, 2 ]
|
||||
},
|
||||
sheetName: 'INPATIENT BILLS ON STREAMLINE'
|
||||
},
|
||||
'print'
|
||||
]
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
+116
@@ -0,0 +1,116 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="row bg-title">
|
||||
<div class="col-md-7">
|
||||
<h4 class="page-title">{{ __('inpatient.inpatient_attendant_pass') }}</h4>
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">{{ __('inpatient.dashboard') }}</a></li>
|
||||
<li class="active">{{ __('inpatient.inpatient_attendant_pass') }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="white-box">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<h4>{{ __('inpatient.patient_information') }}</h4>
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table table-responsive table-bordered">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>{{ __('inpatient.patient_names') }}</b></td>
|
||||
<td>{!! insurance_flag($patient->id) !!}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>{{ __('inpatient.patient_number') }}</b></td>
|
||||
<td>{{ $patient->number }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>{{ __('inpatient.pay_later') }}</b></td>
|
||||
<td>
|
||||
@if(isset($discount->pay_later) && $discount->pay_later == 1)
|
||||
{{ __('inpatient.yes') }}
|
||||
{{ Form::hidden('pay_later', 1, ['id' => 'pay_later']) }}
|
||||
@else
|
||||
{{ __('inpatient.no') }}
|
||||
{{ Form::hidden('pay_later', 0, ['id' => 'pay_later']) }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<h4>{{ __('inpatient.deposits_made') }}</h4>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered color-bordered-table success-bordered-table">
|
||||
<thead>
|
||||
<th>{{ __('inpatient.received_on') }}</th>
|
||||
<th>{{ __('inpatient.receipt_number') }}</th>
|
||||
<th>{{ __('inpatient.received_by') }}</th>
|
||||
<th>{{ __('inpatient.amount_paid') }}</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if(count($inpatient_deposits) > 0)
|
||||
@php $total_paid = 0; @endphp
|
||||
@foreach($inpatient_deposits as $deposit)
|
||||
<tr>
|
||||
<td>{{ $deposit->receipt_number }}</td>
|
||||
<td>{{ get_full_name($deposit->created_by, 'id', 'first_name', 'last_name', 'users') }}</td>
|
||||
<td>{{ streamline_date($deposit->created_at) }}</td>
|
||||
@php $total_paid += $deposit->patient_amount_paid; @endphp
|
||||
<td>{{ ugandan_shillings($deposit->patient_amount_paid) }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
<tr>
|
||||
<td colspan="3"><b>{{ __('inpatient.total') }}</b></td>
|
||||
<td>{{ ugandan_shillings($total_paid) }}</td>
|
||||
</tr>
|
||||
@else
|
||||
<tr>
|
||||
<td colspan="4" style="color: red" class="text-center">{{ __('inpatient.no_deposits_made_yet') }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ Form::open(['route' => 'store_inpatient_attendant_pass', 'data-toggle' => 'validator']) }}
|
||||
<div class="white-box">
|
||||
<div class="row">
|
||||
@if(is_null($inpatient_bill))
|
||||
<div class="col-md-12">
|
||||
<h3><span class="label label-danger">{{ __('inpatient.no_patient_billing_generated') }}</span></h3>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="col-md-4">
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
{{ Form::label('expiry_days', __('inpatient.expire_after_how_many_days')) }}
|
||||
{{ Form::number('expiry_days', $number_of_days, ['class' => 'form-control compulsory', 'required']) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<br>
|
||||
{{ Form::button(__('inpatient.issue_pass'),['type'=>'submit','class'=>'btn btn-success waves-effect waves-light m-r-10', 'onclick' => 'return confirm("Are you sure you want to issue pass?")']) }}
|
||||
{{ Form::button(__('inpatient.cancel'),['type'=>'reset','class'=>'btn btn-default waves-effect waves-light']) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ Form::close() }}
|
||||
|
||||
@endsection
|
||||
+116
@@ -0,0 +1,116 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@push('styles')
|
||||
<link href="{{ asset('elite/bower_components/typeahead.js-master/dist/typehead-min.css') }}" rel="stylesheet">
|
||||
|
||||
<style type="text/css">
|
||||
#divToPrint{
|
||||
font-size: 12px;
|
||||
color: #7c7c7c;
|
||||
}
|
||||
|
||||
#receipt_table{
|
||||
font-size: 1em;
|
||||
font-weight: normal;
|
||||
font-family: monospace
|
||||
}
|
||||
|
||||
#receipt_table th{
|
||||
border: 1px solid #dddddd;
|
||||
}
|
||||
|
||||
#receipt_table td{
|
||||
border: 1px solid #dddddd;
|
||||
}
|
||||
|
||||
.receipt-label{
|
||||
margin-top: 10px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.receipt-title{
|
||||
font-weight: bolder;
|
||||
text-decoration: underline;
|
||||
display: block; font-family:
|
||||
monospace
|
||||
}
|
||||
</style>
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="row bg-title">
|
||||
<div class="col-md-7">
|
||||
<h4>{{ __('inpatient.inpatient_attendant_pass') }}</h4>
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">{{ __('inpatient.dashboard') }}</a></li>
|
||||
<li class="active">{{ __('inpatient.inpatient_attendant_pass') }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="white-box">
|
||||
<div class="row" style="float:right;"><button class="btn btn-success glyphicon glyphicon-print" onclick="print_receipt()"> {{ __('inpatient.print') }}</button></div>
|
||||
<div class="row" id="divToPrint">
|
||||
<div class="col-sm-3"></div>
|
||||
<div class="col-sm-6" style="text-align: center;">
|
||||
<p style="text-align: center; font-size: 1em">
|
||||
<span style="font-weight: bolder; text-decoration: underline; display: block; font-family: monospace"><b>{{ $hospital_information->name }}</b></span>
|
||||
<span style="font-weight: bolder; text-decoration: underline; display: block; font-family: monospace">{{ $hospital_information->address }}</span>
|
||||
<span class="receipt-label"><b>Tel:</b> {{ $hospital_information->phone_number }}</span><b>Email:</b> {{ $hospital_information->email }}</span><br>
|
||||
<span class="receipt-label"><b>{{ __('inpatient.department') }}:</b> {{ get_name($inpatient_info->ward_id, "id", "name", "wards") }}</span><br>
|
||||
<span class="receipt-label"><b>{{ __('inpatient.date') }}:</b> {{ streamline_date_time_short(\Carbon\Carbon::now()) }}</span><br>
|
||||
<span class="receipt-label"><b>{{ __('inpatient.patient_names') }}</b> : {{ $patient->first_name }} {{ $patient->last_name }} ({{ $patient->number }}) <b>-{{ get_name($patient->category_id, "id", "name", "patient_categories") }}</b></span>
|
||||
</p>
|
||||
|
||||
<table class="table" id="receipt_table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<b>{{ __('inpatient.patient_pass_expires') }}<br>
|
||||
{{ streamline_date_time(\Carbon\Carbon::now()->addDays($number_of_days)) }}</b>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
</div>
|
||||
|
||||
<div class="col-sm-4">
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<div style="text-align: center;">
|
||||
<small><strong>{{ __('inpatient.issued_by') }}:</strong> {{ get_full_name($attendant_pass_information->created_by, "id", "first_name", "last_name", "users") }}</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
</div>
|
||||
|
||||
<i style="font-size: 0.8em; margin-left: 50%;">© Stre@mline</i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('styles')
|
||||
<script type="text/javascript">
|
||||
function print_receipt() {
|
||||
let myDiv = document.getElementById('divToPrint');
|
||||
let newWindow = window.open('', 'SecondWindow', 'toolbar=0,stat=0');
|
||||
|
||||
newWindow.document.write("<html><body " +
|
||||
"class='' " +
|
||||
" onload='window.print()'>" +
|
||||
myDiv.innerHTML +
|
||||
"</body></html>");
|
||||
newWindow.document.close();
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
@endpush
|
||||
+1241
File diff suppressed because it is too large
Load Diff
Executable
+3169
File diff suppressed because it is too large
Load Diff
docker/statistics/Modules/WardManagement/Resources/views/inpatient/inpatient_billing_print.blade.php
Executable
+1415
File diff suppressed because it is too large
Load Diff
+178
@@ -0,0 +1,178 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ app()->getLocale() }}">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ asset('uploads/streamline/color/streamline_icon-02.png') }}">
|
||||
<title>{{ config('app.name', 'Inpatient Consultation and Services - Stre@mline') }}</title>
|
||||
<!-- Bootstrap Core CSS -->
|
||||
<link href="{{ asset('bootstrap/css/bootstrap.min.css') }}" rel="stylesheet">
|
||||
|
||||
<style>
|
||||
body{
|
||||
/*font-size: 1.2em;*/
|
||||
}
|
||||
/*thead, tfoot { display: table-row-group }*/
|
||||
thead {
|
||||
display: table-header-group;
|
||||
}
|
||||
tfoot {
|
||||
display: table-row-group;
|
||||
}
|
||||
tr {
|
||||
page-break-before: always;
|
||||
page-break-after: always;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
.card-header{
|
||||
padding: 5px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
@include('layouts.header_pdf_print')
|
||||
|
||||
<h5 class="heading" style="text-align: center;">{{ __('inpatient.inpatient_consultation_and_services_details') }}</h5>
|
||||
|
||||
<div class="row">
|
||||
<table class="table table-light table-sm table-borderless">
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.patient_number') }}</th>
|
||||
<td>{{ $patient->number}}</td>
|
||||
<td width="60" style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.ward') }}</th>
|
||||
<td>
|
||||
{{ get_name($inpatient_info->ward_id, 'id', 'name', 'wards') }} |
|
||||
@if($inpatient_info->bed_category_id)
|
||||
{{ get_name($inpatient_info->bed_category_id, 'id', 'name', 'inpatient_bed_categories') }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.patient_names') }}</th>
|
||||
<td>{{ $patient->first_name}} {{ $patient->last_name}}</td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.admitted') }}</th>
|
||||
<td>
|
||||
@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 }} {{ __('inpatient.days') }})
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.age') }}</th>
|
||||
<td><?php echo get_patients_age($patient->date_of_birth); ?></td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.discharged') }}</th>
|
||||
<td>
|
||||
@if($inpatient_info->discharged == 1)
|
||||
{{ streamline_date($inpatient_info->discharged_on) }}
|
||||
@else
|
||||
{{ __('inpatient.still_admitted') }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.gender') }}</th>
|
||||
<td>{{ $patient->gender == 1 ? __('inpatient.male') : __('inpatient.female') }}</td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th scope="row">{{ __('inpatient.category') }}</th>
|
||||
<td>
|
||||
{{ get_name($patient->category_id, 'id', 'name', 'patient_categories') }}
|
||||
|
||||
@if(!is_null($patient_discount))
|
||||
({{ $patient_discount["discount"] }} % {{ __('inpatient.discount') }})
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<?php
|
||||
$services_total_cost = 0;
|
||||
|
||||
$ward_services_quantities_given = DB::table('ward_consultations_and_services')->where(['patient_id' => $patient_id, 'episode_id' => $episode_id])->groupBy('service_id')->selectRaw('*, sum(quantity_given) as quantity_given')->get();
|
||||
?>
|
||||
|
||||
@if(count($ward_services_quantities_given) > 0)
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
{{ __('inpatient.consultation_and_services') }}
|
||||
</div>
|
||||
|
||||
<table class="table table-light table-sm">
|
||||
<thead>
|
||||
<th>{{ __('inpatient.date') }}</th>
|
||||
<th>{{ __('inpatient.name') }}</th>
|
||||
<th>{{ __('inpatient.quantity') }}</th>
|
||||
<th>{{ __('inpatient.unit_cost') }}</th>
|
||||
<th>{{ __('inpatient.subtotal') }}</th>
|
||||
</thead>
|
||||
@foreach($ward_services_quantities_given as $record)
|
||||
|
||||
<?php
|
||||
$dispensation_details = \Streamline\Models\WardConsultationsAndService::where(['patient_id' => $patient_id, 'episode_id' => $episode_id, 'service_id' => $record->service_id])->get();
|
||||
?>
|
||||
|
||||
@foreach($dispensation_details as $dispensation)
|
||||
@php
|
||||
$services_cost = $record->unit_price;
|
||||
@endphp
|
||||
<tr>
|
||||
<td>
|
||||
{{ streamline_date($dispensation->created_at) }}
|
||||
<br>
|
||||
<font style="color: blue;">{{ __('inpatient.by') }}: {{ get_full_name($dispensation->created_by, "id", "first_name", "last_name", "users") }}</font>
|
||||
</td>
|
||||
<td>
|
||||
{{ $service_items[$dispensation->service_id] }}
|
||||
</td>
|
||||
<td>
|
||||
{{ $dispensation->quantity_given }}
|
||||
</td>
|
||||
<td>
|
||||
{{ ugandan_shillings($services_cost) }}
|
||||
</td>
|
||||
<td>
|
||||
{{ ugandan_shillings($services_cost * $dispensation->quantity_given) }}
|
||||
</td>
|
||||
@php
|
||||
$single_service_cost = $services_cost * $dispensation->quantity_given;
|
||||
|
||||
$services_total_cost += $single_service_cost;
|
||||
@endphp
|
||||
</tr>
|
||||
@endforeach
|
||||
@endforeach
|
||||
<tr>
|
||||
<td colspan="3"><strong>{{ __('inpatient.services_total') }}</strong></td>
|
||||
<td colspan="2"><strong>{{ ugandan_shillings($services_total_cost) }}</strong></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+148
@@ -0,0 +1,148 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ app()->getLocale() }}">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ asset('uploads/streamline/color/streamline_icon-02.png') }}">
|
||||
<title>{{ config('app.name', 'Inpatient Progress Notes - Stre@mline') }}</title>
|
||||
<!-- Bootstrap Core CSS -->
|
||||
<link href="{{ asset('bootstrap/css/bootstrap.min.css') }}" rel="stylesheet">
|
||||
|
||||
<style>
|
||||
body{
|
||||
/*font-size: 1.2em;*/
|
||||
}
|
||||
/*thead, tfoot { display: table-row-group }*/
|
||||
thead {
|
||||
display: table-header-group;
|
||||
}
|
||||
tfoot {
|
||||
display: table-row-group;
|
||||
}
|
||||
tr {
|
||||
page-break-before: always;
|
||||
page-break-after: always;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
.card-header{
|
||||
padding: 5px;
|
||||
}
|
||||
h5{
|
||||
text-decoration: underline;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
@include('layouts.header_pdf_print')
|
||||
|
||||
<h5 class="heading" style="text-align: center;">{{ __('inpatient.inpatient_details') }}</h5>
|
||||
|
||||
<div class="row">
|
||||
<table class="table table-light table-sm table-borderless">
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.patient_number') }}</th>
|
||||
<td>{{ $patient->number}}</td>
|
||||
<td width="60" style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.ward') }}</th>
|
||||
<td>
|
||||
{{ get_name($inpatient_info->ward_id, 'id', 'name', 'wards') }} |
|
||||
@if($inpatient_info->bed_category_id)
|
||||
{{ get_name($inpatient_info->bed_category_id, 'id', 'name', 'inpatient_bed_categories') }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.patient_names') }}</th>
|
||||
<td>{{ $patient->first_name}} {{ $patient->last_name}}</td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.admitted') }}</th>
|
||||
<td>
|
||||
@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 }} {{ __('inpatient.days') }})
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.age') }}</th>
|
||||
<td><?php echo get_patients_age($patient->date_of_birth); ?></td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.discharged') }}</th>
|
||||
<td>
|
||||
@if($inpatient_info->discharged == 1)
|
||||
{{ streamline_date($inpatient_info->discharged_on) }}
|
||||
@else
|
||||
{{ __('inpatient.still_admitted') }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.gender') }}</th>
|
||||
<td>{{ $patient->gender == 1 ? __('inpatient.male') : __('inpatient.female') }}</td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th scope="row">{{ __('inpatient.category') }}</th>
|
||||
<td>
|
||||
{{ get_name($patient->category_id, 'id', 'name', 'patient_categories') }}
|
||||
|
||||
@if(!is_null($patient_discount))
|
||||
({{ $patient_discount["discount"] }} % {{ __('inpatient.discount') }})
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<h3>{{ __('inpatient.inpatient_detailed_notes') }}</h3>
|
||||
|
||||
@php $sheet_histories = DB::table('ward_inpatient_detailed_notes')->whereNull('deleted_at')->where(['patient_id' => $patient_id, 'episode_id' => $episode_id])->get(); @endphp
|
||||
@if(count($sheet_histories) > 0)
|
||||
<table class="table color-bordered-table muted-bordered-table">
|
||||
<tr>
|
||||
<td></td>
|
||||
</tr>
|
||||
@foreach($sheet_histories as $comment_record)
|
||||
<tr>
|
||||
<td>
|
||||
<h5 @if(is_null($comment_record->history)) style="display:none;"@endif>{{ __('inpatient.history') }}</h5>
|
||||
{{ $comment_record->history }}
|
||||
<h5 @if(is_null($comment_record->result)) style="display:none;"@endif>{{ __('inpatient.results') }}</h5>
|
||||
{{ $comment_record->result }}
|
||||
<h5 @if(is_null($comment_record->vitals)) style="display:none;"@endif>{{ __('inpatient.vitals_and_examination') }}</h5>
|
||||
{{ $comment_record->vitals }}
|
||||
<h5 @if(is_null($comment_record->impression)) style="display:none;"@endif>{{ __('inpatient.impression') }}</h5>
|
||||
{{ $comment_record->impression }}
|
||||
<h5 @if(is_null($comment_record->plan)) style="display:none;"@endif>{{ __('inpatient.plan') }}</h5>
|
||||
{{ $comment_record->plan }}
|
||||
<br>
|
||||
<span style="color: blue">{{ get_full_name($comment_record->created_by, "id", "first_name", "last_name", "users") }} {{ __('inpatient.on') }} {{ streamline_date_time_short($comment_record->created_at) }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Executable
+150
@@ -0,0 +1,150 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ app()->getLocale() }}">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ asset('uploads/streamline/color/streamline_icon-02.png') }}">
|
||||
<title>{{ config('app.name', 'Inpatient Extras - Stre@mline') }}</title>
|
||||
<!-- Bootstrap Core CSS -->
|
||||
<link href="{{ asset('bootstrap/css/bootstrap.min.css') }}" rel="stylesheet">
|
||||
|
||||
<style>
|
||||
body{
|
||||
/*font-size: 1.2em;*/
|
||||
}
|
||||
/*thead, tfoot { display: table-row-group }*/
|
||||
thead {
|
||||
display: table-header-group;
|
||||
}
|
||||
tfoot {
|
||||
display: table-row-group;
|
||||
}
|
||||
tr {
|
||||
page-break-before: always;
|
||||
page-break-after: always;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
.card-header{
|
||||
padding: 5px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
@include('layouts.header_pdf_print')
|
||||
|
||||
<h5 class="heading" style="text-align: center;">{{ __('inpatient.inpatient_extras_details') }}</h5>
|
||||
|
||||
<div class="row">
|
||||
<table class="table table-light table-sm table-borderless">
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.patient_number') }}</th>
|
||||
<td>{{ $patient->number}}</td>
|
||||
<td width="60" style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.ward') }}</th>
|
||||
<td>
|
||||
{{ get_name($inpatient_info->ward_id, 'id', 'name', 'wards') }} |
|
||||
@if($inpatient_info->bed_category_id)
|
||||
{{ get_name($inpatient_info->bed_category_id, 'id', 'name', 'inpatient_bed_categories') }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.patient_names') }}</th>
|
||||
<td>{{ $patient->first_name}} {{ $patient->last_name}}</td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.admitted') }}</th>
|
||||
<td>
|
||||
@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 }} {{ __('inpatient.days') }})
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.age') }}</th>
|
||||
<td><?php echo get_patients_age($patient->date_of_birth); ?></td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.discharged') }}</th>
|
||||
<td>
|
||||
@if($inpatient_info->discharged == 1)
|
||||
{{ streamline_date($inpatient_info->discharged_on) }}
|
||||
@else
|
||||
{{ __('inpatient.still_admitted') }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.gender') }}</th>
|
||||
<td>{{ $patient->gender == 1 ? __('inpatient.male') : __('inpatient.female') }}</td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th scope="row">{{ __('inpatient.category') }}</th>
|
||||
<td>
|
||||
{{ get_name($patient->category_id, 'id', 'name', 'patient_categories') }}
|
||||
|
||||
@if(!is_null($patient_discount))
|
||||
({{ $patient_discount["discount"] }} % {{ __('inpatient.discount') }})
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<?php
|
||||
$ward_extras_given = DB::table('ward_extras')->where(['patient_id' => $patient_id, 'episode_id' => $episode_id])->get();
|
||||
$extras_total_cost = 0;
|
||||
?>
|
||||
|
||||
@if(count($ward_extras_given) > 0)
|
||||
<div class="card">
|
||||
<table class="table table-light table-sm">
|
||||
<thead>
|
||||
<th>{{ __('inpatient.date') }}</th>
|
||||
<th>{{ __('inpatient.name') }}</th>
|
||||
<th>{{ __('inpatient.cost') }}</th>
|
||||
</thead>
|
||||
@foreach($ward_extras_given as $extras_record)
|
||||
<tr>
|
||||
<td>
|
||||
{{ streamline_date($extras_record->created_at)}}
|
||||
{{ __('inpatient.by') }}: <font color="blue">{{ get_full_name($extras_record->created_by, "id", "first_name", "last_name", "users")}}</font>
|
||||
</td>
|
||||
<td>
|
||||
{{ $extras_record->extra_item }}
|
||||
</td>
|
||||
<td>
|
||||
{{ ugandan_shillings($extras_record->extra_cost) }}
|
||||
@php $extras_total_cost += $extras_record->extra_cost; @endphp
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
<tr>
|
||||
<td colspan="2"><strong>{{ __('inpatient.extras_total') }}</strong></td>
|
||||
<td><strong>{{ ugandan_shillings($extras_total_cost) }}</strong></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Executable
+146
@@ -0,0 +1,146 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ app()->getLocale() }}">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ asset('uploads/streamline/color/streamline_icon-02.png') }}">
|
||||
<title>{{ config('app.name', 'Inpatient Procedures - Stre@mline') }}</title>
|
||||
<!-- Bootstrap Core CSS -->
|
||||
<link href="{{ asset('bootstrap/css/bootstrap.min.css') }}" rel="stylesheet">
|
||||
|
||||
<style>
|
||||
body{
|
||||
/*font-size: 1.2em;*/
|
||||
}
|
||||
/*thead, tfoot { display: table-row-group }*/
|
||||
thead {
|
||||
display: table-header-group;
|
||||
}
|
||||
tfoot {
|
||||
display: table-row-group;
|
||||
}
|
||||
tr {
|
||||
page-break-before: always;
|
||||
page-break-after: always;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
.card-header{
|
||||
padding: 5px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
@include('layouts.header_pdf_print')
|
||||
|
||||
<h5 class="heading" style="text-align: center;">{{ __('inpatient.inpatient_procedures_details') }}</h5>
|
||||
|
||||
<div class="row">
|
||||
<table class="table table-light table-sm table-borderless">
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.patient_number') }}</th>
|
||||
<td>{{ $patient->number}}</td>
|
||||
<td width="60" style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.ward') }}</th>
|
||||
<td>
|
||||
{{ get_name($inpatient_info->ward_id, 'id', 'name', 'wards') }} |
|
||||
@if($inpatient_info->bed_category_id)
|
||||
{{ get_name($inpatient_info->bed_category_id, 'id', 'name', 'inpatient_bed_categories') }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.patient_names') }}</th>
|
||||
<td>{{ $patient->first_name}} {{ $patient->last_name}}</td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.admitted') }}</th>
|
||||
<td>
|
||||
@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 }} {{ __('inpatient.days') }})
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.age') }}</th>
|
||||
<td><?php echo get_patients_age($patient->date_of_birth); ?></td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.discharged') }}</th>
|
||||
<td>
|
||||
@if($inpatient_info->discharged == 1)
|
||||
{{ streamline_date($inpatient_info->discharged_on) }}
|
||||
@else
|
||||
{{ __('inpatient.still_admitted') }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.gender') }}</th>
|
||||
<td>{{ $patient->gender == 1 ? __('inpatient.male') : __('inpatient.female') }}</td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th scope="row">{{ __('inpatient.category') }}</th>
|
||||
<td>
|
||||
{{ get_name($patient->category_id, 'id', 'name', 'patient_categories') }}
|
||||
|
||||
@if(!is_null($patient_discount))
|
||||
({{ $patient_discount["discount"] }} % {{ __('inpatient.discount') }})
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<table class="table table-bordered">
|
||||
<?php
|
||||
$ward_investigation_pricings = DB::table('ward_investigation_pricings')->where(['patient_id' => $patient_id, 'episode_id' => $episode_id])->get();
|
||||
?>
|
||||
|
||||
@if(count($ward_investigation_pricings) > 0)
|
||||
@php $total_modal_investigations_cost = 0; @endphp
|
||||
@foreach($ward_investigation_pricings as $ward_inv_price)
|
||||
<tr>
|
||||
<td>
|
||||
{{ __('inpatient.recorded_by') }}: <font color="blue">{{ get_full_name($ward_inv_price->created_by, "id", "first_name", "last_name", "users")}}</font><br>
|
||||
{{ __('inpatient.on') }} <b>{{ streamline_date($ward_inv_price->created_at)}}</b>
|
||||
</td>
|
||||
<td>
|
||||
{{ __('inpatient.name') }}:
|
||||
{{ get_name($ward_inv_price->investigation_id, "id", "name", "investigations") }}
|
||||
</td>
|
||||
<td>
|
||||
{{ __('inpatient.price') }}:{{ ugandan_shillings($ward_inv_price->price) }}
|
||||
</td>
|
||||
</tr>
|
||||
@php $total_modal_investigations_cost += $ward_inv_price->price; @endphp
|
||||
@endforeach
|
||||
<tr>
|
||||
<td colspan="2"><strong>{{ __('inpatient.total_cost_of_investigations') }}</strong></td>
|
||||
<td colspan="2"><strong>{{ ugandan_shillings($total_modal_investigations_cost) }}</strong></td>
|
||||
</tr>
|
||||
@endif
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Executable
+156
@@ -0,0 +1,156 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ app()->getLocale() }}">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ asset('uploads/streamline/color/streamline_icon-02.png') }}">
|
||||
<title>{{ config('app.name', 'Inpatient Progress Notes - Stre@mline') }}</title>
|
||||
<!-- Bootstrap Core CSS -->
|
||||
<link href="{{ asset('bootstrap/css/bootstrap.min.css') }}" rel="stylesheet">
|
||||
|
||||
<style>
|
||||
body{
|
||||
/*font-size: 1.2em;*/
|
||||
}
|
||||
/*thead, tfoot { display: table-row-group }*/
|
||||
thead {
|
||||
display: table-header-group;
|
||||
}
|
||||
tfoot {
|
||||
display: table-row-group;
|
||||
}
|
||||
tr {
|
||||
page-break-before: always;
|
||||
page-break-after: always;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
.card-header{
|
||||
padding: 5px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
@include('layouts.header_pdf_print')
|
||||
|
||||
<h5 class="heading" style="text-align: center;">{{ __('inpatient.inpatient_progress_notes_details') }}</h5>
|
||||
|
||||
<div class="row">
|
||||
<table class="table table-light table-sm table-borderless">
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.patient_number') }}</th>
|
||||
<td>{{ $patient->number}}</td>
|
||||
<td width="60" style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.ward') }}</th>
|
||||
<td>
|
||||
{{ get_name($inpatient_info->ward_id, 'id', 'name', 'wards') }} |
|
||||
@if($inpatient_info->bed_category_id)
|
||||
{{ get_name($inpatient_info->bed_category_id, 'id', 'name', 'inpatient_bed_categories') }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.patient_names') }}</th>
|
||||
<td>{{ $patient->first_name}} {{ $patient->last_name}}</td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.admitted') }}</th>
|
||||
<td>
|
||||
@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 }} {{ __('inpatient.days') }})
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.age') }}</th>
|
||||
<td><?php echo get_patients_age($patient->date_of_birth); ?></td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.discharged') }}</th>
|
||||
<td>
|
||||
@if($inpatient_info->discharged == 1)
|
||||
{{ streamline_date($inpatient_info->discharged_on) }}
|
||||
@else
|
||||
{{ __('inpatient.still_admitted') }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.gender') }}</th>
|
||||
<td>{{ $patient->gender == 1 ? __('inpatient.male') : __('inpatient.female') }}</td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th scope="row">{{ __('inpatient.category') }}</th>
|
||||
<td>
|
||||
{{ get_name($patient->category_id, 'id', 'name', 'patient_categories') }}
|
||||
|
||||
@if(!is_null($patient_discount))
|
||||
({{ $patient_discount["discount"] }} % {{ __('inpatient.discount') }})
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<h3>{{ __('inpatient.doctor_progress_notes') }}</h3>
|
||||
|
||||
@php $sheet_comments = DB::table('ward_inpatient_sheet_comments')->whereNull('deleted_at')->where(['patient_id' => $patient_id, 'episode_id' => $episode_id])->get(); @endphp
|
||||
@if(count($sheet_comments) > 0)
|
||||
<table class="table color-bordered-table muted-bordered-table">
|
||||
@foreach($sheet_comments as $comment_record)
|
||||
<tr>
|
||||
<td>
|
||||
<font color="blue">{{ get_full_name($comment_record->created_by, "id", "first_name", "last_name", "users") }}</font>
|
||||
{{ __('inpatient.on') }}
|
||||
<font color="blue">{{ streamline_date_time($comment_record->created_at) }}</font>
|
||||
</td>
|
||||
<td>
|
||||
{{ $comment_record->ward_comments }}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
@endif
|
||||
|
||||
<h3>{{ __('inpatient.nurse_progress_notes') }}</h3>
|
||||
|
||||
@php $sheet_comments = DB::table('ward_inpatient_sheet_nurse_comments')->whereNull('deleted_at')->where(['patient_id' => $patient_id, 'episode_id' => $episode_id])->get(); @endphp
|
||||
@if(count($sheet_comments) > 0)
|
||||
<table class="table color-bordered-table muted-bordered-table">
|
||||
@foreach($sheet_comments as $comment_record)
|
||||
<tr>
|
||||
<td>
|
||||
<font color="blue">{{ get_full_name($comment_record->created_by, "id", "first_name", "last_name", "users") }}</font>
|
||||
{{ __('inpatient.on') }}
|
||||
<font color="blue">{{ streamline_date_time($comment_record->created_at) }}</font>
|
||||
</td>
|
||||
<td>
|
||||
{{ $comment_record->ward_comments }}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+173
@@ -0,0 +1,173 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ app()->getLocale() }}">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ asset('uploads/streamline/color/streamline_icon-02.png') }}">
|
||||
<title>{{ config('app.name', 'Inpatient Procedures - Stre@mline') }}</title>
|
||||
<!-- Bootstrap Core CSS -->
|
||||
<link href="{{ asset('bootstrap/css/bootstrap.min.css') }}" rel="stylesheet">
|
||||
|
||||
<style>
|
||||
body{
|
||||
/*font-size: 1.2em;*/
|
||||
}
|
||||
/*thead, tfoot { display: table-row-group }*/
|
||||
thead {
|
||||
display: table-header-group;
|
||||
}
|
||||
tfoot {
|
||||
display: table-row-group;
|
||||
}
|
||||
tr {
|
||||
page-break-before: always;
|
||||
page-break-after: always;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
.card-header{
|
||||
padding: 5px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
@include('layouts.header_pdf_print')
|
||||
|
||||
<h5 class="heading" style="text-align: center;">{{ __('inpatient.inpatient_procedures_details') }}</h5>
|
||||
|
||||
<div class="row">
|
||||
<table class="table table-light table-sm table-borderless">
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.patient_number') }}</th>
|
||||
<td>{{ $patient->number}}</td>
|
||||
<td width="60" style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.ward') }}</th>
|
||||
<td>
|
||||
{{ get_name($inpatient_info->ward_id, 'id', 'name', 'wards') }} |
|
||||
@if($inpatient_info->bed_category_id)
|
||||
{{ get_name($inpatient_info->bed_category_id, 'id', 'name', 'inpatient_bed_categories') }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.patient_names') }}</th>
|
||||
<td>{{ $patient->first_name}} {{ $patient->last_name}}</td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.admitted') }}</th>
|
||||
<td>
|
||||
@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 }} {{ __('inpatient.days') }})
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.age') }}</th>
|
||||
<td><?php echo get_patients_age($patient->date_of_birth); ?></td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.discharged') }}</th>
|
||||
<td>
|
||||
@if($inpatient_info->discharged == 1)
|
||||
{{ streamline_date($inpatient_info->discharged_on) }}
|
||||
@else
|
||||
{{ __('inpatient.still_admitted') }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.gender') }}</th>
|
||||
<td>{{ $patient->gender == 1 ? __('inpatient.male') : __('inpatient.female') }}</td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th scope="row">{{ __('inpatient.category') }}</th>
|
||||
<td>
|
||||
{{ get_name($patient->category_id, 'id', 'name', 'patient_categories') }}
|
||||
|
||||
@if(!is_null($patient_discount))
|
||||
({{ $patient_discount["discount"] }} % {{ __('inpatient.discount') }})
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<table class="table table-bordered">
|
||||
<?php
|
||||
$ward_procedures = DB::table('ward_procedures')->where(['patient_id' => $patient_id, 'episode_id' => $episode_id])->get();
|
||||
|
||||
$total_modal_procedures_cost = 0;
|
||||
|
||||
$inpatient_procedures = @unserialize($inpatient_info->procedures);
|
||||
|
||||
$inpatient_procedures_done_by = @unserialize($inpatient_info->procedures_done_by);
|
||||
|
||||
$inpatient_procedure_hospital_fees = @unserialize($inpatient_info->procedure_hospital_fee);
|
||||
|
||||
$inpatient_procedures_staff_fees = @unserialize($inpatient_info->procedure_staff_fee);
|
||||
|
||||
$procedures_staff_fee = DB::table('ward_procedures')->whereNull('deleted_at')->where(['patient_id' => $patient_id, 'episode_id' => $episode_id])->pluck("staff_fee", "procedure_id")->toArray();
|
||||
|
||||
$procedures_hospital_fee = DB::table('ward_procedures')->whereNull('deleted_at')->where(['patient_id' => $patient_id, 'episode_id' => $episode_id])->pluck("hospital_fee", "procedure_id")->toArray();
|
||||
|
||||
$procedures_counter = 0;
|
||||
?>
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Recorded By</th>
|
||||
<th>{{ __('inpatient.name') }}</th>
|
||||
<th>{{ __('inpatient.hospital_fees') }}</th>
|
||||
<th>{{ __('inpatient.staff_fees') }}</th>
|
||||
<th>{{ __('inpatient.performed_by') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach($ward_procedures as $ward_procedure_record)
|
||||
<tr>
|
||||
<td>
|
||||
<font color="blue">{{ get_full_name($ward_procedure_record->created_by, "id", "first_name", "last_name", "users")}}</font>
|
||||
{{ __('inpatient.on') }} <b>{{ is_null($ward_procedure_record->procedure_date) ? streamline_date($ward_procedure_record->created_at) : streamline_date($ward_procedure_record->procedure_date) }}</b>
|
||||
</td>
|
||||
<td>
|
||||
{{ get_name($ward_procedure_record->procedure_id, "id", "name", "procedures") }}
|
||||
@php
|
||||
$single_procedure_cost = 0;
|
||||
if($ward_procedure_record->hospital_fee || $ward_procedure_record->staff_fee) {
|
||||
$single_procedure_cost = $ward_procedure_record->hospital_fee + $ward_procedure_record->staff_fee;
|
||||
}
|
||||
@endphp
|
||||
({{ __('inpatient.cost') }} : {{ugandan_shillings($single_procedure_cost) }})
|
||||
</td>
|
||||
<td>{{ ugandan_shillings($ward_procedure_record->hospital_fee) }}</td>
|
||||
<td>{{ ugandan_shillings($ward_procedure_record->staff_fee) }}</td>
|
||||
<td>
|
||||
{{ get_full_name($ward_procedure_record->performed_by, "id", "first_name", "last_name", "users") }}
|
||||
</td>
|
||||
</tr>
|
||||
@php $total_modal_procedures_cost += $single_procedure_cost; @endphp
|
||||
@endforeach
|
||||
<tr>
|
||||
<td colspan="2">{{ __('inpatient.cost') }}</td>
|
||||
<td colspan="3">{{ ugandan_shillings($total_modal_procedures_cost) }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Executable
+3555
File diff suppressed because it is too large
Load Diff
docker/statistics/Modules/WardManagement/Resources/views/inpatient/inpatient_sheet_history.blade.php
Executable
+1100
File diff suppressed because it is too large
Load Diff
+183
@@ -0,0 +1,183 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ app()->getLocale() }}">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ asset('uploads/streamline/color/streamline_icon-02.png') }}">
|
||||
<title>{{ config('app.name', 'Inpatient Sundries - Stre@mline') }}</title>
|
||||
<!-- Bootstrap Core CSS -->
|
||||
<link href="{{ asset('bootstrap/css/bootstrap.min.css') }}" rel="stylesheet">
|
||||
|
||||
<style>
|
||||
body{
|
||||
/*font-size: 1.2em;*/
|
||||
}
|
||||
/*thead, tfoot { display: table-row-group }*/
|
||||
thead {
|
||||
display: table-header-group;
|
||||
}
|
||||
tfoot {
|
||||
display: table-row-group;
|
||||
}
|
||||
tr {
|
||||
page-break-before: always;
|
||||
page-break-after: always;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
.card-header{
|
||||
padding: 5px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
@include('layouts.header_pdf_print')
|
||||
|
||||
<h5 class="heading" style="text-align: center;">{{ __('inpatient.inpatient_sundries_details') }}</h5>
|
||||
|
||||
<div class="row">
|
||||
<table class="table table-light table-sm table-borderless">
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.patient_number') }}</th>
|
||||
<td>{{ $patient->number}}</td>
|
||||
<td width="60" style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.ward') }}</th>
|
||||
<td>
|
||||
{{ get_name($inpatient_info->ward_id, 'id', 'name', 'wards') }} |
|
||||
@if($inpatient_info->bed_category_id)
|
||||
{{ get_name($inpatient_info->bed_category_id, 'id', 'name', 'inpatient_bed_categories') }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.patient_names') }}</th>
|
||||
<td>{{ $patient->first_name}} {{ $patient->last_name}}</td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.admitted') }}</th>
|
||||
<td>
|
||||
@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 }} {{ __('inpatient.days') }})
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.age') }}</th>
|
||||
<td><?php echo get_patients_age($patient->date_of_birth); ?></td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.discharged') }}</th>
|
||||
<td>
|
||||
@if($inpatient_info->discharged == 1)
|
||||
{{ streamline_date($inpatient_info->discharged_on) }}
|
||||
@else
|
||||
{{ __('inpatient.still_admitted') }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.gender') }}</th>
|
||||
<td>{{ $patient->gender == 1 ? __('inpatient.male') : __('inpatient.female') }}</td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th scope="row">{{ __('inpatient.category') }}</th>
|
||||
<td>
|
||||
{{ get_name($patient->category_id, 'id', 'name', 'patient_categories') }}
|
||||
|
||||
@if(!is_null($patient_discount))
|
||||
({{ $patient_discount["discount"] }} % {{ __('inpatient.discount') }})
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
$ward_sundry_quantities_given = DB::table('ward_sundry_dispensations')->where(['patient_id' => $patient_id, 'episode_id' => $episode_id])->groupBy('sundry_id')->selectRaw('*, sum(quantity_given) as quantity_given')->get();
|
||||
$sundries_total_cost = $insurance_sundries = 0;
|
||||
$patient_insurance_status = (patient_insurance_status($patient_id) == 1);
|
||||
?>
|
||||
|
||||
<div class="row">
|
||||
<table class="table table-light table-sm table-borderless">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ __('inpatient.name') }}</th>
|
||||
<th>{{ __('patient_finance.unit_cost') }}</th>
|
||||
<th @if(!$patient_insurance_status) style="display: none" @endif>{{ __('inpatient.insurance_unit_price') }}</th>
|
||||
<th>{{ __('inpatient.quantity') }}</th>
|
||||
<th>{{ __('inpatient.patient_to_pay') }}</th>
|
||||
<th @if(!$patient_insurance_status) style="display: none" @endif>{{ __('inpatient.insurance_to_pay') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@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 {
|
||||
$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) ? $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
|
||||
<tr>
|
||||
<td>{{ get_name($sundry_record->sundry_id, "id", "name", "sundries") }}</td>
|
||||
<td>{{ $this_sundry_sp }}</td>
|
||||
<td @if(!$patient_insurance_status) style="display: none" @endif>{{ $insurance_sundry_amount }}</td>
|
||||
<td>{{ $sundry_record->quantity_given }}</td>
|
||||
<td>{{ $this_sundry_total_price }}</td>
|
||||
<td @if(!$patient_insurance_status) style="display: none" @endif>{{ $sundry_record->quantity_given * $insurance_sundry_amount }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
<tr>
|
||||
<td colspan="4"><strong>{{ __('inpatient.sundries_total') }}</strong></td>
|
||||
<td><strong>{{ ugandan_shillings($sundries_total_cost) }}</strong></td>
|
||||
<td><strong>{{ ugandan_shillings($insurance_sundries) }}</strong></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+189
@@ -0,0 +1,189 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ app()->getLocale() }}">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ asset('uploads/streamline/color/streamline_icon-02.png') }}">
|
||||
<title>{{ config('app.name', 'Inpatient Sundries - Stre@mline') }}</title>
|
||||
<!-- Bootstrap Core CSS -->
|
||||
<link href="{{ asset('bootstrap/css/bootstrap.min.css') }}" rel="stylesheet">
|
||||
|
||||
<style>
|
||||
body{
|
||||
/*font-size: 1.2em;*/
|
||||
}
|
||||
/*thead, tfoot { display: table-row-group }*/
|
||||
thead {
|
||||
display: table-header-group;
|
||||
}
|
||||
tfoot {
|
||||
display: table-row-group;
|
||||
}
|
||||
tr {
|
||||
page-break-before: always;
|
||||
page-break-after: always;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
.card-header{
|
||||
padding: 5px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
@include('layouts.header_pdf_print')
|
||||
|
||||
<h5 class="heading" style="text-align: center;">{{ __('inpatient.inpatient_treatment_details') }}</h5>
|
||||
|
||||
<div class="row">
|
||||
<table class="table table-light table-sm table-borderless">
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.patient_number') }}</th>
|
||||
<td>{{ $patient->number}}</td>
|
||||
<td width="60" style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.ward') }}</th>
|
||||
<td>
|
||||
{{ get_name($inpatient_info->ward_id, 'id', 'name', 'wards') }} |
|
||||
@if($inpatient_info->bed_category_id)
|
||||
{{ get_name($inpatient_info->bed_category_id, 'id', 'name', 'inpatient_bed_categories') }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.patient_names') }}</th>
|
||||
<td>{{ $patient->first_name}} {{ $patient->last_name}}</td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.admitted') }}</th>
|
||||
<td>
|
||||
@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 }} {{ __('inpatient.days') }})
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.age') }}</th>
|
||||
<td><?php echo get_patients_age($patient->date_of_birth); ?></td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.discharged') }}</th>
|
||||
<td>
|
||||
@if($inpatient_info->discharged == 1)
|
||||
{{ streamline_date($inpatient_info->discharged_on) }}
|
||||
@else
|
||||
{{ __('inpatient.still_admitted') }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.gender') }}</th>
|
||||
<td>{{ $patient->gender == 1 ? __('inpatient.male') : __('inpatient.female') }}</td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th scope="row">{{ __('inpatient.category') }}</th>
|
||||
<td>
|
||||
{{ get_name($patient->category_id, 'id', 'name', 'patient_categories') }}
|
||||
|
||||
@if(!is_null($patient_discount))
|
||||
({{ $patient_discount["discount"] }} % {{ __('inpatient.discount') }})
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
|
||||
<?php
|
||||
//get the quantity given so far of this particular treatment
|
||||
$ward_quantities_given_option2 = DB::table('ward_treatment_dispensations')->where(['patient_id' => $patient_id, 'episode_id' => $episode_id])->groupBy('drug_id')->selectRaw('*, sum(quantity_given) as quantity_given')->get();
|
||||
|
||||
$treatment_total_cost = 0;
|
||||
?>
|
||||
|
||||
@if(count($ward_quantities_given_option2) > 0)
|
||||
<div class="card">
|
||||
@if(get_ward_prescription_model() == 1)
|
||||
<div class="card-header">
|
||||
{{ __('inpatient.treatments') }}
|
||||
</div>
|
||||
|
||||
<table class="table table-light table-sm">
|
||||
<thead>
|
||||
<th>{{ __('inpatient.date') }}</th>
|
||||
<th>{{ __('inpatient.name') }}</th>
|
||||
<th>{{ __('inpatient.quantity') }}</th>
|
||||
<th>{{ __('inpatient.unit_cost') }}</th>
|
||||
<th>{{ __('inpatient.subtotal') }}</th>
|
||||
</thead>
|
||||
@foreach($ward_quantities_given_option2 as $record)
|
||||
<?php
|
||||
$dispensation_details = \Streamline\Models\WardTreatmentDispensation::where(['patient_id' => $patient_id, 'episode_id' => $episode_id, 'drug_id' => $record->drug_id])->get();
|
||||
?>
|
||||
|
||||
@foreach($dispensation_details as $dispensation)
|
||||
@php
|
||||
$drugs_cost = 0;
|
||||
// check if drug and patient is eligible for insurance
|
||||
if(get_name($dispensation->drug_id, "id", "insurance_coverage", "drugs") == 1 && patient_insurance_status($patient_id) == 1){
|
||||
$drugs_cost = get_name($dispensation->drug_id, "id", "insured_price", "drugs");
|
||||
//$insurance_amount = get_name($dispensation->drug_id, "id", "non_insured_price", "drugs") - $treatment_amount;
|
||||
//$is_insured = 1;
|
||||
} else {
|
||||
$drugs_cost = get_name($dispensation->drug_id, "id", "non_insured_price", "drugs");
|
||||
}
|
||||
@endphp
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
{{ streamline_date($dispensation->created_at) }}
|
||||
<font style="color: blue;">{{ __('inpatient.by') }}: {{ get_full_name($dispensation->created_by, "id", "first_name", "last_name", "users") }}</font>
|
||||
</td>
|
||||
<td>
|
||||
{{ get_name($record->drug_id, "id", "name", "drugs") }}
|
||||
</td>
|
||||
<td>
|
||||
{{ $dispensation->quantity_given }}
|
||||
</td>
|
||||
<td>
|
||||
{{ ugandan_shillings($drugs_cost) }}
|
||||
</td>
|
||||
<td>
|
||||
{{ ugandan_shillings($drugs_cost * $dispensation->quantity_given) }}
|
||||
</td>
|
||||
@php
|
||||
$single_drug_subtotal = $drugs_cost * $dispensation->quantity_given;
|
||||
|
||||
$treatment_total_cost += $single_drug_subtotal;
|
||||
@endphp
|
||||
</tr>
|
||||
@endforeach
|
||||
@endforeach
|
||||
<tr>
|
||||
<td colspan="4"><strong>{{ __('inpatient.treatment_total') }}</strong></td>
|
||||
<td colspan="1"><strong>{{ ugandan_shillings($treatment_total_cost) }}</strong></td>
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+426
@@ -0,0 +1,426 @@
|
||||
@push('styles')
|
||||
<style type="text/css">
|
||||
|
||||
.btn-default-bluish {
|
||||
background: #b6cce2;
|
||||
border: 1px solid #e4e7ea;
|
||||
}
|
||||
</style>
|
||||
@endpush
|
||||
|
||||
@php
|
||||
$past_delivery_record = \Streamline\Models\MaternityDeliveryRecord::where(['patient_id' => $patient_id])->get();
|
||||
$babies = \Streamline\Models\Patient::where(['parent_id' => $patient_id])->get();
|
||||
@endphp
|
||||
|
||||
@if (count($past_delivery_record) > 0)
|
||||
@if( Auth::user()->can('view-delivery-record'))
|
||||
<div class="white-box" style="padding-top: 2px;">
|
||||
<h3>{{ __('inpatient.delivery_record_details') }}</h3>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped color-bordered-table success-bordered-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ __('prescriptions.date') }}</th>
|
||||
<th>{{ __('inpatient.foetal_number') }}</th>
|
||||
<th>{{ __('maternity.blood_loss') }}</th>
|
||||
<th>{{ __('maternity.blood_loss_measurement') }}</th>
|
||||
<th>{{ __('inpatient.recorded_by') }}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($past_delivery_record as $past_delivery_record)
|
||||
<tr>
|
||||
<td>
|
||||
{{ streamline_date_time($past_delivery_record->created_at) }}
|
||||
<br>
|
||||
@if(check_if_episode_is_a_followup($past_delivery_record->episode_id))
|
||||
<small style="color: green"><br>({{ __('patient_episode.review_from') }} {{ streamline_date(get_name(get_name($past_delivery_record->episode_id, 'id', 'parent_episode_id', 'patient_episodes'), 'id', 'created_at', 'patient_episodes')) }})</small>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
{{ $past_delivery_record->foetal_number }}
|
||||
</td>
|
||||
<td>{{ $past_delivery_record->blood_loss }} (mls)</td>
|
||||
<td>{{ $past_delivery_record->bloodloss_measurement }}</td>
|
||||
<td>{{ get_full_name($past_delivery_record->created_by, "id", "first_name", "last_name", "users") }}</td>
|
||||
<td>
|
||||
<a class="btn btn-rounded btn-xs btn-default-bluish view_detail_{{ $past_delivery_record->id }}" onclick="past_episode_row_details({{ $past_delivery_record->id }})">{{ __('inpatient.view_details') }}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="past_episode_row" id="past_episode_row{{ $past_delivery_record->id }}" style="display: none">
|
||||
<td colspan="6">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>{{ __('maternity.baby') }} 1</th>
|
||||
@if($past_delivery_record->foetal_number == 2)
|
||||
<th>{{ __('maternity.baby') }} 2</th>
|
||||
@elseif ($past_delivery_record->foetal_number == 3)
|
||||
<th>{{ __('maternity.baby') }} 2</th>
|
||||
<th>{{ __('maternity.baby') }} 3</th>
|
||||
@endif
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@php $foetal_number = $past_delivery_record->foetal_number; @endphp
|
||||
<tr>
|
||||
<th>{{ __('maternity.date_of_birth') }}</th>
|
||||
@php
|
||||
$date_of_birth_array = explode(",", $past_delivery_record->date_of_birth);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
<td>{{ $date_of_birth_array[$x] }}</td>
|
||||
@endfor
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('maternity.delivery_time') }}</th>
|
||||
@php
|
||||
$delivery_time_array = explode(",", $past_delivery_record->delivery_time);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
<td>{{ $delivery_time_array[$x] }}</td>
|
||||
@endfor
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('maternity.duration_1st') }}</th>
|
||||
@php
|
||||
$duration_first_array = explode(",", $past_delivery_record->duration_1);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
<td>{{ $duration_first_array[$x] }} {{ __('maternity.hours') }}</td>
|
||||
@endfor
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('maternity.duration_2nd') }}</th>
|
||||
@php
|
||||
$duration_second_stage_array = explode(",", $past_delivery_record->duration_2);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
@php
|
||||
$duration2_in_hrs_and_mins = explode("and", $duration_second_stage_array[$x]);
|
||||
@endphp
|
||||
<td>{{ $duration2_in_hrs_and_mins[0] }} {{ __('maternity.hours') }} {{ $duration2_in_hrs_and_mins[1] }} {{ __('maternity.minutes') }}</td>
|
||||
@endfor
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('maternity.duration_3rd') }}</th>
|
||||
@php
|
||||
$duration_third_stage_array = explode(",", $past_delivery_record->duration_3);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
@php
|
||||
$duration3_in_hrs_and_mins = explode("and", $duration_third_stage_array[$x]);
|
||||
@endphp
|
||||
<td>{{ $duration3_in_hrs_and_mins[0] }} {{ __('maternity.hours') }} {{ $duration2_in_hrs_and_mins[1] }} {{ __('maternity.minutes') }}</td>
|
||||
@endfor
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('maternity.delivered_by_cadre') }}</th>
|
||||
@php
|
||||
$delivered_by_cadre_array = explode(",", $past_delivery_record->delivered_by_cadre);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
<td>{{ $delivered_by_cadre_array[$x] == 1 ? "Staff" : "Student" }}</td>
|
||||
@endfor
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('maternity.delivered_by_name') }}</th>
|
||||
@php
|
||||
$delivered_by_name_array = explode(",", $past_delivery_record->delivered_by_name);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
<td>{{ isset($users[$delivered_by_name_array[$x]]) ? get_full_name($delivered_by_name_array[$x], "id", "first_name", "last_name", "users") : '' }}</td>
|
||||
@endfor
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('maternity.supervised_by') }}</th>
|
||||
@php
|
||||
$supervised_by_array = explode(",", $past_delivery_record->supervised_by);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
<td>{{ isset($users[$supervised_by_array[$x]]) ? $users[$supervised_by_array[$x]] : '' }}</td>
|
||||
@endfor
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('maternity.mode_of_delivery') }}</th>
|
||||
@php
|
||||
$mode_of_delivery_array = explode(",", $past_delivery_record->mode_of_delivery);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
<td>{{ isset($delivery_modes[$mode_of_delivery_array[$x]]) ? $delivery_modes[$mode_of_delivery_array[$x]] : '' }}</td>
|
||||
@endfor
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('maternity.indication_for_cs') }}</th>
|
||||
@php
|
||||
$indication_for_cs_array = explode(",", $past_delivery_record->indication_for_cs);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
<td>{{ $indication_for_cs_array[$x] }}</td>
|
||||
@endfor
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('maternity.location_of_delivery') }}</th>
|
||||
@php
|
||||
$location_of_delivery_array = explode(",", $past_delivery_record->location_of_delivery);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
<td>{{ isset($delivery_locations[$location_of_delivery_array[$x]]) ? $delivery_locations[$location_of_delivery_array[$x]] : '' }}</td>
|
||||
@endfor
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('maternity.resuscitation_airway') }}</th>
|
||||
@php
|
||||
$resuscitation_airway_array = explode(",", $past_delivery_record->resuscitation_airway);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
<td>
|
||||
@if ($resuscitation_airway_array[$x] == "1")
|
||||
{{ __('maternity.nil') }}
|
||||
@elseif($resuscitation_airway_array[$x] == "2")
|
||||
{{ __('maternity.bag') }}
|
||||
@elseif($resuscitation_airway_array[$x] == "3")
|
||||
{{ __('maternity.mask') }}
|
||||
@endif
|
||||
</td>
|
||||
@endfor
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('maternity.resuscitation_suction') }}</th>
|
||||
@php
|
||||
$resuscitation_suction_array = explode(",", $past_delivery_record->resuscitation_suction);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
<td>{{ $resuscitation_suction_array[$x] }}</td>
|
||||
@endfor
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('maternity.comments') }}</th>
|
||||
@php
|
||||
$delivery_comments_array = explode(",", $past_delivery_record->delivery_comments);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
<td>{{ $delivery_comments_array[$x] }}</td>
|
||||
@endfor
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>{{ __('maternity.baby') }} 1</th>
|
||||
@if($past_delivery_record->foetal_number == 2)
|
||||
<th>{{ __('maternity.baby') }} 2</th>
|
||||
@elseif ($past_delivery_record->foetal_number == 3)
|
||||
<th>{{ __('maternity.baby') }} 2</th>
|
||||
<th>{{ __('maternity.baby') }} 3</th>
|
||||
@endif
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>{{ __('maternity.received_by') }}</th>
|
||||
@php
|
||||
$received_by_array = explode(",", $past_delivery_record->received_by);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
<td>{{ isset($users[$received_by_array[$x]]) ? get_full_name($received_by_array[$x], "id", "first_name", "last_name", "users") : '' }}</td>
|
||||
@endfor
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('maternity.sex') }}</th>
|
||||
@php
|
||||
$gender_array = explode(",", $past_delivery_record->gender);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
@if($gender_array[$x] ==1 )
|
||||
<td>{{ __('maternity.female') }}</td>
|
||||
@elseif($gender_array[$x] == 2)
|
||||
<td>{{ __('maternity.male') }}</td>
|
||||
@else
|
||||
<td>{{ __('maternity.other') }}</td>
|
||||
@endif
|
||||
@endfor
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('maternity.condition') }}</th>
|
||||
@php
|
||||
$baby_condition_array = explode(",", $past_delivery_record->baby_condition);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
@if($baby_condition_array[$x] == 1)
|
||||
<td>{{ __('maternity.alive') }}</td>
|
||||
@elseif($baby_condition_array[$x] == 2)
|
||||
<td>{{ __('maternity.fresh_sb') }}</td>
|
||||
@elseif($baby_condition_array[$x] == 3)
|
||||
<td>{{ __('maternity.macerated_sb') }}</td>
|
||||
@endif
|
||||
@endfor
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('maternity.weight') }}</th>
|
||||
@php
|
||||
$weight_array = explode(",", $past_delivery_record->weight);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
<td>{{ $weight_array[$x] }} Kg</td>
|
||||
@endfor
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('maternity.congenital_abnormalities_apparent') }}</th>
|
||||
@php
|
||||
$congenital_abnormalities_array = explode(",", $past_delivery_record->congenital_abnormalities);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
<td>{{ $congenital_abnormalities_array[$x] }}</td>
|
||||
@endfor
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('maternity.birth_order') }}</th>
|
||||
@php
|
||||
$birth_order_array = explode(",", $past_delivery_record->birth_order);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
<td>{{ $birth_order_array[$x] }}</td>
|
||||
@endfor
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('maternity.apgar_1') }}</th>
|
||||
@php
|
||||
$apgar_score_at_1_min_array = explode(",", $past_delivery_record->apgar_score_at_minute_1);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
<td>{{ $apgar_score_at_1_min_array[$x] }}</td>
|
||||
@endfor
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('maternity.apgar_5') }}</th>
|
||||
@php
|
||||
$apgar_score_at_5_min_array = explode(",", $past_delivery_record->apgar_score_at_minute_5);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
<td>{{ $apgar_score_at_5_min_array[$x] }}</td>
|
||||
@endfor
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('maternity.apgar_10') }}</th>
|
||||
@php
|
||||
$apgar_score_at_10_min_array = explode(",", $past_delivery_record->apgar_score_at_minute_10);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
<td>{{ $apgar_score_at_10_min_array[$x] }}</td>
|
||||
@endfor
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('maternity.age_established_respiration') }}</th>
|
||||
@php
|
||||
$age_established_spontaneous_respiration_array = explode(",", $past_delivery_record->age_established_spontaneous_reg_respiration);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
<td>{{ $age_established_spontaneous_respiration_array[$x] }}</td>
|
||||
@endfor
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('maternity.comments') }}</th>
|
||||
@php
|
||||
$baby_comments_array = explode(",", $past_delivery_record->baby_comments);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
<td>{{ $baby_comments_array[$x] }}</td>
|
||||
@endfor
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>{{ __('maternity.moved_to') }}</th>
|
||||
@php
|
||||
$moved_to_array = explode(",", $past_delivery_record->moved_to);
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < $foetal_number; $x++)
|
||||
<td>{{ get_name($moved_to_array[$x], "id", "name", "wards") }}</td>
|
||||
@endfor
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
@if (count($babies) > 0)
|
||||
<tr>
|
||||
<th colspan="6"><b>Baby details</b></th>
|
||||
</tr>
|
||||
@php $baby_counter = 1; @endphp
|
||||
@foreach($babies as $baby)
|
||||
<tr>
|
||||
<td>{{ $baby_counter }}. {{ $baby->first_name." ".$baby->last_name }} ({{ $baby->number }}) <a href="/patient_episodes/set_patient_id/{{ $baby->id }}" class="btn btn-success btn-xs btn-rounded">{{ __('inpatient.select_baby_home') }}</a>
|
||||
</td>
|
||||
<td colspan="5"></td>
|
||||
</tr>
|
||||
@php $baby_counter++; @endphp
|
||||
@endforeach
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@endif
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
|
||||
let current_past_episode = 0;
|
||||
function past_episode_row_details(id) {
|
||||
$('.past_episode_row').hide();
|
||||
|
||||
if (current_past_episode !== id) {
|
||||
$('#past_episode_row' + id).show();
|
||||
current_past_episode = id;
|
||||
$('.view_detail_'+id).html("Hide Details");
|
||||
} else {
|
||||
current_past_episode = 0;
|
||||
$('.view_detail_'+id).html("View Details");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@endpush
|
||||
+267
@@ -0,0 +1,267 @@
|
||||
@if(Auth::user()->can('view-vitals-on-inpatient-sheet'))
|
||||
|
||||
<hr>
|
||||
|
||||
<h4>Vitals and Observations</h4>
|
||||
|
||||
<table class="table table-bordered color-bordered-table success-bordered-table">
|
||||
<tbody>
|
||||
@if(count($patient_vitals) > 0)
|
||||
@foreach($patient_vitals as $key => $value)
|
||||
<tr>
|
||||
<td class="text-center"><span style="font-size: 18px; color: black">{{ $key }}</span></td>
|
||||
<td>
|
||||
<table class="table table-bordered color-bordered-table success-bordered-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
@php $vitals_counter = 0; @endphp
|
||||
@foreach($value as $value_array)
|
||||
@php
|
||||
if($vitals_counter > 4) {
|
||||
break;
|
||||
}
|
||||
$vitals_counter++;
|
||||
@endphp
|
||||
<td>
|
||||
<span style="font-size: 15px; color: black">{{ $value_array["value"] }}</span>
|
||||
|
||||
<hr>
|
||||
|
||||
@php
|
||||
try {
|
||||
echo Carbon\Carbon::parse($value_array["time"])->toDateTimeString();
|
||||
} catch (Exception) {}
|
||||
@endphp
|
||||
</td>
|
||||
@endforeach
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@else
|
||||
<tr>
|
||||
<td style="color: black" class="text-center">No Vitals Registered</td>
|
||||
</tr>
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<a class="btn btn-sm btn-rounded btn-primary" data-toggle="modal" data-target="#view_vitals">View All Vitals</a>
|
||||
<a class="btn btn-sm btn-rounded btn-success" data-toggle="modal" data-target="#add_vitals">Add New Vitals</a>
|
||||
@endif
|
||||
|
||||
<div class="modal fade" id="add_vitals" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title" id="add_vitals_label">Add New Vitals</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<input type='hidden' id="age_group" value="{{ $age_group }}">
|
||||
|
||||
<h4>Select Vitals</h4>
|
||||
|
||||
<input type='hidden' id="vitals_slug_0">
|
||||
|
||||
<table class='table color-bordered-table success-bordered-table'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="25%">Vitals</th>
|
||||
<th>Value</th>
|
||||
<th>Normal Ranges</th>
|
||||
<th width="10%">NEWS</th>
|
||||
<th>TIme and Date</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody class='vitals_table'>
|
||||
<tr>
|
||||
<td>
|
||||
<div class='form-group controls'>
|
||||
<select name='vitals_observations[]' id='vitals_observation_0' class='form-control compulsory required' onchange='get_observation_info(0, this.value)'>@php echo $options_observations; @endphp</select>
|
||||
<input type='hidden' id='vitals_slug_0'>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class='form-group controls'>
|
||||
<input type='number' class='form-control' id='vitals_value_0' name='vitals_value[]' onchange='get_score(0, this.value)'>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class='form-group controls'>
|
||||
<input type='text' class='form-control' id='vitals_normal_ranges_0' readonly>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div id='vitals_news_0'></div>
|
||||
</td>
|
||||
<td>
|
||||
<div class='form-group controls'>
|
||||
<input type='datetime-local' name='vitals_datetime[]' id='vitals_datetime_0' class='form-control compulsory' />
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class='form-group'>
|
||||
<button type='button' class='btn btn-sm btn-rounded btn-success add_vitals_row' style='color: white;'><i class='fa fa-plus'></i></button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<br>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-success" onclick="save_vitals()">Save</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ __('layout.close') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="view_vitals" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title" id="view_vitals_label">View All Vitals</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered color-bordered-table success-bordered-table">
|
||||
<tbody>
|
||||
@if(count($patient_vitals) > 0)
|
||||
@foreach($patient_vitals as $key => $value)
|
||||
<tr>
|
||||
<td class="text-center"><span style="font-size: 18px; color: black">{{ $key }}</span></td>
|
||||
<td>
|
||||
<table class="table table-bordered color-bordered-table success-bordered-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
@foreach($value as $value_array)
|
||||
<td>
|
||||
<span style="font-size: 15px; color: black">{{ $value_array["value"] }}</span>
|
||||
|
||||
<hr>
|
||||
|
||||
@php
|
||||
try {
|
||||
echo Carbon\Carbon::parse($value_array["time"])->toDateTimeString();
|
||||
} catch (Exception) {}
|
||||
@endphp
|
||||
</td>
|
||||
@endforeach
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@else
|
||||
<tr>
|
||||
<td style="color: black" class="text-center">No Vitals Registered</td>
|
||||
</tr>
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ __('layout.close') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@push('scripts')
|
||||
<script src="{{ asset('js/observations/all_age_groups.js') }}"></script>
|
||||
|
||||
<script>
|
||||
let vitals_rows = 1;
|
||||
|
||||
$('.add_vitals_row').click(function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
$('.vitals_table').append("<tr id='vitals_row_" + vitals_rows + "'>\
|
||||
<td><div class='form-group controls'>\
|
||||
<select name='vitals_observations[]' id='vitals_observation_" + vitals_rows + "' class='form-control compulsory required' onchange='get_observation_info(" + vitals_rows + ", this.value)'>@php echo $options_observations; @endphp</select>\
|
||||
<input type='hidden' id='vitals_slug_" + vitals_rows + "'></div></td><td><div class='form-group controls'>\
|
||||
<input type='text' class='form-control' id='vitals_value_" + vitals_rows + "' name='vitals_value[]' onchange='get_score(" + vitals_rows + ", this.value)'>\
|
||||
</div></td><td>\
|
||||
<div class='form-group controls'><input type='text' class='form-control' id='vitals_normal_ranges_" + vitals_rows + "' readonly></div>\
|
||||
</td><td><div id='vitals_news_" + vitals_rows + "'></div></td><td><div class='form-group controls'>\
|
||||
<input type='datetime-local' name='vitals_datetime[]' id='vitals_datetime_" + vitals_rows + "' class='form-control compulsory'/>\
|
||||
</div></td><td><div class='form-group'>\
|
||||
<button type='button' class='btn btn-sm btn-rounded btn-danger' onclick='remove_vitals_row(" + vitals_rows + ")' style='color: white;'><i class='fa fa-trash'></i></button>\
|
||||
</div></td></tr>");
|
||||
|
||||
vitals_rows++;
|
||||
});
|
||||
|
||||
function remove_vitals_row(id) {
|
||||
$('#vitals_row_' + id).remove();
|
||||
}
|
||||
|
||||
function get_observation_info(id, value) {
|
||||
$.ajax({
|
||||
method: 'GET',
|
||||
url: '/observations/get_observation_info/' + value,
|
||||
success: function(response){
|
||||
let responseArray = JSON.parse(response);
|
||||
|
||||
if (responseArray["error"] == 0) {
|
||||
$('#vitals_normal_ranges_' + id).val(responseArray["normal_range"]);
|
||||
$('#vitals_slug_' + id).val(responseArray["slug"]);
|
||||
} else {
|
||||
$('#vitals_normal_ranges_' + id).val();
|
||||
$('#vitals_slug_' + id).val();
|
||||
}
|
||||
},
|
||||
error: function(jqXHR, textStatus, errorThrown) {
|
||||
//alert(JSON.stringify(jqXHR));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function save_vitals() {
|
||||
let vitals_observations = $("select[name='vitals_observations[]'] option:selected" ).map(function(){
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
let vitals_value = $("input[name='vitals_value[]']" ).map(function(){
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
let vitals_datetime = $("input[name='vitals_datetime[]']" ).map(function(){
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
let patient_id = $('#patient_id').val();
|
||||
let episode_id = $('#episode_id').val();
|
||||
let inpatient_id = $('#inpatient_id').val();
|
||||
|
||||
$.ajax({
|
||||
url: '/save_patient_vitals',
|
||||
data: {
|
||||
"vitals_observations[]": vitals_observations, "vitals_value[]": vitals_value, "vitals_datetime[]": vitals_datetime,
|
||||
"patient_id": patient_id, "episode_id": episode_id, "inpatient_id": inpatient_id
|
||||
},
|
||||
success: function(response){
|
||||
if (response == "1") {
|
||||
alert("Vitals successfully added");
|
||||
window.location.reload();
|
||||
} else {
|
||||
alert("Please make sure all values are filled in correctly");
|
||||
}
|
||||
},
|
||||
error: function(jqXHR, textStatus, errorThrown) {
|
||||
//
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endpush
|
||||
+388
@@ -0,0 +1,388 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ app()->getLocale() }}">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ public_path('uploads/streamline/color/streamline_icon-02.png') }}">
|
||||
<title>{{ config('app.name', 'Inpatient Bill - Stre@mline') }}</title>
|
||||
<!-- Bootstrap Core CSS -->
|
||||
<link href="{{ public_path('bootstrap/css/bootstrap.min.css') }}" rel="stylesheet">
|
||||
|
||||
<style>
|
||||
/*thead, tfoot { display: table-row-group }*/
|
||||
thead {
|
||||
display: table-header-group;
|
||||
}
|
||||
tfoot {
|
||||
display: table-row-group;
|
||||
}
|
||||
tr {
|
||||
page-break-before: always;
|
||||
page-break-after: always;
|
||||
page-break-inside: avoid !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
@include('layouts.header_pdf_print')
|
||||
<h5 class="heading" style="text-align: center;">{{ __('patient_episode.treatment_sheet') }}</h5>
|
||||
<table class="table table-light table-sm table-borderless">
|
||||
<tr>
|
||||
<th>{{ __('patient_file.patient_names') }}</th>
|
||||
<td>{{ $patient->first_name}} {{ $patient->last_name}}</td>
|
||||
<th>{{ __('patient_file.patient_number') }}</th>
|
||||
<td>{{ $patient->number}}</td>
|
||||
<th>{{ __('patient_file.gender') }}</th>
|
||||
<td><?php echo $patient->gender == 1 ? __('patient_file.male') : __('patient_file.female') ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ __('patient_file.category') }}</th>
|
||||
<td>
|
||||
{{ get_name($patient->category_id, 'id', 'name', 'patient_categories') }}
|
||||
</td>
|
||||
<th>{{ __('inpatient.ward') }}</th>
|
||||
<td>
|
||||
{{ get_name($ward_id, 'id', 'name', 'wards') }}
|
||||
</td>
|
||||
<th>{{ __('layout.admission_date') }}</th>
|
||||
<td>{{ streamline_date($admitted_on) }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<hr>
|
||||
|
||||
@if(count($ordered_cancer_protocols) > 0)
|
||||
<table class="table table-bordered color-bordered-table success-bordered-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Section</th>
|
||||
<th>Drug</th>
|
||||
<th>Dose</th>
|
||||
<th>Duration</th>
|
||||
<th>Quantity Given</th>
|
||||
<th>Given By</th>
|
||||
<th>Given On</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($ordered_cancer_protocols as $ordered_cancer_protocol)
|
||||
@php
|
||||
$pre_chemo_drugs = json_decode($ordered_cancer_protocol->pre_chemo_drugs, true);
|
||||
$chemo_drugs = json_decode($ordered_cancer_protocol->chemo_drugs, true);
|
||||
$post_chemo_drugs = json_decode($ordered_cancer_protocol->post_chemo_drugs, true);
|
||||
|
||||
$pre_chemo_drugs_count = count($pre_chemo_drugs);
|
||||
$chemo_drugs_count = count($chemo_drugs);
|
||||
$post_chemo_drugs_count = count($post_chemo_drugs);
|
||||
|
||||
$pre_chemo_doses_count = array_sum(array_map(function ($value) {return count($value['dose']);}, $pre_chemo_drugs));
|
||||
$chemo_doses_count = array_sum(array_map(function ($value) {return count($value['dose']);}, $chemo_drugs));
|
||||
$post_chemo_doses_count = array_sum(array_map(function ($value) {return count($value['dose']);}, $post_chemo_drugs));
|
||||
|
||||
$pre_chemo_doses_count += array_sum(array_map(function ($value) {return array_sum(array_map(function ($value_two) {return count($value_two['duration']);}, $value['dose']));}, $pre_chemo_drugs));
|
||||
$chemo_doses_count += array_sum(array_map(function ($value) {return array_sum(array_map(function ($value_two) {return count($value_two['duration']);}, $value['dose']));}, $chemo_drugs));
|
||||
$post_chemo_doses_count += array_sum(array_map(function ($value) {return array_sum(array_map(function ($value_two) {return count($value_two['duration']);}, $value['dose']));}, $post_chemo_drugs));
|
||||
|
||||
$protocol_details = \Streamline\Models\CancerProtocol::find($ordered_cancer_protocol->protocol_id);
|
||||
$duration_counter = 0;
|
||||
@endphp
|
||||
<tr>
|
||||
<td colspan="7">
|
||||
<h3 class="text-center">{{ $protocol_details->name }} @if($ordered_cancer_protocol->protocol_status != 0) ({{ [1 => 'Stopped', 2 => 'Completed'][$ordered_cancer_protocol->protocol_status] ?? '' }}) @endif</h3>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td rowspan="{{ $pre_chemo_drugs_count + $pre_chemo_doses_count + 1 }}">Pre-Chemo</td>
|
||||
</tr>
|
||||
|
||||
@for($x = 0; $x < $pre_chemo_drugs_count; $x++)
|
||||
@php
|
||||
$pre_chemo_duration_count = array_sum(array_map(function ($value_two) {return count($value_two['duration']);}, $pre_chemo_drugs[$x]['dose']));
|
||||
@endphp
|
||||
<tr>
|
||||
<td rowspan="{{ count($pre_chemo_drugs[$x]['dose']) + $pre_chemo_duration_count + 1 }}">
|
||||
{{ $drugs[$pre_chemo_drugs[$x]['drug_id']] ?? '' }}
|
||||
|
||||
<br><br>
|
||||
|
||||
Factor: {{ $factors[$pre_chemo_drugs[$x]['drug_factor']] ?? '' }}
|
||||
|
||||
<br>
|
||||
|
||||
Route: {{ $drug_routes[$pre_chemo_drugs[$x]['drug_route']] ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@for($i = 0; $i < count($pre_chemo_drugs[$x]['dose']); $i++)
|
||||
<tr>
|
||||
<td rowspan="{{ count($pre_chemo_drugs[$x]['dose'][$i]['duration']) + 1 }}">
|
||||
@php
|
||||
$drug_dosage = $drug_units[$drug_with_units[$pre_chemo_drugs[$x]['drug_id']]];
|
||||
|
||||
if ($pre_chemo_drugs[$x]['drug_factor'] == 1) {
|
||||
$drug_dosage .= '/m<sup>2</sup>';
|
||||
} else if ($pre_chemo_drugs[$x]['drug_factor'] == 2) {
|
||||
$drug_dosage .= '/Kg';
|
||||
}
|
||||
@endphp
|
||||
|
||||
Dose: {{ $pre_chemo_drugs[$x]['dose'][$i]['dose'] }} {!! $drug_dosage !!}
|
||||
|
||||
@if(!empty($pre_chemo_drugs[$x]['dose'][$i]['instructions']))
|
||||
<br><br>
|
||||
<span style="color: red">{{ $pre_chemo_drugs[$x]['dose'][$i]['instructions'] }}</span>
|
||||
@endif
|
||||
|
||||
@if(!empty($pre_chemo_drugs[$x]['dose'][$i]['weight_range']))
|
||||
<br><br>
|
||||
<span style="color: #0a776c">({{ $pre_chemo_drugs[$x]['dose'][$i]['weight_range'] }})</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@for($p = 0; $p < count($pre_chemo_drugs[$x]['dose'][$i]['duration']); $p++)
|
||||
<tr>
|
||||
@if(is_null($pre_chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_by']))
|
||||
<td>
|
||||
{{ $pre_chemo_drugs[$x]['dose'][$i]['duration'][$p]['name'] }}
|
||||
</td>
|
||||
<td colspan="3"></td>
|
||||
@else
|
||||
<td>
|
||||
{{ $pre_chemo_drugs[$x]['dose'][$i]['duration'][$p]['name'] }}
|
||||
</td>
|
||||
<td>{{ $pre_chemo_drugs[$x]['dose'][$i]['duration'][$p]['quantity_given'] }}</td>
|
||||
<td style="color: #00AEEF">{{ $users_array[$pre_chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_by']] }}</td>
|
||||
<td style="color: #00AEEF">{{ Carbon\Carbon::parse($pre_chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_on'])->toDateTimeString() }}</td>
|
||||
@endif
|
||||
</tr>
|
||||
|
||||
@php $duration_counter++; @endphp
|
||||
@endfor
|
||||
@endfor
|
||||
@endfor
|
||||
|
||||
<tr>
|
||||
<td rowspan="{{ $chemo_drugs_count + $chemo_doses_count + 1 }}">Chemo</td>
|
||||
</tr>
|
||||
|
||||
@for($x = 0; $x < $chemo_drugs_count; $x++)
|
||||
@php
|
||||
$chemo_duration_count = array_sum(array_map(function ($value_two) {return count($value_two['duration']);}, $chemo_drugs[$x]['dose']));
|
||||
@endphp
|
||||
<tr>
|
||||
<td rowspan="{{ count($chemo_drugs[$x]['dose']) + $chemo_duration_count + 1 }}">
|
||||
{{ $drugs[$chemo_drugs[$x]['drug_id']] ?? '' }}
|
||||
|
||||
<br><br>
|
||||
|
||||
Factor: {{ $factors[$chemo_drugs[$x]['drug_factor']] ?? '' }}
|
||||
|
||||
<br>
|
||||
|
||||
Route: {{ $drug_routes[$chemo_drugs[$x]['drug_route']] ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@for($i = 0; $i < count($chemo_drugs[$x]['dose']); $i++)
|
||||
<tr>
|
||||
<td rowspan="{{ count($chemo_drugs[$x]['dose'][$i]['duration']) + 1 }}">
|
||||
@php
|
||||
$drug_dosage = $drug_units[$drug_with_units[$chemo_drugs[$x]['drug_id']]];
|
||||
|
||||
if ($chemo_drugs[$x]['drug_factor'] == 1) {
|
||||
$drug_dosage .= '/m<sup>2</sup>';
|
||||
} else if ($chemo_drugs[$x]['drug_factor'] == 2) {
|
||||
$drug_dosage .= '/Kg';
|
||||
}
|
||||
@endphp
|
||||
|
||||
Dose: {{ $chemo_drugs[$x]['dose'][$i]['dose'] }} {!! $drug_dosage !!}
|
||||
|
||||
@if(!empty($chemo_drugs[$x]['dose'][$i]['instructions']))
|
||||
<br><br>
|
||||
<span style="color: red">{{ $chemo_drugs[$x]['dose'][$i]['instructions'] }}</span>
|
||||
@endif
|
||||
|
||||
@if(!empty($chemo_drugs[$x]['dose'][$i]['weight_range']))
|
||||
<br><br>
|
||||
<span style="color: #0a776c">({{ $chemo_drugs[$x]['dose'][$i]['weight_range'] }})</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@for($p = 0; $p < count($chemo_drugs[$x]['dose'][$i]['duration']); $p++)
|
||||
<tr>
|
||||
@if(is_null($chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_by']))
|
||||
<td>
|
||||
{{ $chemo_drugs[$x]['dose'][$i]['duration'][$p]['name'] }}
|
||||
</td>
|
||||
<td colspan="3"></td>
|
||||
@else
|
||||
<td>
|
||||
{{ $chemo_drugs[$x]['dose'][$i]['duration'][$p]['name'] }}
|
||||
</td>
|
||||
<td>{{ $chemo_drugs[$x]['dose'][$i]['duration'][$p]['quantity_given'] }}</td>
|
||||
<td style="color: #00AEEF">{{ $users_array[$chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_by']] }}</td>
|
||||
<td style="color: #00AEEF">{{ Carbon\Carbon::parse($chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_on'])->toDateTimeString() }}</td>
|
||||
@endif
|
||||
</tr>
|
||||
|
||||
@php $duration_counter++; @endphp
|
||||
@endfor
|
||||
@endfor
|
||||
@endfor
|
||||
|
||||
<tr>
|
||||
<td rowspan="{{ $post_chemo_drugs_count + $post_chemo_doses_count + 1 }}">Post-Chemo</td>
|
||||
</tr>
|
||||
|
||||
@for($x = 0; $x < $post_chemo_drugs_count; $x++)
|
||||
@php
|
||||
$post_chemo_duration_count = array_sum(array_map(function ($value_two) {return count($value_two['duration']);}, $post_chemo_drugs[$x]['dose']));
|
||||
@endphp
|
||||
<tr>
|
||||
<td rowspan="{{ count($post_chemo_drugs[$x]['dose']) + $post_chemo_duration_count + 1 }}">
|
||||
{{ $drugs[$post_chemo_drugs[$x]['drug_id']] ?? '' }}
|
||||
|
||||
<br><br>
|
||||
|
||||
Factor: {{ $factors[$post_chemo_drugs[$x]['drug_factor']] ?? '' }}
|
||||
|
||||
<br>
|
||||
|
||||
Route: {{ $drug_routes[$post_chemo_drugs[$x]['drug_route']] ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@for($i = 0; $i < count($post_chemo_drugs[$x]['dose']); $i++)
|
||||
<tr>
|
||||
<td rowspan="{{ count($post_chemo_drugs[$x]['dose'][$i]['duration']) + 1 }}">
|
||||
@php
|
||||
$drug_dosage = $drug_units[$drug_with_units[$post_chemo_drugs[$x]['drug_id']]];
|
||||
|
||||
if ($post_chemo_drugs[$x]['drug_factor'] == 1) {
|
||||
$drug_dosage .= '/m<sup>2</sup>';
|
||||
} else if ($post_chemo_drugs[$x]['drug_factor'] == 2) {
|
||||
$drug_dosage .= '/Kg';
|
||||
}
|
||||
@endphp
|
||||
|
||||
Dose: {{ $post_chemo_drugs[$x]['dose'][$i]['dose'] }} {!! $drug_dosage !!}
|
||||
|
||||
@if(!empty($post_chemo_drugs[$x]['dose'][$i]['instructions']))
|
||||
<br><br>
|
||||
<span style="color: red">{{ $post_chemo_drugs[$x]['dose'][$i]['instructions'] }}</span>
|
||||
@endif
|
||||
|
||||
@if(!empty($post_chemo_drugs[$x]['dose'][$i]['weight_range']))
|
||||
<br><br>
|
||||
<span style="color: #0a776c">({{ $post_chemo_drugs[$x]['dose'][$i]['weight_range'] }})</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@for($p = 0; $p < count($post_chemo_drugs[$x]['dose'][$i]['duration']); $p++)
|
||||
<tr>
|
||||
@if(is_null($post_chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_by']))
|
||||
<td>
|
||||
{{ $post_chemo_drugs[$x]['dose'][$i]['duration'][$p]['name'] }}
|
||||
</td>
|
||||
<td colspan="3"></td>
|
||||
@else
|
||||
<td>
|
||||
{{ $post_chemo_drugs[$x]['dose'][$i]['duration'][$p]['name'] }}
|
||||
</td>
|
||||
<td>{{ $post_chemo_drugs[$x]['dose'][$i]['duration'][$p]['quantity_given'] }}</td>
|
||||
<td style="color: #00AEEF">{{ $users_array[$post_chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_by']] }}</td>
|
||||
<td style="color: #00AEEF">{{ Carbon\Carbon::parse($post_chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_on'])->toDateTimeString() }}</td>
|
||||
@endif
|
||||
</tr>
|
||||
|
||||
@php $duration_counter++; @endphp
|
||||
@endfor
|
||||
@endfor
|
||||
@endfor
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<hr>
|
||||
@endif
|
||||
|
||||
@if(count($ward_prescriptions) > 0)
|
||||
<table class="table table-bordered color-bordered-table success-bordered-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Drug</th>
|
||||
<th>Duration</th>
|
||||
<th>Given By</th>
|
||||
<th>Given On</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($ward_prescriptions as $ward_prescription)
|
||||
@php
|
||||
$ward_prescription_drugs = explode(",", $ward_prescription->drugs);
|
||||
$ward_prescription_dose_array = isset($ward_prescription->doses) ? explode(",", $ward_prescription->doses) : [];
|
||||
$ward_prescription_freq_array = isset($ward_prescription->frequencies) ? explode(",", $ward_prescription->frequencies) : [];
|
||||
$ward_prescription_duration_array = isset($ward_prescription->durations) ? explode(",", $ward_prescription->durations) : [];
|
||||
$ward_prescription_quantity_array = isset($ward_prescription->quantities_dispensed) ? explode(",", $ward_prescription->quantities_dispensed) : [];
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < count($ward_prescription_drugs); $x++)
|
||||
@php
|
||||
$drug_unit = get_name(get_name($ward_prescription_drugs[$x], 'id', "unit_id", 'drugs'), "id", "name", "drug_units");
|
||||
$frequency = get_name($ward_prescription_freq_array[$x], "id", "name", "dosage_frequencies");
|
||||
$current_factor = get_name($ward_prescription_freq_array[$x], "id", "factor", "dosage_frequencies");
|
||||
|
||||
try { $current_factor = (int)ceil($current_factor); } catch (ErrorException $e) { $current_factor = 1; }
|
||||
|
||||
$split_duration = explode(" ", $ward_prescription_duration_array[$x]);
|
||||
$duration_counter = 0;
|
||||
$opd_quantity_to_give_per_day = ceil($ward_prescription_quantity_array[$x] / ((int)$split_duration[0] * $current_factor));
|
||||
@endphp
|
||||
<tr>
|
||||
<td rowspan="{{ ((int)$split_duration[0] * $current_factor) + 1 }}">
|
||||
{{ $drugs[$ward_prescription_drugs[$x]] }}
|
||||
<br><br>
|
||||
{{ $ward_prescription_dose_array[$x] }} {{ $drug_unit }} {{ $frequency}}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@for($p = 0; $p < $split_duration[0]; $p++)
|
||||
@for($y = 0; $y < $current_factor; $y++)
|
||||
@php
|
||||
// get the dispensed so far
|
||||
$treatment_sheet_dispensations = \Streamline\Models\TreatmentSheetDispensations::where('ward_treatment_id', $ward_prescription->id)
|
||||
->where('drug_id', $ward_prescription_drugs[$x])->where('order_number', $duration_counter)->first();
|
||||
@endphp
|
||||
<tr>
|
||||
@if($treatment_sheet_dispensations)
|
||||
<td>Day {{ $p + 1 }} <br> Dose {{ $y + 1 }}</td>
|
||||
<td style="color: #00AEEF">{{ $users_array[$treatment_sheet_dispensations->given_by] }}</td>
|
||||
<td style="color: #00AEEF">{{ Carbon\Carbon::parse($treatment_sheet_dispensations->given_on)->toDateTimeString() }}</td>
|
||||
@else
|
||||
<td colspan="3" style="display: none">Day {{ $p + 1 }}     Dose {{ $y + 1 }}</td>
|
||||
@endif
|
||||
@php $duration_counter++; @endphp
|
||||
</tr>
|
||||
@endfor
|
||||
@endfor
|
||||
@endfor
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
@endif
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Executable
+346
@@ -0,0 +1,346 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ app()->getLocale() }}">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ asset('uploads/streamline/color/streamline_icon-02.png') }}">
|
||||
<title>{{ config('app.name', 'Referral Notes - Stre@mline') }}</title>
|
||||
<!-- Bootstrap Core CSS -->
|
||||
<link href="{{ asset('bootstrap/css/bootstrap.min.css') }}" rel="stylesheet">
|
||||
|
||||
<style>
|
||||
body{
|
||||
font-size: 0.8em;
|
||||
}
|
||||
/*thead, tfoot { display: table-row-group }*/
|
||||
thead {
|
||||
display: table-header-group;
|
||||
}
|
||||
tfoot {
|
||||
display: table-row-group;
|
||||
}
|
||||
tr {
|
||||
page-break-before: always;
|
||||
page-break-after: always;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
.card-header{
|
||||
padding: 5px;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
@include('layouts.header_pdf_print')
|
||||
|
||||
<h5 class="heading" style="text-align: center;"> {{ __('inpatient.inpatient_referral_notes') }}</h5>
|
||||
|
||||
<div class="row col">
|
||||
<table class="table table-light table-sm table-borderless">
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.patient_number') }}</th>
|
||||
<td>{{ $patient->number}}</td>
|
||||
<td width="60" style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.ward') }}</th>
|
||||
<td>
|
||||
{{ get_name($inpatient_info->ward_id, 'id', 'name', 'wards') }} |
|
||||
@if(is_null($inpatient_info->bed_category_id))
|
||||
@else
|
||||
{{ get_name($inpatient_info->bed_category_id, 'id', 'name', 'inpatient_bed_categories') }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.patient_names') }}</th>
|
||||
<td>{{ $patient->first_name}} {{ $patient->last_name}}</td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.admitted') }}</th>
|
||||
<td>
|
||||
@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 }} {{ __('inpatient.days') }})
|
||||
|
||||
{{ Form::hidden("duration", $days_spent_in_ward) }}
|
||||
{{ Form::hidden("inpatient_info_id", $inpatient_info->id) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.age') }}</th>
|
||||
<td><?php echo get_patients_age($patient->date_of_birth); ?></td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th>{{ __('inpatient.discharged') }}</th>
|
||||
<td>
|
||||
@if($inpatient_info->discharged == 1)
|
||||
{{ streamline_date($inpatient_info->discharged_on) }}
|
||||
@else
|
||||
{{ __('inpatient.still_admitted') }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{{ __('inpatient.gender') }}</th>
|
||||
<td>{{ $patient->gender == 1 ? __('inpatient.male') : __('inpatient.female') }}</td>
|
||||
<td style="border-top: 0px;"> </td>
|
||||
<th scope="row">{{ __('inpatient.category') }}</th>
|
||||
<td>
|
||||
{{ get_name($patient->category_id, 'id', 'name', 'patient_categories') }}
|
||||
|
||||
@if(!is_null($patient_discount))
|
||||
({{ $patient_discount["discount"] }} % {{ __('inpatient.discount') }})
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
@if( Auth::user()->can('view-patient-episode-primary-diagnoses'))
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<strong>{{ __('inpatient.primary_diagnosis') }}</strong>
|
||||
</div>
|
||||
|
||||
@php
|
||||
$primary_diagnosis = \Streamline\Models\Diagnosis::withTrashed()->find($inpatient_info->primary_diagnosis);
|
||||
@endphp
|
||||
|
||||
<table class="table table-light table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>{{ $primary_diagnosis ? $primary_diagnosis->name : "" }}</td>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@php
|
||||
$other_diagnoses = @unserialize($inpatient_info->other_diagnoses);
|
||||
@endphp
|
||||
|
||||
@if(!empty($other_diagnoses))
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<strong>{{ __('inpatient.secondary_diagnosis') }}</strong>
|
||||
</div>
|
||||
<table class="table table-light table-sm">
|
||||
<thead>
|
||||
@foreach($other_diagnoses as $diagnosis)
|
||||
@php
|
||||
$other_diagnosis = \Streamline\Models\Diagnosis::withTrashed()->find($diagnosis);
|
||||
@endphp
|
||||
<tr>
|
||||
<td>{{ $other_diagnosis ? $other_diagnosis->name : "" }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<strong>{{ __('inpatient.clinical_summary') }}</strong>
|
||||
</div>
|
||||
<table class="table table-light table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>{{ $inpatient_info->clinical_summary }}</td>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<strong>{{ __('inpatient.investigations_done') }}</strong>
|
||||
</div>
|
||||
<table class="table table-light table-sm">
|
||||
<thead>
|
||||
@if(count($ward_investigations) > 0)
|
||||
@for($i = 0; $i < count($ward_investigations['name']); $i++)
|
||||
@if(in_array($i, $ward_investigations_position))
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<h5><code>{{ $ward_investigations_date[array_search($i, $ward_investigations_position)] }}</code></h5>
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
<tr>
|
||||
<td>{{ $ward_investigations['name'][$i] }}</td>
|
||||
<input type="hidden" name="ward_investigation_ids[]" value="{{ $ward_investigations['id'][$i] }}">
|
||||
<td>
|
||||
@if($ward_investigations['type'][$i] == 1 && $ward_investigations['value'][$i] != "Pending")
|
||||
<i style="color: blue"> {{ __('inpatient.refer_to_investigation_report') }} </i>
|
||||
@else
|
||||
{{ $ward_investigations['value'][$i] }}
|
||||
@endif
|
||||
</td>
|
||||
<td>{{ $ward_investigations['comment'][$i] }}</td>
|
||||
</tr>
|
||||
@endfor
|
||||
@else
|
||||
<tr>
|
||||
<td colspan="3">{{ __('inpatient.no_ward_invs') }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- if patient has any treatment to take home --}}
|
||||
@if (count($treatment_to_take_away) > 0)
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<strong>{{ __('inpatient.treatment_on_discharge') }}</strong>
|
||||
</div>
|
||||
<table class="table table-light table-sm">
|
||||
@foreach($treatment_to_take_away as $treatment)
|
||||
@php
|
||||
$tta_drugs_array = explode(",", $treatment->drugs);
|
||||
$tta_dose_array = explode(",", $treatment->doses);
|
||||
$tta_freq_array = explode(",", $treatment->frequencies);
|
||||
$tta_duration_array = explode(",", $treatment->durations);
|
||||
$altered = $treatment->altered;
|
||||
@endphp
|
||||
|
||||
@if($altered == 0)
|
||||
<tr>
|
||||
<td colspan="4" class="text-center" style="color: #0000FF; font-weight: small;">{{ __('inpatient.ordered_on') }} {{ streamline_date($treatment->created_at) }}</td>
|
||||
</tr>
|
||||
@for($x = 0; $x < count($tta_drugs_array); $x++)
|
||||
@php
|
||||
$drug_name = get_name($tta_drugs_array[$x], 'id', "name", 'drugs');
|
||||
$drug_unit = get_name(get_name($tta_drugs_array[$x], 'id', "unit_id", 'drugs'), "id", "name", "drug_units");
|
||||
$frequency = get_name($tta_freq_array[$x], "id", "name", "dosage_frequencies");
|
||||
@endphp
|
||||
<tr class='gradeX'>
|
||||
<td>{{ $drug_name }}</td>
|
||||
<td>{{ $tta_dose_array[$x] }} {{ $drug_unit }} {{ $frequency}} </td>
|
||||
<td>{{ $tta_duration_array[$x] }}</td>
|
||||
</tr>
|
||||
@endfor
|
||||
@else
|
||||
@php
|
||||
$altered_dispensed_tta = \Streamline\Models\PatientDispensing::where(['treatment_id'=>$treatment->id, 'patient_id' => $patient->patient_id, 'tta' => 1])->first();
|
||||
|
||||
$tta_drugs_array = is_object($altered_dispensed_tta) ? explode(",", $altered_dispensed_tta->drugs) : [];
|
||||
$tta_dose_array = is_object($altered_dispensed_tta) ? explode(",", $altered_dispensed_tta->dose) : [];
|
||||
$tta_freq_array = is_object($altered_dispensed_tta) ?explode(",", $altered_dispensed_tta->drug_frequency) : [];
|
||||
$tta_duration_array = is_object($altered_dispensed_tta) ? explode(",", $altered_dispensed_tta->duration) : [];
|
||||
@endphp
|
||||
|
||||
<tr><td colspan=4 style='color: #0000FF; font-weight: small;'> {{ is_object($altered_dispensed_tta) ? streamline_date($altered_dispensed_tta->created_at) : "" }}</td></tr>
|
||||
@for($x = 1; $x < count($tta_drugs_array); $x++)
|
||||
@php
|
||||
$drug_name = get_name($tta_drugs_array[$x], 'id', "name", 'drugs');
|
||||
$drug_unit = get_name(get_name($tta_drugs_array[$x], 'id', "unit_id", 'drugs'), "id", "name", "drug_units");
|
||||
$frequency = get_name($tta_freq_array[$x], "id", "name", "dosage_frequencies");
|
||||
@endphp
|
||||
|
||||
<tr class='gradeX'>
|
||||
<td>{{ $drug_name }}</td>
|
||||
<td>{{ $tta_dose_array[$x] }} {{ $drug_unit }} {{ $frequency}} </td>
|
||||
<td>{{ $tta_duration_array[$x] }}</td>
|
||||
</tr>
|
||||
@endfor
|
||||
@endif
|
||||
@endforeach
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<strong>{{ __('inpatient.referral_notes') }}</strong>
|
||||
</div>
|
||||
<table class="table table-light table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>{{ $inpatient_info->referral_notes }}</td>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<table class="table table-light table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<td><b>{{ __('inpatient.referred_by') }}: </b></td>
|
||||
<td>{{ get_full_name($inpatient_info->discharged_by, "id", "first_name", "last_name", "users")}} {{ __('inpatient.on') }} {{ streamline_date($inpatient_info->discharged_on)}} {{ __('inpatient.to') }} {{ get_name($inpatient_info->referred_to, 'id', 'name', 'referral_hospitals') }}</td>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
{{ __('inpatient.printed_by') }}
|
||||
</div>
|
||||
<ul class="list-group list-group-flush">
|
||||
<li class="list-group-item">
|
||||
<?php echo Auth::user()->first_name . ' ' . Auth::user()->last_name; ?>
|
||||
....................................................
|
||||
({{ streamline_date(date("Y-m-d")) }})
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+581
@@ -0,0 +1,581 @@
|
||||
<div class="modal fade" id="treatment_sheet_details" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="treatment_sheet_details_label">Treatment Sheet</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<a href="/treatment_sheet/print/{{ $episode_id }}" target="_blank" class="btn btn-sm btn-success">Print Treatment Sheet</a>
|
||||
<hr>
|
||||
|
||||
@if(count($ordered_cancer_protocols) > 0)
|
||||
<table class="table table-bordered color-bordered-table success-bordered-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Section</th>
|
||||
<th>Drug</th>
|
||||
<th>Dose</th>
|
||||
<th>Duration</th>
|
||||
<th>Quantity Given</th>
|
||||
<th>Given By</th>
|
||||
<th>Given On</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($ordered_cancer_protocols as $ordered_cancer_protocol)
|
||||
@php
|
||||
$pre_chemo_drugs = json_decode($ordered_cancer_protocol->pre_chemo_drugs, true);
|
||||
$chemo_drugs = json_decode($ordered_cancer_protocol->chemo_drugs, true);
|
||||
$post_chemo_drugs = json_decode($ordered_cancer_protocol->post_chemo_drugs, true);
|
||||
|
||||
$pre_chemo_drugs_count = count($pre_chemo_drugs);
|
||||
$chemo_drugs_count = count($chemo_drugs);
|
||||
$post_chemo_drugs_count = count($post_chemo_drugs);
|
||||
|
||||
$pre_chemo_doses_count = array_sum(array_map(function ($value) {return count($value['dose']);}, $pre_chemo_drugs));
|
||||
$chemo_doses_count = array_sum(array_map(function ($value) {return count($value['dose']);}, $chemo_drugs));
|
||||
$post_chemo_doses_count = array_sum(array_map(function ($value) {return count($value['dose']);}, $post_chemo_drugs));
|
||||
|
||||
$pre_chemo_doses_count += array_sum(array_map(function ($value) {return array_sum(array_map(function ($value_two) {return count($value_two['duration']);}, $value['dose']));}, $pre_chemo_drugs));
|
||||
$chemo_doses_count += array_sum(array_map(function ($value) {return array_sum(array_map(function ($value_two) {return count($value_two['duration']);}, $value['dose']));}, $chemo_drugs));
|
||||
$post_chemo_doses_count += array_sum(array_map(function ($value) {return array_sum(array_map(function ($value_two) {return count($value_two['duration']);}, $value['dose']));}, $post_chemo_drugs));
|
||||
|
||||
$protocol_details = \Streamline\Models\CancerProtocol::find($ordered_cancer_protocol->protocol_id);
|
||||
$duration_counter = 0;
|
||||
@endphp
|
||||
<tr>
|
||||
<td colspan="7">
|
||||
<h3 class="text-center">{{ $protocol_details->name }} @if($ordered_cancer_protocol->protocol_status != 0) ({{ [1 => 'Stopped', 2 => 'Completed'][$ordered_cancer_protocol->protocol_status] ?? '' }}) @endif</h3>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td rowspan="{{ $pre_chemo_drugs_count + $pre_chemo_doses_count + 1 }}">Pre-Chemo</td>
|
||||
</tr>
|
||||
|
||||
@for($x = 0; $x < $pre_chemo_drugs_count; $x++)
|
||||
@php
|
||||
$pre_chemo_duration_count = array_sum(array_map(function ($value_two) {return count($value_two['duration']);}, $pre_chemo_drugs[$x]['dose']));
|
||||
@endphp
|
||||
<tr>
|
||||
<td rowspan="{{ count($pre_chemo_drugs[$x]['dose']) + $pre_chemo_duration_count + 1 }}">
|
||||
{{ $drugs[$pre_chemo_drugs[$x]['drug_id']] ?? '' }}
|
||||
|
||||
<br><br>
|
||||
|
||||
Factor: {{ $factors[$pre_chemo_drugs[$x]['drug_factor']] ?? '' }}
|
||||
|
||||
<br>
|
||||
|
||||
Route: {{ $drug_routes[$pre_chemo_drugs[$x]['drug_route']] ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@for($i = 0; $i < count($pre_chemo_drugs[$x]['dose']); $i++)
|
||||
<tr>
|
||||
<td rowspan="{{ count($pre_chemo_drugs[$x]['dose'][$i]['duration']) + 1 }}">
|
||||
@php
|
||||
$drug_dosage = $drug_units[$drug_with_units[$pre_chemo_drugs[$x]['drug_id']]];
|
||||
|
||||
if ($pre_chemo_drugs[$x]['drug_factor'] == 1) {
|
||||
$drug_dosage .= '/m<sup>2</sup>';
|
||||
} else if ($pre_chemo_drugs[$x]['drug_factor'] == 2) {
|
||||
$drug_dosage .= '/Kg';
|
||||
}
|
||||
@endphp
|
||||
|
||||
Dose: {{ $pre_chemo_drugs[$x]['dose'][$i]['dose'] }} {!! $drug_dosage !!}
|
||||
|
||||
@if(!empty($pre_chemo_drugs[$x]['dose'][$i]['instructions']))
|
||||
<br><br>
|
||||
<span style="color: red">{{ $pre_chemo_drugs[$x]['dose'][$i]['instructions'] }}</span>
|
||||
@endif
|
||||
|
||||
@if(!empty($pre_chemo_drugs[$x]['dose'][$i]['weight_range']))
|
||||
<br><br>
|
||||
<span style="color: #0a776c">({{ $pre_chemo_drugs[$x]['dose'][$i]['weight_range'] }})</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@for($p = 0; $p < count($pre_chemo_drugs[$x]['dose'][$i]['duration']); $p++)
|
||||
<tr>
|
||||
@if($inpatient_info->discharged == 1)
|
||||
<td>{{ $pre_chemo_drugs[$x]['dose'][$i]['duration'][$p]['name'] }}</td>
|
||||
<td colspan="3">{{ __('inpatient.not_given') }}</td>
|
||||
@elseif(is_null($pre_chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_by']))
|
||||
@if($ordered_cancer_protocol->protocol_status == 0)
|
||||
<td>
|
||||
{{ $pre_chemo_drugs[$x]['dose'][$i]['duration'][$p]['name'] }}
|
||||
|
||||
<br><br>
|
||||
|
||||
{{ Form::checkbox('pre_chemo_day_given[]', $duration_counter, false, ['class' => 'treatment_sheet_remove duration_row_' . $duration_counter . $ordered_cancer_protocol->id, 'onchange' => 'highlight_duration_row("' . $duration_counter . $ordered_cancer_protocol->id . '", this.checked)']) }}
|
||||
</td>
|
||||
<td>
|
||||
{{ Form::number('pre_chemo_quantity_given[]', 0, ['class' => 'form-control treatment_sheet_remove duration_row_' . $duration_counter . $ordered_cancer_protocol->id])}}
|
||||
|
||||
{{ $drug_forms[$drug_with_forms[$pre_chemo_drugs[$x]['drug_id']]] }}
|
||||
</td>
|
||||
<td>{{ Form::select('pre_chemo_given_by[]', $users_array, '', ['class' => 'form-control treatment_sheet_remove duration_row_' . $duration_counter . $ordered_cancer_protocol->id])}}</td>
|
||||
<td><input type='datetime-local' name='pre_chemo_given_on[]' class='form-control treatment_sheet_remove duration_row_{{ $duration_counter . $ordered_cancer_protocol->id }}'/></td>
|
||||
{{ Form::hidden('pre_chemo_tracker_num[]', $duration_counter, ['class' => 'treatment_sheet_remove duration_row_' . $duration_counter . $ordered_cancer_protocol->id]) }}
|
||||
{{ Form::hidden('pre_chemo_order_id[]', $ordered_cancer_protocol->id, ['class' => 'treatment_sheet_remove duration_row_' . $duration_counter . $ordered_cancer_protocol->id]) }}
|
||||
@else
|
||||
<td>{{ $pre_chemo_drugs[$x]['dose'][$i]['duration'][$p]['name'] }}</td>
|
||||
<td colspan="3"></td>
|
||||
@endif
|
||||
@else
|
||||
<td>
|
||||
{{ $pre_chemo_drugs[$x]['dose'][$i]['duration'][$p]['name'] }}
|
||||
</td>
|
||||
<td>{{ $pre_chemo_drugs[$x]['dose'][$i]['duration'][$p]['quantity_given'] }}</td>
|
||||
<td style="color: #00AEEF">{{ $users_array[$pre_chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_by']] }}</td>
|
||||
<td style="color: #00AEEF">{{ Carbon\Carbon::parse($pre_chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_on'])->toDateTimeString() }}</td>
|
||||
@endif
|
||||
</tr>
|
||||
|
||||
@php $duration_counter++; @endphp
|
||||
@endfor
|
||||
@endfor
|
||||
@endfor
|
||||
|
||||
<tr>
|
||||
<td rowspan="{{ $chemo_drugs_count + $chemo_doses_count + 1 }}">Chemo</td>
|
||||
</tr>
|
||||
|
||||
@for($x = 0; $x < $chemo_drugs_count; $x++)
|
||||
@php
|
||||
$chemo_duration_count = array_sum(array_map(function ($value_two) {return count($value_two['duration']);}, $chemo_drugs[$x]['dose']));
|
||||
@endphp
|
||||
<tr>
|
||||
<td rowspan="{{ count($chemo_drugs[$x]['dose']) + $chemo_duration_count + 1 }}">
|
||||
{{ $drugs[$chemo_drugs[$x]['drug_id']] ?? '' }}
|
||||
|
||||
<br><br>
|
||||
|
||||
Factor: {{ $factors[$chemo_drugs[$x]['drug_factor']] ?? '' }}
|
||||
|
||||
<br>
|
||||
|
||||
Route: {{ $drug_routes[$chemo_drugs[$x]['drug_route']] ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@for($i = 0; $i < count($chemo_drugs[$x]['dose']); $i++)
|
||||
<tr>
|
||||
<td rowspan="{{ count($chemo_drugs[$x]['dose'][$i]['duration']) + 1 }}">
|
||||
@php
|
||||
$drug_dosage = $drug_units[$drug_with_units[$chemo_drugs[$x]['drug_id']]];
|
||||
|
||||
if ($chemo_drugs[$x]['drug_factor'] == 1) {
|
||||
$drug_dosage .= '/m<sup>2</sup>';
|
||||
} else if ($chemo_drugs[$x]['drug_factor'] == 2) {
|
||||
$drug_dosage .= '/Kg';
|
||||
}
|
||||
@endphp
|
||||
|
||||
Dose: {{ $chemo_drugs[$x]['dose'][$i]['dose'] }} {!! $drug_dosage !!}
|
||||
|
||||
@if(!empty($chemo_drugs[$x]['dose'][$i]['instructions']))
|
||||
<br><br>
|
||||
<span style="color: red">{{ $chemo_drugs[$x]['dose'][$i]['instructions'] }}</span>
|
||||
@endif
|
||||
|
||||
@if(!empty($chemo_drugs[$x]['dose'][$i]['weight_range']))
|
||||
<br><br>
|
||||
<span style="color: #0a776c">({{ $chemo_drugs[$x]['dose'][$i]['weight_range'] }})</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@for($p = 0; $p < count($chemo_drugs[$x]['dose'][$i]['duration']); $p++)
|
||||
<tr>
|
||||
@if($inpatient_info->discharged == 1)
|
||||
<td>{{ $chemo_drugs[$x]['dose'][$i]['duration'][$p]['name'] }}</td>
|
||||
<td colspan="3">{{ __('inpatient.not_given') }}</td>
|
||||
@elseif(is_null($chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_by']))
|
||||
@if($ordered_cancer_protocol->protocol_status == 0)
|
||||
<td>
|
||||
{{ $chemo_drugs[$x]['dose'][$i]['duration'][$p]['name'] }}
|
||||
|
||||
<br><br>
|
||||
|
||||
{{ Form::checkbox('chemo_day_given[]', $duration_counter, false, ['class' => 'treatment_sheet_remove duration_row_' . $duration_counter . $ordered_cancer_protocol->id, 'onchange' => 'highlight_duration_row("' . $duration_counter . $ordered_cancer_protocol->id . '", this.checked)']) }}
|
||||
</td>
|
||||
<td>
|
||||
{{ Form::number('chemo_quantity_given[]', 0, ['class' => 'form-control treatment_sheet_remove duration_row_' . $duration_counter . $ordered_cancer_protocol->id])}}
|
||||
{{ $drug_forms[$drug_with_forms[$chemo_drugs[$x]['drug_id']]] }}
|
||||
</td>
|
||||
<td>{{ Form::select('chemo_given_by[]', $users_array, '', ['class' => 'form-control treatment_sheet_remove duration_row_' . $duration_counter . $ordered_cancer_protocol->id])}}</td>
|
||||
<td><input type='datetime-local' name='chemo_given_on[]' class='form-control treatment_sheet_remove duration_row_{{ $duration_counter . $ordered_cancer_protocol->id }}'/></td>
|
||||
{{ Form::hidden('chemo_tracker_num[]', $duration_counter, ['class' => 'treatment_sheet_remove duration_row_' . $duration_counter . $ordered_cancer_protocol->id]) }}
|
||||
{{ Form::hidden('chemo_order_id[]', $ordered_cancer_protocol->id, ['class' => 'treatment_sheet_remove duration_row_' . $duration_counter . $ordered_cancer_protocol->id]) }}
|
||||
@else
|
||||
<td>{{ $chemo_drugs[$x]['dose'][$i]['duration'][$p]['name'] }}</td>
|
||||
<td colspan="3"></td>
|
||||
@endif
|
||||
@else
|
||||
<td>
|
||||
{{ $chemo_drugs[$x]['dose'][$i]['duration'][$p]['name'] }}
|
||||
</td>
|
||||
<td>{{ $chemo_drugs[$x]['dose'][$i]['duration'][$p]['quantity_given'] }}</td>
|
||||
<td style="color: #00AEEF">{{ $users_array[$chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_by']] }}</td>
|
||||
<td style="color: #00AEEF">{{ Carbon\Carbon::parse($chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_on'])->toDateTimeString() }}</td>
|
||||
@endif
|
||||
</tr>
|
||||
|
||||
@php $duration_counter++; @endphp
|
||||
@endfor
|
||||
@endfor
|
||||
@endfor
|
||||
|
||||
<tr>
|
||||
<td rowspan="{{ $post_chemo_drugs_count + $post_chemo_doses_count + 1 }}">Post-Chemo</td>
|
||||
</tr>
|
||||
|
||||
@for($x = 0; $x < $post_chemo_drugs_count; $x++)
|
||||
@php
|
||||
$post_chemo_duration_count = array_sum(array_map(function ($value_two) {return count($value_two['duration']);}, $post_chemo_drugs[$x]['dose']));
|
||||
@endphp
|
||||
<tr>
|
||||
<td rowspan="{{ count($post_chemo_drugs[$x]['dose']) + $post_chemo_duration_count + 1 }}">
|
||||
{{ $drugs[$post_chemo_drugs[$x]['drug_id']] ?? '' }}
|
||||
|
||||
<br><br>
|
||||
|
||||
Factor: {{ $factors[$post_chemo_drugs[$x]['drug_factor']] ?? '' }}
|
||||
|
||||
<br>
|
||||
|
||||
Route: {{ $drug_routes[$post_chemo_drugs[$x]['drug_route']] ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@for($i = 0; $i < count($post_chemo_drugs[$x]['dose']); $i++)
|
||||
<tr>
|
||||
<td rowspan="{{ count($post_chemo_drugs[$x]['dose'][$i]['duration']) + 1 }}">
|
||||
@php
|
||||
$drug_dosage = $drug_units[$drug_with_units[$post_chemo_drugs[$x]['drug_id']]];
|
||||
|
||||
if ($post_chemo_drugs[$x]['drug_factor'] == 1) {
|
||||
$drug_dosage .= '/m<sup>2</sup>';
|
||||
} else if ($post_chemo_drugs[$x]['drug_factor'] == 2) {
|
||||
$drug_dosage .= '/Kg';
|
||||
}
|
||||
@endphp
|
||||
|
||||
Dose: {{ $post_chemo_drugs[$x]['dose'][$i]['dose'] }} {!! $drug_dosage !!}
|
||||
|
||||
@if(!empty($post_chemo_drugs[$x]['dose'][$i]['instructions']))
|
||||
<br><br>
|
||||
<span style="color: red">{{ $post_chemo_drugs[$x]['dose'][$i]['instructions'] }}</span>
|
||||
@endif
|
||||
|
||||
@if(!empty($post_chemo_drugs[$x]['dose'][$i]['weight_range']))
|
||||
<br><br>
|
||||
<span style="color: #0a776c">({{ $post_chemo_drugs[$x]['dose'][$i]['weight_range'] }})</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@for($p = 0; $p < count($post_chemo_drugs[$x]['dose'][$i]['duration']); $p++)
|
||||
<tr>
|
||||
@if($inpatient_info->discharged == 1)
|
||||
<td>{{ $post_chemo_drugs[$x]['dose'][$i]['duration'][$p]['name'] }}</td>
|
||||
<td colspan="3">{{ __('inpatient.not_given') }}</td>
|
||||
@elseif(is_null($post_chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_by']))
|
||||
@if($ordered_cancer_protocol->protocol_status == 0)
|
||||
<td>
|
||||
{{ $post_chemo_drugs[$x]['dose'][$i]['duration'][$p]['name'] }}
|
||||
|
||||
<br><br>
|
||||
|
||||
{{ Form::checkbox('post_chemo_day_given[]', $duration_counter, false, ['class' => 'treatment_sheet_remove duration_row_' . $duration_counter . $ordered_cancer_protocol->id, 'onchange' => 'highlight_duration_row("' . $duration_counter . $ordered_cancer_protocol->id . '", this.checked)']) }}
|
||||
</td>
|
||||
<td>
|
||||
{{ Form::number('post_chemo_quantity_given[]', 0, ['class' => 'form-control treatment_sheet_remove duration_row_' . $duration_counter . $ordered_cancer_protocol->id])}}
|
||||
{{ $drug_forms[$drug_with_forms[$post_chemo_drugs[$x]['drug_id']]] }}
|
||||
</td>
|
||||
<td>{{ Form::select('post_chemo_given_by[]', $users_array, '', ['class' => 'form-control treatment_sheet_remove duration_row_' . $duration_counter . $ordered_cancer_protocol->id])}}</td>
|
||||
<td><input type='datetime-local' name='post_chemo_given_on[]' class='form-control treatment_sheet_remove duration_row_{{ $duration_counter . $ordered_cancer_protocol->id }}'/></td>
|
||||
{{ Form::hidden('post_chemo_tracker_num[]', $duration_counter, ['class' => 'treatment_sheet_remove duration_row_' . $duration_counter . $ordered_cancer_protocol->id]) }}
|
||||
{{ Form::hidden('post_chemo_order_id[]', $ordered_cancer_protocol->id, ['class' => 'treatment_sheet_remove duration_row_' . $duration_counter . $ordered_cancer_protocol->id]) }}
|
||||
@else
|
||||
<td>{{ $post_chemo_drugs[$x]['dose'][$i]['duration'][$p]['name'] }}</td>
|
||||
<td colspan="3"></td>
|
||||
@endif
|
||||
@else
|
||||
<td>
|
||||
{{ $post_chemo_drugs[$x]['dose'][$i]['duration'][$p]['name'] }}
|
||||
</td>
|
||||
<td>{{ $post_chemo_drugs[$x]['dose'][$i]['duration'][$p]['quantity_given'] }}</td>
|
||||
<td style="color: #00AEEF">{{ $users_array[$post_chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_by']] }}</td>
|
||||
<td style="color: #00AEEF">{{ Carbon\Carbon::parse($post_chemo_drugs[$x]['dose'][$i]['duration'][$p]['given_on'])->toDateTimeString() }}</td>
|
||||
@endif
|
||||
</tr>
|
||||
|
||||
@php $duration_counter++; @endphp
|
||||
@endfor
|
||||
@endfor
|
||||
@endfor
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<hr>
|
||||
@endif
|
||||
|
||||
@if(count($ward_prescriptions) > 0)
|
||||
<table class="table table-bordered color-bordered-table success-bordered-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Drug</th>
|
||||
<th>Duration</th>
|
||||
<th>Given By</th>
|
||||
<th>Given On</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($ward_prescriptions as $ward_prescription)
|
||||
@php
|
||||
$ward_prescription_drugs = explode(",", $ward_prescription->drugs);
|
||||
$ward_prescription_dose_array = isset($ward_prescription->doses) ? explode(",", $ward_prescription->doses) : [];
|
||||
$ward_prescription_freq_array = isset($ward_prescription->frequencies) ? explode(",", $ward_prescription->frequencies) : [];
|
||||
$ward_prescription_duration_array = isset($ward_prescription->durations) ? explode(",", $ward_prescription->durations) : [];
|
||||
$ward_prescription_quantity_array = isset($ward_prescription->quantities_dispensed) ? explode(",", $ward_prescription->quantities_dispensed) : [];
|
||||
@endphp
|
||||
|
||||
@for($x = 0; $x < count($ward_prescription_drugs); $x++)
|
||||
@php
|
||||
$drug_name = get_name($ward_prescription_drugs[$x], 'id', "name", 'drugs');
|
||||
$drug_unit = get_name(get_name($ward_prescription_drugs[$x], 'id', "unit_id", 'drugs'), "id", "name", "drug_units");
|
||||
$frequency = get_name($ward_prescription_freq_array[$x], "id", "name", "dosage_frequencies");
|
||||
$current_factor = get_name($ward_prescription_freq_array[$x], "id", "factor", "dosage_frequencies");
|
||||
|
||||
try { $current_factor = (int)ceil($current_factor); } catch (ErrorException $e) { $current_factor = 1; }
|
||||
|
||||
$split_duration = explode(" ", $ward_prescription_duration_array[$x]);
|
||||
$duration_counter = 0;
|
||||
$opd_quantity_to_give_per_day = ceil($ward_prescription_quantity_array[$x] / ((int)$split_duration[0] * $current_factor));
|
||||
@endphp
|
||||
<tr>
|
||||
<td rowspan="{{ ((int)$split_duration[0] * $current_factor) + 1 }}">
|
||||
{{ $drug_name }}
|
||||
<br><br>
|
||||
{{ $ward_prescription_dose_array[$x] }} {{ $drug_unit }} {{ $frequency}}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@for($p = 0; $p < $split_duration[0]; $p++)
|
||||
@for($y = 0; $y < $current_factor; $y++)
|
||||
@php
|
||||
// get the dispensed so far
|
||||
$treatment_sheet_dispensations = \Streamline\Models\TreatmentSheetDispensations::where('ward_treatment_id', $ward_prescription->id)
|
||||
->where('drug_id', $ward_prescription_drugs[$x])->where('order_number', $duration_counter)->first();
|
||||
@endphp
|
||||
<tr>
|
||||
@if($treatment_sheet_dispensations)
|
||||
<td>Day {{ $p + 1 }} <br> Dose {{ $y + 1 }}</td>
|
||||
<td style="color: #00AEEF">{{ $users_array[$treatment_sheet_dispensations->given_by] }}</td>
|
||||
<td style="color: #00AEEF">{{ Carbon\Carbon::parse($treatment_sheet_dispensations->given_on)->toDateTimeString() }}</td>
|
||||
@elseif($inpatient_info->discharged == 1)
|
||||
<td>Day {{ $p + 1 }} <br> Dose {{ $y + 1 }}</td>
|
||||
<td colspan="2">{{ __('inpatient.not_given') }}</td>
|
||||
@else
|
||||
@php
|
||||
$opd_id = $ward_prescription->id . '-' . $ward_prescription_drugs[$x] . '-' . $duration_counter;
|
||||
@endphp
|
||||
<td>
|
||||
Day {{ $p + 1 }} <br> Dose {{ $y + 1 }}
|
||||
|
||||
<br><br>
|
||||
|
||||
{{ Form::checkbox('opd_day_given[]', $duration_counter, false, ['class' => 'treatment_sheet_remove duration_row_' . $opd_id, 'onchange' => 'highlight_duration_row("' . $opd_id . '", this.checked)']) }}
|
||||
</td>
|
||||
<td>{{ Form::select('opd_given_by[]', $users_array, Auth::id(), ['class' => 'form-control select treatment_sheet_remove duration_row_' . $opd_id])}}</td>
|
||||
<td><input type='datetime-local' name='opd_given_on[]' class='form-control treatment_sheet_remove duration_row_{{ $opd_id }}' value="{{ date('Y-m-d') }}T{{ date('H:i') }}" max="{{ date('Y-m-d') }}T{{ date('H:i') }}"/></td>
|
||||
{{ Form::hidden('opd_order_number[]', $duration_counter, ['class' => 'treatment_sheet_remove duration_row_' . $opd_id]) }}
|
||||
{{ Form::hidden('opd_ward_treatment_id[]', $ward_prescription->id, ['class' => 'treatment_sheet_remove duration_row_' . $opd_id]) }}
|
||||
{{ Form::hidden('opd_drug_id[]', $ward_prescription_drugs[$x], ['class' => 'treatment_sheet_remove duration_row_' . $opd_id]) }}
|
||||
{{ Form::hidden('opd_quantity_given[]', $opd_quantity_to_give_per_day, ['class' => 'treatment_sheet_remove duration_row_' . $opd_id]) }}
|
||||
@endif
|
||||
@php $duration_counter++; @endphp
|
||||
</tr>
|
||||
@endfor
|
||||
@endfor
|
||||
@endfor
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
@endif
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" id="close_treatment_sheet" data-dismiss="modal">{{ __('layout.close') }}</button>
|
||||
<button type="button" class="btn btn-success" onclick="submitTreatmentSheet()">{{ __('layout.submit') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
function highlight_duration_row(id, status) {
|
||||
if (status) {
|
||||
$('.duration_row_' + id).each(function () {
|
||||
$(this).removeClass('treatment_sheet_remove')
|
||||
});
|
||||
} else {
|
||||
$('.duration_row_' + id).each(function () {
|
||||
$(this).addClass('treatment_sheet_remove')
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function submitTreatmentSheet() {
|
||||
$(".treatment_sheet_remove").each(function () {
|
||||
$(this).remove()
|
||||
});
|
||||
|
||||
let pre_chemo_given_by = $("select[name='pre_chemo_given_by[]'] option:selected").map(function () {
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
let pre_chemo_given_on = $("input[name='pre_chemo_given_on[]']").map(function () {
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
let pre_chemo_tracker_num = $("input[name='pre_chemo_tracker_num[]']").map(function () {
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
let pre_chemo_order_id = $("input[name='pre_chemo_order_id[]']").map(function () {
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
let pre_chemo_quantity_given = $("input[name='pre_chemo_quantity_given[]']").map(function () {
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
// chemo
|
||||
|
||||
let chemo_given_by = $("select[name='chemo_given_by[]'] option:selected").map(function () {
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
let chemo_given_on = $("input[name='chemo_given_on[]']").map(function () {
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
let chemo_tracker_num = $("input[name='chemo_tracker_num[]']").map(function () {
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
let chemo_order_id = $("input[name='chemo_order_id[]']").map(function () {
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
let chemo_quantity_given = $("input[name='chemo_quantity_given[]']").map(function () {
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
// post
|
||||
|
||||
let post_chemo_given_by = $("select[name='post_chemo_given_by[]'] option:selected").map(function () {
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
let post_chemo_given_on = $("input[name='post_chemo_given_on[]']").map(function () {
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
let post_chemo_tracker_num = $("input[name='post_chemo_tracker_num[]']").map(function () {
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
let post_chemo_order_id = $("input[name='post_chemo_order_id[]']").map(function () {
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
let post_chemo_quantity_given = $("input[name='post_chemo_quantity_given[]']").map(function () {
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
// opd treatments
|
||||
let opd_given_by = $("select[name='opd_given_by[]'] option:selected").map(function () {
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
let opd_given_on = $("input[name='opd_given_on[]']").map(function () {
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
let opd_order_number = $("input[name='opd_order_number[]']").map(function () {
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
let opd_ward_treatment_id = $("input[name='opd_ward_treatment_id[]']").map(function () {
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
let opd_drug_id = $("input[name='opd_drug_id[]']").map(function () {
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
let opd_quantity_given = $("input[name='opd_quantity_given[]']").map(function () {
|
||||
return this.value;
|
||||
}).get();
|
||||
|
||||
let patient_id = $("#patient_id").val();
|
||||
let episode_id = $("#episode_id").val();
|
||||
let ward_id = $("#ward_id").val();
|
||||
|
||||
$.ajax({
|
||||
url: '/treatment_sheet/save',
|
||||
data: {
|
||||
"pre_chemo_given_by[]": pre_chemo_given_by,
|
||||
"pre_chemo_given_on[]": pre_chemo_given_on,
|
||||
"pre_chemo_tracker_num[]": pre_chemo_tracker_num,
|
||||
"pre_chemo_order_id[]": pre_chemo_order_id,
|
||||
"pre_chemo_quantity_given[]": pre_chemo_quantity_given,
|
||||
"chemo_given_by[]": chemo_given_by,
|
||||
"chemo_given_on[]": chemo_given_on,
|
||||
"chemo_tracker_num[]": chemo_tracker_num,
|
||||
"chemo_order_id[]": chemo_order_id,
|
||||
"chemo_quantity_given[]": chemo_quantity_given,
|
||||
"post_chemo_given_by[]": post_chemo_given_by,
|
||||
"post_chemo_given_on[]": post_chemo_given_on,
|
||||
"post_chemo_tracker_num[]": post_chemo_tracker_num,
|
||||
"post_chemo_order_id[]": post_chemo_order_id,
|
||||
"post_chemo_quantity_given[]": post_chemo_quantity_given,
|
||||
"opd_given_by[]": opd_given_by,
|
||||
"opd_given_on[]": opd_given_on,
|
||||
"opd_order_number[]": opd_order_number,
|
||||
"opd_ward_treatment_id[]": opd_ward_treatment_id,
|
||||
"opd_drug_id[]": opd_drug_id,
|
||||
"opd_quantity_given[]": opd_quantity_given,
|
||||
"patient_id": patient_id,
|
||||
"episode_id": episode_id,
|
||||
"ward_id": ward_id
|
||||
},
|
||||
success: function (response) {
|
||||
if (response === "self") {
|
||||
alert("Treatment sheet saved successfully");
|
||||
window.location.reload();
|
||||
} else if (response === "patient_home") {
|
||||
alert("Treatment sheet saved successfully");
|
||||
window.location.href = '/patient_episodes';
|
||||
} else if (response === "ward_home") {
|
||||
alert("Treatment sheet saved successfully");
|
||||
window.location.href = '/wards/select';
|
||||
} else {
|
||||
alert("An error occurred");
|
||||
}
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
//
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endpush
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@push('styles')
|
||||
<link href="{{ asset('elite/bower_components/select2/select2.min.css') }}" rel="stylesheet" />
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div class="row bg-title">
|
||||
<div class="col-lg-3 col-md-4 col-sm-4 col-xs-12">
|
||||
<h4 class="page-title">{{ __('patient_episode.treatment_sheet') }}</h4>
|
||||
</div>
|
||||
<div class="col-lg-9 col-sm-8 col-md-8 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">{{ __('patient_episode.dashboard') }}</a></li>
|
||||
<li><a href="{{ route('patients.index') }}">{{ __('patient_episode.patients') }}</a></li>
|
||||
<li class="active">{{ __('patient_episode.treatment_sheet') }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
@include('patients::allergies.header')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<a type="button" data-toggle="modal" data-target="#treatment_sheet_details" id="treatment_sheet_btn" style="display: none">Treatment Sheet</a>
|
||||
|
||||
{{ Form::hidden('patient_id', $patient_id, ['id' => 'patient_id']) }}
|
||||
{{ Form::hidden('episode_id', $episode_id, ['id' => 'episode_id']) }}
|
||||
{{ Form::hidden('ward_id', $ward_id, ['id' => 'ward_id']) }}
|
||||
|
||||
@include('ward_management::inpatient.treatment_sheet_details')
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script src="{{ asset('elite/bower_components/select2/select2.min.js') }}"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
setTimeout(function() {
|
||||
$('#treatment_sheet_btn').click();
|
||||
}, 1000);
|
||||
});
|
||||
|
||||
$('#close_treatment_sheet').click(function () {
|
||||
window.location.href = '/treatment_sheet/redirect_back';
|
||||
})
|
||||
</script>
|
||||
@endpush
|
||||
+169
@@ -0,0 +1,169 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@push('styles')
|
||||
<link href="{{ asset('elite/bower_components/select2/select2.min.css') }}" rel="stylesheet" />
|
||||
<link href="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div class="row bg-title">
|
||||
<div class="col-lg-6 col-md-7 col-sm-7 col-xs-12">
|
||||
<h4 class="page-title">Incoming ward requests</h4>
|
||||
</div>
|
||||
<div class="col-lg-6 col-sm-5 col-md-5 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">Dashboard</a></li>
|
||||
<li class="active">Incoming ward requests</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
@include('flash::message')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{{ Form::open(['route' => 'ward_item_request.incoming_ward_requests' , 'data-toggle' => 'validator']) }}
|
||||
<div class="white-box">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="form-group">
|
||||
{{ Form::label('ward_id', 'Wards') }}
|
||||
{{ Form::select('ward_id', $wards, '', ['class' => 'form-control']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
{{ Form::label('item_type', 'Item type') }}
|
||||
{{ Form::select('item_type',[''=>'--Select--', '1' => 'Drugs', '2' => 'Sundries', '3' => 'General Items'],'',['class' => 'form-control compulsory', 'required']) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
{{ Form::label('start_date','Date From') }}
|
||||
{{ Form::text('start_date','',['class' => 'form-control compulsory', 'required','readonly','id'=>'start_date']) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
{{ Form::label('end_date','Date To') }}
|
||||
{{ Form::text('end_date','',['class' => 'form-control compulsory', 'required','readonly','id'=>'end_date']) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<br>
|
||||
{{ Form::button('Search',['type'=>'submit','class'=>'btn btn-success waves-effect waves-light m-r-10']) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ Form::close() }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if($search_complete || !is_null($ward_item_requests))
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="white-box">
|
||||
@if($search_complete)
|
||||
<h4 style="color: #0060BF; font-weight: bolder;">{{ streamline_date($start_date) }} to {{ streamline_date($end_date) }}</h4>
|
||||
@else
|
||||
<h4 style="color: #0060BF; font-weight: bolder;">Item requests in the last 24 hours</h4>
|
||||
@endif
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered color-bordered-table success-bordered-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Date</th>
|
||||
<th>Ward</th>
|
||||
<th>Items</th>
|
||||
<th>Requested by</th>
|
||||
<th>Approval status</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if(count($ward_item_requests) > 0)
|
||||
@foreach($ward_item_requests as $record)
|
||||
@php
|
||||
$item_type = $record->item_type;
|
||||
$item_ids_array = explode(",", $record->item_ids);
|
||||
$item_quantities_array = explode(",", $record->item_quantities);
|
||||
@endphp
|
||||
<tr>
|
||||
<td>
|
||||
{{ streamline_date($record->created_at) }}
|
||||
</td>
|
||||
<td>{{ get_name($record->ward_id, 'id', 'name', 'wards') }}</td>
|
||||
<td>
|
||||
{{ count($item_ids_array) }}
|
||||
@if($record->item_type == "1") Drugs
|
||||
@elseif($record->item_type == "2") Sundries
|
||||
@else General Items
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
{{ get_full_name($record->created_by, 'id', 'first_name', 'last_name', 'users') }}
|
||||
</td>
|
||||
<td>{!! $record->approved_status == 1 ? "<font style='color: green'>Approved</font>" : "<font style='color: red'>Not approved</font>"!!}</td>
|
||||
<td>
|
||||
{{ Form::open(['route' => 'ward_item_request.ward_item_request_details']) }}
|
||||
{{ Form::hidden('ward_item_request_id',$record->id) }}
|
||||
@if($record->dispensation_status == 1 && $record->approved_status == 1)
|
||||
<button class="btn btn-default" disabled>Items dispensed </button>
|
||||
<a class="btn btn-success" href="print_ward_item_request_details/{{ $record->id }}">View Details </a>
|
||||
@elseif($record->approved_status == 1)
|
||||
@if( Auth::user()->can('dispense-ward-request'))
|
||||
<button type="submit" class="btn btn-success">Dispense Items </button>
|
||||
@else
|
||||
<button class="btn btn-success" disabled>Dispense Request</button>
|
||||
@endif
|
||||
@else
|
||||
@if( Auth::user()->can('approve-ward-request'))
|
||||
<button type="submit" class="btn btn-info">Approve Request</button>
|
||||
@else
|
||||
<button class="btn btn-info" disabled>Approve Request</button>
|
||||
@endif
|
||||
@endif
|
||||
{{ Form::close() }}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@else
|
||||
<tr>
|
||||
<td colspan="6" class="text-center">No records available for this search query</td>
|
||||
</tr>
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@endsection
|
||||
@push('scripts')
|
||||
<script src="{{ asset('elite/bower_components/select2/select2.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.js') }}"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
$(document).ready(function() {
|
||||
$('#start_date').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'yyyy/mm/dd',
|
||||
orientation: 'bottom'
|
||||
});
|
||||
|
||||
$('#end_date').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'yyyy/mm/dd',
|
||||
orientation: 'bottom'
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
+165
@@ -0,0 +1,165 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ app()->getLocale() }}">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ asset('uploads/streamline/color/streamline_icon-02.png') }}">
|
||||
<title>{{ config('app.name', 'Stre@mline') }}</title>
|
||||
<!-- Bootstrap Core CSS -->
|
||||
<link href="{{ asset('bootstrap/css/bootstrap.min.css') }}" rel="stylesheet">
|
||||
|
||||
<style>
|
||||
body{
|
||||
/*font-size: 1.2em;*/
|
||||
}
|
||||
|
||||
thead {
|
||||
/*display: table-header-group;*/
|
||||
}
|
||||
|
||||
tfoot {
|
||||
/*display: table-row-group;*/
|
||||
}
|
||||
|
||||
tr {
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
@include('layouts.header_pdf_print')
|
||||
<h5 class="heading" style="text-align: center;">Ward request items receipt</h5>
|
||||
<h5 class="heading" style="text-align: center; color: #0060BF; font-weight: bolder;">Request from <strong>{{ get_name($ward_request_record->ward_id, "id", "name", "wards") }}</strong> on {{ streamline_date($ward_request_record->created_at) }}</h5>
|
||||
|
||||
@php
|
||||
$item_ids_array = explode(",", $ward_request_record->item_ids_issued_out);
|
||||
$item_quantities_array = explode(",", $ward_request_record->item_quantities);
|
||||
if($ward_request_record->approved_status == "1"){
|
||||
$items_on_request_array = explode(",", $ward_request_record->item_ids);
|
||||
$balance_returned_array = explode(",", $ward_request_record->balance_returned);
|
||||
$quantity_approved_array = explode(",", $ward_request_record->item_quantities_approved);
|
||||
$quantity_issued_out_array = explode(",", $ward_request_record->quantity_issued_out);
|
||||
|
||||
/* do this to create an ass array of items to balance returned */
|
||||
$item_with_requests_associative_array = [];
|
||||
$item_with_balance_associative_array = [];
|
||||
for ($c=0; $c < count($items_on_request_array) ; $c++) {
|
||||
$item_with_requests_associative_array[$items_on_request_array[$c]] = $item_quantities_array[$c];
|
||||
$item_with_balance_associative_array[$items_on_request_array[$c]] = $balance_returned_array[$c];
|
||||
}
|
||||
/* ***** */
|
||||
}
|
||||
|
||||
$total_items_cost = 0;
|
||||
@endphp
|
||||
|
||||
<table class="table table-light table-sm table-borderless">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>No.</th>
|
||||
<th>
|
||||
@if($ward_request_record->item_type == "1")
|
||||
Drug
|
||||
@elseif($ward_request_record->item_type == "2")
|
||||
Sundry
|
||||
@else
|
||||
General Item
|
||||
@endif
|
||||
</th>
|
||||
<th>Balance returned</th>
|
||||
<th>Quantity requested</th>
|
||||
<th>Quantity issued</th>
|
||||
<th>Unit cost</th>
|
||||
<th>Amount</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@for($i=0; $i < count($item_ids_array); $i++)
|
||||
<tr>
|
||||
<td>
|
||||
{{ $i + 1 }}
|
||||
</td>
|
||||
<td>
|
||||
@if($ward_request_record->item_type == "1")
|
||||
{{ get_name($item_ids_array[$i], "id", "name", "drugs") }}
|
||||
@elseif($ward_request_record->item_type == "2")
|
||||
{{ get_name($item_ids_array[$i], "id", "name", "sundries") }}
|
||||
@else
|
||||
{{ get_name($item_ids_array[$i], "id", "name", "general_items") }}
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
{{ $item_with_balance_associative_array[$item_ids_array[$i]] ?? "" }}
|
||||
</td>
|
||||
<td>
|
||||
{{ $item_with_requests_associative_array[$item_ids_array[$i]] ?? "" }}
|
||||
</td>
|
||||
<td>
|
||||
{{ $quantity_issued_out_array[$i] }}
|
||||
</td>
|
||||
<td>
|
||||
@if($ward_request_record->item_type == 1)
|
||||
{{ ugandan_shillings_with_decimals(get_name($item_ids_array[$i], "id", "cost_price", "drugs")) }}
|
||||
@elseif($ward_request_record->item_type == 2)
|
||||
{{ ugandan_shillings_with_decimals(get_name($item_ids_array[$i], "id", "cost_price", "sundries")) }}
|
||||
@elseif($ward_request_record->item_type == 3)
|
||||
{{ ugandan_shillings_with_decimals(get_name($item_ids_array[$i], "id", "cost_price", "general_items")) }}
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if($ward_request_record->item_type == 1)
|
||||
@php
|
||||
$total_items_cost += $quantity_issued_out_array[$i] * get_name($item_ids_array[$i], "id", "cost_price", "drugs");
|
||||
@endphp
|
||||
|
||||
{{ ugandan_shillings_with_decimals($quantity_issued_out_array[$i] * get_name($item_ids_array[$i], "id", "cost_price", "drugs")) }}
|
||||
@elseif($ward_request_record->item_type == 2)
|
||||
@php
|
||||
$total_items_cost += $quantity_issued_out_array[$i] * get_name($item_ids_array[$i], "id", "cost_price", "sundries");
|
||||
@endphp
|
||||
|
||||
{{ ugandan_shillings_with_decimals($quantity_issued_out_array[$i] * get_name($item_ids_array[$i], "id", "cost_price", "sundries")) }}
|
||||
@elseif($ward_request_record->item_type == 3)
|
||||
@php
|
||||
$total_items_cost += $quantity_issued_out_array[$i] * get_name($item_ids_array[$i], "id", "cost_price", "general_items");
|
||||
@endphp
|
||||
|
||||
{{ ugandan_shillings_with_decimals($quantity_issued_out_array[$i] * get_name($item_ids_array[$i], "id", "cost_price", "general_items")) }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endfor
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<br>
|
||||
|
||||
<strong>COMMENT:</strong><br>{{ $ward_request_record->comment }}
|
||||
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<strong>RECEIVED BY:</strong><br> {{ get_full_name($ward_request_record->received_by, 'id', 'first_name', 'last_name', 'users') }}
|
||||
</div>
|
||||
<div class="col">
|
||||
<strong>ISSUED BY:</strong><br> {{ get_full_name($ward_request_record->dispensed_by, 'id', 'first_name', 'last_name', 'users') }}
|
||||
</div>
|
||||
<div class="col">
|
||||
<strong>DISPENSED ON:</strong><br>{{ streamline_date($ward_request_record->dispensed_on) }}
|
||||
</div>
|
||||
<div class="col">
|
||||
<strong>APPROVED BY:</strong><br>{{ get_full_name($ward_request_record->approved_by, 'id', 'first_name', 'last_name', 'users') }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+181
@@ -0,0 +1,181 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@push('styles')
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div class="row bg-title">
|
||||
<div class="col-lg-6 col-md-7 col-sm-7 col-xs-12">
|
||||
<h4 class="page-title">Ward request items receipt</h4>
|
||||
</div>
|
||||
<div class="col-lg-6 col-sm-5 col-md-5 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">Dashboard</a></li>
|
||||
<li><a href="{{ url('incoming_ward_requests') }}">Incoming ward requests</a></li>
|
||||
<li class="active">Ward request items receipt</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
@include('flash::message')
|
||||
<div style="float:right;"><a class="btn btn-success glyphicon glyphicon-print" href="/print_ward_item_request_details_pdf/{{ $ward_request_record->id }}" target="_blank"> Print</a></div><br><br>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12" id="divToPrint">
|
||||
<div class="white-box">
|
||||
@php
|
||||
$item_ids_array = explode(",", $ward_request_record->item_ids_issued_out);
|
||||
$item_quantities_array = explode(",", $ward_request_record->item_quantities);
|
||||
if($ward_request_record->approved_status == "1"){
|
||||
$items_on_request_array = explode(",", $ward_request_record->item_ids);
|
||||
$balance_returned_array = explode(",", $ward_request_record->balance_returned);
|
||||
$quantity_approved_array = explode(",", $ward_request_record->item_quantities_approved);
|
||||
$quantity_issued_out_array = explode(",", $ward_request_record->quantity_issued_out);
|
||||
|
||||
/* do this to create an ass array of items to balance returned */
|
||||
$item_with_requests_associative_array = [];
|
||||
$item_with_balance_associative_array = [];
|
||||
for ($c=0; $c < count($items_on_request_array) ; $c++) {
|
||||
$item_with_requests_associative_array[$items_on_request_array[$c]] = $item_quantities_array[$c];
|
||||
$item_with_balance_associative_array[$items_on_request_array[$c]] = $balance_returned_array[$c];
|
||||
}
|
||||
/* ***** */
|
||||
}
|
||||
|
||||
$hospital_information = \Streamline\Models\HospitalInformation::first();
|
||||
@endphp
|
||||
|
||||
<p style="text-align: center; font-size: 1em">
|
||||
<span style="font-weight: bolder; text-decoration: underline; display: block; font-family: monospace"><b>{{ $hospital_information->name }}</b></span>
|
||||
<span style="font-weight: bolder; text-decoration: underline; display: block; font-family: monospace">{{ $hospital_information->address }}</span>
|
||||
<span class="receipt-label"><b>Tel:</b> {{ $hospital_information->phone_number }}</span><br>
|
||||
<span class="receipt-label"><b>Email:</b> {{ $hospital_information->email }}</span><br>
|
||||
<span class="receipt-label"><b>Department:</b> {{ get_name($ward_request_record->ward_id, "id", "name", "wards") }}</span><br>
|
||||
<span class="receipt-label"><b>Authorized by:</b> {{ get_full_name($ward_request_record->approved_by, 'id', 'first_name', 'last_name', 'users') }}</span><br>
|
||||
</p>
|
||||
@php
|
||||
$total_items_cost = 0;
|
||||
@endphp
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered color-bordered-table success-bordered-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align: left;">No.</th>
|
||||
<th style="text-align: left;">
|
||||
@if($ward_request_record->item_type == "1")
|
||||
Drug
|
||||
@elseif($ward_request_record->item_type == "2")
|
||||
Sundry
|
||||
@else
|
||||
General Item
|
||||
@endif
|
||||
</th>
|
||||
<th style="text-align: left;">Balance returned</th>
|
||||
<th style="text-align: left;">Quantity requested</th>
|
||||
<th style="text-align: left;">Quantity issued</th>
|
||||
<th style="text-align: left;">Unit cost</th>
|
||||
<th style="text-align: left;">Amount</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@for($i=0; $i < count($item_ids_array); $i++)
|
||||
<tr>
|
||||
<td style="text-align: left;">
|
||||
{{ $i + 1 }}
|
||||
</td>
|
||||
<td style="text-align: left;">
|
||||
@if($ward_request_record->item_type == "1")
|
||||
{{ get_name($item_ids_array[$i], "id", "name", "drugs") }}
|
||||
@elseif($ward_request_record->item_type == "2")
|
||||
{{ get_name($item_ids_array[$i], "id", "name", "sundries") }}
|
||||
@else
|
||||
{{ get_name($item_ids_array[$i], "id", "name", "general_items") }}
|
||||
@endif
|
||||
</td>
|
||||
<td style="text-align: left;">
|
||||
{{ $item_with_balance_associative_array[$item_ids_array[$i]] ?? "" }}
|
||||
</td>
|
||||
<td style="text-align: left;">
|
||||
{{ $item_with_requests_associative_array[$item_ids_array[$i]] ?? "" }}
|
||||
</td>
|
||||
<td style="text-align: left;">
|
||||
{{ $quantity_issued_out_array[$i] }}
|
||||
</td>
|
||||
<td style="text-align: left;">
|
||||
@if($ward_request_record->item_type == 1)
|
||||
{{ ugandan_shillings_with_decimals(get_name($item_ids_array[$i], "id", "cost_price", "drugs")) }}
|
||||
@elseif($ward_request_record->item_type == 2)
|
||||
{{ ugandan_shillings_with_decimals(get_name($item_ids_array[$i], "id", "cost_price", "sundries")) }}
|
||||
@elseif($ward_request_record->item_type == 3)
|
||||
{{ ugandan_shillings_with_decimals(get_name($item_ids_array[$i], "id", "cost_price", "general_items")) }}
|
||||
@endif
|
||||
</td>
|
||||
<td style="text-align: left;">
|
||||
@if($ward_request_record->item_type == 1)
|
||||
@php
|
||||
$total_items_cost += $quantity_issued_out_array[$i] * get_name($item_ids_array[$i], "id", "cost_price", "drugs");
|
||||
@endphp
|
||||
|
||||
{{ ugandan_shillings_with_decimals($quantity_issued_out_array[$i] * get_name($item_ids_array[$i], "id", "cost_price", "drugs")) }}
|
||||
@elseif($ward_request_record->item_type == 2)
|
||||
@php
|
||||
$total_items_cost += $quantity_issued_out_array[$i] * get_name($item_ids_array[$i], "id", "cost_price", "sundries");
|
||||
@endphp
|
||||
|
||||
{{ ugandan_shillings_with_decimals($quantity_issued_out_array[$i] * get_name($item_ids_array[$i], "id", "cost_price", "sundries")) }}
|
||||
@elseif($ward_request_record->item_type == 3)
|
||||
@php
|
||||
$total_items_cost += $quantity_issued_out_array[$i] * get_name($item_ids_array[$i], "id", "cost_price", "general_items");
|
||||
@endphp
|
||||
|
||||
{{ ugandan_shillings_with_decimals($quantity_issued_out_array[$i] * get_name($item_ids_array[$i], "id", "cost_price", "general_items")) }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endfor
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><strong>Total</strong></td>
|
||||
<td><strong>{{ ugandan_shillings_with_decimals($total_items_cost) }}</strong></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<strong>COMMENT:</strong><br>{{ $ward_request_record->comment }}
|
||||
</div>
|
||||
<br><br>
|
||||
<div class="col-sm-3">
|
||||
<strong>RECEIVED BY:</strong><br> {{ get_full_name($ward_request_record->received_by, 'id', 'first_name', 'last_name', 'users') }}
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<strong>ISSUED BY:</strong><br> {{ get_full_name($ward_request_record->dispensed_by, 'id', 'first_name', 'last_name', 'users') }}
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<strong>DISPENSED ON:</strong><br>{{ streamline_date($ward_request_record->dispensed_on) }}
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<strong>APPROVED BY:</strong><br>{{ get_full_name($ward_request_record->approved_by, 'id', 'first_name', 'last_name', 'users') }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@push('scripts')
|
||||
@endpush
|
||||
+453
@@ -0,0 +1,453 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@push('styles')
|
||||
<link href="{{ asset('elite/bower_components/select2/select2.min.css') }}" rel="stylesheet" />
|
||||
<link href="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('/elite/bower_components/datatables/jquery.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('elite/tables/css/buttons.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div class="row bg-title">
|
||||
<div class="col-lg-6 col-md-7 col-sm-7 col-xs-12">
|
||||
<h4 class="page-title">Ward request</h4>
|
||||
</div>
|
||||
<div class="col-lg-6 col-sm-5 col-md-5 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">Dashboard</a></li>
|
||||
<li class="active">Ward request</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<!--Flash messages at the top -->
|
||||
@include('flash::message')
|
||||
@foreach ($errors->all() as $error)
|
||||
<div>{{ $error }}</div>
|
||||
@endforeach
|
||||
|
||||
<div class="white-box">
|
||||
<h4 style="color: blue;">Request for ward items</h4>
|
||||
<div class="row">
|
||||
<div class="col-sm-4">
|
||||
{{ Form::open(['route' => 'ward_item_request.ward_item_requests' , 'data-toggle' => 'validator']) }}
|
||||
<div class="form-group">
|
||||
{{ Form::label('ward', 'SELECT WARD') }}
|
||||
{{ Form::select('ward',$wards,'',['id'=>'prescription-drugs','class' => 'form-control col-sm-8 compulsory ward_allocation']) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
{{ Form::label('item_type', 'ITEM TYPE') }}
|
||||
{{ Form::select('item_type',['1' => 'Drugs', '2' => 'Sundries', '3' => 'General Items'],'',['id'=>'item_type','class' => 'form-control col-sm-8 compulsory']) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-8">
|
||||
<div class="form-group" id="drugs_dropdown">
|
||||
{{ Form::label('drugs', 'SELECT DRUGS') }}
|
||||
{{ Form::select('drugs_requested[]', $drugs,'',['id'=>'prescription-drugs', 'multiple'=>true, 'class' => 'form-control prescription-drugs']) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group" style="display: none;" id="sundries_dropdown">
|
||||
{{ Form::label('sundries', 'SELECT SUNDRIES') }}
|
||||
{{ Form::select('sundries_requested[]',$sundries,'',['id'=>'prescription-sundries','multiple'=>true,'class' => 'form-control prescription-sundries']) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group" style="display: none;" id="general_items_dropdown">
|
||||
{{ Form::label('general_items', 'SELECT GENERAL ITEMS') }}
|
||||
{{ Form::select('general_items_requested[]',$general_items,'',['id'=>'prescription-general_items','multiple'=>true,'class' => 'form-control prescription-general_items']) }}
|
||||
</div>
|
||||
|
||||
<div class="submit-button">
|
||||
{{ Form::button('Confirm',['type'=>'submit','class'=>'btn btn-success waves-effect waves-light m-r-10 confirmSelection','style'=>'padding: .6rem 1.2rem;']) }}
|
||||
</div>
|
||||
{{ Form::close() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if(isset($drugs_requested) || isset($sundries_requested) || isset($general_items_requested))
|
||||
<div class="white-box">
|
||||
{{ Form::open(['route' => 'ward_item_request.store_ward_item_requests' , 'data-toggle' => 'validator']) }}
|
||||
<div class="row">
|
||||
<div class="col-sm-2">
|
||||
<font color="blue">
|
||||
<strong>{{ !is_null($ward_id) ? get_name($ward_id, "id", "name", "wards") : ""}}</strong> requests
|
||||
</font>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-10">
|
||||
<div class="table-responsive">
|
||||
<table class="table color-bordered-table success-bordered-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Items</th>
|
||||
@if($item_type == "1" || $item_type == "2") <th>Pharmacy Stock</th> @endif
|
||||
<th>Store stock</th>
|
||||
<th>Last Dispensation to <strong>{{ !is_null($ward_id) ? get_name($ward_id, "id", "name", "wards") : ""}}</strong></th>
|
||||
<th>Balance on ward</th>
|
||||
<th>Quantity To Be Returned To Pharmacy</th>
|
||||
<th>Quantity requested</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if(isset($drugs_requested))
|
||||
@for($i=0; $i < count($drugs_requested); $i++)
|
||||
@php
|
||||
$batch_records = \Streamline\Models\ItemBatchWatcher::where(['item_type' => 1, 'item_id' => $drugs_requested[$i]])->where(function ($query) {
|
||||
$query->where('pharmacy_stock', '>', 0)
|
||||
->orWhere('store_stock', '>', 0);
|
||||
})->get();
|
||||
|
||||
$drug_pharmacy_stock = $drug_store_stock = 0;
|
||||
|
||||
if (count($batch_records) > 0) {
|
||||
foreach ($batch_records as $record) {
|
||||
$drug_store_stock += $record->store_stock;
|
||||
$drug_pharmacy_stock += $record->pharmacy_stock;
|
||||
}
|
||||
}
|
||||
@endphp
|
||||
<tr>
|
||||
<td>
|
||||
{{ $i + 1 }}
|
||||
</td>
|
||||
<td>
|
||||
<?php $item_unit_cost = DB::table('drugs')->where('id', $drugs_requested[$i])->pluck('cost_price')->first(); ?>
|
||||
{{ $item_type == "1" ? get_name($drugs_requested[$i], "id", "name", "drugs") : ""}}
|
||||
<input type="hidden" name="ward_id" value="{{ $ward_id }}">
|
||||
<input type="hidden" name="item_type" value="{{ $item_type }}">
|
||||
<input type="hidden" name="item_id[]" value="{{ $drugs_requested[$i] }}">
|
||||
<input type="hidden" name="item_unit_cost[]" value="{{ $item_unit_cost }}"/>
|
||||
</td>
|
||||
<td>
|
||||
{{ $item_type == "1" ? $drug_pharmacy_stock : "" }}
|
||||
</td>
|
||||
<td>
|
||||
{{ $item_type == "1" ? $drug_store_stock : "" }}
|
||||
</td>
|
||||
<td>
|
||||
{{-- last quantity given and when it was given --}}
|
||||
@php
|
||||
$last_dispensation_details_array = last_item_dispensation_to_ward($drugs_requested[$i], 1, $ward_id);
|
||||
|
||||
$last_qty_taken = $last_dispensation_details_array[0];
|
||||
$date_taken = $last_dispensation_details_array[1];
|
||||
|
||||
$drug_form_name = "";
|
||||
$drug_form_id = get_name($drugs_requested[$i], "id", "form_id", "drugs");
|
||||
$drug_form_name = get_name($drug_form_id, "id", "name", "unit_of_measure");
|
||||
@endphp
|
||||
{{ $last_qty_taken }} {{ $drug_form_name }}
|
||||
{!! is_null($date_taken) ? "" : "<br><br>Taken on: <b>".streamline_date($date_taken)."</b>" !!}
|
||||
</td>
|
||||
<td>
|
||||
<input type="number" name="balance_returned[]" value="0" class="form-control" step=".01">
|
||||
</td>
|
||||
<td>
|
||||
<input type="number" name="balance_on_ward_during_request[]" value="0" class="form-control" step=".01">
|
||||
</td>
|
||||
<td>
|
||||
<input type="number" name="quantity_requested[]" class="form-control" step=".01">
|
||||
</td>
|
||||
</tr>
|
||||
@endfor
|
||||
@elseif(isset($sundries_requested))
|
||||
@for($i=0; $i < count($sundries_requested); $i++)
|
||||
@php
|
||||
$batch_records = \Streamline\Models\ItemBatchWatcher::where(['item_type' => 2, 'item_id' => $sundries_requested[$i]])->where(function ($query) {
|
||||
$query->where('pharmacy_stock', '>', 0)
|
||||
->orWhere('store_stock', '>', 0);
|
||||
})->get();
|
||||
|
||||
$sundry_pharmacy_stock = $sundry_store_stock = 0;
|
||||
|
||||
if (count($batch_records) > 0) {
|
||||
foreach ($batch_records as $record) {
|
||||
$sundry_store_stock += $record->store_stock;
|
||||
$sundry_pharmacy_stock += $record->pharmacy_stock;
|
||||
}
|
||||
}
|
||||
@endphp
|
||||
<tr>
|
||||
<td>
|
||||
{{ $i + 1 }}
|
||||
</td>
|
||||
<td>
|
||||
<?php $item_unit_cost = DB::table('sundries')->where('id', $sundries_requested[$i])->pluck('cost_price')->first(); ?>
|
||||
{{ $item_type == "2" ? get_name($sundries_requested[$i], "id", "name", "sundries") : ""}}
|
||||
<input type="hidden" name="ward_id" value="{{ $ward_id }}">
|
||||
<input type="hidden" name="item_type" value="{{ $item_type }}">
|
||||
<input type="hidden" name="item_id[]" value="{{ $sundries_requested[$i] }}">
|
||||
<input type="hidden" name="item_unit_cost[]" value="{{ $item_unit_cost }}"/>
|
||||
</td>
|
||||
<td>
|
||||
{{ $sundry_pharmacy_stock }}
|
||||
</td>
|
||||
<td>
|
||||
{{ $sundry_store_stock }}
|
||||
</td>
|
||||
<td>
|
||||
{{-- last quantity given and when it was given --}}
|
||||
@php
|
||||
$last_dispensation_details_array = last_item_dispensation_to_ward($sundries_requested[$i], 2, $ward_id);
|
||||
|
||||
$last_qty_taken = $last_dispensation_details_array[0];
|
||||
$date_taken = $last_dispensation_details_array[1];
|
||||
@endphp
|
||||
{{ $last_qty_taken }}
|
||||
{!! is_null($date_taken) ? "" : "<br><br>Taken on: <b>".streamline_date($date_taken)."</b>" !!}
|
||||
</td>
|
||||
<td>
|
||||
<input type="number" name="balance_returned[]" value="0" class="form-control" step=".01">
|
||||
</td>
|
||||
<td>
|
||||
<input type="number" name="balance_on_ward_during_request[]" value="0" class="form-control" step=".01">
|
||||
</td>
|
||||
<td>
|
||||
<input type="number" name="quantity_requested[]" class="form-control" step=".01">
|
||||
</td>
|
||||
</tr>
|
||||
@endfor
|
||||
@elseif(isset($general_items_requested))
|
||||
@for($i=0; $i < count($general_items_requested); $i++)
|
||||
<tr>
|
||||
<td>
|
||||
{{ $i + 1 }}
|
||||
</td>
|
||||
<td>
|
||||
<?php $item_unit_cost = DB::table('general_items')->where('id', $general_items_requested[$i])->pluck('cost_price')->first(); ?>
|
||||
{{ $item_type == "3" ? get_name($general_items_requested[$i], "id", "name", "general_items") : "" }}
|
||||
<input type="hidden" name="ward_id" value="{{ $ward_id }}">
|
||||
<input type="hidden" name="item_type" value="{{ $item_type }}">
|
||||
<input type="hidden" name="item_id[]" value="{{ $general_items_requested[$i] }}">
|
||||
<input type="hidden" name="item_unit_cost[]" value="{{ $item_unit_cost }}"/>
|
||||
</td>
|
||||
{{-- <td>
|
||||
{{ $item_type == "3" ? get_name($general_items_requested[$i], "id", "pharmacy_stock", "general_items") : ""}}
|
||||
</td> --}}
|
||||
<td>
|
||||
{{ $item_type == "3" ? get_name($general_items_requested[$i], "id", "store_stock", "general_items") : ""}}
|
||||
</td>
|
||||
<td>
|
||||
{{-- last quantity given and when it was given --}}
|
||||
</td>
|
||||
<td>
|
||||
<input type="number" name="balance_on_ward_during_request[]" value="0" class="form-control" step=".01">
|
||||
</td>
|
||||
<td>
|
||||
<input type="number" name="balance_returned[]" value="0" class="form-control" step=".01">
|
||||
</td>
|
||||
<td>
|
||||
<input type="number" name="quantity_requested[]" class="form-control" step=".01">
|
||||
</td>
|
||||
</tr>
|
||||
@endfor
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="comments-section">
|
||||
<br>
|
||||
{{ Form::label('order_comment', 'Order Comment', ['style' => 'font-size: bolder; font-weight: 600']) }}
|
||||
{{ Form::textarea('order_comment',null,['class'=>'form-control', 'rows' => 5, 'cols' => 20]) }}
|
||||
<br>
|
||||
</div>
|
||||
|
||||
<input type="submit" name="submit_dispense" class = "btn btn-success pull-right" value="Submit Request"/>
|
||||
{{ Form::close() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@else
|
||||
<div class="white-box">
|
||||
<h4>List of all wards' requests</h4>
|
||||
<div class="table-responsive">
|
||||
<table id="allItemRequests" class="table table-bordered color-bordered-table success-bordered-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Date</th>
|
||||
<th>Ward</th>
|
||||
<th>Quantity</th>
|
||||
<th>Requested by</th>
|
||||
<th>Approval status</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if(count($all_ward_item_requests) > 0)
|
||||
@foreach($all_ward_item_requests as $record)
|
||||
@php
|
||||
$item_type = $record->item_type;
|
||||
$item_ids_array = explode(",", $record->item_ids);
|
||||
$item_quantities_array = explode(",", $record->item_quantities);
|
||||
@endphp
|
||||
<tr>
|
||||
<td>
|
||||
{{ streamline_date($record->created_at) }}
|
||||
</td>
|
||||
<td>{{ get_name($record->ward_id, 'id', 'name', 'wards') }}</td>
|
||||
<td>
|
||||
{{ count($item_ids_array) }}
|
||||
@if ($record->item_type == 1)
|
||||
Drugs
|
||||
@elseif($record->item_type == 2)
|
||||
Sundries
|
||||
@elseif($record->item_type == 3)
|
||||
General Items
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
{{ get_full_name($record->created_by, 'id', 'first_name', 'last_name', 'users') }}
|
||||
</td>
|
||||
<td>
|
||||
@if($record->dispensation_status == 1)
|
||||
<font style='color: green'>Dispensed</font>
|
||||
@elseif($record->approved_status == 1)
|
||||
<font style='color: blue'>Approved</font>
|
||||
@else
|
||||
<font style='color: red'>Not approved</font>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
{{ Form::open(['route' => 'ward_item_request.show_ward_item_request_details' , 'data-toggle' => 'validator']) }}
|
||||
{{ Form::hidden('ward_request_id', $record->id)}}
|
||||
{{ Form::button('Details',['type'=>'submit','class'=>'btn btn-success btn-rounded waves-effect waves-light m-r-10']) }}
|
||||
{{ Form::close() }}
|
||||
</td>
|
||||
<td>
|
||||
@if( Auth::user()->can('edit-ward-item-request'))
|
||||
@if($record->dispensation_status != 1 && $record->approved_status != 1)
|
||||
{{ Form::open(['route' => 'ward_item_request.edit' , 'data-toggle' => 'validator']) }}
|
||||
{{ Form::hidden('ward_request_id', $record->id)}}
|
||||
{{ Form::button('Edit Request',['type'=>'submit','class'=>'btn btn-warning btn-rounded waves-effect waves-light m-r-10']) }}
|
||||
{{ Form::close() }}
|
||||
@endif
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if( Auth::user()->can('delete-ward-item-request'))
|
||||
{{ Form::open(['route' => 'ward_item_request.delete' , 'data-toggle' => 'validator']) }}
|
||||
{{ Form::hidden('ward_request_id', $record->id)}}
|
||||
{{ Form::button('Delete',['type'=>'submit','class'=>'btn btn-danger btn-rounded waves-effect waves-light m-r-10']) }}
|
||||
{{ Form::close() }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@endsection
|
||||
@push('scripts')
|
||||
<script src="{{ asset('elite/bower_components/datatables/jquery.dataTables.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/dataTables.buttons.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.flash.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/jszip.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/pdfmake.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/vfs_fonts.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.html5.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.print.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.colVis.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/bower_components/select2/select2.min.js') }}"></script>
|
||||
<!-- data time picker dependency -->
|
||||
<script src="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.js') }}"></script>
|
||||
<!-- -->
|
||||
<script src="{{ asset('elite/js/validator.js') }}"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('#allItemRequests').DataTable({
|
||||
order: [ 1, "asc" ],
|
||||
dom: 'Bfrtip',
|
||||
pageLength: 100,
|
||||
buttons: [
|
||||
'copy',
|
||||
{ extend: 'csv',
|
||||
message: 'LIST OF WARD ITEM REQUESTS'
|
||||
},
|
||||
{ extend: 'excel',
|
||||
message: 'LIST OF WARD ITEM REQUESTS',
|
||||
sheetName: 'LIST OF WARD ITEM REQUESTS ON STREAMLINE'
|
||||
},
|
||||
{ extend: 'pdf',
|
||||
message: 'LIST OF WARD ITEM REQUESTS',
|
||||
orientation: 'landscape',
|
||||
pageSize: 'LETTER'
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
$('#datepicker-autoclose').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'dd/mm/yyyy',
|
||||
setDate: new Date(),
|
||||
readOnly: true
|
||||
});
|
||||
|
||||
$('.prescription-drugs,.ward_allocation,.prescription-sundries,.prescription-general_items').select2({
|
||||
placeholder: "Select",
|
||||
width: "100%"
|
||||
});
|
||||
|
||||
$('.select2-selection.select2-selection--single').css('height','calc(3.85rem)');
|
||||
$('.select2-selection.select2-selection--single').css('padding-top','5px');
|
||||
$('.select2-selection.select2-selection--single').css('border-left', '3px solid #F08080');//compulsory class css
|
||||
$('.select2-selection.select2-selection--single.sec_d').css('border-left', '3px solid #aaa');
|
||||
$('.select2-selection__arrow').css('top','3px');
|
||||
|
||||
$("#item_type").change(function(e) {
|
||||
var item_id = $(this).val();
|
||||
if (item_id == 2) {
|
||||
$("#drugs_dropdown").hide();
|
||||
$("#sundries_dropdown").show();
|
||||
$("#general_items_dropdown").hide();
|
||||
} else if(item_id == 3){
|
||||
$("#general_items_dropdown").show();
|
||||
$("#drugs_dropdown").hide();
|
||||
$("#sundries_dropdown").hide();
|
||||
}
|
||||
else {
|
||||
$("#drugs_dropdown").show();
|
||||
$("#sundries_dropdown").hide();
|
||||
$("#general_items_dropdown").hide();
|
||||
}
|
||||
});
|
||||
|
||||
$(".remove").on("click", function () {
|
||||
$(this).parent().parent().remove();
|
||||
});
|
||||
|
||||
$(".confirmSelection").click(function (e) { // make sure that all compulsory fields have been filled out
|
||||
var empty_compulsory_fields = [];
|
||||
$(".compulsory").each(function () {
|
||||
if ($(this).val() == "") {
|
||||
var textname = $(this).attr('name');
|
||||
$(this).focus();
|
||||
empty_compulsory_fields.push(textname);
|
||||
$(this).css('border','1px solid #F08080');
|
||||
}
|
||||
});
|
||||
/* check if the array containing empty compulsory fields is not empty then return false */
|
||||
if (empty_compulsory_fields.length != 0) {
|
||||
alert("Please fill in all compulsory fields");
|
||||
console.log(empty_compulsory_fields);
|
||||
e.preventDefault();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
+525
@@ -0,0 +1,525 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@push('styles')
|
||||
<link href="{{ asset('elite/bower_components/select2/select2.min.css') }}" rel="stylesheet" />
|
||||
<link href="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div class="row bg-title">
|
||||
<div class="col-lg-6 col-md-7 col-sm-7 col-xs-12">
|
||||
<h4 class="page-title">Ward request details</h4>
|
||||
</div>
|
||||
<div class="col-lg-6 col-sm-5 col-md-5 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">Dashboard</a></li>
|
||||
<li><a href="{{ url('incoming_ward_requests') }}">Incoming ward requests</a></li>
|
||||
<li class="active">Ward request details</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
@include('flash::message')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-2 offset-10 text-right">
|
||||
<button class="btn btn-primary glyphicon glyphicon-print" id="print_agreement"> Print
|
||||
</button>
|
||||
</div>
|
||||
</div><br>
|
||||
|
||||
<div class="row" id="divToPrint">
|
||||
<div class="col-sm-12">
|
||||
<div class="white-box">
|
||||
<h4 style="color: #0060BF; font-weight: bolder;">Request from <strong>{{ get_name($ward_request_details->ward_id, "id", "name", "wards") }}</strong> on {{ streamline_date($ward_request_details->created_at) }}</h4>
|
||||
|
||||
@php
|
||||
$item_ids_array = explode(",", $ward_request_details->item_ids);
|
||||
$item_quantities_array = explode(",", $ward_request_details->item_quantities);
|
||||
$balance_during_request_array = explode("," , $ward_request_details->balance_on_ward_during_request);
|
||||
$balance_returned_array = explode(",", $ward_request_details->balance_returned);
|
||||
if($ward_request_details->approved_status == "1"){
|
||||
$quantity_approved_array = explode(",", $ward_request_details->item_quantities_approved);
|
||||
}
|
||||
|
||||
$ward_id = $ward_request_details->ward_id;
|
||||
@endphp
|
||||
|
||||
{{ Form::open(['route' => 'ward_item_request.store_ward_item_request_details', 'data-toggle' => 'validator']) }}
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered color-bordered-table success-bordered-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>
|
||||
@if($ward_request_details->item_type == "1")
|
||||
Drug
|
||||
@elseif($ward_request_details->item_type == "2")
|
||||
Sundry
|
||||
@else
|
||||
General Item
|
||||
@endif
|
||||
</th>
|
||||
@if($ward_request_details->item_type == "1" || $ward_request_details->item_type == "2")
|
||||
<th>Pharmacy Stock</th>
|
||||
@endif
|
||||
<th>Store stock</th>
|
||||
<th>Quantity requested</th>
|
||||
<th>Balance on ward</th>
|
||||
<th>Quantity To Be Returned To Pharmacy</th>
|
||||
<th>Last dispensation to <strong>{{ !is_null($ward_id) ? get_name($ward_id, "id", "name", "wards") : ""}}</strong>
|
||||
</th>
|
||||
<th>Quantity approved</th>
|
||||
@if($ward_request_details->approved_status == "1")
|
||||
<th>Quantity issued</th>
|
||||
<th>Batch Number <span style="color:blue"> ({{ batch_tracking_method()}})</span></th>
|
||||
@endif
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@for($i=0; $i < count($item_ids_array); $i++)
|
||||
@php
|
||||
$item_type = $ward_request_details->item_type == 3 ? 6 : $ward_request_details->item_type; //change item_type to 6 if its general item since okellogum used 3 instead of 6
|
||||
|
||||
$item_batches_records = \DB::table('item_batch_watcher')->where(['item_id' => $item_ids_array[$i], 'item_type' => $item_type])->where(function ($query) {
|
||||
$query->where('pharmacy_stock', '>', 0)
|
||||
->orWhere('store_stock', '>', 0);
|
||||
})->get();
|
||||
|
||||
$facade_batches_options = [];
|
||||
$option_batches = "<option value=''>-select-</option>";
|
||||
foreach ($item_batches_records as $item_batch) {
|
||||
$option_batches .= "<option value='$item_batch->id'>". $item_batch->batch_number." (Expiry Date: ".$item_batch->expiry_date.")</option>";
|
||||
|
||||
$facade_batches_options[$item_batch->id] = $item_batch->batch_number." (Expiry Date: ".$item_batch->expiry_date.")";
|
||||
}
|
||||
$facade_batches_options = ['' => '- select -'] + $facade_batches_options;
|
||||
|
||||
//$needed_batches_from_pharm_array = get_pharmacy_batches_to_use_based_on_needed_quantity($item_ids_array[$i], $item_type, $quantity_approved_array[$i]??0);
|
||||
$needed_batches_from_pharm_array = get_pharmacy_batch_watcher_ids_to_use_based_on_needed_quantity($item_ids_array[$i], $item_type, $quantity_approved_array[$i]??0);
|
||||
$needed_batches_from_store_array = get_stores_batch_watcher_ids_to_use_based_on_needed_quantity($item_ids_array[$i], $item_type, $quantity_approved_array[$i]??0);
|
||||
|
||||
$default_batches_to_use = $ward_request_details->item_type == "1" ? $needed_batches_from_pharm_array : $needed_batches_from_store_array;
|
||||
|
||||
@endphp
|
||||
|
||||
@if (count($default_batches_to_use) > 0)
|
||||
@foreach ($default_batches_to_use as $batch_to_dispense => $batch_qty_to_dispense)
|
||||
<tr id="row_item_id_{{$item_ids_array[$i]}}">
|
||||
<td>
|
||||
{{ $i + 1 }}
|
||||
</td>
|
||||
<td>
|
||||
@if($ward_request_details->item_type == "1")
|
||||
{{ get_name($item_ids_array[$i], "id", "name", "drugs") }}
|
||||
@php $item_name = get_name($item_ids_array[$i], "id", "name", "drugs"); @endphp
|
||||
@elseif($ward_request_details->item_type == "2")
|
||||
{{ get_name($item_ids_array[$i], "id", "name", "sundries") }}
|
||||
@php $item_name = get_name($item_ids_array[$i], "id", "name", "sundries"); @endphp
|
||||
@else
|
||||
{{ get_name($item_ids_array[$i], "id", "name", "general_items") }}
|
||||
@php $item_name = get_name($item_ids_array[$i], "id", "name", "general_items"); @endphp
|
||||
@endif
|
||||
{{ Form::hidden('item_name[]', $item_name, ['id' => 'item_name_'. $item_ids_array[$i], 'class' => 'item_name_'.$item_ids_array[$i]]) }}
|
||||
</td>
|
||||
@if($ward_request_details->item_type == "1" || $ward_request_details->item_type == "2")
|
||||
<td>
|
||||
@php
|
||||
$batch_records = (new Streamline\Services\ItemsStockService())->getItemQuantityByArray($item_ids_array[$i], $item_type);
|
||||
|
||||
$item_pharmacy_stock = $batch_records[1];
|
||||
$item_store_stock = $batch_records[0];
|
||||
@endphp
|
||||
|
||||
{{ $item_pharmacy_stock }}
|
||||
</td>
|
||||
@endif
|
||||
<td>
|
||||
@if($ward_request_details->item_type == "1")
|
||||
{{-- {{ get_name($item_ids_array[$i], "id", "store_stock", "drugs")}} --}}
|
||||
{{ $item_store_stock }}
|
||||
@elseif($ward_request_details->item_type == "2")
|
||||
{{-- {{ get_name($item_ids_array[$i], "id", "store_stock", "sundries") }} --}}
|
||||
{{ $item_store_stock }}
|
||||
@else
|
||||
{{ get_name($item_ids_array[$i], "id", "store_stock", "general_items")}}
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
{{ $item_quantities_array[$i] }}
|
||||
<input type="hidden" name="ward_request_id" value="{{ $ward_request_details->id }}">
|
||||
<input type="hidden" name="item_ids[]" value="{{ $item_ids_array[$i] }}">
|
||||
</td>
|
||||
<td>
|
||||
@if($ward_request_details->approved_status == "1")
|
||||
<input type="number" name="balance_returned[]" class="form-control" value="{{ $balance_returned_array[$i] }}" step=".01" readonly>
|
||||
@else
|
||||
<input type="number" name="balance_returned[]" class="form-control" value="{{ $balance_returned_array[$i]}}" step=".01">
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if($ward_request_details->approved_status == "1")
|
||||
<input type="number" name="balance_on_ward_during_request[]" class="form-control" value="{{ $balance_during_request_array[$i] }}" step=".01" readonly>
|
||||
@else
|
||||
<input type="number" name="balance_on_ward_during_request[]" class="form-control" value="{{ $balance_during_request_array[$i]}}" step=".01">
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
{{-- last quantity given and when it was given --}}
|
||||
@php
|
||||
$last_dispensation_details_array = last_item_dispensation_to_ward($item_ids_array[$i], $ward_request_details->item_type, $ward_id);
|
||||
|
||||
$last_qty_taken = $last_dispensation_details_array[0];
|
||||
$date_taken = $last_dispensation_details_array[1];
|
||||
|
||||
$drug_form_name = "";
|
||||
|
||||
if ($ward_request_details->item_type ==1) {
|
||||
$drug_form_id = get_name($item_ids_array[$i], "id", "form_id", "drugs");
|
||||
$drug_form_name = get_name($drug_form_id, "id", "name", "unit_of_measure");
|
||||
}
|
||||
@endphp
|
||||
{{ $last_qty_taken }} {{ $drug_form_name }}
|
||||
{!! is_null($date_taken) ? "" : "<br><br>Taken on: <b style='color:blue'>".streamline_date($date_taken)."</b>" !!}
|
||||
</td>
|
||||
<td>
|
||||
@if($ward_request_details->approved_status == "1")
|
||||
<input type="number" name="quantity_approved[]" class="form-control item_qty_approved_{{$item_ids_array[$i]}}" value="{{ $quantity_approved_array[$i] }}" step=".01" readonly>
|
||||
@else
|
||||
<input type="number" name="quantity_approved[]" class="form-control" value="{{ $item_quantities_array[$i] }}" step=".01">
|
||||
@endif
|
||||
</td>
|
||||
|
||||
@if($ward_request_details->approved_status == "1")
|
||||
<td>
|
||||
@if($ward_request_details->approved_status == "1")
|
||||
<input type="number" name="quantity_issued_out[]" class="form-control item_qty_issued_{{$item_ids_array[$i]}}" value="{{ $batch_qty_to_dispense }}" step=".01">
|
||||
@else
|
||||
<div style="display: none;">
|
||||
<input type="number" name="quantity_issued_out[]" class="form-control" value="{{ $item_quantities_array[$i] }}" step=".01">
|
||||
</div>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
{{ Form::select('dispensed_from_batch[]', $facade_batches_options, $batch_to_dispense, ['class' => 'form-control compulsory batchScan', 'required'])}}
|
||||
<a href="#" id="addNewBatch_{{$item_ids_array[$i]}}">{{ __('stores.add_batch_small') }}</a>
|
||||
|
||||
<a href="#" id="removeBatch_{{$item_ids_array[$i]}}" style="color: tomato">{{ __('stores.remove_small') }}</a>
|
||||
</td>
|
||||
@else
|
||||
<input type="hidden" name="quantity_issued_out[]" class="form-control" value="{{ $item_quantities_array[$i] }}" step=".01">
|
||||
@endif
|
||||
</tr>
|
||||
@endforeach
|
||||
@else
|
||||
<tr id="row_item_id_{{$item_ids_array[$i]}}">
|
||||
<td>
|
||||
{{ $i + 1 }}
|
||||
</td>
|
||||
<td>
|
||||
@if($ward_request_details->item_type == "1")
|
||||
{{ get_name($item_ids_array[$i], "id", "name", "drugs") }}
|
||||
@php $item_name = get_name($item_ids_array[$i], "id", "name", "drugs"); @endphp
|
||||
@elseif($ward_request_details->item_type == "2")
|
||||
{{ get_name($item_ids_array[$i], "id", "name", "sundries") }}
|
||||
@php $item_name = get_name($item_ids_array[$i], "id", "name", "sundries"); @endphp
|
||||
@else
|
||||
{{ get_name($item_ids_array[$i], "id", "name", "general_items") }}
|
||||
@php $item_name = get_name($item_ids_array[$i], "id", "name", "general_items"); @endphp
|
||||
@endif
|
||||
{{ Form::hidden('item_name[]', $item_name, ['id' => 'item_name_'. $item_ids_array[$i], 'class' => 'item_name_'.$item_ids_array[$i]]) }}
|
||||
</td>
|
||||
@if($ward_request_details->item_type == "1" || $ward_request_details->item_type == "2")
|
||||
<td>
|
||||
@php
|
||||
$batch_records = (new Streamline\Services\ItemsStockService())->getItemQuantityByArray($item_ids_array[$i], $item_type);
|
||||
|
||||
$item_pharmacy_stock = $batch_records[1];
|
||||
$item_store_stock = $batch_records[0];
|
||||
@endphp
|
||||
|
||||
{{ $item_pharmacy_stock }}
|
||||
</td>
|
||||
@endif
|
||||
<td>
|
||||
@if($ward_request_details->item_type == "1")
|
||||
{{-- {{ get_name($item_ids_array[$i], "id", "store_stock", "drugs")}} --}}
|
||||
{{ $item_store_stock }}
|
||||
@elseif($ward_request_details->item_type == "2")
|
||||
{{-- {{ get_name($item_ids_array[$i], "id", "store_stock", "sundries") }} --}}
|
||||
{{ $item_store_stock }}
|
||||
@else
|
||||
{{ get_name($item_ids_array[$i], "id", "store_stock", "general_items")}}
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
{{ $item_quantities_array[$i] }}
|
||||
<input type="hidden" name="ward_request_id" value="{{ $ward_request_details->id }}">
|
||||
<input type="hidden" name="item_ids[]" value="{{ $item_ids_array[$i] }}">
|
||||
</td>
|
||||
<td>
|
||||
@if($ward_request_details->approved_status == "1")
|
||||
<input type="number" name="balance_returned[]" class="form-control" value="{{ $balance_returned_array[$i] }}" step=".01" readonly>
|
||||
@else
|
||||
<input type="number" name="balance_returned[]" class="form-control" value="{{ $balance_returned_array[$i]}}" step=".01">
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if($ward_request_details->approved_status == "1")
|
||||
<input type="number" name="balance_on_ward_during_request[]" class="form-control" value="{{ $balance_during_request_array[$i] }}" step=".01" readonly>
|
||||
@else
|
||||
<input type="number" name="balance_on_ward_during_request[]" class="form-control" value="{{ $balance_during_request_array[$i]}}" step=".01">
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
{{-- last quantity given and when it was given --}}
|
||||
@php
|
||||
$last_dispensation_details_array = last_item_dispensation_to_ward($item_ids_array[$i], $ward_request_details->item_type, $ward_id);
|
||||
|
||||
$last_qty_taken = $last_dispensation_details_array[0];
|
||||
$date_taken = $last_dispensation_details_array[1];
|
||||
|
||||
$drug_form_name = "";
|
||||
|
||||
if ($ward_request_details->item_type ==1) {
|
||||
$drug_form_id = get_name($item_ids_array[$i], "id", "form_id", "drugs");
|
||||
$drug_form_name = get_name($drug_form_id, "id", "name", "unit_of_measure");
|
||||
}
|
||||
@endphp
|
||||
{{ $last_qty_taken }} {{ $drug_form_name }}
|
||||
{!! is_null($date_taken) ? "" : "<br><br>Taken on: <b style='color:blue'>".streamline_date($date_taken)."</b>" !!}
|
||||
</td>
|
||||
<td>
|
||||
@if($ward_request_details->approved_status == "1")
|
||||
<input type="number" name="quantity_approved[]" class="form-control item_qty_approved_{{$item_ids_array[$i]}}" value="{{ $quantity_approved_array[$i] }}" step=".01" readonly>
|
||||
@else
|
||||
<input type="number" name="quantity_approved[]" class="form-control" value="{{ $item_quantities_array[$i] }}" step=".01">
|
||||
@endif
|
||||
</td>
|
||||
|
||||
@if($ward_request_details->approved_status == "1")
|
||||
<td>
|
||||
@if($ward_request_details->approved_status == "1")
|
||||
<input type="number" name="quantity_issued_out[]" class="form-control item_qty_issued_{{$item_ids_array[$i]}}" value="{{ $quantity_approved_array[$i] }}" step=".01">
|
||||
@else
|
||||
<div style="display: none;">
|
||||
<input type="number" name="quantity_issued_out[]" class="form-control" value="{{ $item_quantities_array[$i] }}" step=".01">
|
||||
</div>
|
||||
@endif
|
||||
</td>
|
||||
<?php
|
||||
$batch_in_use = null;
|
||||
|
||||
$auto_deductable_batches_array = get_stores_batch_watcher_ids_to_use_based_on_needed_quantity($item_ids_array[$i], $ward_request_details->item_type, $item_quantities_array[$i]);
|
||||
|
||||
if($ward_request_details->item_type == "1"){
|
||||
$drug_details = \Streamline\Models\Drug::withTrashed()->find($item_ids_array[$i]);
|
||||
}elseif($ward_request_details->item_type == "2"){
|
||||
$sundry_details = \Streamline\Models\Sundry::withTrashed()->find($item_ids_array[$i]);
|
||||
}
|
||||
?>
|
||||
|
||||
@if (batch_tracking_method() == "manual")
|
||||
<td>
|
||||
<select name="dispensed_from_batch[]" class="form-control compulsory batchScan" id="batch_scan_id_{{ $item_ids_array[$i] }}" required>
|
||||
@php echo $option_batches; @endphp
|
||||
</select>
|
||||
<a href="#" id="addNewBatch_{{$item_ids_array[$i]}}">{{ __('stores.add_batch_small') }}</a>
|
||||
</td>
|
||||
@else
|
||||
<td>
|
||||
{{-- @if (count($auto_deductable_batches_array) > 0)
|
||||
@foreach ($auto_deductable_batches_array as $deductable_batch => $quantity)
|
||||
{{ Form::select('dispensed_from_batch[]', $facade_batches_options, $deductable_batch, ['class' => 'form-control compulsory batchScan']) }}
|
||||
@endforeach
|
||||
@else --}}
|
||||
{{ Form::select('dispensed_from_batch[]', $facade_batches_options, "", ['class' => 'form-control compulsory batchScan', 'required']) }}
|
||||
{{-- @endif --}}
|
||||
|
||||
<a href="#" id="addNewBatch_{{$item_ids_array[$i]}}">{{ __('stores.add_batch_small') }}</a>
|
||||
|
||||
<a href="#" id="removeBatch_{{$item_ids_array[$i]}}" style="color: tomato">{{ __('stores.remove_small') }}</a>
|
||||
</td>
|
||||
@endif
|
||||
@else
|
||||
<input type="hidden" name="quantity_issued_out[]" class="form-control" value="{{ $item_quantities_array[$i] }}" step=".01">
|
||||
@endif
|
||||
</tr>
|
||||
@endif
|
||||
@endfor
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@if (!is_null($ward_request_details->order_comment))
|
||||
<div class="comments-section">
|
||||
<br>
|
||||
{{ Form::label('order_comment', 'Order Comment', ['style' => 'font-size: bolder; font-weight: 600']) }}
|
||||
{{ Form::textarea('order_comment',$ward_request_details->order_comment,['class'=>'form-control', 'rows' => 5, 'cols' => 20, 'readonly']) }}
|
||||
<br>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-12">
|
||||
<div class="white-box">
|
||||
<div class="row">
|
||||
@if($ward_request_details->approved_status == "1")
|
||||
<div class="col-sm-3">
|
||||
<div class="form-group">
|
||||
{{ Form::label('received_by', 'RECEIVED BY') }}
|
||||
{{ Form::select('received_by', $staff_array, '', ['id'=>'received_by','class' => 'form-control col-sm-8 compulsory ward_allocation','required']) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<div class="form-group">
|
||||
{{ Form::label('received_from', 'RECEIVED FROM') }}
|
||||
{{ Form::select('received_from', ['1' => 'Pharmacy', '2' => 'Stores'], $ward_request_details->item_type == "1" ? 1 : 2, ['class' => 'form-control col-sm-8 compulsory receivedFromOption','required']) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3">
|
||||
{{ Form::label('dispensation_date','DISPENSED ON') }}
|
||||
<div class="input-group">
|
||||
{{ Form::text('dispensation_date', '', ['class' => 'form-control compulsory', 'required','readonly','id'=>'datepicker-autoclose']) }}
|
||||
<span class="input-group-addon"><i class="icon-calender"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3">
|
||||
Approved by <font style="color: blue; font-weight: bolder;">
|
||||
<strong>{{ get_full_name($ward_request_details->approved_by, 'id', 'first_name', 'last_name', 'users') }}</strong></font>
|
||||
</div>
|
||||
@else
|
||||
<div class="col-sm-12">
|
||||
<div class="form-group">
|
||||
{{ Form::label('comment', 'COMMENT') }}
|
||||
{{ Form::textarea('comment', '', ['class' => 'form-control col-sm-8']) }}
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="col-sm-12">
|
||||
@if($ward_request_details->approved_status == "1")
|
||||
<input type="submit" name="dispense" class="btn btn-success pull-right dispenseBtn" value="Dispense to ward"/>
|
||||
@else
|
||||
<input type="submit" name="approve" class="btn btn-success pull-right" value="Approve"/>
|
||||
@endif
|
||||
{{ Form::close() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@push('scripts')
|
||||
<script src="{{ asset('elite/bower_components/select2/select2.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.js') }}"></script>
|
||||
<script type="text/javascript">
|
||||
function printElementContent(elem,title){
|
||||
var mywindow = window.open('', 'PRINT', 'height=400,width=600');
|
||||
var css = '';
|
||||
css += '<link href="elite/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">';
|
||||
css += '<style type="text/css">div{display:block;}';
|
||||
css += '.row {margin-right: -7.5px; margin-left: -7.5px;display: flex;flex-wrap: wrap;}';
|
||||
css += '.col-sm-2 {padding-left: 7.5px;padding-right: 7.5px;-webkit-box-flex: 0;flex: 0 0 16.666667%;max-width: 16.666667%;}';
|
||||
css += '.col-sm-4 {padding-left: 7.5px; padding-right: 7.5px; -webkit-box-flex: 0;flex: 0 0 33.333333%; max-width: 33.333333%; position: relative; width: 100%; min-height: 1px;}</style>';
|
||||
mywindow.document.write('<html><head><title></title>');
|
||||
mywindow.document.write('</head><body >');
|
||||
mywindow.document.write(css);
|
||||
mywindow.document.write('<center><h3>' + title + '</h3></center>');
|
||||
mywindow.document.write(document.getElementById(elem).innerHTML);
|
||||
mywindow.document.write('</body></html>');
|
||||
mywindow.document.close(); // necessary for IE >= 10
|
||||
//mywindow.focus(); // necessary for IE >= 10*/
|
||||
setTimeout(function () {
|
||||
mywindow.focus();
|
||||
mywindow.print();
|
||||
}, 500);
|
||||
return true;
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
$('#datepicker-autoclose').datepicker({
|
||||
format:'mm/dd/yyyy',
|
||||
endDate: new Date(),
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
}).datepicker("setDate",'now');
|
||||
|
||||
$('#received_by').select2({
|
||||
placeholder: "Select"
|
||||
});
|
||||
|
||||
$('.select2-selection.select2-selection--single').css('height','calc(3.85rem)');
|
||||
$('.select2-selection.select2-selection--single').css('padding-top','5px');
|
||||
$('.select2-selection.select2-selection--single').css('border-left', '3px solid #F08080');/*add compulsory class*/
|
||||
$('.select2-selection.select2-selection--single.sec_d').css('border-left', '3px solid #aaa');
|
||||
$('.select2-selection__arrow').css('top','3px');
|
||||
|
||||
$("#print_agreement").click(function(e){
|
||||
printElementContent('divToPrint','Approve Ward Item Request');
|
||||
});
|
||||
|
||||
$(".dispenseBtn").click(function(e){
|
||||
//check if received from stores and ask the batch numbers
|
||||
if($(".receivedFromOption").val() == 2){
|
||||
|
||||
var empty_compulsory_fields = [];
|
||||
$(".batchNumbers").each(function () {
|
||||
if ($(this).val() == "") {
|
||||
var textname = $(this).attr('name');
|
||||
$(this).focus();
|
||||
empty_compulsory_fields.push(textname);
|
||||
$(this).css('border','1px solid #F08080');
|
||||
}
|
||||
});
|
||||
/* check if the array containing empty compulsory fields is not empty then return false */
|
||||
if (empty_compulsory_fields.length != 0) {
|
||||
alert("<?php echo __('triage.compulsory_fields_warning') ?>");
|
||||
console.log(empty_compulsory_fields);
|
||||
e.preventDefault();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$(".batchScan").select2({
|
||||
width: "100%"
|
||||
});
|
||||
|
||||
$('.table').on('click', '[id^="addNewBatch"]', function (e) {
|
||||
let id = /\d+(?=\D*$)/.exec($(this).attr('id'));
|
||||
console.log("adding on for drug id "+id);
|
||||
let item_name = $(".item_name_"+id).val();
|
||||
let item_qty_issued = $(".item_qty_issued_"+id).val();
|
||||
let item_qty_approved = $(".item_qty_approved_"+id).val();
|
||||
|
||||
e.preventDefault();
|
||||
|
||||
//create another <tr> that we are going to append to
|
||||
$("<tr><td></td><td>"+item_name+"</td><td></td><td></td><td><input type='hidden' name='item_name[]' value='"+item_name+"'/><input type='hidden' name='ward_request_id' value='1'><input type='hidden' name='item_ids[]' value='"+id+"'></td><td><input type='number' name='balance_returned[]' class='form-control' value='0' step='.01' readonly=''></td><td><input type='number' name='balance_on_ward_during_request[]' class='form-control' value='0' step='.01' readonly=''></td><td></td><td><input type='number' name='quantity_approved[]' class='form-control' value='"+item_qty_approved+"' step='.01' readonly=''></td><td><input type='number' name='quantity_issued_out[]' class='form-control' value='' step='.01'></td><td><select class='form-control compulsory batchScan' name='dispensed_from_batch[]' required>@php echo $option_batches; @endphp</select></td></tr>").insertAfter( $("#row_item_id_"+id) );
|
||||
|
||||
generalSelect2Set('batchScan');
|
||||
});
|
||||
|
||||
$('.table').on('click', '[id^="removeBatch"]', function (e) {
|
||||
e.preventDefault();
|
||||
console.log("this been clicked")
|
||||
$(this).parent('td').parent('tr').remove();
|
||||
});
|
||||
|
||||
function generalSelect2Set(id) {
|
||||
$('.'+id).select2({
|
||||
width: "100%"
|
||||
});
|
||||
}
|
||||
})
|
||||
</script>
|
||||
@endpush
|
||||
+332
@@ -0,0 +1,332 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@push('styles')
|
||||
<link href="{{ asset('elite/bower_components/select2/select2.min.css') }}" rel="stylesheet" />
|
||||
<link href="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('/elite/bower_components/datatables/jquery.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('elite/tables/css/buttons.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div class="row bg-title">
|
||||
<div class="col-lg-6 col-md-7 col-sm-7 col-xs-12">
|
||||
<h4 class="page-title">Ward request edit</h4>
|
||||
</div>
|
||||
<div class="col-lg-6 col-sm-5 col-md-5 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">Dashboard</a></li>
|
||||
<li><a href="{{ url('ward_item_requests')}}">Ward requests</a></li>
|
||||
<li class="active">Ward request edit</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<!--Flash messages at the top -->
|
||||
@include('flash::message')
|
||||
@foreach ($errors->all() as $error)
|
||||
<div>{{ $error }}</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@php
|
||||
$item_ids_array = explode(",", $ward_request_details->item_ids);
|
||||
$item_quantities_array = explode(",", $ward_request_details->item_quantities);
|
||||
$balance_during_request_array = explode("," , $ward_request_details->balance_on_ward_during_request);
|
||||
$balance_returned_array = explode(",", $ward_request_details->balance_returned);
|
||||
if($ward_request_details->approved_status == "1"){
|
||||
$quantity_approved_array = explode(",", $ward_request_details->item_quantities_approved);
|
||||
}
|
||||
@endphp
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="white-box">
|
||||
{{ Form::open(['route' => 'ward_item_request.edit_ward_item_request_search', 'method' => 'ANY', 'role' => 'search']) }}
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group" id="drug_names">
|
||||
<input type="hidden" name="ward_request_id" value="{{ $ward_request_details->id }}">
|
||||
<input type="hidden" name="item_type" value="{{ $ward_request_details->item_type }}">
|
||||
@if($ward_request_details->item_type == 1)
|
||||
@php
|
||||
$drugs = \Streamline\Models\Drug::where('available', 1)->orderby('name')->pluck('name', 'id');
|
||||
@endphp
|
||||
{{ Form::select('items_ids[]',$drugs,$search_status ? $selected_item_ids_array : $item_ids_array,['id'=>'drug_ids', 'multiple'=>true, 'class' => 'form-control col-sm-8 drug_ids']) }}
|
||||
@elseif($ward_request_details->item_type == 2)
|
||||
@php
|
||||
$sundries = \Streamline\Models\Sundry::where('available', 1)->orderby('name')->pluck('name', 'id');
|
||||
@endphp
|
||||
{{ Form::select('items_ids[]',$sundries,$search_status ? $selected_item_ids_array : $item_ids_array,['id'=>'sundry_ids', 'multiple'=>true, 'class' => 'form-control col-sm-8 sundry_ids']) }}
|
||||
@elseif($ward_request_details->item_type == 3)
|
||||
@php
|
||||
$general_items = \Streamline\Models\GeneralItem::orderBy('name')->pluck('name', 'id');
|
||||
@endphp
|
||||
{{ Form::select('items_ids[]',$general_items,$search_status ? $selected_item_ids_array : $item_ids_array,['id'=>'general_item_ids', 'multiple'=>true, 'class' => 'form-control col-sm-8 general_item_ids']) }}
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<button type="submit" class="btn btn-info"><span class="glyphicon glyphicon-search"></span> Select items to request</button>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-12">
|
||||
<div class="alert alert-info">
|
||||
<button type="button" class="close" data-dismiss="alert">×</button>
|
||||
<span>
|
||||
- <b>Note: </b>You can add more items by searching from them from the above search box<br>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if(isset($criteria) && isset($resultCount))
|
||||
<p>
|
||||
{{ __('stores.search_criteria') }} <code>{{ $criteria }}</code> {{ __('stores.total_results') }} <code>{{ $resultCount }}</code> <a href="{{ route('drugs.index') }}">{{ __('stores.clear_search') }}</a>
|
||||
</p>
|
||||
@endif
|
||||
{{ Form::close() }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-sm-12">
|
||||
<div class="white-box">
|
||||
{{ Form::open(['route' => 'ward_item_request.update_ward_item_requests' , 'data-toggle' => 'validator']) }}
|
||||
<div class="row">
|
||||
<input type="hidden" name="ward_request_id" value="{{ $ward_request_details->id }}">
|
||||
<input type="hidden" name="item_type" value="{{ $ward_request_details->item_type }}">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered color-bordered-table success-bordered-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>
|
||||
@if($ward_request_details->item_type == "1") Drug
|
||||
@elseif($ward_request_details->item_type == "2") Sundry
|
||||
@else General Item
|
||||
@endif
|
||||
</th>
|
||||
<th>Store stock</th>
|
||||
<th>Quantity To Be Returned To Pharmacy</th>
|
||||
<th>Balance on ward</th>
|
||||
<th>Quantity requested</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if ($search_status)
|
||||
@for($i=0; $i < count($selected_item_ids_array); $i++)
|
||||
<tr>
|
||||
<td>
|
||||
{{ $i + 1 }}
|
||||
</td>
|
||||
<td>
|
||||
@if($ward_request_details->item_type == "1")
|
||||
{{ get_name($selected_item_ids_array[$i], "id", "name", "drugs") }}
|
||||
@php
|
||||
$item_unit_cost = DB::table('drugs')->where('id', $selected_item_ids_array[$i])->pluck('cost_price')->first();
|
||||
@endphp
|
||||
@elseif($ward_request_details->item_type == "2")
|
||||
{{ get_name($selected_item_ids_array[$i], "id", "name", "sundries") }}
|
||||
@php
|
||||
$item_unit_cost = DB::table('sundries')->where('id', $selected_item_ids_array[$i])->pluck('cost_price')->first();
|
||||
@endphp
|
||||
@else
|
||||
{{ get_name($selected_item_ids_array[$i], "id", "name", "general_items") }}
|
||||
@php
|
||||
$item_unit_cost = DB::table('general_items')->where('id', $selected_item_ids_array[$i])->pluck('cost_price')->first();
|
||||
@endphp
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if($ward_request_details->item_type == "1")
|
||||
{{ get_name($selected_item_ids_array[$i], "id", "store_stock", "drugs") }}
|
||||
@elseif($ward_request_details->item_type == "2")
|
||||
{{ get_name($selected_item_ids_array[$i], "id", "store_stock", "sundries") }}
|
||||
@else
|
||||
{{ get_name($selected_item_ids_array[$i], "id", "store_stock", "general_items") }}
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
<input type="number" name="balance_returned[]" class="form-control">
|
||||
</td>
|
||||
<td>
|
||||
<input type="number" name="balance_on_ward_during_request[]" class="form-control">
|
||||
</td>
|
||||
<td>
|
||||
<input type="hidden" name="item_ids[]" value="{{ $selected_item_ids_array[$i] }}">
|
||||
<input type="hidden" name="item_unit_cost[]" value="{{ $item_unit_cost }}"/>
|
||||
<input type="number" name="item_quantities[]" class="form-control" value="">
|
||||
</td>
|
||||
</tr>
|
||||
@endfor
|
||||
@else
|
||||
@for($i=0; $i < count($item_ids_array); $i++)
|
||||
<tr>
|
||||
<td>
|
||||
{{ $i + 1 }}
|
||||
</td>
|
||||
<td>
|
||||
@if($ward_request_details->item_type == "1")
|
||||
{{ get_name($item_ids_array[$i], "id", "name", "drugs") }}
|
||||
@php
|
||||
$item_unit_cost = DB::table('drugs')->where('id', $item_ids_array[$i])->pluck('cost_price')->first();
|
||||
@endphp
|
||||
@elseif($ward_request_details->item_type == "2")
|
||||
{{ get_name($item_ids_array[$i], "id", "name", "sundries") }}
|
||||
@php
|
||||
$item_unit_cost = DB::table('sundries')->where('id', $item_ids_array[$i])->pluck('cost_price')->first();
|
||||
@endphp
|
||||
@else
|
||||
{{ get_name($item_ids_array[$i], "id", "name", "general_items") }}
|
||||
@php
|
||||
$item_unit_cost = DB::table('general_items')->where('id', $item_ids_array[$i])->pluck('cost_price')->first();
|
||||
@endphp
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if($ward_request_details->item_type == "1")
|
||||
{{ get_name($item_ids_array[$i], "id", "store_stock", "drugs") }}
|
||||
@elseif($ward_request_details->item_type == "2")
|
||||
{{ get_name($item_ids_array[$i], "id", "store_stock", "sundries") }}
|
||||
@else
|
||||
{{ get_name($item_ids_array[$i], "id", "store_stock", "general_items") }}
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if($ward_request_details->approved_status == "1")
|
||||
<input type="number" name="balance_returned[]" class="form-control" value="{{ $balance_returned_array[$i] }}" readonly>
|
||||
@else
|
||||
<input type="number" name="balance_returned[]" class="form-control" value="{{ $balance_returned_array[$i] }}">
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if($ward_request_details->approved_status == "1")
|
||||
<input type="number" name="balance_on_ward_during_request[]" class="form-control" value="{{ $balance_during_request_array[$i] }}" readonly>
|
||||
@else
|
||||
<input type="number" name="balance_on_ward_during_request[]" class="form-control" value="{{ $balance_during_request_array[$i] }}">
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
<input type="hidden" name="item_ids[]" value="{{ $item_ids_array[$i] }}">
|
||||
<input type="hidden" name="item_unit_cost[]" value="{{ $item_unit_cost }}"/>
|
||||
<input type="number" name="item_quantities[]" class="form-control" value="{{ $item_quantities_array[$i] }}">
|
||||
</td>
|
||||
</tr>
|
||||
@endfor
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
Requested by <font color="blue">{{ get_full_name($ward_request_details->created_by, "id", "first_name", "last_name", "users") }}</font>
|
||||
{{ Form::submit('Update Request', ['class' => 'btn btn-success', 'style' => 'float: right;']) }}
|
||||
{{ Form::close() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@push('scripts')
|
||||
<script src="{{ asset('elite/bower_components/datatables/jquery.dataTables.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/dataTables.buttons.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.flash.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/jszip.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/pdfmake.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/vfs_fonts.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.html5.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.print.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.colVis.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/bower_components/select2/select2.min.js') }}"></script>
|
||||
<!-- data time picker dependency -->
|
||||
<script src="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.js') }}"></script>
|
||||
<!-- -->
|
||||
<script src="{{ asset('elite/js/validator.js') }}"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('#allItemRequests').DataTable({
|
||||
order: [ 1, "asc" ],
|
||||
dom: 'Bfrtip',
|
||||
buttons: [
|
||||
'copy',
|
||||
{ extend: 'csv',
|
||||
message: 'LIST OF WARD ITEM REQUESTS'
|
||||
},
|
||||
{ extend: 'excel',
|
||||
message: 'LIST OF WARD ITEM REQUESTS',
|
||||
sheetName: 'LIST OF WARD ITEM REQUESTS ON STREAMLINE'
|
||||
},
|
||||
{ extend: 'pdf',
|
||||
message: 'LIST OF WARD ITEM REQUESTS',
|
||||
orientation: 'landscape',
|
||||
pageSize: 'LETTER'
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
$('#datepicker-autoclose').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'dd/mm/yyyy',
|
||||
setDate: new Date(),
|
||||
readOnly: true
|
||||
});
|
||||
|
||||
$('.prescription-drugs,.ward_allocation,.prescription-sundries').select2({
|
||||
placeholder: "Select"
|
||||
});
|
||||
|
||||
$('.select2-selection.select2-selection--single').css('height','calc(3.85rem)');
|
||||
$('.select2-selection.select2-selection--single').css('padding-top','5px');
|
||||
$('.select2-selection.select2-selection--single').css('border-left', '3px solid #F08080');//compulsory class css
|
||||
$('.select2-selection.select2-selection--single.sec_d').css('border-left', '3px solid #aaa');
|
||||
$('.select2-selection__arrow').css('top','3px');
|
||||
|
||||
$("#item_type").change(function(e) {
|
||||
var item_id = $(this).val();
|
||||
if (item_id == 2) {
|
||||
$("#drugs_dropdown").hide();
|
||||
$("#sundries_dropdown").show();
|
||||
} else {
|
||||
$("#drugs_dropdown").show();
|
||||
$("#sundries_dropdown").hide();
|
||||
}
|
||||
});
|
||||
|
||||
$('.drug_ids,.sundry_ids,.general_item_ids').select2({
|
||||
placeholder: "Select"
|
||||
});
|
||||
|
||||
$(".remove").on("click", function () {
|
||||
$(this).parent().parent().remove();
|
||||
});
|
||||
|
||||
$(".confirmSelection").click(function (e) { // make sure that all compulsory fields have been filled out
|
||||
var empty_compulsory_fields = [];
|
||||
$(".compulsory").each(function () {
|
||||
if ($(this).val() == "") {
|
||||
var textname = $(this).attr('name');
|
||||
$(this).focus();
|
||||
empty_compulsory_fields.push(textname);
|
||||
$(this).css('border','1px solid #F08080');
|
||||
}
|
||||
});
|
||||
/* check if the array containing empty compulsory fields is not empty then return false */
|
||||
if (empty_compulsory_fields.length != 0) {
|
||||
alert("Please fill in all compulsory fields");
|
||||
console.log(empty_compulsory_fields);
|
||||
e.preventDefault();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
+207
@@ -0,0 +1,207 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@push('styles')
|
||||
<link href="{{ asset('elite/bower_components/select2/select2.min.css') }}" rel="stylesheet" />
|
||||
<link href="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('/elite/bower_components/datatables/jquery.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('elite/tables/css/buttons.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div class="row bg-title">
|
||||
<div class="col-lg-6 col-md-7 col-sm-7 col-xs-12">
|
||||
<h4 class="page-title">Ward request details</h4>
|
||||
</div>
|
||||
<div class="col-lg-6 col-sm-5 col-md-5 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">Dashboard</a></li>
|
||||
<li><a href="{{ url('ward_item_requests')}}">Ward requests</a></li>
|
||||
<li class="active">Ward request details</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<!--Flash messages at the top -->
|
||||
@include('flash::message')
|
||||
@foreach ($errors->all() as $error)
|
||||
<div>{{ $error }}</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@php
|
||||
$item_ids_array = explode(",", $ward_request_details->item_ids);
|
||||
$item_quantities_array = explode(",", $ward_request_details->item_quantities);
|
||||
$balance_during_request_array = explode("," , $ward_request_details->balance_on_ward_during_request);
|
||||
if($ward_request_details->approved_status == "1"){
|
||||
$balance_returned_array = explode(",", $ward_request_details->balance_returned);
|
||||
$quantity_approved_array = explode(",", $ward_request_details->item_quantities_approved);
|
||||
}
|
||||
@endphp
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="white-box">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered color-bordered-table success-bordered-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>
|
||||
@if($ward_request_details->item_type == "1") Drug
|
||||
@elseif($ward_request_details->item_type == "2") Sundry
|
||||
@else General Item
|
||||
@endif
|
||||
</th>
|
||||
<th>Quantity requested</th>
|
||||
<th>Balance returned from ward</th>
|
||||
@if($ward_request_details->approved_status == "1")
|
||||
<th>Quantity given</th>
|
||||
@endif
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@for($i=0; $i < count($item_ids_array); $i++)
|
||||
<tr>
|
||||
<td>
|
||||
{{ $i + 1 }}
|
||||
</td>
|
||||
<td>
|
||||
@if($ward_request_details->item_type == "1")
|
||||
{{ get_name($item_ids_array[$i], "id", "name", "drugs") }}
|
||||
@elseif($ward_request_details->item_type == "2")
|
||||
{{ get_name($item_ids_array[$i], "id", "name", "sundries") }}
|
||||
@else
|
||||
{{ get_name($item_ids_array[$i], "id", "name", "general_items") }}
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
{{ $item_quantities_array[$i] }}
|
||||
<input type="hidden" name="ward_request_id" value="{{ $ward_request_details->id }}">
|
||||
<input type="hidden" name="item_ids[]" value="{{ $item_ids_array[$i] }}">
|
||||
</td>
|
||||
<td>
|
||||
@if($ward_request_details->approved_status == "1")
|
||||
<input type="number" name="balance_returned[]" class="form-control" value="{{ $balance_returned_array[$i] }}" readonly>
|
||||
@else
|
||||
<input type="number" name="balance_returned[]" class="form-control" value="{{ $balance_during_request_array[$i] }}" readonly>
|
||||
@endif
|
||||
</td>
|
||||
@if($ward_request_details->approved_status == "1")
|
||||
<td>
|
||||
@if($ward_request_details->approved_status == "1")
|
||||
<input type="number" name="quantity_approved[]" class="form-control" value="{{ $quantity_approved_array[$i] }}" readonly>
|
||||
@else
|
||||
<input type="number" name="quantity_approved[]" class="form-control" value="{{ $item_quantities_array[$i] }}" readonly>
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
@endfor
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
Requested by <font color="blue">{{ get_full_name($ward_request_details->created_by, "id", "first_name", "last_name", "users") }}</font>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@push('scripts')
|
||||
<script src="{{ asset('elite/bower_components/datatables/jquery.dataTables.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/dataTables.buttons.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.flash.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/jszip.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/pdfmake.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/vfs_fonts.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.html5.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.print.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.colVis.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/bower_components/select2/select2.min.js') }}"></script>
|
||||
<!-- data time picker dependency -->
|
||||
<script src="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.js') }}"></script>
|
||||
<!-- -->
|
||||
<script src="{{ asset('elite/js/validator.js') }}"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('#allItemRequests').DataTable({
|
||||
order: [ 1, "asc" ],
|
||||
dom: 'Bfrtip',
|
||||
buttons: [
|
||||
'copy',
|
||||
{ extend: 'csv',
|
||||
message: 'LIST OF WARD ITEM REQUESTS'
|
||||
},
|
||||
{ extend: 'excel',
|
||||
message: 'LIST OF WARD ITEM REQUESTS',
|
||||
sheetName: 'LIST OF WARD ITEM REQUESTS ON STREAMLINE'
|
||||
},
|
||||
{ extend: 'pdf',
|
||||
message: 'LIST OF WARD ITEM REQUESTS',
|
||||
orientation: 'landscape',
|
||||
pageSize: 'LETTER'
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
$('#datepicker-autoclose').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'dd/mm/yyyy',
|
||||
setDate: new Date(),
|
||||
readOnly: true
|
||||
});
|
||||
|
||||
$('.prescription-drugs,.ward_allocation,.prescription-sundries').select2({
|
||||
placeholder: "Select"
|
||||
});
|
||||
|
||||
$('.select2-selection.select2-selection--single').css('height','calc(3.85rem)');
|
||||
$('.select2-selection.select2-selection--single').css('padding-top','5px');
|
||||
$('.select2-selection.select2-selection--single').css('border-left', '3px solid #F08080');//compulsory class css
|
||||
$('.select2-selection.select2-selection--single.sec_d').css('border-left', '3px solid #aaa');
|
||||
$('.select2-selection__arrow').css('top','3px');
|
||||
|
||||
$("#item_type").change(function(e) {
|
||||
var item_id = $(this).val();
|
||||
if (item_id == 2) {
|
||||
$("#drugs_dropdown").hide();
|
||||
$("#sundries_dropdown").show();
|
||||
} else {
|
||||
$("#drugs_dropdown").show();
|
||||
$("#sundries_dropdown").hide();
|
||||
}
|
||||
});
|
||||
|
||||
$(".remove").on("click", function () {
|
||||
$(this).parent().parent().remove();
|
||||
});
|
||||
|
||||
$(".confirmSelection").click(function (e) { // make sure that all compulsory fields have been filled out
|
||||
var empty_compulsory_fields = [];
|
||||
$(".compulsory").each(function () {
|
||||
if ($(this).val() == "") {
|
||||
var textname = $(this).attr('name');
|
||||
$(this).focus();
|
||||
empty_compulsory_fields.push(textname);
|
||||
$(this).css('border','1px solid #F08080');
|
||||
}
|
||||
});
|
||||
/* check if the array containing empty compulsory fields is not empty then return false */
|
||||
if (empty_compulsory_fields.length != 0) {
|
||||
alert("Please fill in all compulsory fields");
|
||||
console.log(empty_compulsory_fields);
|
||||
e.preventDefault();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
+207
@@ -0,0 +1,207 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@push('styles')
|
||||
<link href="{{ asset('elite/bower_components/select2/select2.min.css') }}" rel="stylesheet" />
|
||||
<link href="{{ asset('elite/bower_components/icheck/skins/all.css') }}" rel="stylesheet">
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div class="row bg-title">
|
||||
<div class="col-lg-3 col-md-4 col-sm-4 col-xs-12">
|
||||
<h4 class="page-title">{{ __('wards.add_ward') }}</h4>
|
||||
</div>
|
||||
<div class="col-lg-9 col-sm-8 col-md-8 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">{{ __('wards.dashboard') }}</a></li>
|
||||
<li><a href="{{ route('wards.index') }}">{{ __('wards.wards') }}</a></li>
|
||||
<li class="active">{{ __('wards.create') }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
@include('ward_management::wards.menu')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<!--Flash messages at the top -->
|
||||
@include('flash::message')
|
||||
<div class="white-box">
|
||||
@if (session()->has('streamline_setup'))
|
||||
<h3><font color="blue">{{ __('wards.streamline_setup') }}</font></h3>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
|
||||
{{ Form::open(['route' => 'wards.store']) }}
|
||||
<div class="row" id="optionsList">
|
||||
<div class="col-sm-3">
|
||||
<div class="form-group">
|
||||
{{ Form::label('name', __('wards.ward_name')) }}
|
||||
{{ Form::text('name', '', ['class' => 'form-control',]) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<div class="form-group">
|
||||
{{ Form::label('beds', __('wards.ward_beds')) }}
|
||||
{{ Form::number('beds', '', ['class' => 'form-control',]) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<div class="form-group">
|
||||
{{ Form::label('type', __('wards.hmis_ward')) }}
|
||||
{{-- {{ Form::number('type', 0, ['class' => 'form-control',]) }} --}}
|
||||
<select class="form-control " id="type" name="type" >
|
||||
<option value="" selected disabled>{{ __('wards.select_type') }}</option>
|
||||
@foreach ($ward_types as $ward_type)
|
||||
<option value="{{ $ward_type['id'] }}">{{ $ward_type['name'] }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<div class="form-group">
|
||||
{{ Form::label("ward_type", __("wards.type")) }}
|
||||
<select class="form-control" id="ward_type" name="ward_type">
|
||||
<option value="" selected disabled>{{ __("wards.select_ward_type") }}</option>
|
||||
@foreach ($actual_ward_types as $key => $actual_ward_type)
|
||||
<option value="{{ $key }}">{{ $actual_ward_type }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="addOption">{{ __('wards.add_another') }}</a><br><br>
|
||||
</div>
|
||||
<div class="col-sm-6" style="background: #eceeef;">
|
||||
<h4>{{ __('wards.select_any') }}</h4>
|
||||
@for($i=0; $i < count($wards); $i++)
|
||||
<div class="form-group">
|
||||
{{ Form::checkbox('selected_wards[]', $wards[$i], false) }} {{ $wards[$i] }}
|
||||
</div>
|
||||
@endfor
|
||||
</div>
|
||||
</div>
|
||||
{{ Form::button(__('wards.next'),['type'=>'submit','class'=>'btn btn-success waves-effect waves-light m-r-10 next']) }}
|
||||
{{ Form::button(__('wards.skip'),['type'=>'submit','name' => 'skip', 'value' => 'skip','class'=>'btn btn-default waves-effect waves-light m-r-10']) }}
|
||||
@else
|
||||
|
||||
{{ Form::open(['route' => 'wards.store', 'data-toggle' => 'validator']) }}
|
||||
|
||||
<div class="row" id="optionsList">
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
{{ Form::label('name', __('wards.ward_name')) }}
|
||||
{{ Form::text('name', '', ['class' => 'form-control compulsory', 'required']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
{{ Form::label('beds', __('wards.ward_beds')) }}
|
||||
{{ Form::number('beds', '', ['class' => 'form-control compulsory', 'required']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
{{ Form::label('type', __('wards.hmis_ward')) }}
|
||||
<select class="form-control compulsory required" id="type" name="type" required>
|
||||
<option value="" selected disabled>{{ __('wards.select_type') }}</option>
|
||||
@foreach ($ward_types as $ward_type)
|
||||
<option value="{{ $ward_type['id'] }}">{{ $ward_type['name'] }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
{{ Form::label('available',__('wards.is_ward_available'), ["class"=>'col-md-12']) }}
|
||||
{{ __('wards.yes') }} {{ Form::radio('available', 1, false, ['class' => 'check form-control', 'data-radio'=>'iradio_flat-green']) }}
|
||||
{{ __('wards.no') }} {{ Form::radio('available', 0, false, ['class' => 'check form-control', 'data-radio'=>'iradio_flat-green']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
{{ Form::label('ward_type', __('wards.type')) }}
|
||||
<select class="form-control" id="ward_type" name="ward_type">
|
||||
<option value="" selected disabled>{{ __('wards.select_ward_type') }}</option>
|
||||
@foreach ($actual_ward_types as $key => $actual_ward_type)
|
||||
<option value="{{ $key }}">{{ $actual_ward_type }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ Form::button(__('wards.submit'),['type'=>'submit','class'=>'btn btn-success waves-effect waves-light m-r-10 submit-btn']) }}
|
||||
{{ Form::button(__('wards.cancel'),['type'=>'reset','class'=>'btn btn-default waves-effect waves-light']) }}
|
||||
|
||||
{{ Form::close() }}
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script src="{{ asset('elite/js/validator.js') }}"></script>
|
||||
<script src="{{ asset('elite/bower_components/select2/select2.min.js') }}"></script>
|
||||
<!-- icheck -->
|
||||
<script src="{{ asset('elite/bower_components/icheck/icheck.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/bower_components/icheck/icheck.init.js') }}"></script>
|
||||
<script type="text/javascript">
|
||||
$('#type, #ward_type').select2();
|
||||
var ward_types= {!! json_encode($ward_types) !!};
|
||||
var actual_ward_types = {!! json_encode($actual_ward_types) !!};
|
||||
$(function() {
|
||||
$("#addOption").click(function(e) {
|
||||
e.preventDefault();
|
||||
$("#optionsList").append("<br>");
|
||||
$("#optionsList").append("<div class='col-sm-3'><div class='form-group'> <input type='text' name='other_wards[]' placeholder='' class='form-control compulsory'/></div></div>");
|
||||
$("#optionsList").append("<div class='col-sm-3'><div class='form-group'> <input type='number' name='other_ward_beds[]' value='0' class='form-control compulsory'/></div></div>");
|
||||
$("#optionsList").append(`<div class='col-sm-3'><div class='form-group'> <select class="form-control compulsory required" id="type" name="other_ward_types[]" required>
|
||||
<option value="" selected disabled>{{ __('wards.select_type') }}</option>
|
||||
@foreach ($ward_types as $ward_type)<option value="{{ $ward_type['id'] }}">{{ $ward_type['name'] }}</option>
|
||||
@endforeach</select></div></div>`);
|
||||
$("#optionsList").append(`<div class="col-sm-3"><div class="form-group">{{ Form::label("ward_type", __("wards.type")) }}
|
||||
<select class="form-control" id="ward_type" name="ward_type"><option value="" selected disabled>{{ __("wards.select_ward_type") }}</option>
|
||||
@foreach ($actual_ward_types as $key => $actual_ward_type)<option value="{{ $key }}">{{ $actual_ward_type }}</option>@endforeach
|
||||
</select><div class="help-block with-errors"></div></div></div>`);
|
||||
});
|
||||
|
||||
$(".next,.submit-btn").click(function (e) { // make sure that all compulsory fields have been filled out
|
||||
var empty_compulsory_fields = [];
|
||||
$(".compulsory").each(function () {
|
||||
if ($(this).val() == "") {
|
||||
var textname = $(this).attr('name');
|
||||
$(this).focus();
|
||||
empty_compulsory_fields.push(textname);
|
||||
$(this).css('border','1px solid #F08080');
|
||||
}
|
||||
});
|
||||
/* check if the array containing empty compulsory fields is not empty then return false */
|
||||
if (empty_compulsory_fields.length != 0) {
|
||||
alert("Please fill in all compulsory fields");
|
||||
console.log(empty_compulsory_fields);
|
||||
e.preventDefault();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
Executable
+240
@@ -0,0 +1,240 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@push('styles')
|
||||
<link href="{{ asset('/elite/bower_components/datatables/jquery.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('elite/tables/css/buttons.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div class="row bg-title">
|
||||
<div class="col-lg-3 col-md-4 col-sm-4 col-xs-12">
|
||||
<h4 class="page-title">Ward Drugs Stock Sheet</h4>
|
||||
</div>
|
||||
<div class="col-lg-9 col-sm-8 col-md-8 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">Dashboard</a></li>
|
||||
<li class="active">Ward Drugs Stock Sheet</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<!--Flash messages at the top -->
|
||||
@include('flash::message')
|
||||
<div class="white-box">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{{ Form::open(['url' => 'ward_drugs_stock_sheet', 'method'=>'ANY', 'role'=>'search']) }}
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
{{ Form::label('ward_id', 'Wards') }}
|
||||
{{ Form::select('ward_id', $wards, '', ['class' => 'form-control compulsory', 'required']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="form-group" style="padding-top: 5px;"><br>
|
||||
{{ Form::button('Submit',['type'=>'submit','class'=>'btn btn-success waves-effect waves-light m-r-10', 'id'=>'select_patient']) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
Showing results from :
|
||||
<br><h3 style="color: #0060BF; font-weight: bolder;"> {{ is_null($ward_id) ? 'No ward selected' : get_name($ward_id, 'id', 'name', 'wards') }} </h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ Form::close() }}
|
||||
</div>
|
||||
|
||||
<div class="col-sm-12">
|
||||
<form action="{{ route('wards.update_drugs_stock_sheet') }}" method="POST" name="stock_form" id="stock_form" style="width: 100%">
|
||||
{{ csrf_field() }}
|
||||
|
||||
<input type="hidden" name="ward_id" value="{{ $ward_id }}">
|
||||
|
||||
<p class="text-muted m-b-30">Export data to Copy, CSV, Excel, PDF & Print</p>
|
||||
<div class="table-responsive">
|
||||
<table class="table color-bordered-table success-bordered-table table-hover table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Drug Name</th>
|
||||
<th>Batch Details</th>
|
||||
<th>{{ !is_null($ward_id) ? get_name($ward_id, "id", "name", "wards") : "" }} Stock</th>
|
||||
<th>Cost Value</th>
|
||||
<th>Cash Price</th>
|
||||
<th>Sale Value</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@php $total_cost_value=0; $total_sale_value=0; @endphp
|
||||
@foreach($ward_stock_records as $record)
|
||||
@php
|
||||
$drug = \Streamline\Models\Drug::withTrashed()->find($record->item_id);
|
||||
|
||||
$batch_records = \Streamline\Models\ItemBatchWatcher::where(['item_type' => 1, 'item_id' => $record->item_id])->whereRaw('FIND_IN_SET(' . $ward_id . ',ward_id)')->get();
|
||||
|
||||
$drug_ward_stock = 0;//dd($batch_records);
|
||||
$item_cost_value = 0;
|
||||
@endphp
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
@if($drug->insurance_coverage == 1)
|
||||
<span style="color: green;"> {{ $drug->name }} </span>
|
||||
@else
|
||||
<span style="color: orange;"> {{ $drug->name }} </span>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if (count($batch_records) > 0)
|
||||
@foreach ($batch_records as $record)
|
||||
@php
|
||||
$exploded_ward_stocks = $record->ward_stock ? explode(",",$record->ward_stock) : [];
|
||||
$exploded_ward_ids = $record->ward_id ? explode(",", $record->ward_id) : [];
|
||||
|
||||
$ward_id_key = array_search($ward_id, $exploded_ward_ids);
|
||||
|
||||
$this_wardz_stock = 0;
|
||||
|
||||
if($ward_id_key !== false){
|
||||
//the ward stock already exists so get it and add this amount
|
||||
$this_wardz_stock = $exploded_ward_stocks[$ward_id_key] ?? 0;
|
||||
}
|
||||
@endphp
|
||||
|
||||
<div class="row shown_input" style="background-color: #e1e1ef; border-radius: 5px 5px; border: 2px #c4b7b7 solid; margin-bottom: 2px;">
|
||||
<div class="col-sm-12" style="word-wrap: break-word; padding: 0px; font-size: 10px">
|
||||
<b>{{ __('stores.batch') }}: </b>{{ $record->batch_number }}
|
||||
</div>
|
||||
<div class="col-sm-12" style="word-wrap: break-word; padding: 0px; font-size: 10px">
|
||||
<b>{{ __('stores.quantity') }}: </b>{{ $this_wardz_stock }}<br>
|
||||
@php
|
||||
$drug_ward_stock += $this_wardz_stock;
|
||||
$item_cost_value += $record->cost_price * $this_wardz_stock;
|
||||
@endphp
|
||||
<b>{{ __('stores.expiry_date') }}: </b>{{ $record->expiry_date }}
|
||||
</div>
|
||||
<div class="col-sm-12" style="word-wrap: break-word; padding: 0px; font-size: 10px">
|
||||
<b>{{ __('stores.unit_cost') }}: </b>{{ $record->cost_price }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="hidden_input" style="display: none;">
|
||||
<input type="hidden" name="batch_drug_id[]" value="{{ $drug->id }}">
|
||||
<div class="col-sm-6" style="word-wrap: break-word; padding: 0px; font-size: 10px">
|
||||
<b>{{ __('stores.batch') }}: </b>{{ $record->batch_number }}
|
||||
<input type="hidden" name="batch_number[]" value="{{ $record->batch_number }}">
|
||||
<input type="hidden" name="item_batch_watcher_id[]" value="{{ $record->id }}">
|
||||
<input type="hidden" name="batch_unit_cost[]" value="{{ $record->cost_price }}">
|
||||
<input type="hidden" name="batch_expiry_date[]" value="{{ $record->expiry_date }}">
|
||||
</div>
|
||||
<div class="col-sm-6" style="word-wrap: break-word; padding: 0px; font-size: 10px">
|
||||
<input type="text" name="batch_quantity[]" class="form-control" value="{{ $this_wardz_stock }}">
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
<div class="">
|
||||
{{ $drug_ward_stock }}
|
||||
</div>
|
||||
{{-- <div class="hidden_input" style="display: none;">
|
||||
<input type="hidden" name="drug_id[]" value="{{ $drug->id }}">
|
||||
<input type="text" name="quantity[]" class="form-control" value="{{ $drug_ward_stock }}">
|
||||
</div> --}}
|
||||
</td>
|
||||
<td>
|
||||
{{ ugandan_shillings($item_cost_value) }}
|
||||
</td>
|
||||
<td>{{ ugandan_shillings($drug->non_insured_price) }}</td>
|
||||
<td>
|
||||
{{ ugandan_shillings($drug->non_insured_price * $drug_ward_stock) }}
|
||||
</td>
|
||||
@php
|
||||
$total_cost_value += $item_cost_value;
|
||||
$total_sale_value += ($drug->non_insured_price * $drug_ward_stock);
|
||||
@endphp
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>Drug Name</th>
|
||||
<th>Batch Details</th>
|
||||
<th>{{ !is_null($ward_id) ? get_name($ward_id, "id", "name", "wards") : "" }} Stock</th>
|
||||
<th>Cost Value</th>
|
||||
<th>Cash Price</th>
|
||||
<th>Sale Value</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th>Total:</th>
|
||||
<th>{{ ugandan_shillings($total_cost_value) }}</th>
|
||||
<th></th>
|
||||
<th>{{ ugandan_shillings($total_sale_value) }}</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
<div class="hidden_input" style="display: none;">
|
||||
<br>
|
||||
{{ Form::label('account_id', __('stores.general_comment')) }}
|
||||
{{ Form::textarea('general_comment','',['class' => 'form-control', 'placeholder' => __('pharmacy.add_general_comment'), 'rows' => 4]) }}
|
||||
</div>
|
||||
<div style="padding: 10px; float: right;">
|
||||
@if( Auth::user()->can('edit-ward-drug-stock-sheet'))
|
||||
<button class="btn btn-rounded btn-default" id="cancel_edit" style="display: none;">Cancel</button>
|
||||
<button class="btn btn-rounded btn-success" id="edit_stock">Edit stock</button>
|
||||
<input type="submit" value="Save stock" class="btn btn-rounded btn-success" id="save_stock" style="display: none;">
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script src="{{ asset('elite/bower_components/datatables/jquery.dataTables.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/dataTables.buttons.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.flash.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/jszip.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/pdfmake.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/vfs_fonts.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.html5.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.print.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.js') }}"></script>
|
||||
<script type="text/javascript">
|
||||
$('.table').DataTable({
|
||||
dom: 'Bfrtip',
|
||||
pageLength: 100,
|
||||
buttons: [
|
||||
'copy', 'csv', 'excel', 'pdf', 'print'
|
||||
]
|
||||
});
|
||||
|
||||
$('#edit_stock').click(function(e){
|
||||
e.preventDefault();
|
||||
$('.hidden_input,#save_stock').show();
|
||||
$('.shown_input').hide();
|
||||
$(this).hide();
|
||||
});
|
||||
|
||||
$('.expiry_date_input').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'yyyy-mm-dd',
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
+102
@@ -0,0 +1,102 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@push('styles')
|
||||
<link href="{{ asset('elite/bower_components/select2/select2.min.css') }}" rel="stylesheet" />
|
||||
<link href="{{ asset('elite/bower_components/icheck/skins/all.css') }}" rel="stylesheet">
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div class="row bg-title">
|
||||
<div class="col-lg-3 col-md-4 col-sm-4 col-xs-12">
|
||||
<h4 class="page-title">{{ __('wards.edit_ward') }}</h4>
|
||||
</div>
|
||||
<div class="col-lg-9 col-sm-8 col-md-8 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">{{ __('wards.dashboard') }}</a></li>
|
||||
<li><a href="{{ route('wards.index') }}">{{ __('wards.wards') }}</a></li>
|
||||
<li class="active">{{ __('wards.edit') }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
@include('ward_management::wards.menu')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<!--Flash messages at the top -->
|
||||
@include('flash::message')
|
||||
<div class="white-box">
|
||||
{{ Form::model($ward, ['method' => 'PUT', 'route' => ['wards.update',$ward], 'data-toggle' => 'validator']) }}
|
||||
|
||||
<div class="form-group">
|
||||
{{ Form::label('name', __('wards.ward_name')) }}
|
||||
{{ Form::text('name', $ward->name, ['class' => 'form-control compulsory', 'required']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
{{ Form::label('beds', __('wards.ward_beds')) }}
|
||||
{{ Form::text('beds', $ward->beds, ['class' => 'form-control compulsory', 'required']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{{ Form::label('type', __('wards.hmis_ward')) }}
|
||||
{{-- {{ Form::text('type', $ward->slug, ['class' => 'form-control compulsory', 'required']) }} --}}
|
||||
<select class="form-control compulsory required" id="type" name="type" required>
|
||||
@if (empty($selected_ward_type))
|
||||
<option value="" selected disabled>{{ __('wards.select_type') }}</option>
|
||||
@else
|
||||
@foreach ($selected_ward_type as $selected_ward )
|
||||
<option value="{{ $selected_ward['id'] }}" selected>{{ $selected_ward['name'] }}</option>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
@foreach ($other_ward_types as $ward_type)
|
||||
<option value="{{ $ward_type['id'] }}">{{ $ward_type['name'] }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{{ Form::label('', __('wards.is_ward_available'), ["class"=>'col-md-12']) }}
|
||||
{{ __('wards.yes') }} {{ Form::radio('available', 1, $ward->available == 1, ["required", 'class' => 'check form-control', 'data-radio'=>'iradio_flat-green']) }}
|
||||
{{ __('wards.no') }} {{ Form::radio('available', 0, $ward->available == 0, ["required", 'class' => 'check form-control', 'data-radio'=>'iradio_flat-green']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{{ Form::label('ward_type', __('wards.type')) }}
|
||||
<select class="form-control" id="ward_type" name="ward_type">
|
||||
@if (empty($ward->type))
|
||||
<option value="" selected disabled>{{ __('wards.select_ward_type') }}</option>
|
||||
@endif
|
||||
@foreach ($actual_ward_types as $key => $actual_ward_type)
|
||||
<option value="{{ $key }}" @php if($key == $ward->type) echo 'selected' @endphp>{{ $actual_ward_type }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
|
||||
{{ Form::button(__('wards.submit'),['type'=>'submit','class'=>'btn btn-success waves-effect waves-light m-r-10']) }}
|
||||
{{ Form::button(__('wards.cancel'),['type'=>'reset','class'=>'btn btn-default waves-effect waves-light']) }}
|
||||
|
||||
{{ Form::close() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script src="{{ asset('elite/js/validator.js') }}"></script>
|
||||
<script src="{{ asset('elite/bower_components/select2/select2.min.js') }}"></script>
|
||||
<!-- icheck -->
|
||||
<script src="{{ asset('elite/bower_components/icheck/icheck.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/bower_components/icheck/icheck.init.js') }}"></script>
|
||||
<script type="text/javascript">
|
||||
$('#type, #ward_type').select2();
|
||||
</script>
|
||||
@endpush
|
||||
+92
@@ -0,0 +1,92 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@section('content')
|
||||
<div class="row bg-title">
|
||||
<div class="col-md-4">
|
||||
<h4 class="page-title">{{ __('wards.wards_home') }}</h4>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}"><i class="fa fa-boxes"></i> {{ __('home.dashboard') }}</a></li>
|
||||
<li class="active">{{ __('wards.wards_home') }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="white-box">
|
||||
@include('flash::message')
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<h3 class="box-title">{{ __('wards.patient_management') }}</h3>
|
||||
<ul class="feeds">
|
||||
@if( Auth::user()->can('ward-list'))
|
||||
<a href="{{ route('wards.select') }}">
|
||||
<li>
|
||||
<div class="bg-success"><i class="fa fa-plus-circle text-white"></i></div> {{ __('wards.ward_patient_list') }}<i class="fa fa-angle-right float-right" style="padding-top: 12.5px;"></i>
|
||||
</li>
|
||||
</a>
|
||||
@endif
|
||||
|
||||
@if( Auth::user()->can('pharmacy-ward-dispensing-per-chart'))
|
||||
<a href="{{ route('pharmacy.ward_dispensing_per_chart') }}">
|
||||
<li>
|
||||
<div class="bg-success"><i class="fa fa-plus-circle text-white"></i></div> {{ __('layout.ward_dispensing_per_chart') }}<i class="fa fa-angle-right float-right" style="padding-top: 12.5px;"></i>
|
||||
</li>
|
||||
</a>
|
||||
@endif
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<h3 class="box-title">{{ __('stores.stock_management') }}</h3>
|
||||
<ul class="feeds">
|
||||
@if( Auth::user()->can('create-ward-item-request'))
|
||||
<a href="{{ route('ward_item_request.ward_item_requests') }}">
|
||||
<li>
|
||||
<div class="bg-info"><i class="fa fa-medkit text-white"></i></div> {{ __('layout.ward_item_request') }}<i class="fa fa-angle-right float-right" style="padding-top: 12.5px;"></i>
|
||||
</li>
|
||||
</a>
|
||||
@endif
|
||||
|
||||
@if( Auth::user()->can('view-incoming-ward-dispensing-per-chart'))
|
||||
<a href="{{ url('incoming_ward_charts') }}">
|
||||
<li>
|
||||
<div class="bg-info"><i class="fa fa-medkit text-white"></i></div> {{ __('layout.incoming_ward_charts') }}<i class="fa fa-angle-right float-right" style="padding-top: 12.5px;"></i>
|
||||
</li>
|
||||
</a>
|
||||
@endif
|
||||
|
||||
@if( Auth::user()->can('view-incoming-ward-item-requests'))
|
||||
<a href="{{ route('ward_item_request.incoming_ward_requests') }}">
|
||||
<li>
|
||||
<div class="bg-info"><i class="fa fa-medkit text-white"></i></div> {{ __('layout.incoming_ward_item_request') }}<i class="fa fa-angle-right float-right" style="padding-top: 12.5px;"></i>
|
||||
</li>
|
||||
</a>
|
||||
@endif
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<h3 class="box-title">{{ __('stores.reports') }}</h3>
|
||||
<ul class="feeds">
|
||||
|
||||
@if( Auth::user()->can('view-ward-drug-stock-sheet'))
|
||||
<a href="{{ url('ward_drugs_stock_sheet') }}">
|
||||
<li>
|
||||
<div class="bg-info"><i class="fa fa-book text-white"></i></div> Ward Drugs Stock Sheet<i class="fa fa-angle-right float-right" style="padding-top: 12.5px;"></i>
|
||||
</li>
|
||||
</a>
|
||||
@endif
|
||||
|
||||
@if( Auth::user()->can('view-ward-sundry-stock-sheet'))
|
||||
<a href="{{ url('ward_sundries_stock_sheet') }}">
|
||||
<li>
|
||||
<div class="bg-info"><i class="fa fa-book text-white"></i></div> Ward Sundries Stock Sheet<i class="fa fa-angle-right float-right" style="padding-top: 12.5px;"></i>
|
||||
</li>
|
||||
</a>
|
||||
@endif
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
+91
@@ -0,0 +1,91 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@push('styles')
|
||||
<link href="{{ asset('/elite/bower_components/datatables/jquery.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('elite/tables/css/buttons.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div class="row bg-title">
|
||||
<div class="col-lg-3 col-md-4 col-sm-4 col-xs-12">
|
||||
<h4 class="page-title">{{ __('wards.activate_wards') }}</h4>
|
||||
</div>
|
||||
<div class="col-lg-9 col-sm-8 col-md-8 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">{{ __('wards.dashboard') }}</a></li>
|
||||
<li><a href="{{ route('wards.index') }}">{{ __('wards.wards') }}</a></li>
|
||||
<li class="active">{{ __('wards.activate') }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
@include('ward_management::wards.menu')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="white-box">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ __('wards.ward_name') }}</th>
|
||||
<th>{{ __('wards.ward_beds') }}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>{{ __('wards.ward_name') }}</th>
|
||||
<th>{{ __('wards.ward_beds') }}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
@foreach($wards as $ward)
|
||||
<tr>
|
||||
<td>{{ $ward->name }}</td>
|
||||
<td>{{ $ward->beds }}</td>
|
||||
<td>
|
||||
{{ Form::model($ward->id ,['method' => 'POST', 'route' => ['wards.activate', $ward->id]]) }}
|
||||
<button type="submit" class="btn btn-warning" onclick="return confirm('<?php echo __('wards.are_you_sure');?>')"><i class="fa fa-check"></i> {{ __('wards.activate') }}</button>
|
||||
{{ Form::close() }}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
|
||||
<script src="{{ asset('elite/bower_components/datatables/jquery.dataTables.min.js') }}"></script>
|
||||
|
||||
<script src="{{ asset('elite/tables/js/dataTables.buttons.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.flash.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/jszip.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/pdfmake.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/vfs_fonts.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.html5.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.print.min.js') }}"></script>
|
||||
|
||||
<script>
|
||||
|
||||
|
||||
$('.table').DataTable({
|
||||
dom: 'Bfrtip',
|
||||
buttons: [
|
||||
'copy', 'csv', 'excel', 'pdf', 'print'
|
||||
]
|
||||
});
|
||||
|
||||
</script>
|
||||
@endpush
|
||||
+141
@@ -0,0 +1,141 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@push('styles')
|
||||
<link href="{{ asset('/elite/bower_components/datatables/jquery.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('elite/tables/css/buttons.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div class="row bg-title">
|
||||
<div class="col-lg-3 col-md-4 col-sm-4 col-xs-12">
|
||||
<h4 class="page-title">{{ __('wards.wards') }}</h4>
|
||||
</div>
|
||||
<div class="col-lg-9 col-sm-8 col-md-8 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">{{ __('wards.dashboard') }}</a></li>
|
||||
<li class="active">{{ __('wards.wards') }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
@include('ward_management::wards.menu')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@include('flash::message')
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="white-box">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ __('wards.ward_name') }}</th>
|
||||
<th>{{ __('wards.hmis_ward') }}</th>
|
||||
<th>{{ __('wards.type') }}</th>
|
||||
<th>{{ __('wards.ward_beds') }}</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>{{ __('wards.ward_name') }}</th>
|
||||
<th>{{ __('wards.hmis_ward') }}</th>
|
||||
<th>{{ __('wards.type') }}</th>
|
||||
<th>{{ __('wards.ward_beds') }}</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
@foreach($wards as $ward)
|
||||
<tr>
|
||||
<td>{{ $ward->name }}</td>
|
||||
<td>{{ $ward->hmis_ward }}</td>
|
||||
<td>{{ $ward_types[$ward->type]?? '' }}</td>
|
||||
<td>{{ $ward->beds }}</td>
|
||||
<td>
|
||||
<a href="/wards/{{ $ward->id }}/edit/" class="btn btn-info"><i class="fa fa-pencil"></i> {{ __('wards.edit') }}</a>
|
||||
</td>
|
||||
<td>
|
||||
@if (empty($inpatient_wards[$ward->id]))
|
||||
{{ Form::model($ward->id ,['method' => 'DELETE', 'route' => ['wards.destroy', $ward->id]]) }}
|
||||
<button type="submit" class="btn btn-danger" onclick="return confirm('<?php echo __('wards.are_you_sure');?>')"><i class="fa fa-trash"></i> {{ __('wards.delete') }}</button>
|
||||
{{ Form::close() }}
|
||||
@else
|
||||
<b class="text-success">Ward in use</b>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script src="{{ asset('elite/bower_components/datatables/jquery.dataTables.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/dataTables.buttons.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.flash.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/jszip.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/pdfmake.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/vfs_fonts.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.html5.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.print.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.colVis.min.js') }}"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$('.table').DataTable({
|
||||
dom: 'Bfrtip',
|
||||
pageLength: 20,
|
||||
order: [],
|
||||
buttons: [
|
||||
'copy',
|
||||
{extend: 'csv',
|
||||
message: '<?php echo __('wards.list_of_wards');?>'
|
||||
},
|
||||
{extend: 'excel',
|
||||
message: '<?php echo __('wards.list_of_wards');?>',
|
||||
exportOptions: {
|
||||
columns: [0, 1]
|
||||
},
|
||||
sheetName: '<?php echo __('wards.list_of_wards');?>'
|
||||
},
|
||||
{extend: 'pdf',
|
||||
message: '<?php echo __('wards.list_of_wards');?>',
|
||||
orientation: 'portrait',
|
||||
pageSize: 'LETTER',
|
||||
exportOptions: {
|
||||
columns: [0, 1]
|
||||
},
|
||||
customize: function (doc) {
|
||||
doc.defaultStyle.fontSize = 10;
|
||||
// doc.styles.tableHeader.alignment = 'left';
|
||||
}
|
||||
},
|
||||
{extend: 'print',
|
||||
message: '<?php echo __('wards.list_of_wards');?>',
|
||||
exportOptions: {
|
||||
columns: [0, 1]
|
||||
},
|
||||
customize: function (win) {
|
||||
$(win.document.body)
|
||||
.css('font-size', '10pt')
|
||||
.css('background', '#fff')
|
||||
.prepend('<img src="<?php echo asset('uploads/logo/logo-sm.png'); ?>" style="position:absolute; top:0; right:0;" />');
|
||||
$(win.document.body).find('table')
|
||||
.addClass('compact table-bordered')
|
||||
.css('font-size', 'inherit');
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<a href="{{ route('wards.create') }}" class="nav-item btn btn-default ti-plus"> {{ __('wards.add_ward') }}</a>
|
||||
<a href="{{ route('wards.index') }}" class="nav-item btn btn-default ti-pencil"> {{ __('wards.view_wards') }}</a>
|
||||
<a href="{{ route('wards.inactive') }}" class="nav-item btn btn-default ti-trash"> {{ __('wards.activate_wards') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
+724
@@ -0,0 +1,724 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@push('styles')
|
||||
<link href="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.css') }}" rel="stylesheet"
|
||||
type="text/css" />
|
||||
<link href="{{ asset('/elite/bower_components/datatables/jquery.dataTables.min.css') }}" rel="stylesheet"
|
||||
type="text/css" />
|
||||
<link href="{{ asset('elite/tables/css/buttons.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('js/gritter/css/jquery.gritter.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('elite/bower_components/select2/select2.min.css') }}" rel="stylesheet" />
|
||||
|
||||
<style type="text/css">
|
||||
.color-tr {
|
||||
background: #FFFF99;
|
||||
}
|
||||
|
||||
/* The container */
|
||||
.contained {
|
||||
display: block;
|
||||
position: relative;
|
||||
/*padding-left: 35px;*/
|
||||
/*margin-bottom: 12px;*/
|
||||
cursor: pointer;
|
||||
/*font-size: 22px;*/
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
/* Hide the browser's default radio button */
|
||||
.contained input {
|
||||
/*position: absolute;*/
|
||||
opacity: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* Create a custom radio button */
|
||||
.checkmark {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 25px;
|
||||
width: 25px;
|
||||
background-color: #eee;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
/* On mouse-over, add a grey background color */
|
||||
.contained:hover input~.checkmark {
|
||||
background-color: #ccc;
|
||||
}
|
||||
|
||||
/* When the radio button is checked, add a blue background */
|
||||
.contained input:checked~.checkmark {
|
||||
background-color: #2196F3;
|
||||
}
|
||||
|
||||
/* Create the indicator (the dot/circle - hidden when not checked) */
|
||||
.checkmark:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Show the indicator (dot/circle) when checked */
|
||||
.contained input:checked~.checkmark:after {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Style the indicator (dot/circle) */
|
||||
.contained .checkmark:after {
|
||||
top: 9px;
|
||||
left: 9px;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 50%;
|
||||
background: white;
|
||||
}
|
||||
</style>
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="row bg-title">
|
||||
<div class="col-lg-3 col-md-4 col-sm-4 col-xs-12">
|
||||
<h4 class="page-title">{{ __('wards.select_ward') }}</h4>
|
||||
</div>
|
||||
<div class="col-lg-9 col-sm-8 col-md-8 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">{{ __('wards.dashboard') }}</a></li>
|
||||
<li><a href="{{ route('wards.index') }}">{{ __('wards.wards') }}</a></li>
|
||||
<li class="active">{{ __('wards.select') }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@include('flash::message')
|
||||
|
||||
@include ('errors.list')
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="white-box">
|
||||
{{ Form::open(['route' => 'wards.select', 'class' => 'typeahead', 'method' => 'ANY', 'role' => 'search']) }}
|
||||
|
||||
{{ Form::hidden('patient_id', 0, ['id' => 'patient_id']) }}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="form-group">
|
||||
{{ Form::label('ward_id', __('wards.wards')) }}
|
||||
{{ Form::select('ward_id', $wards, '', ['class' => 'form-control compulsory', 'required']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="form-group" id="searchby">
|
||||
{{ Form::label('search_by', __('wards.date')) }}
|
||||
{{ Form::select('search_by', ['' => '--select--', 0 => 'All Records', 1 => __('wards.today'), 2 => __('wards.yesterday'), 3 => __('wards.custom_date'), 4 => __('wards.custom_range')], '', ['class' => 'form-control','id'=>'search_by', 'required']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3" style="display: none;" id="date_search">
|
||||
<div class="form-group" id="reg_date" style="padding-top: 23px;">
|
||||
<div class="input-group">
|
||||
{{ Form::text('reg_date','',['class' => 'form-control compulsory',
|
||||
'required','readonly','id'=>'datepicker-autoclose']) }}
|
||||
<span class="input-group-addon"><i class="icon-calender"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3" style="display: none;" id="date_range_search">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
{{ Form::label('start_date', __('wards.from')) }}
|
||||
<div class="input-group">
|
||||
{{ Form::text('start_date','',['class' => 'form-control
|
||||
compulsory','readonly','id'=>'datepicker-autoclose-1']) }}
|
||||
<span class="input-group-addon"><i class="icon-calender"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group" id="reg_date">
|
||||
{{ Form::label('end_date', __('wards.to')) }}
|
||||
<div class="input-group">
|
||||
{{ Form::text('end_date','',['class' => 'form-control
|
||||
compulsory','readonly','id'=>'datepicker-autoclose-2']) }}
|
||||
<span class="input-group-addon"><i class="icon-calender"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{{ Form::label('search_patient', __('investigations.search_by_patient')) }}
|
||||
<div class="input-group">
|
||||
<select class="form-control" name="patient_number" id="patient_number"></select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-1">
|
||||
<div class="form-group" style="padding-top: 5px;"><br>
|
||||
{{ Form::button(__('wards.submit'),['type'=>'submit','class'=>'btn btn-success waves-effect
|
||||
waves-light m-r-10', 'id'=>'select_patient']) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<h3 style="color: #0060BF; font-weight: bolder;">{{ $search_text }}</h3>
|
||||
{{ Form::close() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{{ Form::open(['route' => 'wards.route_patient_episode']) }}
|
||||
|
||||
<div class="white-box">
|
||||
<div class="table-responsive">
|
||||
<table class="table color-table success-table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="5%">{{ __('wards.bed') }}</th>
|
||||
<th style="display: none">{{ __('wards.bed') }}</th>
|
||||
<th width="16%" style="padding-left: 1px; padding-right: 1px;">{{ __('wards.bed_category')
|
||||
}}</th>
|
||||
<th width="5%" style="padding-left: 0px; padding-right: 0px;">{{ __('wards.admission') }}
|
||||
</th>
|
||||
<th width="20%">{{ __('wards.names') }}</th>
|
||||
<th width="2%">{{ __('wards.sex') }}</th>
|
||||
<th width="2%">{{ __('wards.age') }}</th>
|
||||
<th width="10%">{{ __('wards.triage') }}</th>
|
||||
<th width="17%">{{ __('wards.primary_diagnosis') }}</th>
|
||||
<th width="22%">{{ __('wards.comments') }}</th>
|
||||
<th style="display: none">{{ __('wards.comments') }}</th>
|
||||
<th width="1%"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($inpatients as $inpatient)
|
||||
@if(\Streamline\Models\PatientEpisode::find($inpatient->episode_id))
|
||||
<tr id="my_row{{ $inpatient->episode_id }}">
|
||||
<td style="padding-left: 0px;">
|
||||
<!-- used for ordering this column -->
|
||||
<p style="display: none">{{ $inpatient->bed_no }}</p>
|
||||
|
||||
<input type="hidden" class="inpatient_id" value="{{ $inpatient->id }}">
|
||||
<input type="hidden" class="bed_patient_id" value="{{ $inpatient->patient_id }}">
|
||||
<input class="android-input" name="bed_no" value="{{ $inpatient->bed_no }}" id="bed_no"
|
||||
onchange="change_bed_number(this.value, <?php echo $inpatient->id ?>)"
|
||||
style="width: 100%; color: maroon; font-weight: bold; height: 60px; text-align: center;">
|
||||
<input type="hidden" class="bed_episode_id" value="{{ $inpatient->episode_id }}">
|
||||
</td>
|
||||
<td style="display: none">
|
||||
<!-- used for the print -->
|
||||
<p>{{ $inpatient->bed_no }}</p>
|
||||
</td>
|
||||
<td>
|
||||
<!-- used for ordering this column -->
|
||||
<p style="display: none">{{ $inpatient->bed_category }}</p>
|
||||
|
||||
<select name="bed_category" class="android-input-select"
|
||||
onchange="update_bed_category(this.value, <?php echo $inpatient->id ?>)"
|
||||
style="width: 100%; height: 60px; color: maroon; text-align: center;">
|
||||
{!! custom_dropdown_selected("inpatient_bed_categories", "id", "name",
|
||||
$inpatient->bed_category_id) !!}
|
||||
</select>
|
||||
</td>
|
||||
<td style="padding-left: 0px; padding-right: 0px;">
|
||||
<?php
|
||||
$admitted_on = new Carbon\Carbon($inpatient->admitted_on);
|
||||
echo streamline_date($inpatient->admitted_on) . '<br>';
|
||||
echo "<span style='font-size: smaller; color: #0a776c; font-weight: bold;'>" . $admitted_on->diffInDays(Carbon\Carbon::now()) . ' days</span>';
|
||||
?>
|
||||
</td>
|
||||
<td style="padding-left: 0px;">
|
||||
<?php
|
||||
echo insurance_flag($inpatient->patient_id) . '<br>';
|
||||
echo "<span style='font-size: smaller; color: #0a776c; font-weight: bold;'>" . $inpatient->number . '</span>';
|
||||
?>
|
||||
</td>
|
||||
<td>{{ $inpatient->gender == 1 ? __('wards.male') : __('wards.female') }}</td>
|
||||
<td>{{ get_patients_age($inpatient->date_of_birth) }}</td>
|
||||
<td>
|
||||
@php
|
||||
$severe_grade = !empty($inpatient->severe_grade)?
|
||||
severe_grade($inpatient->severe_grade):'N/A';
|
||||
echo $severe_grade;
|
||||
@endphp
|
||||
</td>
|
||||
<td style="padding-left: 0px; padding-right: 0px;">{{ $inpatient->primary_diagnosis_name ??
|
||||
'N/A' }}</td>
|
||||
<td>
|
||||
<!-- used for ordering this column -->
|
||||
<p style="display: none">{{ $inpatient->comments }}</p>
|
||||
|
||||
<input type="hidden" class="bed_patient_id" value="{{ $inpatient->patient_id }}">
|
||||
<!--<input value="" >-->
|
||||
<textarea class="change_comments android-input"
|
||||
style="color: maroon; width: 100%; padding: 0px; margin: 0px; height: 60px">{{ $inpatient->comments }}</textarea>
|
||||
<input type="hidden" class="bed_episode_id" value="{{ $inpatient->episode_id }}">
|
||||
</td>
|
||||
<td style="display: none">
|
||||
<!-- used for the print -->
|
||||
<p>{{ $inpatient->comments }}</p>
|
||||
</td>
|
||||
<td>
|
||||
@if($inpatient->slug == "maternity")
|
||||
<input type="radio" onchange="show('menu_maternity'), hide('inpatient_buttons_menu')"
|
||||
class="radio-option-inpatient center" name="episode_id" id="episode_id"
|
||||
value="{{ $inpatient->episode_id }}" />
|
||||
@else
|
||||
<input class="radio-option-inpatient"
|
||||
onchange="show('inpatient_buttons_menu'), hide('menu_maternity')" type="radio"
|
||||
name="episode_id" id="episode_id" value="{{ $inpatient->episode_id }}">
|
||||
@endif
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- start the show menu buttons divs when a patient is selected -->
|
||||
<div id="inpatient_buttons_menu" style="display: none;">
|
||||
<div class="row">
|
||||
@if(Auth::user()->can('perform-triage') && !is_add_attendance_to_consultation_enabled())
|
||||
<div class="col-sm-2">
|
||||
<button type="submit" name="submit" class="btn btn-success btn-block btn-sm" value="triage">{{
|
||||
__('wards.triage') }}</button>
|
||||
</div>
|
||||
@endif
|
||||
@if(Auth::user()->can('create-consultation'))
|
||||
<div class="col-sm-2">
|
||||
<button type="submit" name="submit" class="btn btn-success btn-block btn-sm" value="consultation">{{
|
||||
__('wards.consultation') }}</button>
|
||||
</div>
|
||||
@endif
|
||||
@if(Auth::user()->can('view-inpatient-sheet'))
|
||||
<div class="col-sm-2">
|
||||
<button type="submit" name="submit" class="btn btn-success btn-block btn-sm"
|
||||
value="inpatient_sheet">{{ __('wards.inpatient_sheet') }}</button>
|
||||
</div>
|
||||
@endif
|
||||
@if(Auth::user()->can('view-inpatient-billing'))
|
||||
<div class="col-sm-2">
|
||||
<button type="submit" name="submit" class="btn btn-success btn-block btn-sm"
|
||||
value="inpatient_billing">{{ __('wards.inpatient_billing') }}</button>
|
||||
</div>
|
||||
@endif
|
||||
<div class="col-sm-2">
|
||||
<button type="submit" name="submit" class="btn btn-primary btn-block btn-sm"
|
||||
value="treatment_sheet">{{ __('patient_episode.treatment_sheet') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="white-box" id="menu_maternity" style="display: none;">
|
||||
{{--
|
||||
<div class="row">
|
||||
@if(Auth::user()->can('view-maternity-admission'))
|
||||
<div class="col-sm-3">
|
||||
<button name="submit" value="maternity_admission" class="btn btn-success pull-right col-sm-12">{{
|
||||
__('wards.maternity_admission') }}</button>
|
||||
</div>
|
||||
@endif
|
||||
@if(Auth::user()->can('view-delivery-record'))
|
||||
<div class="col-sm-2">
|
||||
<button name="submit" value="delivery_record" class="btn btn-success col-sm-12">{{
|
||||
__('wards.delivery_record') }}</button>
|
||||
</div>
|
||||
@endif
|
||||
@if(Auth::user()->can('view-inpatient-billing'))
|
||||
<div class="col-sm-3">
|
||||
<button name="submit" value="maternity_summary" class="btn btn-success col-sm-12">{{
|
||||
__('wards.inpatient_sheet') }}</button>
|
||||
</div>
|
||||
@endif
|
||||
<div class="col-sm-2"></div>
|
||||
<div class="col-sm-2">
|
||||
@if(Auth::user()->can('create-theatre-surgery') || Auth::user()->can('create-theatre-anaesthesia'))
|
||||
<div class="btn-group dropup m-r-10 col-sm-12">
|
||||
<button aria-expanded="false" data-toggle="dropdown"
|
||||
class="btn btn-info dropdown-toggle waves-effect waves-light col-sm-12" type="button">{{
|
||||
__('patient_episode.theatre') }} <span class="caret"></span></button>
|
||||
<ul role="menu" class="dropdown-menu">
|
||||
<li><button type="submit" name="submit" value="create_anaesthetics"
|
||||
class="btn btn-default btn-sm btn-link">{{
|
||||
__('patient_episode.theatre_anaesthetics') }}</button></li>
|
||||
<li><button type="submit" name="submit" value="anaesthetics_history"
|
||||
class="btn btn-default btn-sm btn-link">{{
|
||||
__('patient_episode.historical_anaesthetics') }}</button></li>
|
||||
<li><button type="submit" name="submit" value="create_surgery"
|
||||
class="btn btn-default btn-sm btn-link">{{ __('patient_episode.theatre_surgery')
|
||||
}}</button></li>
|
||||
<li><button type="submit" name="submit" value="surgery_index"
|
||||
class="btn btn-default btn-sm btn-link">{{
|
||||
__('patient_episode.historical_surgeries') }}</button></li>
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
--}}
|
||||
|
||||
{{-- Maternity and delivery buttons --}}
|
||||
|
||||
{{-- maternity buttons row 1 --}}
|
||||
<div class="row">
|
||||
@if (Auth::user()->can('view-maternity-admission'))
|
||||
<div class="col-sm-2">
|
||||
<button name="submit" value="maternity_admission" class="btn btn-success btn-sm btn-block">{{
|
||||
__('patient_episode.maternity_admission') }}</button>
|
||||
</div>
|
||||
@endif
|
||||
@if (Auth::user()->can('view-delivery-record'))
|
||||
<div class="col-sm-2">
|
||||
<button name="submit" value="delivery_record" class="btn btn-success btn-sm btn-block">{{
|
||||
__('patient_episode.delivery_record') }}</button>
|
||||
</div>
|
||||
@endif
|
||||
@if (Auth::user()->can('view-inpatient-sheet'))
|
||||
<div class="col-sm-2">
|
||||
<button name="submit" value="maternity_summary" class="btn btn-success btn-sm btn-block">{{
|
||||
__('patient_episode.inpatient_sheet') }}</button>
|
||||
</div>
|
||||
@endif
|
||||
@if (Auth::user()->can('view-birth-report'))
|
||||
<div class="col-sm-2">
|
||||
<button name="submit" value="birth_report" class="btn btn-sm btn-inverse btn-block">NIRA
|
||||
{{ __('patient_episode.birth_report') }}</button>
|
||||
</div>
|
||||
@endif
|
||||
<div class="col-sm-2"></div>
|
||||
<div class="col-sm-2">
|
||||
<div class="btn-group dropup m-r-10 col-sm-12">
|
||||
<button aria-expanded="false" data-toggle="dropdown"
|
||||
class="btn btn-sm btn-info dropdown-toggle waves-effect waves-light btn-block"
|
||||
type="button">{{ __('patient_episode.theatre') }} <span class="caret"></span></button>
|
||||
<ul role="menu" class="dropdown-menu">
|
||||
@if (Auth::user()->can('create-anaesthetics'))
|
||||
<li><button type="submit" name="submit" value="create_anaesthetics"
|
||||
class="btn btn-default btn-sm btn-link">{{
|
||||
__('patient_episode.theatre_anaesthetics') }}</button>
|
||||
</li>
|
||||
@endif
|
||||
@if (Auth::user()->can('view-anaesthetics-history'))
|
||||
<li><button type="submit" name="submit" value="anaesthetics_history"
|
||||
class="btn btn-default btn-sm btn-link">{{
|
||||
__('patient_episode.historical_anaesthetics') }}</button>
|
||||
</li>
|
||||
@endif
|
||||
@if (Auth::user()->can('create-surgery'))
|
||||
<li><button type="submit" name="submit" value="create_surgery"
|
||||
class="btn btn-default btn-sm btn-link">{{ __('patient_episode.theatre_surgery')
|
||||
}}</button>
|
||||
</li>
|
||||
@endif
|
||||
@if (Auth::user()->can('view-surgery'))
|
||||
<li><button type="submit" name="submit" value="surgery_index"
|
||||
class="btn btn-default btn-sm btn-link">{{
|
||||
__('patient_episode.historical_surgeries') }}</button>
|
||||
</li>
|
||||
@endif
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{-- end of maternity buttons row 1 --}}
|
||||
|
||||
{{-- maternity buttons row 2 --}}
|
||||
<div class="row" style="margin-top:10px;">
|
||||
|
||||
@php
|
||||
$episode_id_id = session()->get('episode_id');
|
||||
$patient_episode_details = \Streamline\Models\PatientEpisode::find($episode_id_id);
|
||||
// $patient_id_id = $patient_episode_details->patient_id;
|
||||
|
||||
$check_if_labour_admission_exists = \Streamline\Models\LabourWardAdmission::where(
|
||||
'patient_id',
|
||||
$patient_id ?? '',
|
||||
)
|
||||
->where('episode_id', $episode_id_id)
|
||||
->first();
|
||||
@endphp
|
||||
|
||||
|
||||
@if (Auth::user()->can('labour-ward-admission'))
|
||||
{{-- <div class="col-sm-2">
|
||||
<button name="submit" value="labour_ward_admission" class="btn btn-success btn-sm btn-block">{{
|
||||
__('patient_episode.labour_ward_admission') }}</button> --}}
|
||||
<div class="col-sm-2">
|
||||
{{-- <button name="submit" value="labour_ward_admission"
|
||||
class="btn btn-success btn-sm btn-block">{{ __('patient_episode.labour_ward_admission') }}
|
||||
</button> --}}
|
||||
|
||||
{{-- @if (!empty($check_if_labour_admission_exists->complete))
|
||||
@if ($check_if_labour_admission_exists->complete == 0)
|
||||
<button name="submit" value="edit_labour_ward_admission_sheet"
|
||||
class="btn btn-success btn-sm btn-block">
|
||||
{{ __('patient_episode.labour_ward_admission') }}</button>
|
||||
@endif
|
||||
@if ($check_if_labour_admission_exists->complete == 1)
|
||||
<button name="submit" value="labour_ward_admission_sheet_details"
|
||||
class="btn btn-success btn-sm btn-block">
|
||||
{{ __('patient_episode.labour_ward_admission') }}</button>
|
||||
@endif
|
||||
@else
|
||||
<button name="submit" value="labour_ward_admission" class="btn btn-success btn-sm btn-block">
|
||||
{{ __('patient_episode.labour_ward_admission') }}</button>
|
||||
@endif --}}
|
||||
{{--
|
||||
@if ($check_if_labour_admission_exists->complete == 0)
|
||||
<button name="submit" value="edit_labour_ward_admission_sheet"
|
||||
class="btn btn-success btn-sm btn-block">
|
||||
{{ __('patient_episode.labour_ward_admission') }}</button>
|
||||
|
||||
@elseif ($check_if_labour_admission_exists->complete == 1)
|
||||
<button name="submit" value="labour_ward_admission_sheet_details"
|
||||
class="btn btn-success btn-sm btn-block">
|
||||
{{ __('patient_episode.labour_ward_admission') }}</button>
|
||||
|
||||
@else
|
||||
<button name="submit" value="labour_ward_admission" class="btn btn-success btn-sm btn-block">
|
||||
{{ __('patient_episode.labour_ward_admission') }}</button>
|
||||
@endif --}}
|
||||
|
||||
@if ($check_if_labour_admission_exists !== null)
|
||||
@if ($check_if_labour_admission_exists->complete == 0)
|
||||
<button name="submit" value="edit_labour_ward_admission_sheet"
|
||||
class="btn btn-success btn-sm btn-block">
|
||||
{{ __('patient_episode.labour_ward_admission') }}
|
||||
</button>
|
||||
@elseif ($check_if_labour_admission_exists->complete == 1)
|
||||
<button name="submit" value="labour_ward_admission_sheet_details"
|
||||
class="btn btn-success btn-sm btn-block">
|
||||
{{ __('patient_episode.labour_ward_admission') }}
|
||||
</button>
|
||||
@else
|
||||
<button name="submit" value="labour_ward_admission" class="btn btn-success btn-sm btn-block">
|
||||
{{ __('patient_episode.labour_ward_admission') }}
|
||||
</button>
|
||||
@endif
|
||||
@else
|
||||
<!-- Handle the case where $check_if_labour_admission_exists is null -->
|
||||
<button name="submit" value="labour_ward_admission" class="btn btn-success btn-sm btn-block">
|
||||
{{ __('patient_episode.labour_ward_admission') }}
|
||||
</button>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
@endif
|
||||
@if (Auth::user()->can('safe-delivery'))
|
||||
<div class="col-sm-2">
|
||||
<button name="submit" value="delivery_record" class="btn btn-success btn-sm btn-block">{{
|
||||
__('patient_episode.safe_delivery') }}</button>
|
||||
</div>
|
||||
@endif
|
||||
@if (Auth::user()->can('partogram'))
|
||||
<div class="col-sm-2">
|
||||
<button name="submit" value="maternity_summary" class="btn btn-success btn-sm btn-block">{{
|
||||
__('patient_episode.partogram') }}</button>
|
||||
</div>
|
||||
@endif
|
||||
@if (Auth::user()->can('labour-ward-overview'))
|
||||
<div class="col-sm-2">
|
||||
<button name="submit" value="birth_report" class="btn btn-sm btn-inverse btn-block">{{
|
||||
__('patient_episode.labour_ward_overview') }}</button>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
{{-- End maternity buttons row 2 --}}
|
||||
|
||||
|
||||
{{-- End of Maternity and delivery buttons --}}
|
||||
</div>
|
||||
<!-- end of buttons divs that show when a patient is selected -->
|
||||
|
||||
{{ Form::close() }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script src="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/bower_components/datatables/jquery.dataTables.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/dataTables.buttons.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.flash.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/jszip.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/pdfmake.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/vfs_fonts.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.html5.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.print.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/bower_components/select2/select2.min.js') }}"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$('#search_by').change(function () {
|
||||
if ($(this).val() == 3) {
|
||||
$('#date_search').show();
|
||||
$('#date_range_search').hide();
|
||||
} else if ($(this).val() == 4) {
|
||||
$('#date_range_search').show();
|
||||
$('#date_search').hide();
|
||||
} else {
|
||||
$('#date_search,#date_range_search').hide();
|
||||
}
|
||||
});
|
||||
|
||||
$('#patient_number').change(function () {
|
||||
let id = $('#patient_number').val();
|
||||
$('#patient_id').val(id);
|
||||
});
|
||||
|
||||
$('#patient_number').select2({
|
||||
placeholder: 'Search by patient details (names and number)',
|
||||
ajax: {
|
||||
url: '/patients/search_patient_by_name_number',
|
||||
dataType: 'json',
|
||||
delay: 250,
|
||||
processResults: function (data) {
|
||||
return {
|
||||
results: $.map(data, function (item) {
|
||||
return {
|
||||
text: item.first_name + " " + item.last_name + " (" + item.number + ")",
|
||||
id: item.id
|
||||
}
|
||||
})
|
||||
};
|
||||
},
|
||||
cache: true
|
||||
}
|
||||
});
|
||||
|
||||
$('.table').DataTable({
|
||||
dom: 'Bfrtip',
|
||||
pageLength: 50,
|
||||
buttons: [
|
||||
{extend: 'print',
|
||||
exportOptions: {
|
||||
stripHtml: false,
|
||||
columns: [1, 3, 4, 5, 6, 7, 8, 10]
|
||||
},
|
||||
title: '{{ __('wards.ward_patient_list') }}'
|
||||
},
|
||||
{
|
||||
extend: 'pdf',
|
||||
exportOptions: {
|
||||
columns: [1, 3, 4, 5, 6, 7, 8, 10]
|
||||
},
|
||||
title: '{{ __('wards.ward_patient_list') }}'
|
||||
}
|
||||
]
|
||||
});
|
||||
$('.sorting').removeClass('sorting');//remove the sorting class
|
||||
$('.sorting_asc').removeClass('sorting_asc');//remove the sorting class
|
||||
|
||||
$('#datepicker-autoclose,#datepicker-autoclose-1,#datepicker-autoclose-2').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'dd/mm/yyyy'
|
||||
});
|
||||
|
||||
$('.radio-option-inpatient').change(function(){
|
||||
//this is to highlight the clicked episode row
|
||||
let episode_id = $(this).val();
|
||||
if (this.checked) {
|
||||
// remove the class that highlights the selected row
|
||||
$('[id^=my_row]').css("background-color", "transparent");
|
||||
$('#my_row'+episode_id).css("background", "#FFFF99");
|
||||
}
|
||||
});
|
||||
|
||||
$('#datepicker-autoclose').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'dd/mm/yyyy'
|
||||
});
|
||||
|
||||
function change_bed_number(bed_no, inpatient_id) {
|
||||
var data = "bed_no=" + bed_no + "&inpatient_id=" + inpatient_id;
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/submit_bed_number",
|
||||
data: data,
|
||||
cache: false,
|
||||
success: function (result) {
|
||||
if (result === "success") {
|
||||
alert('<?php echo __('wards.bed_no_saved'); ?>');
|
||||
} else {
|
||||
alert("<?php echo __('wards.error_occurred'); ?>");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//start update of ward comment
|
||||
$('.change_comments').each(function () {
|
||||
$(this).change(function () {
|
||||
var comment = $(this).val();
|
||||
var patient_id = $(this).prev(".bed_patient_id").val();
|
||||
var episode_id = $(this).next(".bed_episode_id").val();
|
||||
var data = "comment=" + comment + "&patient_id=" + patient_id + "&episode_id=" + episode_id;
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/submit_ward_message",
|
||||
data: data,
|
||||
cache: false,
|
||||
success: function (result) {
|
||||
if (result === "success") {
|
||||
alert('<?php echo __('wards.comments_saved'); ?>');
|
||||
} else {
|
||||
alert("<?php echo __('wards.error_occurred'); ?>");
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
//end update of ward comment
|
||||
|
||||
function update_bed_category(category_id, inpatient_id) {
|
||||
var data = "bed_category=" + category_id + "&inpatient_id=" + inpatient_id;
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/submit_bed_category",
|
||||
data: data,
|
||||
cache: false,
|
||||
success: function (result) {
|
||||
if (result === "success") {
|
||||
alert("<?php echo __('wards.bed_category_saved'); ?>");
|
||||
} else {
|
||||
alert("<?php echo __('wards.error_occurred'); ?>");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function show(id) {
|
||||
if (document.getElementById(id).style.display === 'none') {
|
||||
document.getElementById(id).style.display = '';
|
||||
}
|
||||
}
|
||||
|
||||
function hide(id) {
|
||||
document.getElementById(id).style.display = 'none';
|
||||
}
|
||||
</script>
|
||||
|
||||
@endpush
|
||||
Executable
+156
@@ -0,0 +1,156 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@push('styles')
|
||||
<link href="{{ asset('/elite/bower_components/datatables/jquery.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('elite/tables/css/buttons.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div class="row bg-title">
|
||||
<div class="col-lg-3 col-md-4 col-sm-4 col-xs-12">
|
||||
<h4 class="page-title">Ward Sundries Stock Sheet</h4>
|
||||
</div>
|
||||
<div class="col-lg-9 col-sm-8 col-md-8 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">Dashboard</a></li>
|
||||
<li class="active">Ward Sundries Stock Sheet</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<!--Flash messages at the top -->
|
||||
@include('flash::message')
|
||||
<div class="white-box">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{{ Form::open(['url' => 'ward_sundries_stock_sheet','method'=>'ANY','role'=>'search']) }}
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
{{ Form::label('ward_id', 'Wards') }}
|
||||
{{ Form::select('ward_id', $wards, '', ['class' => 'form-control compulsory', 'required']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="form-group" style="padding-top: 5px;"><br>
|
||||
{{ Form::button('Submit',['type'=>'submit','class'=>'btn btn-success waves-effect waves-light m-r-10', 'id'=>'select_patient']) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
Showing results from :
|
||||
<br><h3 style="color: #0060BF; font-weight: bolder;"> {{ is_null($ward_id) ? 'No ward selected' : get_name($ward_id, 'id', 'name', 'wards') }} </h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ Form::close() }}
|
||||
</div>
|
||||
|
||||
<div class="col-sm-12">
|
||||
<form action="{{ route('wards.update_sundries_stock_sheet') }}" method="POST" name="stock_form" id="stock_form" style="width: 100%">
|
||||
{{ csrf_field() }}
|
||||
|
||||
<input type="hidden" name="ward_id" value="{{ $ward_id }}">
|
||||
|
||||
<p class="text-muted m-b-30">Export data to Copy, CSV, Excel, PDF & Print</p>
|
||||
<div class="table-responsive">
|
||||
<table class="table color-bordered-table success-bordered-table table-hover table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Sundry Name</th>
|
||||
<th>{{ !is_null($ward_id) ? get_name($ward_id, "id", "name", "wards") : "" }} Stock</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>Sundry Name</th>
|
||||
<th>{{ !is_null($ward_id) ? get_name($ward_id, "id", "name", "wards") : "" }} Stock</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
@foreach($ward_stock_records as $record)
|
||||
@php
|
||||
$sundry = \Streamline\Models\Sundry::withTrashed()->find($record->item_id);
|
||||
|
||||
if (!$sundry) {
|
||||
continue;
|
||||
}
|
||||
@endphp
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
@if($sundry->insurance_coverage == 1)
|
||||
<span style="color: green;"> {{ $sundry->name }} </span>
|
||||
@else
|
||||
<span style="color: orange;"> {{ $sundry->name }} </span>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
<div class="shown_input">
|
||||
{{ $record->ward_item_stock }}
|
||||
</div>
|
||||
<div class="hidden_input" style="display: none;">
|
||||
<input type="hidden" name="sundry_id[]" value="{{ $sundry->id }}">
|
||||
<input type="text" name="quantity[]" class="form-control" value="{{ $record->ward_item_stock }}">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div style="padding: 10px; float: right;">
|
||||
@if( Auth::user()->can('edit-ward-sundry-stock-sheet'))
|
||||
<button class="btn btn-rounded btn-default" id="cancel_edit" style="display: none;">Cancel</button>
|
||||
<button class="btn btn-rounded btn-success" id="edit_stock">Edit stock</button>
|
||||
<input type="submit" value="Save stock" class="btn btn-rounded btn-success" id="save_stock" style="display: none;">
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script src="{{ asset('elite/bower_components/datatables/jquery.dataTables.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/dataTables.buttons.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.flash.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/jszip.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/pdfmake.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/vfs_fonts.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.html5.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.print.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.js') }}"></script>
|
||||
<script type="text/javascript">
|
||||
$('.table').DataTable({
|
||||
dom: 'Bfrtip',
|
||||
pageLength: 100,
|
||||
buttons: [
|
||||
'copy', 'csv', 'excel', 'pdf', 'print'
|
||||
]
|
||||
});
|
||||
|
||||
$('#edit_stock').click(function(e){
|
||||
e.preventDefault();
|
||||
$('.hidden_input,#save_stock').show();
|
||||
$('.shown_input').hide();
|
||||
$(this).hide();
|
||||
});
|
||||
|
||||
$('.expiry_date_input').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'yyyy-mm-dd',
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
Executable
+1004
File diff suppressed because it is too large
Load Diff
+428
@@ -0,0 +1,428 @@
|
||||
@extends('layouts.main')
|
||||
@push('styles')
|
||||
<link href="{{ asset('/elite/bower_components/datatables/jquery.dataTables.min.css') }}" rel="stylesheet"
|
||||
type="text/css" />
|
||||
<link href="{{ asset('elite/tables/css/buttons.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('elite/plugins/bower_components/select2/select2.min.css') }}" rel="stylesheet" />
|
||||
<link href="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.css') }}" rel="stylesheet"
|
||||
type="text/css" />
|
||||
@endpush
|
||||
@section('content')
|
||||
<div class="row bg-title">
|
||||
<div class="col-lg-6 col-md-7 col-sm-7 col-xs-12">
|
||||
<h4 class="page-title">{{ __('ward_consumption.items_consumption_report') }}</h4>
|
||||
</div>
|
||||
<div class="col-lg-6 col-sm-5 col-md-5 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('stores.index') }}">{{ __('ward_consumption.stores_home') }}</a></li>
|
||||
<li class="active">{{ __('ward_consumption.items_consumption_report') }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
@include('flash::message')
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{{ Form::open(['route' => 'wards_consumption.ward_consumption_report', 'data-toggle' => 'validator']) }}
|
||||
<div class="white-box">
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
{{ Form::label('report_by', __('ward_consumption.report_by')) }}
|
||||
{{ Form::select('report_by', ['' => '--Select--', 1 => 'Drugs Consumption Per Unit', 2 => 'Drug', 3 => 'Sundry', 4 => 'Sundries Consumption Per Unit', 5 => 'General Items', 6 => 'General Items Consumption Per Unit'], '', ['class' => 'form-control', 'id' => 'report_by', 'required']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<div id="wards_div" style="display: none;">
|
||||
<div class="form-group">
|
||||
{{ Form::label('ward_id', __('ward_consumption.unit')) }}
|
||||
{{ Form::select('ward_id', $wards, '', ['class' => 'form-control col-sm-12', 'id' => 'wards_select']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="drugs_div" style="display: none;">
|
||||
<div class="form-group">
|
||||
{{ Form::label('drug_id', __('ward_consumption.drug')) }}
|
||||
{{ Form::select('drug_id', $drugs, '', ['class' => 'form-control col-sm-12', 'id' => 'drugs_select']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="sundries_div" style="display: none;">
|
||||
<div class="form-group">
|
||||
{{ Form::label('sundry_id', 'Sundries') }}
|
||||
{{ Form::select('sundry_id', $sundries, '', ['class' => 'form-control col-sm-12', 'id' => 'sundries_select']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="general_items_div" style="display: none;">
|
||||
<div class="form-group">
|
||||
{{ Form::label('general_items_id', 'General items') }}
|
||||
{{ Form::select('general_items_id', $general_items, '', ['class' => 'form-control col-sm-12', 'id' => 'general_items_select']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="form-group" id="searchby">
|
||||
{{ Form::label('search_by', __('ward_consumption.date')) }}
|
||||
{{ Form::select('search_by', ['0' => __('ward_consumption.last_24_hours'), '1' => __('ward_consumption.custom_date'), '2' => __('ward_consumption.custom_range')], '', ['class' => 'form-control', 'id' => 'search_by', 'required']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3" style="display: none;" id="date_search">
|
||||
<div class="form-group" id="reg_date" style="padding-top: 23px;">
|
||||
<div class="input-group">
|
||||
{{ Form::text('reg_date', '', ['class' => 'form-control compulsory', 'required', 'readonly', 'id' => 'datepicker-autoclose']) }}
|
||||
<span class="input-group-addon"><i class="icon-calender"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3" style="display: none;" id="date_range_search">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
{{ Form::label('start_date', __('ward_consumption.from')) }}
|
||||
<div class="input-group">
|
||||
{{ Form::text('start_date', '', ['class' => 'form-control compulsory', 'readonly', 'id' => 'datepicker-autoclose-1']) }}
|
||||
<span class="input-group-addon"><i class="icon-calender"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group" id="reg_date">
|
||||
{{ Form::label('end_date', __('ward_consumption.to')) }}
|
||||
<div class="input-group">
|
||||
{{ Form::text('end_date', '', ['class' => 'form-control compulsory', 'readonly', 'id' => 'datepicker-autoclose-2']) }}
|
||||
<span class="input-group-addon"><i class="icon-calender"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<br>
|
||||
{{ Form::button(__('ward_consumption.search'), ['type' => 'submit', 'class' => 'btn btn-success waves-effect waves-light m-r-10']) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ Form::close() }}
|
||||
</div>
|
||||
</div>
|
||||
@php
|
||||
$grand_total_requested = $grand_cost_value = $grand_total_issued = 0;
|
||||
@endphp
|
||||
<div class="white-box">
|
||||
<div class="table-responsive">
|
||||
<h3>{{ $display }}</h3>
|
||||
<hr>
|
||||
<table class="table color-bordered-table success-bordered-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 5%;">#</th>
|
||||
<th>{{ __('stores.quantity_requested') }}</th>
|
||||
<th>{{ __('stores.cost_value') }}</th>
|
||||
<th>{{ __('stores.quantity_issued') }}</th>
|
||||
<th>{{ __('stores.requested_by') }}</th>
|
||||
<th>{{ __('stores.issued_by') }}</th>
|
||||
<th>{{ __('stores.issued_on') }}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@php $counter = 1; @endphp
|
||||
@if(count($results) > 0)
|
||||
@foreach($results as $result)
|
||||
@php
|
||||
$requested_item_id_explode = explode(",", $result->drug_id);
|
||||
$item_id_explode = explode(",", $result->item_ids_issued_out);
|
||||
$quantity_explode = explode(",", $result->quantity_requested);
|
||||
$issued_out_explode = explode(",", $result->quantity_issued);
|
||||
$item_cost_value_explode = explode(",", $result->cost_value);
|
||||
@endphp
|
||||
@for($x = 0; $x < count($item_id_explode); $x++)
|
||||
@if($item_id_explode[$x] == $item_id)
|
||||
<tr>
|
||||
<td> {{ $counter }} </td>
|
||||
<td>{{ $quantity_explode[$x] ?? "" }}</td>
|
||||
<td>{{ ugandan_shillings($item_cost_value_explode[$x] ?? 0) }}</td>
|
||||
<td>{{ $issued_out_explode[$x] ?? "" }}</td>
|
||||
<td>{{ get_full_name($result->created_by, "id", "first_name", "last_name", "users") }}</td>
|
||||
<td>{{ get_full_name($result->issued_by, "id", "first_name", "last_name", "users") }}</td>
|
||||
<td>{{ streamline_date($result->issued_on) }}</td>
|
||||
<td>
|
||||
<form name="bill_form" action="{{ url('previous_issued_items_details') }}" method="post">
|
||||
{{ csrf_field() }}
|
||||
<input type="hidden" name="requisition_id" value="{{ $result->id }}"/>
|
||||
<input type="hidden" name="item_type" value="{{ $item_type }}">
|
||||
<button type="submit" name="add_bill_button" class="btn btn-sm btn-rounded btn-info">
|
||||
<i class="fa fa-info-circle"></i>
|
||||
<span style="margin-left: 10px;">{{ __('stores.details') }}</span>
|
||||
</button>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
@php
|
||||
$counter++;
|
||||
$grand_total_requested += (int)$quantity_explode[$x] ?? 0;
|
||||
$grand_total_issued += isset($issued_out_explode[$x]) ? (int)$issued_out_explode[$x] : 0;
|
||||
$grand_cost_value += isset($item_cost_value_explode[$x]) ? (int)$item_cost_value_explode[$x] : 0;
|
||||
@endphp
|
||||
@endif
|
||||
@endfor
|
||||
@endforeach
|
||||
@endif
|
||||
{{-- start wards calculations --}}
|
||||
@if(count($ward_results) > 0)
|
||||
@foreach($ward_results as $ward_result)
|
||||
@php
|
||||
$item_id_explode = explode(",", $ward_result->item_ids_issued_out);
|
||||
/* $quantity_explode = explode(",", $ward_result->item_quantities); */
|
||||
$issued_out_explode = explode(",", $ward_result->quantity_issued_out);
|
||||
/* $item_cost_value_explode = explode(",", $ward_result->cost_value); */
|
||||
$requested_item_ids = explode(",", $ward_result->item_ids);
|
||||
$requested_item_quantities = explode(",", $ward_result->item_quantities);
|
||||
$requested_item_unit_costs = explode(",", $ward_result->item_unit_cost);
|
||||
$item_ids = [];
|
||||
for ($i=0; $i < count($requested_item_ids) ; $i++) {
|
||||
if(!in_array($requested_item_ids[$i], $item_ids)) {$item_ids[] = $requested_item_ids[$i];}
|
||||
if (isset($item_requests[$requested_item_ids[$i]])) {
|
||||
$item_requests[$requested_item_ids[$i]] = (isset($requested_item_quantities[$i]) && is_numeric($requested_item_quantities[$i])) ? $requested_item_quantities[$i] : 0;
|
||||
$item_costs[$requested_item_ids[$i]] = (isset($requested_item_unit_costs[$i]) && is_numeric($requested_item_unit_costs[$i])) ? $requested_item_unit_costs[$i] : 0;
|
||||
} else {
|
||||
$item_requests[$requested_item_ids[$i]] = (isset($requested_item_quantities[$i]) && is_numeric($requested_item_quantities[$i])) ? $requested_item_quantities[$i] : 0;
|
||||
$item_costs[$requested_item_ids[$i]] = (isset($requested_item_unit_costs[$i]) && is_numeric($requested_item_unit_costs[$i])) ? $requested_item_unit_costs[$i] : 0;
|
||||
}
|
||||
}
|
||||
@endphp
|
||||
@for($x = 0; $x < count($item_id_explode); $x++)
|
||||
@if($item_id_explode[$x] == $item_id)
|
||||
<tr>
|
||||
<td> {{ $counter }} </td>
|
||||
<td>
|
||||
{{ $item_requests[$item_id] ?? 0 }}
|
||||
</td>
|
||||
<td>
|
||||
@php
|
||||
$grand_total_requested += $item_requests[$item_id] ?? 0;
|
||||
$cost_value = ($item_costs[$item_id] ?? 0) * ($item_requests[$item_id] ?? 0);
|
||||
$grand_cost_value += $cost_value;
|
||||
@endphp
|
||||
{{ ugandan_shillings($cost_value) }}
|
||||
</td>
|
||||
<td>{{ $issued_out_explode[$x] ?? "" }}</td>
|
||||
<td>{{ get_full_name($ward_result->created_by, "id", "first_name", "last_name", "users") }}</td>
|
||||
<td>{{ get_full_name($ward_result->dispensed_by, "id", "first_name", "last_name", "users") }}</td>
|
||||
<td>{{ streamline_date($ward_result->dispensation_date) }}</td>
|
||||
<td>
|
||||
<form name="bill_form" action="{{ url('previous_issued_items_details') }}" method="post">
|
||||
{{ csrf_field() }}
|
||||
<input type="hidden" name="requisition_id" value="{{ $ward_result->id }}"/>
|
||||
<input type="hidden" name="item_type" value="{{ $item_type }}">
|
||||
<button type="submit" name="add_bill_button" class="btn btn-sm btn-rounded btn-info">
|
||||
<i class="fa fa-info-circle"></i>
|
||||
<span style="margin-left: 10px;">{{ __('stores.details') }}</span>
|
||||
</button>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
@php
|
||||
$counter++;
|
||||
$grand_total_issued += (int)$issued_out_explode[$x] ?? 0;
|
||||
@endphp
|
||||
@endif
|
||||
@endfor
|
||||
@endforeach
|
||||
@endif
|
||||
{{-- end wards calculations --}}
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>{{ $grand_total_requested }}</td>
|
||||
<td>{{ ugandan_shillings($grand_cost_value)}}</td>
|
||||
<td>{{ $grand_total_issued }}</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@push('scripts')
|
||||
<script src="{{ asset('elite/plugins/bower_components/select2/select2.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/bower_components/datatables/jquery.dataTables.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/dataTables.buttons.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.flash.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/jszip.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/pdfmake.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/vfs_fonts.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.html5.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.print.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.colVis.min.js') }}"></script>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('.table').DataTable({
|
||||
dom: 'Bfrtip',
|
||||
pageLength: 100,
|
||||
footer: true,
|
||||
order:[],
|
||||
buttons: [
|
||||
'copy',
|
||||
{
|
||||
extend: 'csv',
|
||||
footer: true,
|
||||
message: '<?php echo __('ward_consumption.ward_consumption_report'); ?>'
|
||||
},
|
||||
{
|
||||
extend: 'excel',
|
||||
message: '<?php echo __('ward_consumption.ward_consumption_report'); ?>',
|
||||
footer: true,
|
||||
exportOptions: {
|
||||
columns: [0, 1, 2, 3, 4, 5, 6]
|
||||
},
|
||||
sheetName: '<?php echo __('ward_consumption.ward_consumption_report'); ?>'
|
||||
},
|
||||
{
|
||||
extend: 'pdf',
|
||||
message: '<?php echo __('ward_consumption.ward_consumption_report'); ?>',
|
||||
footer: true,
|
||||
orientation: 'landscape',
|
||||
pageSize: 'LETTER',
|
||||
exportOptions: {
|
||||
columns: [0, 1, 2, 3, 4, 5, 6]
|
||||
},
|
||||
customize: function(doc) {
|
||||
doc.defaultStyle.fontSize = 10;
|
||||
// doc.styles.tableHeader.alignment = 'left';
|
||||
}
|
||||
},
|
||||
{
|
||||
extend: 'print',
|
||||
message: '<?php echo __('ward_consumption.ward_consumption_report'); ?>',
|
||||
footer: true,
|
||||
exportOptions: {
|
||||
columns: [0, 1, 2, 3, 4, 5, 6]
|
||||
},
|
||||
customize: function(win) {
|
||||
$(win.document.body)
|
||||
.css('font-size', '10pt')
|
||||
.css('background', '#fff')
|
||||
.prepend(
|
||||
'<img src="<?php echo asset('uploads/logo/logo-sm.png'); ?>" style="position:absolute; top:0; right:0;" />'
|
||||
);
|
||||
$(win.document.body).find('table')
|
||||
.addClass('compact')
|
||||
.css('font-size', 'inherit');
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
$('#datepicker-autoclose,#datepicker-autoclose-1,#datepicker-autoclose-2').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'yyyy-mm-dd'
|
||||
});
|
||||
$('#search_by').change(function() {
|
||||
if ($(this).val() == 1) {
|
||||
$('#date_search').show();
|
||||
$('#date_range_search').hide();
|
||||
} else if ($(this).val() == 2) {
|
||||
$('#date_range_search').show();
|
||||
$('#date_search').hide();
|
||||
} else {
|
||||
$('#date_search,#date_range_search').hide();
|
||||
}
|
||||
});
|
||||
$('#start_date').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'yyyy/mm/dd',
|
||||
orientation: 'bottom'
|
||||
});
|
||||
$('#end_date').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'yyyy/mm/dd',
|
||||
orientation: 'bottom'
|
||||
});
|
||||
$('#report_by').change(function() {
|
||||
if ($(this).val() == 1) {
|
||||
$('#wards_div').show();
|
||||
$('#drugs_div').hide();
|
||||
$('#sundries_div').hide();
|
||||
$('#general_items_div').hide();
|
||||
//$('.select2-selection.select2-selection--single').css('height','calc(3.85rem)');
|
||||
$('.select2-selection.select2-selection--single').css('max-width', '100%');
|
||||
$('.select2-selection.select2-selection--single').css('padding', '7px 12px');
|
||||
} else if ($(this).val() == 2) {
|
||||
$('#drugs_div').show();
|
||||
$('#wards_div').hide();
|
||||
$('#sundries_div').hide();
|
||||
$('#general_items_div').hide();
|
||||
} else if ($(this).val() == 3) {
|
||||
$('#sundries_div').show();
|
||||
$('#wards_div').hide();
|
||||
$('#drugs_div').hide();
|
||||
$('#general_items_div').hide();
|
||||
} else if ($(this).val() == 4) {
|
||||
$('#wards_div').show();
|
||||
$('#drugs_div').hide();
|
||||
$('#sundries_div').hide();
|
||||
$('#general_items_div').hide();
|
||||
//$('.select2-selection.select2-selection--single').css('height','calc(3.85rem)');
|
||||
$('.select2-selection.select2-selection--single').css('max-width', '100%');
|
||||
$('.select2-selection.select2-selection--single').css('padding', '7px 12px');
|
||||
} else if ($(this).val() == 5) {
|
||||
$('#general_items_div').show();
|
||||
$('#wards_div').hide();
|
||||
$('#drugs_div').hide();
|
||||
$('#sundries_div').hide();
|
||||
//$('.select2-selection.select2-selection--single').css('height','calc(3.85rem)');
|
||||
$('.select2-selection.select2-selection--single').css('max-width', '100%');
|
||||
$('.select2-selection.select2-selection--single').css('padding', '7px 12px');
|
||||
} else if ($(this).val() == 6) {
|
||||
$('#wards_div').show();
|
||||
$('#general_items_div').hide();
|
||||
$('#drugs_div').hide();
|
||||
$('#sundries_div').hide();
|
||||
//$('.select2-selection.select2-selection--single').css('height','calc(3.85rem)');
|
||||
$('.select2-selection.select2-selection--single').css('max-width', '100%');
|
||||
$('.select2-selection.select2-selection--single').css('padding', '7px 12px');
|
||||
} else {
|
||||
$('#wards_div,#drugs_div,#sundries_div,#general_items_div').hide();
|
||||
}
|
||||
});
|
||||
/*
|
||||
.form-control {
|
||||
background-color: #fff;
|
||||
border: 1px solid #e4e7ea;
|
||||
border-radius: 0;
|
||||
box-shadow: none;
|
||||
color: #565656;
|
||||
height: 38px;
|
||||
max-width: 100%;
|
||||
padding: 7px 12px;
|
||||
transition: all 300ms linear 0s;
|
||||
}
|
||||
*/
|
||||
$('#drugs_select,#wards_select,#sundries_select,#general_items_select').select2({
|
||||
placeholder: "-- select --",
|
||||
width: "100%"
|
||||
});
|
||||
$('.select2-selection.select2-selection--single').css('height', 'calc(3.85rem)');
|
||||
$('.select2-selection.select2-selection--single').css('padding-top', '5px');
|
||||
//$('.select2-selection.select2-selection--single').css('border-left', '3px solid #F08080');/*add compulsory class*/
|
||||
$('.select2-selection.select2-selection--single.sec_d').css('border-left', '3px solid #aaa');
|
||||
$('.select2-selection__arrow').css('top', '3px');
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
+156
@@ -0,0 +1,156 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@push('styles')
|
||||
<link href="{{ asset('elite/bower_components/typeahead.js-master/dist/typehead-min.css') }}"
|
||||
rel="stylesheet">
|
||||
<link href="{{ asset('/elite/bower_components/datatables/jquery.dataTables.min.css') }}" rel="stylesheet"
|
||||
type="text/css"/>
|
||||
<link href="{{ asset('elite/tables/css/buttons.dataTables.min.css') }}" rel="stylesheet" type="text/css"/>
|
||||
<link href="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.css') }}"
|
||||
rel="stylesheet" type="text/css"/>
|
||||
@endpush
|
||||
|
||||
|
||||
@section('content')
|
||||
<div class="row bg-title">
|
||||
<div class="col-lg-3 col-md-4 col-sm-4 col-xs-12">
|
||||
<h5 class="page-title">Drug Consumption Details</h5>
|
||||
</div>
|
||||
<div class="col-lg-9 col-sm-8 col-md-8 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">Dashboard</a></li>
|
||||
<li><a href="{{ route('wards_consumption.index') }}">{{ __('stores.ward_consumption_report') }}</a></li>
|
||||
<li class="active">Drug Consumption Details</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<div class="white-box">
|
||||
@include('flash::message')
|
||||
<h3 class="heading" style="text-align: center; text-decoration: underline;">{{ ($name !== 'N/A')? $name:'Drug' }} Consumption Details</h3>
|
||||
|
||||
<div class="row">
|
||||
<div class="table-responsive">
|
||||
<table class="table color-bordered-table success-bordered-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>Patient Number</th>
|
||||
<th>Name</th>
|
||||
<th>Gender</th>
|
||||
<th>Age</th>
|
||||
<th>Diagnosis</th>
|
||||
<th>Quantity Given</th>
|
||||
<th>Date Given</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@php $counter = 0; @endphp
|
||||
@foreach($patients_results as $patient)
|
||||
@php $dob = new Carbon\Carbon($patient->date_of_birth); $other_diagnoses =[];@endphp
|
||||
<tr>
|
||||
<td>{{ ++$counter }}.</td>
|
||||
<td>{{ $patient->number }}</td>
|
||||
<td>{!! insurance_flag($patient->id) !!}</td>
|
||||
<td>{{ $patient->gender == 1 ? "Male" : "Female" }}</td>
|
||||
<td>{{ $dob->diffInYears(Carbon\Carbon::now()) }}yrs</td>
|
||||
<td>
|
||||
@php
|
||||
if(!empty($patient->primary_diagnosis)) echo '<b>Primary Diagnosis:</b> ' .get_name($patient->primary_diagnosis, 'id', 'name', 'diagnoses');
|
||||
if(!empty($patient->other_diagnoses)) {
|
||||
$diaganoses = unserialize($patient->other_diagnoses);
|
||||
foreach ($diaganoses as $key => $diagnosis) $other_diagnoses[] = get_name($diagnosis, 'id', 'name', 'diagnoses');
|
||||
echo '<br><b>Other Diagnoses:</b> ' . ucwords(implode(', ', $other_diagnoses));
|
||||
}
|
||||
|
||||
if(!empty($patient->right_eye_diagnosis)) {
|
||||
$diaganoses = explode(',', $patient->right_eye_diagnosis);
|
||||
foreach ($diaganoses as $key => $diagnosis) $right_eye_diagnoses[] = get_name($diagnosis, 'id', 'name', 'diagnoses');
|
||||
echo '<br><b>Right Eye Diagnoses:</b> ' . ucwords(implode(', ', $right_eye_diagnoses));
|
||||
}
|
||||
|
||||
if(!empty($patient->left_eye_diagnosis)) {
|
||||
$diaganoses = explode(',', $patient->left_eye_diagnosis);
|
||||
foreach ($diaganoses as $key => $diagnosis) $left_eye_diagnoses[] = get_name($diagnosis, 'id', 'name', 'diagnoses');
|
||||
echo '<br><b>Left Eye Diagnoses:</b> ' . ucwords(implode(', ', $left_eye_diagnoses));
|
||||
}
|
||||
@endphp
|
||||
</td>
|
||||
<td>{{ $patient->quantity_given }}</td>
|
||||
<td>{{ streamline_date($patient->date_given) }}</td>
|
||||
<td>
|
||||
@if (!empty($patient->episode_id))
|
||||
{{ Form::open(['route' => 'wards.route_patient_episode', 'target' => '_blank']) }}
|
||||
<input type="hidden" name="episode_id" value="{{ $patient->episode_id }}">
|
||||
@if(Auth::user()->can('view-inpatient-sheet'))
|
||||
<button type="submit" name="submit" class="btn btn-success btn-block"
|
||||
value="inpatient_sheet">{{ __('wards.inpatient_sheet') }}</button>
|
||||
@endif
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{{-- <strong>Total number of patients: <span id="total" style=" color:blue;">{{ count($patients_results) }}</span></strong> --}}
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<!-- Typehead Plugin JavaScript -->
|
||||
<script src="{{ asset('elite/bower_components/typeahead.js-master/dist/typeahead.bundle.min.js') }}"></script>
|
||||
|
||||
<!-- Data table javascript -->
|
||||
<script src="{{ asset('elite/bower_components/datatables/jquery.dataTables.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/dataTables.buttons.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.flash.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/jszip.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/pdfmake.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/vfs_fonts.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.html5.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.print.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.js') }}"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery('#datepicker-from, #datepicker-to').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'dd/mm/yyyy',
|
||||
});
|
||||
$('.table').DataTable({
|
||||
dom: 'Bfrtip',
|
||||
order: [],
|
||||
buttons: [{
|
||||
extend: 'copy',
|
||||
exportOptions: {
|
||||
columns: [0, 1, 2, 3, 4, 5]
|
||||
},
|
||||
title: 'Drug Consumption Details'
|
||||
},
|
||||
{
|
||||
extend: 'csv',
|
||||
exportOptions: {
|
||||
columns: [0, 1, 2, 3, 4, 5]
|
||||
},
|
||||
title: 'Drug Consumption Details'
|
||||
},
|
||||
{
|
||||
extend: 'pdf',
|
||||
exportOptions: {
|
||||
columns: [0, 1, 2, 3, 4, 5]
|
||||
},
|
||||
title: 'Drug Consumption Details'
|
||||
},
|
||||
{
|
||||
extend: 'print',
|
||||
exportOptions: {
|
||||
columns: [0, 1, 2, 3, 4, 5]
|
||||
},
|
||||
title: 'Drug Consumption Details'
|
||||
}
|
||||
]
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
+515
@@ -0,0 +1,515 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@push('styles')
|
||||
<link href="{{ asset('/elite/bower_components/datatables/jquery.dataTables.min.css') }}" rel="stylesheet"
|
||||
type="text/css" />
|
||||
<link href="{{ asset('elite/tables/css/buttons.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('elite/bower_components/select2/select2.min.css') }}" rel="stylesheet" />
|
||||
<link href="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.css') }}" rel="stylesheet"
|
||||
type="text/css" />
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div class="row bg-title">
|
||||
<div class="col-lg-6 col-md-7 col-sm-7 col-xs-12">
|
||||
<h4 class="page-title">{{ __('ward_consumption.items_consumption_report') }}</h4>
|
||||
</div>
|
||||
<div class="col-lg-6 col-sm-5 col-md-5 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('stores.index') }}">{{ __('ward_consumption.stores_home') }}</a></li>
|
||||
<li class="active">{{ __('ward_consumption.items_consumption_report') }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
@include('flash::message')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{{ Form::open(['route' => 'wards_consumption.ward_consumption_report', 'data-toggle' => 'validator']) }}
|
||||
<div class="white-box">
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
{{ Form::label('report_by', __('ward_consumption.report_by')) }}
|
||||
{{ Form::select('report_by', ['' => '--Select--', 1 => 'Drugs Consumption Per Unit', 2 => 'Drug', 3 => 'Sundry', 4 => 'Sundries Consumption Per Ward', 5 => 'General Items', 6 => 'General Items Consumption Per Ward'], '', ['class' => 'form-control', 'id' => 'report_by', 'required']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div id="wards_div" style="display: none;">
|
||||
<div class="form-group">
|
||||
{{ Form::label('ward_id', __('ward_consumption.unit')) }}
|
||||
{{ Form::select('ward_id', $wards, '', ['class' => 'form-control col-sm-12', 'id' => 'wards_select']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="drugs_div" style="display: none;">
|
||||
<div class="form-group">
|
||||
{{ Form::label('drug_id', __('ward_consumption.drug')) }}
|
||||
{{ Form::select('drug_id', $drugs, '', ['class' => 'form-control col-sm-12', 'id' => 'drugs_select']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="sundries_div" style="display: none;">
|
||||
<div class="form-group">
|
||||
{{ Form::label('sundry_id', 'Sundries') }}
|
||||
{{ Form::select('sundry_id', $sundries, '', ['class' => 'form-control col-sm-12', 'id' => 'sundries_select']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="general_items_div" style="display: none;">
|
||||
<div class="form-group">
|
||||
{{ Form::label('general_items_id', 'General items') }}
|
||||
{{ Form::select('general_items_id', $general_items, '', ['class' => 'form-control col-sm-12', 'id' => 'general_items_select']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="form-group" id="searchby">
|
||||
{{ Form::label('search_by', __('ward_consumption.date')) }}
|
||||
{{ Form::select('search_by', ['0' => __('ward_consumption.last_24_hours'), '1' => __('ward_consumption.custom_date'), '2' => __('ward_consumption.custom_range')], '', ['class' => 'form-control', 'id' => 'search_by', 'required']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3" style="display: none;" id="date_search">
|
||||
<div class="form-group" id="reg_date" style="padding-top: 23px;">
|
||||
<div class="input-group">
|
||||
{{ Form::text('reg_date', '', ['class' => 'form-control compulsory', 'required', 'readonly', 'id' => 'datepicker-autoclose']) }}
|
||||
<span class="input-group-addon"><i class="icon-calender"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3" style="display: none;" id="date_range_search">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
{{ Form::label('start_date', __('ward_consumption.from')) }}
|
||||
<div class="input-group">
|
||||
{{ Form::text('start_date', '', ['class' => 'form-control compulsory', 'readonly', 'id' => 'datepicker-autoclose-1']) }}
|
||||
<span class="input-group-addon"><i class="icon-calender"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group" id="reg_date">
|
||||
{{ Form::label('end_date', __('ward_consumption.to')) }}
|
||||
<div class="input-group">
|
||||
{{ Form::text('end_date', '', ['class' => 'form-control compulsory', 'readonly', 'id' => 'datepicker-autoclose-2']) }}
|
||||
<span class="input-group-addon"><i class="icon-calender"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<br>
|
||||
{{ Form::button(__('ward_consumption.search'), ['type' => 'submit', 'class' => 'btn btn-success waves-effect waves-light m-r-10']) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ Form::close() }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if ($search_complete)
|
||||
<div class="white-box">
|
||||
<h4 style="color: #0060BF; font-weight: bolder;">{!! $search_text !!}</h4>
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table color-bordered-table success-bordered-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>
|
||||
@if ($report_by == 1)
|
||||
Drug
|
||||
@elseif($report_by == 2 || $report_by == 3 || $report_by == 5)
|
||||
Unit
|
||||
@elseif($report_by == 4)
|
||||
Sundry
|
||||
@elseif($report_by == 6)
|
||||
General Items
|
||||
@endif
|
||||
</th>
|
||||
<th>Quantity requested</th>
|
||||
<th>Quantity issued</th>
|
||||
<th>Money value(Quantity Issued)</th>
|
||||
<th>Quantity dispensed to patients</th>
|
||||
<th>Money Value(Quantity Dispensed)</th>
|
||||
<th>Variance</th>
|
||||
{{-- <th></th> --}}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@php
|
||||
$issued_total_sum = 0;
|
||||
$dispensed_total_sum = 0;
|
||||
|
||||
if ($report_by == 2 || $report_by == 3 || $report_by == 5) {
|
||||
$item_ids = $array_of_wards_to_loop;
|
||||
}
|
||||
@endphp
|
||||
|
||||
@for ($i = 0; $i < count($item_ids); $i++)
|
||||
@php
|
||||
if($report_by == 1 || $report_by == 4){
|
||||
$item_patient_ids = !empty($patient_ids[$item_ids[$i]])? array_unique($patient_ids[$item_ids[$i]]):[];
|
||||
}
|
||||
@endphp
|
||||
<tr>
|
||||
<td>
|
||||
{{ $i + 1 }}
|
||||
</td>
|
||||
<td>
|
||||
@if ($report_by == 1)
|
||||
{{ get_name($item_ids[$i], 'id', 'name', 'drugs') }}
|
||||
@elseif ($report_by == 2 || $report_by == 5)
|
||||
{{ Form::hidden('item_id', $selected_drug_id) }}
|
||||
{{ Form::hidden('ward_id', $array_of_wards_to_loop[$i]) }}
|
||||
@elseif ($report_by == 3)
|
||||
{{ Form::hidden('item_id', $selected_sundry_id) }}
|
||||
{{ Form::hidden('ward_id', $array_of_wards_to_loop[$i]) }}
|
||||
@if ($array_of_wards_to_loop[$i] == "pharmacy")
|
||||
Pharmacy
|
||||
@else
|
||||
{{ get_name($array_of_wards_to_loop[$i], 'id', 'name', 'wards') }}
|
||||
@endif
|
||||
@elseif ($report_by == 4)
|
||||
{{ get_name($item_ids[$i], 'id', 'name', 'sundries') }}
|
||||
@elseif ($report_by == 6)
|
||||
{{ get_name($item_ids[$i], 'id', 'name', 'general_items') }}
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@php
|
||||
$item_requests_total = $item_requests[$item_ids[$i]] ?? 0;
|
||||
@endphp
|
||||
{{ Form::open(['method'=>'post','route' => 'wards_consumption.issued_items_drill_down', 'target' => "_blank", 'id' =>'drill_down']) }}
|
||||
|
||||
{{ Form::hidden('report_by', $report_by) }}
|
||||
{{ Form::hidden('start_date', $start_date) }}
|
||||
{{ Form::hidden('end_date', $end_date) }}
|
||||
{{ Form::hidden('wards',serialize($wards)) }}
|
||||
@if ($report_by == 1 || $report_by == 4)
|
||||
{{ Form::hidden('ward_id', $ward_id) }}
|
||||
{{ Form::hidden('item_id', $item_ids[$i]) }}
|
||||
@elseif ($report_by == 2 || $report_by == 3 || $report_by == 5)
|
||||
{{ Form::hidden('item_id', $selected_drug_id) }}
|
||||
{{ Form::hidden('ward_id', $array_of_wards_to_loop[$i]) }}
|
||||
@else
|
||||
{{ Form::hidden('ward_id', 0) }}
|
||||
@endif
|
||||
<button class="btn btn-link">{{ $item_requests_total }}</button>
|
||||
</td>
|
||||
<td>
|
||||
@php
|
||||
$item_issued_total = $item_consumption[$item_ids[$i]] ?? 0;
|
||||
@endphp
|
||||
</td>
|
||||
<td>
|
||||
@php
|
||||
if ($report_by == 1) {
|
||||
$cost_price = get_name($item_ids[$i], 'id', 'cost_price', 'drugs');
|
||||
} elseif ($report_by == 2) {
|
||||
$cost_price = get_name($selected_drug_id, 'id', 'cost_price', 'drugs');
|
||||
} elseif ($report_by == 3) {
|
||||
$cost_price = get_name($selected_sundry_id, 'id', 'cost_price', 'sundries');
|
||||
} elseif ($report_by == 4) {
|
||||
$cost_price = get_name($item_ids[$i], 'id', 'cost_price', 'sundries');
|
||||
} elseif ($report_by == 5) {
|
||||
$cost_price = get_name($selected_general_items_id, 'id', 'cost_price', 'general_items');
|
||||
} elseif ($report_by == 6) {
|
||||
$cost_price = get_name($item_ids[$i], 'id', 'cost_price', 'general_items');
|
||||
}
|
||||
|
||||
$cost_price = is_numeric($cost_price) ? $cost_price : 0;
|
||||
|
||||
$issued_money_value = $item_issued_total * $cost_price;
|
||||
$issued_total_sum += $issued_money_value;
|
||||
@endphp
|
||||
{{ ugandan_shillings($issued_money_value) }}
|
||||
</td>
|
||||
<td>
|
||||
@php
|
||||
$dispensations_to_patients_no = $patient_consumptions[$item_ids[$i]] ?? 0;
|
||||
@endphp
|
||||
@if (!empty($item_patient_ids))
|
||||
{{ Form::open(['method'=>'post','route' => 'wards_consumption.patient_drill_down', 'target' => "_blank", 'id' =>'drill_down']) }}
|
||||
{{ Form::hidden('item_id', $item_ids[$i]) }}
|
||||
{{ Form::hidden('report_by', $report_by) }}
|
||||
{{ Form::hidden('start_date', $start_date) }}
|
||||
{{ Form::hidden('end_date', $end_date) }}
|
||||
{{ Form::hidden('wards',serialize($wards)) }}
|
||||
|
||||
@if ($report_by == 1 || $report_by == 4)
|
||||
{{ Form::hidden('ward_id', $ward_id) }}
|
||||
@elseif ($report_by == 2 || $report_by == 3 || $report_by == 5)
|
||||
{{ Form::hidden('ward_id', $array_of_wards_to_loop[$i]) }}
|
||||
@else
|
||||
{{ Form::hidden('ward_id', 0) }}
|
||||
@endif
|
||||
|
||||
{{ Form::hidden('patient_ids', serialize($item_patient_ids)) }}
|
||||
<button class="btn btn-link">{{ $dispensations_to_patients_no }}</button>
|
||||
{{ Form::close() }}
|
||||
@else
|
||||
{{-- point to the diespensation report under pharmacy module --}}
|
||||
@if ($report_by == 2 || $report_by == 3 || $report_by == 5)
|
||||
@if ($array_of_wards_to_loop[$i] == "pharmacy")
|
||||
{{-- Pharmacy --}}
|
||||
@else
|
||||
{{-- {{ get_name($array_of_wards_to_loop[$i], 'id', 'name', 'wards') }} --}}
|
||||
@endif
|
||||
@endif
|
||||
@if ($report_by == 2)
|
||||
{{ Form::open(['method'=>'post','route' => 'pharmacy.pharmacy_dispensation_report_drugs', 'target' => "_blank", 'id' =>'drill_down']) }}
|
||||
|
||||
{{ Form::hidden('search_by', 2) }}
|
||||
{{ Form::hidden('drug_id', $selected_drug_id) }}
|
||||
{{ Form::hidden('start_date', \Carbon\Carbon::parse($start_date)->format('d/m/Y')) }}
|
||||
{{ Form::hidden('end_date', \Carbon\Carbon::parse($end_date)->format('d/m/Y')) }}
|
||||
{{-- {{ Form::hidden('wards',serialize($wards)) }} --}}
|
||||
<button class="btn btn-link">{{ $dispensations_to_patients_no }}</button>
|
||||
{{ Form::close() }}
|
||||
@elseif ($report_by == 3)
|
||||
{{ Form::open(['method'=>'post','route' => 'wards_consumption.patient_drill_down', 'target' => "_blank", 'id' =>'drill_down']) }}
|
||||
{{ Form::hidden('item_id', $selected_sundry_id) }}
|
||||
{{ Form::hidden('report_by', $report_by) }}
|
||||
{{ Form::hidden('start_date', $start_date) }}
|
||||
{{ Form::hidden('end_date', $end_date) }}
|
||||
{{ Form::hidden('wards',serialize($wards)) }}
|
||||
{{ Form::hidden('ward_id', $array_of_wards_to_loop[$i]) }}
|
||||
<button class="btn btn-link">{{ $dispensations_to_patients_no }}</button>
|
||||
{{ Form::close() }}
|
||||
@else
|
||||
{{ $dispensations_to_patients_no }}
|
||||
@endif
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@php
|
||||
$dispensed_money_value = $dispensations_to_patients_no * $cost_price;
|
||||
$dispensed_total_sum += $dispensed_money_value;
|
||||
@endphp
|
||||
{{ ugandan_shillings($dispensed_money_value) }}
|
||||
</td>
|
||||
<td>
|
||||
{{ $item_issued_total - $dispensations_to_patients_no }}
|
||||
</td>
|
||||
{{-- <td></td> --}}
|
||||
</tr>
|
||||
@endfor
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td>Total</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td>{{ ugandan_shillings($issued_total_sum) }}</td>
|
||||
<td></td>
|
||||
<td>{{ ugandan_shillings($dispensed_total_sum) }}</td>
|
||||
<td></td>
|
||||
{{-- <td></td> --}}
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@endsection
|
||||
@push('scripts')
|
||||
<script src="{{ asset('elite/bower_components/select2/select2.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/bower_components/datatables/jquery.dataTables.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/dataTables.buttons.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.flash.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/jszip.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/pdfmake.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/vfs_fonts.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.html5.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.print.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.colVis.min.js') }}"></script>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('.table').DataTable({
|
||||
dom: 'Bfrtip',
|
||||
pageLength: 100,
|
||||
footer: true,
|
||||
order:[],
|
||||
buttons: [
|
||||
'copy',
|
||||
{
|
||||
extend: 'csv',
|
||||
footer: true,
|
||||
message: '<?php echo __('ward_consumption.ward_consumption_report'); ?>'
|
||||
},
|
||||
{
|
||||
extend: 'excel',
|
||||
message: '<?php echo __('ward_consumption.ward_consumption_report'); ?>',
|
||||
footer: true,
|
||||
exportOptions: {
|
||||
columns: [0, 1, 2, 3, 4, 5, 6]
|
||||
},
|
||||
sheetName: '<?php echo __('ward_consumption.ward_consumption_report'); ?>'
|
||||
},
|
||||
{
|
||||
extend: 'pdf',
|
||||
message: '<?php echo __('ward_consumption.ward_consumption_report'); ?>',
|
||||
footer: true,
|
||||
orientation: 'landscape',
|
||||
pageSize: 'LETTER',
|
||||
exportOptions: {
|
||||
columns: [0, 1, 2, 3, 4, 5, 6]
|
||||
},
|
||||
customize: function(doc) {
|
||||
doc.defaultStyle.fontSize = 10;
|
||||
// doc.styles.tableHeader.alignment = 'left';
|
||||
}
|
||||
},
|
||||
{
|
||||
extend: 'print',
|
||||
message: '<?php echo __('ward_consumption.ward_consumption_report'); ?>',
|
||||
footer: true,
|
||||
exportOptions: {
|
||||
columns: [0, 1, 2, 3, 4, 5, 6]
|
||||
},
|
||||
customize: function(win) {
|
||||
$(win.document.body)
|
||||
.css('font-size', '10pt')
|
||||
.css('background', '#fff')
|
||||
.prepend(
|
||||
'<img src="<?php echo asset('uploads/logo/logo-sm.png'); ?>" style="position:absolute; top:0; right:0;" />'
|
||||
);
|
||||
$(win.document.body).find('table')
|
||||
.addClass('compact')
|
||||
.css('font-size', 'inherit');
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
$('#datepicker-autoclose,#datepicker-autoclose-1,#datepicker-autoclose-2').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'yyyy-mm-dd'
|
||||
});
|
||||
|
||||
$('#search_by').change(function() {
|
||||
if ($(this).val() == 1) {
|
||||
$('#date_search').show();
|
||||
$('#date_range_search').hide();
|
||||
} else if ($(this).val() == 2) {
|
||||
$('#date_range_search').show();
|
||||
$('#date_search').hide();
|
||||
} else {
|
||||
$('#date_search,#date_range_search').hide();
|
||||
}
|
||||
});
|
||||
|
||||
$('#start_date').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'yyyy/mm/dd',
|
||||
orientation: 'bottom'
|
||||
});
|
||||
|
||||
$('#end_date').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'yyyy/mm/dd',
|
||||
orientation: 'bottom'
|
||||
});
|
||||
|
||||
$('#report_by').change(function() {
|
||||
if ($(this).val() == 1) {
|
||||
$('#wards_div').show();
|
||||
$('#drugs_div').hide();
|
||||
$('#sundries_div').hide();
|
||||
$('#general_items_div').hide();
|
||||
//$('.select2-selection.select2-selection--single').css('height','calc(3.85rem)');
|
||||
$('.select2-selection.select2-selection--single').css('max-width', '100%');
|
||||
$('.select2-selection.select2-selection--single').css('padding', '7px 12px');
|
||||
} else if ($(this).val() == 2) {
|
||||
$('#drugs_div').show();
|
||||
$('#wards_div').hide();
|
||||
$('#sundries_div').hide();
|
||||
$('#general_items_div').hide();
|
||||
} else if ($(this).val() == 3) {
|
||||
$('#sundries_div').show();
|
||||
$('#wards_div').hide();
|
||||
$('#drugs_div').hide();
|
||||
$('#general_items_div').hide();
|
||||
} else if ($(this).val() == 4) {
|
||||
$('#wards_div').show();
|
||||
$('#drugs_div').hide();
|
||||
$('#sundries_div').hide();
|
||||
$('#general_items_div').hide();
|
||||
//$('.select2-selection.select2-selection--single').css('height','calc(3.85rem)');
|
||||
$('.select2-selection.select2-selection--single').css('max-width', '100%');
|
||||
$('.select2-selection.select2-selection--single').css('padding', '7px 12px');
|
||||
} else if ($(this).val() == 5) {
|
||||
$('#general_items_div').show();
|
||||
$('#wards_div').hide();
|
||||
$('#drugs_div').hide();
|
||||
$('#sundries_div').hide();
|
||||
//$('.select2-selection.select2-selection--single').css('height','calc(3.85rem)');
|
||||
$('.select2-selection.select2-selection--single').css('max-width', '100%');
|
||||
$('.select2-selection.select2-selection--single').css('padding', '7px 12px');
|
||||
} else if ($(this).val() == 6) {
|
||||
$('#wards_div').show();
|
||||
$('#general_items_div').hide();
|
||||
$('#drugs_div').hide();
|
||||
$('#sundries_div').hide();
|
||||
//$('.select2-selection.select2-selection--single').css('height','calc(3.85rem)');
|
||||
$('.select2-selection.select2-selection--single').css('max-width', '100%');
|
||||
$('.select2-selection.select2-selection--single').css('padding', '7px 12px');
|
||||
} else {
|
||||
$('#wards_div,#drugs_div,#sundries_div,#general_items_div').hide();
|
||||
}
|
||||
});
|
||||
|
||||
/*
|
||||
.form-control {
|
||||
background-color: #fff;
|
||||
border: 1px solid #e4e7ea;
|
||||
border-radius: 0;
|
||||
box-shadow: none;
|
||||
color: #565656;
|
||||
height: 38px;
|
||||
max-width: 100%;
|
||||
padding: 7px 12px;
|
||||
transition: all 300ms linear 0s;
|
||||
}
|
||||
*/
|
||||
|
||||
$('#drugs_select,#wards_select,#sundries_select,#general_items_select').select2({
|
||||
placeholder: "-- select --",
|
||||
width: "100%"
|
||||
});
|
||||
|
||||
$('.select2-selection.select2-selection--single').css('height', 'calc(3.85rem)');
|
||||
$('.select2-selection.select2-selection--single').css('padding-top', '5px');
|
||||
//$('.select2-selection.select2-selection--single').css('border-left', '3px solid #F08080');/*add compulsory class*/
|
||||
$('.select2-selection.select2-selection--single.sec_d').css('border-left', '3px solid #aaa');
|
||||
$('.select2-selection__arrow').css('top', '3px');
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
+283
@@ -0,0 +1,283 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@push('styles')
|
||||
<link href="{{ asset('elite/bower_components/select2/select2.min.css') }}" rel="stylesheet" />
|
||||
<link href="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('/elite/bower_components/datatables/jquery.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div class="row bg-title">
|
||||
<div class="col-lg-6 col-md-7 col-sm-7 col-xs-12">
|
||||
<h4 class="page-title">{{ __('ward_consumption.wards_consumption_details') }}</h4>
|
||||
</div>
|
||||
<div class="col-lg-6 col-sm-5 col-md-5 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('stores.index') }}">{{ __('ward_consumption.stores_home') }}</a></li>
|
||||
<li><a href="{{ route('wards_consumption.index') }}">{{ __('ward_consumption.wards_consumption_report') }}</a></li>
|
||||
<li class="active">{{ __('ward_consumption.wards_consumption_details') }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
@include('flash::message')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="white-box">
|
||||
@if($report_by == 3)
|
||||
<h4 style="color: #0060BF; font-weight: bolder;">Details for <b>{{ get_name($ward_id, "id", "name", "wards") }}</b> from <b>{{ streamline_date($start_date) }}</b> to <b>{{ streamline_date($end_date) }}</b></h4>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered color-bordered-table success-bordered-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Name</th>
|
||||
<th>Quantity</th>
|
||||
<th>Monetary Value</th>
|
||||
<th>Issued on</th>
|
||||
<th>Received by</th>
|
||||
<th>Dispensed By</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@php
|
||||
$sundries_ids_array = [];
|
||||
$counter = 1;
|
||||
$total_qty = 0;
|
||||
$total_money = 0;
|
||||
@endphp
|
||||
|
||||
@foreach ($ward_item_request_records as $record)
|
||||
@php
|
||||
$record_sundries_ids_array = explode(",", $record->item_ids);
|
||||
$record_quantities_array = explode(",", $record->quantity_issued_out);
|
||||
@endphp
|
||||
|
||||
@if (in_array($sundry_id, $record_sundries_ids_array))
|
||||
@for ($i=0; $i < count($record_sundries_ids_array) ; $i++)
|
||||
@if ($record_sundries_ids_array[$i] == $sundry_id)
|
||||
@if($ward_id == $record->ward_id)
|
||||
<tr>
|
||||
<td>{{ $counter }}</td>
|
||||
<td>{{ get_name($sundry_id, "id", "name", "sundries")}}</td>
|
||||
<td>{{ $record_quantities_array[$i] }}</td>
|
||||
<td>
|
||||
@php
|
||||
$total_money += $record_quantities_array[$i] * get_name($sundry_id, "id", "cost_price", "sundries");
|
||||
@endphp
|
||||
{{ ugandan_shillings($record_quantities_array[$i] * get_name($sundry_id, "id", "cost_price", "sundries")) }}
|
||||
</td>
|
||||
<td>{{ streamline_date($record->dispensation_date) }}</td>
|
||||
<td>{{ get_full_name($record->received_by, "id", "first_name", "last_name", "users")}}</td>
|
||||
<td>{{ get_full_name($record->dispensed_by, "id", "first_name", "last_name", "users")}}</td>
|
||||
</tr>
|
||||
@php
|
||||
$total_qty += $record_quantities_array[$i];
|
||||
$counter++;
|
||||
@endphp
|
||||
@endif
|
||||
@endif
|
||||
@endfor
|
||||
@endif
|
||||
@endforeach
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td><strong>Total</strong></td>
|
||||
<td></td>
|
||||
<td><strong>{{ $total_qty }}</strong></td>
|
||||
<td><strong>{{ ugandan_shillings($total_money) }}</strong></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
@elseif($report_by == 4)
|
||||
<h4 style="color: #0060BF; font-weight: bolder;">Details for <b>{{ get_name($ward_id, "id", "name", "wards") }}</b> from <b>{{ streamline_date($start_date) }}</b> to <b>{{ streamline_date($end_date) }}</b></h4>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered color-bordered-table success-bordered-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Patient Number</th>
|
||||
<th>Patient Name</th>
|
||||
<th>Quantity Dispensed</th>
|
||||
<th>Dispensed By</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if(count($ward_sundry_dispensations) > 0)
|
||||
@php $counter = 1; $total_qty = 0; @endphp
|
||||
@foreach($ward_sundry_dispensations as $record)
|
||||
<tr>
|
||||
<td>{{ $counter }}</td>
|
||||
<td>{{ get_name($record->patient_id, "id", "number", "patients") }}</td>
|
||||
<td>
|
||||
{{ get_full_name($record->patient_id, "id", "first_name", "last_name", "patients") }}
|
||||
</td>
|
||||
<td>
|
||||
{{ $record->quantity_given }}
|
||||
@php
|
||||
$total_qty += is_numeric($record->quantity_given) ? $record->quantity_given : 0;
|
||||
@endphp
|
||||
</td>
|
||||
<td>
|
||||
{{ get_full_name($record->created_by, "id", "first_name","last_name", "users") }}
|
||||
</td>
|
||||
</tr>
|
||||
@php $counter++; @endphp
|
||||
@endforeach
|
||||
@endif
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><strong>Total</strong></td>
|
||||
<td></td>
|
||||
<td><strong>{{ $total_qty }}</strong></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
@else
|
||||
<h4 style="color: #0060BF; font-weight: bolder;">Details for <b>{{ get_name($ward_id, "id", "name", "wards") }}</b> from <b>{{ streamline_date($start_date) }}</b> to <b>{{ streamline_date($end_date) }}</b></h4>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered color-bordered-table success-bordered-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Patient Number</th>
|
||||
<th>Patient Name</th>
|
||||
<th>Quantity Dispensed</th>
|
||||
<th>Dispensed By</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if(count($ward_treatment_dispensations) > 0)
|
||||
@php $counter = 1; $total_qty = 0; @endphp
|
||||
@foreach($ward_treatment_dispensations as $record)
|
||||
<tr>
|
||||
<td>{{ $counter }}</td>
|
||||
<td>{{ get_name($record->patient_id, "id", "number", "patients") }}</td>
|
||||
<td>
|
||||
{{ get_full_name($record->patient_id, "id", "first_name", "last_name", "patients") }}
|
||||
</td>
|
||||
<td>
|
||||
{{ $record->quantity_given }}
|
||||
@php
|
||||
$total_qty += is_numeric($record->quantity_given) ? $record->quantity_given : 0;
|
||||
@endphp
|
||||
</td>
|
||||
<td>
|
||||
{{ get_full_name($record->created_by, "id", "first_name","last_name", "users") }}
|
||||
</td>
|
||||
</tr>
|
||||
@php $counter++; @endphp
|
||||
@endforeach
|
||||
@endif
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><strong>Total</strong></td>
|
||||
<td></td>
|
||||
<td><strong>{{ $total_qty }}</strong></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@push('scripts')
|
||||
<script src="{{ asset('elite/bower_components/select2/select2.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/bower_components/datatables/jquery.dataTables.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/dataTables.buttons.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.flash.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/jszip.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/pdfmake.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/vfs_fonts.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.html5.min.js') }}"></script>
|
||||
<script src="{{ asset('elite/tables/js/buttons.print.min.js') }}"></script>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('.table').DataTable({
|
||||
dom: 'Bfrtip',
|
||||
pageLength: 100,
|
||||
buttons: [
|
||||
]
|
||||
});
|
||||
|
||||
$('#datepicker-autoclose,#datepicker-autoclose-1,#datepicker-autoclose-2').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'yyyy-mm-dd'
|
||||
});
|
||||
|
||||
$('#search_by').change(function () {
|
||||
if ($(this).val() == 1) {
|
||||
$('#date_search').show();
|
||||
$('#date_range_search').hide();
|
||||
}
|
||||
else if ($(this).val() == 2) {
|
||||
$('#date_range_search').show();
|
||||
$('#date_search').hide();
|
||||
}
|
||||
else {
|
||||
$('#date_search,#date_range_search').hide();
|
||||
}
|
||||
});
|
||||
|
||||
$('#start_date').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'yyyy/mm/dd',
|
||||
orientation: 'bottom'
|
||||
});
|
||||
|
||||
$('#end_date').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'yyyy/mm/dd',
|
||||
orientation: 'bottom'
|
||||
});
|
||||
|
||||
$('#report_by').change(function () {
|
||||
if ($(this).val() == 1) {
|
||||
$('#wards_div').show();
|
||||
$('#drugs_div').hide();
|
||||
}
|
||||
else if ($(this).val() == 2) {
|
||||
$('#drugs_div').show();
|
||||
$('#wards_div').hide();
|
||||
}
|
||||
else {
|
||||
$('#wards_div,#drugs_div').hide();
|
||||
}
|
||||
});
|
||||
|
||||
$('#drugs_select,#wards_select').select2({
|
||||
placeholder: "-- select --"
|
||||
});
|
||||
|
||||
$('.select2-selection.select2-selection--single').css('height','calc(3.85rem)');
|
||||
$('.select2-selection.select2-selection--single').css('padding-top','5px');
|
||||
//$('.select2-selection.select2-selection--single').css('border-left', '3px solid #F08080');/*add compulsory class*/
|
||||
$('.select2-selection.select2-selection--single.sec_d').css('border-left', '3px solid #aaa');
|
||||
$('.select2-selection__arrow').css('top','3px');
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| API Routes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here is where you can register API routes for your application. These
|
||||
| routes are loaded by the RouteServiceProvider within a group which
|
||||
| is assigned the "api" middleware group. Enjoy building your API!
|
||||
|
|
||||
*/
|
||||
|
||||
Route::middleware('auth:api')->get('/ward_management', function () {
|
||||
return "Ward Management";
|
||||
});
|
||||
@@ -0,0 +1,122 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
Route::group(['middleware' => ['auth', 'disablebackbutton', 'subscription-tracking','user-locale','password-expiry']], function () {
|
||||
// HMIS Wards
|
||||
Route::get('hmis_wards/inactive', 'HmisWardController@inactive')->name('hmis_wards.inactive');
|
||||
Route::post('hmis_wards/activate{id}', 'HmisWardController@activate')->name('hmis_wards.activate');
|
||||
Route::resource('hmis_wards', 'HmisWardController');
|
||||
|
||||
// incoming patient bills
|
||||
Route::any('incoming_inpatient_bills', 'InpatientBillsController@incoming_inpatient_bills')->name('inpatient_bills.incoming');
|
||||
Route::get('selected_bill', 'InpatientBillsController@selected_incoming_bill');
|
||||
|
||||
// in patient sheet
|
||||
Route::resource('in_patient', 'InpatientController');
|
||||
Route::any('in_patient_sheet', 'InpatientController@in_patient_sheet');
|
||||
Route::any('inpatient_billing', 'InpatientController@inpatient_billing')->name('inpatient_billing');
|
||||
Route::any('internal_ward_transfers', 'InpatientController@store_internal_ward_transfers')->name('internal_transfer');
|
||||
Route::any('store_inpatient_bill', 'InpatientController@store_inpatient_bill')->name('store_inpatient_bill');
|
||||
Route::any('edit_inpatient_sheet', 'InpatientController@edit_inpatient_sheet')->name('edit_inpatient_sheet');
|
||||
Route::any('/inpatient/check_for_open_admissions/{patient_id}', 'InpatientController@check_for_open_admissions');
|
||||
Route::any('/inpatient/discharge_patient_past_admissions/{patient_id}', 'InpatientController@discharge_patient_past_admissions');
|
||||
|
||||
// In-Patient Bill
|
||||
Route::any('in_patient_bill_print/{patient_id}/{episode_id}/{price_list_set}', 'InpatientController@in_patient_bill_print');
|
||||
|
||||
/* inpatient prints */
|
||||
Route::any('inpatient_sundries_print/{patient_id}/{episode_id}', 'InpatientController@inpatient_sundries_print');
|
||||
Route::any('inpatient_treatment_print/{patient_id}/{episode_id}', 'InpatientController@inpatient_treatment_print');
|
||||
Route::any('inpatient_extras_print/{patient_id}/{episode_id}', 'InpatientController@inpatient_extras_print');
|
||||
Route::any('inpatient_consultation_and_services_print/{patient_id}/{episode_id}', 'InpatientController@inpatient_consultation_and_services_print');
|
||||
Route::any('inpatient_procedures_print/{patient_id}/{episode_id}', 'InpatientController@inpatient_procedures_print');
|
||||
Route::any('inpatient_notes_print/{patient_id}/{episode_id}', 'InpatientController@inpatient_notes_print');
|
||||
Route::any('inpatient_investigations_print/{patient_id}/{episode_id}', 'InpatientController@inpatient_investigations_print');
|
||||
Route::any('discharge_summary_print', 'InpatientController@discharge_summary_print')->name('inpatient.discharge_summary_print');
|
||||
Route::any('inpatient_bill_summary_print/{patient_id}/{episode_id}/{price_list_set}', 'InpatientController@inpatient_bill_summary_print');
|
||||
Route::any('referral_notes_print', 'InpatientController@referral_notes_print')->name('inpatient.referral_notes_print');
|
||||
|
||||
/* get hospital fees for procedures on inpatient */
|
||||
Route::get('get_procedure_hospital_fees/{procedure_id}/{patient_id}', 'InpatientController@get_procedure_hospital_fees');
|
||||
/* get services fees on inpatient*/
|
||||
Route::get('get_inpatient_services_fees', 'InpatientController@get_inpatient_services_fees');
|
||||
|
||||
/* get bed rate */
|
||||
Route::any('get_ward_bed_rate', 'InpatientController@get_ward_bed_rate');
|
||||
|
||||
Route::any('receive_inpatient_payment', 'InpatientController@receive_inpatient_payment');
|
||||
Route::any('cancel_ward_prescription/{ward_prescription_id}', 'InpatientController@cancel_ward_prescription');
|
||||
Route::any('inpatient_attendant_pass', 'InpatientController@inpatient_attendant_pass')->name('inpatient.inpatient_attendant_pass');
|
||||
Route::any('store_inpatient_attendant_pass', 'InpatientController@store_inpatient_attendant_pass')->name('store_inpatient_attendant_pass');
|
||||
Route::any('print_inpatient_attendant_pass', 'InpatientController@print_inpatient_attendant_pass')->name('print_inpatient_attendant_pass');
|
||||
Route::get('delete_doctor_notes/{id}', 'InpatientController@delete_doctor_notes');
|
||||
Route::get('delete_nurse_notes/{id}', 'InpatientController@delete_nurse_notes');
|
||||
Route::any('re_calculate_inpatient_bill', 'InpatientController@re_calculate_inpatient_bill');
|
||||
|
||||
Route::get('delete_inpatient_detailed_notes/{id}', 'InpatientController@delete_inpatient_detailed_notes');
|
||||
Route::post('/inpatient_sheet/patient_notes/update_inpatient_notes', 'InpatientController@update_inpatient_notes');
|
||||
Route::post('/inpatient_sheet/doctors_notes/update_doctor_ward_notes', 'InpatientController@update_doctor_ward_notes');
|
||||
Route::post('/inpatient_sheet/nurse_notes/update_nurse_ward_notes', 'InpatientController@update_nurse_ward_notes');
|
||||
|
||||
|
||||
|
||||
|
||||
Route::any('inpatient_detailed_notes_print', 'InpatientController@inpatient_detailed_notes_print');
|
||||
|
||||
/* Ward Routes */
|
||||
Route::get('/wards', 'WardController@ndex')->name('wards.index');
|
||||
Route::get('/wards/inactive', 'WardController@inactive')->name('wards.inactive');
|
||||
Route::post('/wards/activate{id}', 'WardController@activate')->name('wards.activate');
|
||||
Route::any('/wards/select', 'WardController@select')->name('wards.select');
|
||||
Route::any('/wards/route_patient_episode', 'WardController@route_patient_episode')->name('wards.route_patient_episode');
|
||||
|
||||
/* submit inpatient bed_category, bed_number, ward_message send via ajax */
|
||||
Route::post('submit_bed_category', 'WardController@submit_bed_category');
|
||||
Route::post('submit_bed_number', 'WardController@submit_bed_number');
|
||||
Route::post('submit_ward_message', 'WardController@submit_ward_message');
|
||||
|
||||
/* ward stock sheets */
|
||||
Route::any('ward_drugs_stock_sheet', 'WardController@drugs_stock_sheet');
|
||||
Route::any('update_ward_drugs_stock_sheet', 'WardController@update_drugs_stock_sheet')->name('wards.update_drugs_stock_sheet');
|
||||
Route::any('ward_sundries_stock_sheet', 'WardController@sundries_stock_sheet');
|
||||
Route::any('update_ward_sundries_stock_sheet', 'WardController@update_sundries_stock_sheet')->name('wards.update_sundries_stock_sheet');
|
||||
Route::any('ward_home', 'WardController@home')->name('wards.home');
|
||||
|
||||
Route::resource('wards', 'WardController');
|
||||
|
||||
/* ward item requests */
|
||||
Route::resource('ward_item_request', 'WardItemRequestController');
|
||||
Route::any('incoming_ward_requests', 'WardItemRequestController@incoming_ward_requests')->name('ward_item_request.incoming_ward_requests');
|
||||
Route::any('ward_item_requests', 'WardItemRequestController@ward_item_requests')->name('ward_item_request.ward_item_requests');
|
||||
Route::any('store_ward_item_requests', 'WardItemRequestController@store_ward_item_requests')->name('ward_item_request.store_ward_item_requests');
|
||||
Route::any('ward_item_request_details', 'WardItemRequestController@ward_item_request_details')->name('ward_item_request.ward_item_request_details');
|
||||
Route::any('store_ward_item_request_details', 'WardItemRequestController@store_ward_item_request_details_action')->name('ward_item_request.store_ward_item_request_details');
|
||||
Route::any('print_ward_item_request_details/{id}', 'WardItemRequestController@print_ward_item_request_details')->name('ward_item_request.print_ward_item_request_details');
|
||||
Route::any('print_ward_item_request_details_pdf/{id}', 'WardItemRequestController@print_ward_item_request_details_pdf')->name('ward_item_request.print_ward_item_request_details_pdf');
|
||||
Route::any('show_ward_item_request_details', 'WardItemRequestController@show_ward_item_request_details_action')->name('ward_item_request.show_ward_item_request_details');
|
||||
Route::any('ward_item_request_edit', 'WardItemRequestController@ward_item_request_edit')->name('ward_item_request.edit');
|
||||
Route::any('edit_ward_item_request_search', 'WardItemRequestController@edit_ward_item_request_search')->name('ward_item_request.edit_ward_item_request_search');
|
||||
Route::any('update_ward_item_requests', 'WardItemRequestController@update_ward_item_requests')->name('ward_item_request.update_ward_item_requests');
|
||||
Route::any('ward_item_request_delete', 'WardItemRequestController@ward_item_request_delete')->name('ward_item_request.delete');
|
||||
|
||||
// ward consumption
|
||||
Route::any('ward_consumption_report', 'WardsConsumptionController@ward_consumption_report')->name('wards_consumption.ward_consumption_report');
|
||||
Route::post('ward_consumption_report/patient_drill_down', 'WardsConsumptionController@patient_drill_down')->name('wards_consumption.patient_drill_down');
|
||||
Route::resource('wards_consumption', 'WardsConsumptionController');
|
||||
Route::any('wards_consumption_details', 'WardsConsumptionController@wards_consumption_details')->name('wards_consumption.wards_consumption_details');
|
||||
|
||||
Route::any('save_patient_vitals', 'InpatientController@save_patient_vitals')->name('inpatient.save_patient_vitals');
|
||||
|
||||
Route::any('treatment_sheet/save', 'TreatmentSheetController@saveTreatmentSheet')->name('treatment_sheet.save');
|
||||
Route::any('treatment_sheet/print/{episode_id}', 'TreatmentSheetController@printTreatmentSheet')->name('treatment_sheet.print');
|
||||
Route::any('treatment_sheet/view', 'TreatmentSheetController@viewTreatmentSheet')->name('treatment_sheet.view');
|
||||
Route::any('treatment_sheet/redirect_back', 'TreatmentSheetController@redirectBack')->name('treatment_sheet.redirect_back');
|
||||
|
||||
Route::any('/open_inpatient_bill/{id}', 'InpatientController@open_inpatient_bill');
|
||||
Route::any('/stop_ward_drug', 'InpatientController@stop_ward_drug');
|
||||
Route::any('/resume_ward_drug', 'InpatientController@resume_ward_drug');
|
||||
|
||||
Route::post('ward_consumption_report/issued_items_drill_down', 'WardsConsumptionController@issued_items_drill_down')->name('wards_consumption.issued_items_drill_down');
|
||||
Route::post('ward_consumption_report/unit_drill_down', 'WardsConsumptionController@unit_drill_down')->name('wards_consumption.unit_drill_down');
|
||||
});
|
||||
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\WardManagement\Services;
|
||||
|
||||
class TreatmentSheetService
|
||||
{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "WardManagement",
|
||||
"alias": "ward_management",
|
||||
"description": "Manage patient ward stay including prescribing drugs and managing ward listing",
|
||||
"keywords": [],
|
||||
"priority": 0,
|
||||
"providers": [
|
||||
"Modules\\WardManagement\\Providers\\WardManagementServiceProvider"
|
||||
],
|
||||
"files": []
|
||||
}
|
||||
Reference in New Issue
Block a user