mirror of
https://gitlab.com/signalytic/client-external/streamline/streamline-emr.git
synced 2026-09-12 19:21:33 +00:00
updated streamline-setup v2
This commit is contained in:
@@ -119,7 +119,7 @@
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
{{ Form::label('next_of_kin_phone',__('patients.next_of_kin_phone')) }}
|
||||
{{ Form::text('next_of_kin_phone','',['class' => 'form-control compulsory', 'required']) }}
|
||||
{{ Form::text('next_of_kin_phone','',['class' => 'form-control compulsory', 'required','pattern' => '\d{10}', 'title'=>'Phone number must be exactly 10 digits']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -127,7 +127,7 @@
|
||||
|
||||
<div class="form-group">
|
||||
{{ Form::label('phone',__('patients.phone')) }}
|
||||
{{ Form::text('phone','',['class' => 'form-control compulsory','id' => 'phone', 'required' ]) }}
|
||||
{{ Form::text('phone','',['class' => 'form-control compulsory','id' => 'phone', 'required','pattern' => '\d{10}', 'title'=>'Phone number must be exactly 10 digits' ]) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
|
||||
@@ -135,7 +135,7 @@
|
||||
|
||||
<div class="form-group">
|
||||
{{ Form::label('alternative_phone', 'Alternative Phone Number') }}
|
||||
{{ Form::text('alternative_phone','',['class' => 'form-control','id' => 'alternative_phone']) }}
|
||||
{{ Form::text('alternative_phone','',['class' => 'form-control','id' => 'alternative_phone','pattern' => '\d{10}', 'title'=>'Phone number must be exactly 10 digits']) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
@@ -181,11 +181,34 @@
|
||||
<div id="not_ugandan_regions" style="display: none;">
|
||||
<div class="form-group">
|
||||
{{ Form::label('country_id',__('patients.country_of_origin')) }}
|
||||
{{ Form::select('country_id', $countries, '',['class' => 'form-control', 'data-error'=>'Select the country']) }}
|
||||
{{ Form::select('country_id', $countries, '',['class' => 'form-control', 'data-error'=>'Select the country','id' => 'country_picker']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
{{-- <a href="#modal_residence" data-toggle="modal" id="modal_residence_link"><font size="1">{{ __('patients.add_new_residence') }} </font></a> --}}
|
||||
<a href="#modal_add_country_foreigner" data-toggle="modal" id="modal_add_country_foreigner_id"><font size="1">Add new country </font></a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="non_ugandan_foreigner_or_refugee">{{ __('patients.foreigner_or_refugee') }}</label>
|
||||
<select id="foreginer_refugee" name="non_ugandan_foreigner_or_refugee" class="form-control ">
|
||||
<option value="null"> -- {{ __('patients.select') }} --</option>
|
||||
<option value="1"> {{ __('patients.foreigner') }} </option>
|
||||
<option value="2"> {{ __('patients.refugee') }} </option>
|
||||
|
||||
</select>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="non_ugandan_national_id">{{ __('patients.national_id') }}</label>
|
||||
<input type="text" name="non_ugandan_national_id_no" value="" class="form-control">
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div id="ugandan_regions">
|
||||
<div class="form-group">
|
||||
{{ Form::label('residence','Residence') }}
|
||||
@@ -236,6 +259,9 @@
|
||||
</div>
|
||||
@endif
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<hr>
|
||||
@@ -356,6 +382,36 @@
|
||||
</div>
|
||||
<!-- end of residence modals -->
|
||||
|
||||
{{-- start of add other foreigner country modal --}}
|
||||
<div class="modal fade" id="modal_add_country_foreigner" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" 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">Add New Country</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<div class="form-group">
|
||||
<label>Country Name</label>
|
||||
<input type="text" name="new_country_name" id="new_country_name" value="" class="form-control compulsory">
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
|
||||
{{-- @error('name')
|
||||
<span class="text-danger">{{ $message }}</span>
|
||||
@enderror --}}
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ __('patients.cancel') }}</button>
|
||||
<a class="btn btn-success" onclick="submitCountry()">{{ __('patients.save') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="modal" id="modal_similar_patients" tabindex="-1" role="dialog" aria-hidden="true">
|
||||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
@@ -437,6 +493,70 @@
|
||||
});
|
||||
}
|
||||
|
||||
// add new country
|
||||
function submitCountry() {
|
||||
var new_country_name = $("#new_country_name").val();
|
||||
|
||||
if ($("#new_country_name").val() === "" || !$("#new_country_name").val()) {
|
||||
alert("Please make sure that you fill in a country name");
|
||||
return false;
|
||||
}
|
||||
|
||||
var data = {
|
||||
'name':new_country_name,
|
||||
};
|
||||
|
||||
// $.ajax({
|
||||
// method: 'POST',
|
||||
// url: '/patients/add_country',
|
||||
// data: data,
|
||||
// success: function(response){
|
||||
// if(!isNaN(response)){
|
||||
// //response = last inserted id
|
||||
// $('#country_picker').append($('<option>', {
|
||||
// value: response,
|
||||
// text: new_country_name
|
||||
// }));
|
||||
// $('#country_picker').val(response);//preselect the newly added referral
|
||||
// $('#modal_add_country_foreigner').modal('hide'); //manually hide the modal
|
||||
// } else {
|
||||
// alert("error occurred");
|
||||
// }
|
||||
// },
|
||||
// error: function(jqXHR, textStatus, errorThrown) {
|
||||
// alert(JSON.stringify(jqXHR));
|
||||
// console.log(JSON.stringify(jqXHR));
|
||||
// }
|
||||
// });
|
||||
|
||||
$.ajax({
|
||||
method: 'POST',
|
||||
url: '/patients/add_country',
|
||||
data: data,
|
||||
success: function(response) {
|
||||
if (!isNaN(response)) {
|
||||
// response = last inserted id
|
||||
$('#country_picker').append($('<option>', {
|
||||
value: response,
|
||||
text: new_country_name
|
||||
}));
|
||||
$('#country_picker').val(response); // preselect the newly added country
|
||||
$('#modal_add_country_foreigner').modal('hide'); // manually hide the modal
|
||||
} else {
|
||||
alert(response.error || "An unknown error occurred");
|
||||
}
|
||||
},
|
||||
error: function(jqXHR) {
|
||||
var response = jqXHR.responseJSON;
|
||||
if (jqXHR.status === 409 && response && response.error) {
|
||||
alert(response.error); // Show the "Country already exists" message
|
||||
} else {
|
||||
alert("An error occurred: " + JSON.stringify(jqXHR));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function submitCompany() {
|
||||
var company_name = $("#company_name").val();
|
||||
var company_contact = $("#company_contact").val();
|
||||
@@ -655,7 +775,7 @@
|
||||
});
|
||||
|
||||
/* make residence dropdowns searchable */
|
||||
$('#district_id,#county_id,#subcounty_id,#parish_id,#company,#occupation').select2({
|
||||
$('#district_id,#county_id,#subcounty_id,#parish_id,#company,#occupation,#foreginer_refugee').select2({
|
||||
placeholder: "<?php echo __('patients.select')?>",
|
||||
width: '100%',
|
||||
});
|
||||
@@ -790,4 +910,21 @@
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
{{-- palm vein scanner --}}
|
||||
|
||||
|
||||
{{-- <script type="text/javascript" src="{{ asset('js/palmsecure/fbf.standalone.js') }}" xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"></script> --}}
|
||||
|
||||
{{-- <script type ="text/javascript" src="{{ asset('js/palmsecure/fbf.module.js') }}"></script> --}}
|
||||
<script type ="text/javascript" src="{{ asset('js/palmsecure/demo.bundle.js') }}"></script>
|
||||
<script type ="text/javascript" src="{{ asset('js/palmsecure/demo.js') }}"></script>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
start();
|
||||
</script>
|
||||
|
||||
{{-- end of palm vein scanner --}}
|
||||
@endpush
|
||||
@@ -1,4 +1,3 @@
|
||||
@php use Streamline\Enums\Roles; @endphp
|
||||
@extends('layouts.main')
|
||||
|
||||
@push('styles')
|
||||
@@ -103,7 +102,7 @@
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
|
||||
@if( Auth::user()->hasRole(Roles::SUPER_ADMIN->value))
|
||||
@if( Auth::user()->hasRole('Super Admin'))
|
||||
<div class="form-group">
|
||||
{{ Form::label('is_test_patient',__('patients.is_test_patient')) }}
|
||||
<br>
|
||||
@@ -131,17 +130,17 @@
|
||||
{{ Form::select('next_of_kin_relationship',$relationships,$patient->next_of_kin_relationship,['class' => 'form-control compulsory']) }}
|
||||
<br>
|
||||
{{ Form::label('next_of_kin_phone',__('patients.next_of_kin_phone')) }}
|
||||
{{ Form::text('next_of_kin_phone',$patient->phone_of_next_of_kin,['class' => 'form-control']) }}
|
||||
{{ Form::text('next_of_kin_phone',$patient->phone_of_next_of_kin,['class' => 'form-control','pattern' => '\d{10}', 'title'=>'Phone number must be exactly 10 digits']) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
{{ Form::label('phone',__('patients.phone')) }}
|
||||
{{ Form::text('phone',$patient->phone,['class' => 'form-control compulsory']) }}
|
||||
{{ Form::text('phone',$patient->phone,['class' => 'form-control compulsory','pattern' => '\d{10}', 'title'=>'Phone number must be exactly 10 digits']) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
{{ Form::label('alternative_phone', 'Alternative Phone Number') }}
|
||||
{{ Form::text('alternative_phone',$patient->alternative_phone,['class' => 'form-control','id' => 'alternative_phone']) }}
|
||||
{{ Form::text('alternative_phone',$patient->alternative_phone,['class' => 'form-control','id' => 'alternative_phone','pattern' => '\d{10}', 'title'=>'Phone number must be exactly 10 digits']) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
@@ -199,6 +198,27 @@
|
||||
{{ Form::select('country_id', $countries, $patient->country_id, ['class' => 'form-control', 'data-error'=>'Select the country']) }}
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
|
||||
@php
|
||||
$other_patients_info_data = !empty($patient->other_patients_info) ? json_decode($patient->other_patients_info) : '';
|
||||
@endphp
|
||||
<div class="form-group">
|
||||
<label for="non_ugandan_foreigner_or_refugee">{{ __('patients.foreigner_or_refugee') }}</label>
|
||||
<select id="foreginer_refugee" name="non_ugandan_foreigner_or_refugee" class="form-control ">
|
||||
<option value="null"> -- {{ __('patients.select') }} --</option>
|
||||
<option value="1" @selected(isset($other_patients_info_data) && is_int($other_patients_info_data) && $other_patients_info_data->non_ugandan_foreigner_or_refugee == 1 ?? '')> {{ __('patients.foreigner') }} </option>
|
||||
<option value="2" @selected(isset($other_patients_info_data) && is_int($other_patients_info_data) && $other_patients_info_data->non_ugandan_foreigner_or_refugee == 2 ?? '')> {{ __('patients.refugee') }} </option>
|
||||
|
||||
</select>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="non_ugandan_national_id">{{ __('patients.national_id') }}</label>
|
||||
<input type="text" name="non_ugandan_national_id_no" value=" {{ $other_patients_info_data->non_ugandan_national_id_no ?? '' }}" class="form-control">
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="ugandan_regions" @if($patient->citizenship == 0) style="display: none" @endif>
|
||||
|
||||
@@ -51,13 +51,12 @@
|
||||
|
||||
<div class="col-md-2">
|
||||
<button type="submit" class="btn btn-rounded btn-success"><span class="glyphicon glyphicon-search"></span> {{ __('patients.search') }}</button>
|
||||
<span class="label label-info float-right" style="font-size: 12.5px;"> {{ $patientCount }} {{ __('patients.patients_registered') }}</span>
|
||||
<span class="label label-info float-right" style="font-size: 12.5px;"> {{ count($patient_numbers) }} {{ __('patients.patients_registered') }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@if(isset($criteria) && isset($resultCount))
|
||||
<p>{{ __('patients.search_criteria') }} : <code>{{ $criteria }}</code> {{ __('patients.total_results') }} : <code>{{ $resultCount }}</code> <a href="{{ route('patients.index') }}">{{ __('patients.clear_search') }}</a></p>
|
||||
@if(isset($criteria))
|
||||
<p>{{ __('patients.search_criteria') }} : <code>{{ $criteria }}</code></p>
|
||||
@endif
|
||||
{{ Form::close() }}
|
||||
|
||||
@@ -78,8 +77,7 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if(count($patients) > 0)
|
||||
@foreach($patients as $patient)
|
||||
@foreach($patients as $patient)
|
||||
<tr>
|
||||
<td>{{ $patient->number }}</td>
|
||||
<td>{!! insurance_flag($patient->id) !!}</td>
|
||||
@@ -92,8 +90,8 @@
|
||||
</td>
|
||||
<td>{{ get_patients_age($patient->date_of_birth) }}</td>
|
||||
<td>{{ $patient->phone }}</td>
|
||||
<td><?php echo isset($categories[$patient->category_id]) ? $categories[$patient->category_id] : "N/A"; ?></td>
|
||||
<td>{{ isset($patient_villages[$patient->village_id]) ? $patient_villages[$patient->village_id] : '' }}</td>
|
||||
<td>{{ $categories[$patient->category_id] ?? "N/A" }}</td>
|
||||
<td>{{ $villages[$patient->village_id] ?? '' }}</td>
|
||||
<td><a href="/patients/{{ $patient->id }}/" class="btn btn-rounded btn-info btn-sm"><i class="fa fa-info-circle"></i> {{ __('patients.details') }}</a></td>
|
||||
<td>
|
||||
<a href="/patients/{{ $patient->id }}/edit/" class="btn btn-warning btn-rounded btn-sm"><i class="fa fa-pencil"></i> {{ __('patients.edit') }}</a>
|
||||
@@ -102,10 +100,7 @@
|
||||
<a href="/patient_episodes/set_patient_id/{{ $patient->id }}" class="btn btn-rounded btn-primary btn-sm"><i class="fa fa-hand-pointer-o"></i> <strong>{{ __('patients.select') }}</strong></a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@else
|
||||
<tr class="warning"><td class="center" colspan="10"><code>{{ __('patients.no_records_found') }}</code></td></tr>
|
||||
@endif
|
||||
@endforeach
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
@@ -177,30 +172,6 @@ $('#previous_numbers .typeahead').typeahead(
|
||||
}
|
||||
);
|
||||
|
||||
$('#first_names .typeahead').typeahead(
|
||||
{
|
||||
hint: true,
|
||||
highlight: true,
|
||||
minLength: 1
|
||||
},
|
||||
{
|
||||
name: 'first_names',
|
||||
source: substringMatcher(<?php echo json_encode($first_names); ?>)
|
||||
}
|
||||
);
|
||||
|
||||
$('#last_names .typeahead').typeahead(
|
||||
{
|
||||
hint: true,
|
||||
highlight: true,
|
||||
minLength: 1
|
||||
},
|
||||
{
|
||||
name: 'last_names',
|
||||
source: substringMatcher(<?php echo json_encode($last_names); ?>)
|
||||
}
|
||||
);
|
||||
|
||||
$('#villages .typeahead').typeahead(
|
||||
{
|
||||
hint: true,
|
||||
@@ -209,7 +180,7 @@ $('#villages .typeahead').typeahead(
|
||||
},
|
||||
{
|
||||
name: 'villages',
|
||||
source: substringMatcher(<?php echo json_encode($villages); ?>)
|
||||
source: substringMatcher(<?php echo json_encode(array_values($villages)); ?>)
|
||||
}
|
||||
);
|
||||
|
||||
@@ -275,19 +246,7 @@ $('.table').DataTable({
|
||||
]
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
$('.sorting').removeClass('sorting');//remove the sorting class
|
||||
$('.sorting_asc').removeClass('sorting_asc');//remove the sorting class
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
@push('styles')
|
||||
<style type="text/css">
|
||||
.color-bordered-table.success-bordered-table {
|
||||
border-top: 0px;
|
||||
}
|
||||
</style>
|
||||
@endpush
|
||||
|
||||
|
||||
+120
-147
@@ -1,160 +1,133 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ app()->getLocale() }}">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Patient Card</title>
|
||||
<style>
|
||||
@page {
|
||||
size: A8 landscape;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
<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="">
|
||||
body {
|
||||
font-family: Arial, sans-serif;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ base_path('public/uploads/streamline/color/streamline_icon-02.png') }}">
|
||||
<title>{{ config('app.name', 'CHI Membership Card - Stre@mline') }}</title>
|
||||
<!-- Bootstrap Core CSS -->
|
||||
<link href="{{ base_path('public/bootstrap/css/bootstrap.min.css') }}" rel="stylesheet">
|
||||
|
||||
<style style="text-css">
|
||||
body{
|
||||
/*font-size: 1.2em;*/
|
||||
}
|
||||
|
||||
thead {
|
||||
/*display: table-header-group;*/
|
||||
}
|
||||
|
||||
tfoot {
|
||||
/*display: table-row-group;*/
|
||||
}
|
||||
|
||||
tr {
|
||||
/*page-break-inside: avoid;*/
|
||||
}
|
||||
|
||||
th{
|
||||
font-weight: bolder;
|
||||
font-size: 22px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
td{
|
||||
font-size: 24px;
|
||||
padding-top: 5px;
|
||||
color: #fff;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div style="background-color: rgb(43, 116, 91); color:#fff">
|
||||
<div class="hospital-logo" style="padding-top: 10px;">
|
||||
@include('layouts.header_pdf_print')
|
||||
</div>
|
||||
|
||||
<div class="row" style="padding: 30px;">
|
||||
<div class="col-12" style="padding-top: 10px;">
|
||||
<table>
|
||||
<tr>
|
||||
<td><u>NAME</u></td>
|
||||
<td style="padding-left: 15px;"><u>SEX</u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
{{ get_full_name($patient->id, "id", "first_name", "last_name", "patients") }}
|
||||
</th>
|
||||
<th style="padding-left: 15px;">
|
||||
{{ $patient->gender == 1 ? "MALE" : "FEMALE" }}
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td style="padding-left: 15px;"></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><u>Stre@mline NUMBER</u></td>
|
||||
<td style="padding-left: 15px;"><u>DATE OF BIRTH</u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
{{ $patient->number }}
|
||||
</th>
|
||||
<th style="padding-left: 15px;">
|
||||
{{ streamline_date($patient->date_of_birth) }}
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td style="padding-left: 10px;"></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><u>NIN</u></td>
|
||||
<td style="padding-left: 10px;"><u>HOLDER'S SIGNATURE</u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
{{ $patient->national_id }}
|
||||
</th>
|
||||
<th style="padding-left: 10px;">
|
||||
{{-- signature --}}
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
.a8-container {
|
||||
/*
|
||||
width: 8.5cm;
|
||||
height: 5.4cm; */
|
||||
|
||||
|
||||
<br><br><br>
|
||||
width: 450px;
|
||||
height: 280px;
|
||||
border: 1px solid #000;
|
||||
display: flex;
|
||||
/* align-items: center;
|
||||
justify-content: center; */
|
||||
/* margin: auto; */
|
||||
/* page-break-inside: avoid; */
|
||||
}
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
th, td {
|
||||
border: 0px solid #000;
|
||||
padding: 0px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div style="background-color: rgb(43, 116, 91); padding:10px; padding-top: 120px;">
|
||||
<table align="center">
|
||||
|
||||
<tr>
|
||||
<td>HOST HEALTH FACILITY </td>
|
||||
<td>
|
||||
{{ $hospitalInfo->name }}
|
||||
</td>
|
||||
</tr>
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<tr>
|
||||
<td>VILLAGE</td>
|
||||
<td>
|
||||
{{ get_name(get_name($patient->id, "id", "village_id", "patients"), "id", "name", "villages") }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td>DISTRICT</td>
|
||||
<td>
|
||||
{{ get_name($patient->district_id, "id", "name", "districts") }}
|
||||
</td>
|
||||
</tr>
|
||||
{{-- <div class="a8-container"> --}}
|
||||
<table >
|
||||
{{-- row 1 --}}
|
||||
<tr style=" border-bottom: 1px solid gray; ">
|
||||
<td style="padding:8px;">
|
||||
|
||||
<tr>
|
||||
<td colspan="2" style="background-color: #fff">
|
||||
{{ getDNS1DBarcodePNGOtherOption(sprintf("%04u", $patient->id)) }}
|
||||
{{-- LOGO --}}
|
||||
<img style="max-width: 100px; max-height: 25px;" src="{{ asset($data['hospitalInfo']->logo ?? '') }}" class="" alt="">
|
||||
|
||||
</td>
|
||||
<td style="padding:8px; text-align:right; font-weight:600;">PATIENT CARD</td>
|
||||
</tr>
|
||||
|
||||
|
||||
{{-- row 2 --}}
|
||||
<tr>
|
||||
<td colspan="2" style="font-size:5px; padding-top:10px;padding-left:7px; padding-right:7px; ">NAME</td>
|
||||
</tr>
|
||||
|
||||
{{-- row 3 --}}
|
||||
<tr>
|
||||
<td colspan="2" style="font-size:9px; font-weight:600;padding-left:7px; padding-right:7px;text-transform: uppercase " >
|
||||
{{ $data['patient']->first_name ?? '' }}
|
||||
{{ $data['patient']->last_name ?? '' }}
|
||||
{{ $data['patient']->other_names ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{{-- row 4 --}}
|
||||
<tr style="">
|
||||
<td style="font-size:5px; padding-top:10px;padding-left:7px; ">PATIENT NUMBER</td>
|
||||
<td style="font-size:5px; padding-top:10px; padding-right:7px; text-transform: uppercase">RESIDENCE</td>
|
||||
</tr>
|
||||
|
||||
{{-- row 5 --}}
|
||||
|
||||
<tr >
|
||||
<td style="font-size:9px; font-weight:600; padding-left:7px; text-transform: uppercase">{{ $data['patient']->number ?? '' }} </td>
|
||||
<td style="font-size:9px; font-weight:600; padding-right:7px;text-transform: uppercase">{{ get_name(get_name($data['patient']->id, "id", "village_id", "patients"), "id", "name", "villages") }}</td>
|
||||
|
||||
</tr>
|
||||
|
||||
{{-- row 6 --}}
|
||||
|
||||
<tr >
|
||||
<td style="font-size:5px; padding-top:10px; padding-left:7px;vertical-align: top; ">DISTRICT <br>
|
||||
<span style="font-size:9px; font-weight:600; text-transform: uppercase">{{ get_name($data['patient']->district_id, "id", "name", "districts") }} </span>
|
||||
</td>
|
||||
<td style="font-size:5px; padding-top:10px; padding-right:7px;">
|
||||
{{ getDNS1DBarcodePNGOCards(sprintf("%04u", $data['patient']->id)) }}
|
||||
<br>
|
||||
<h4 style="color: black">{{ sprintf("%04u", $patient->id) }}</h4>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h4 style="color: black">{{ sprintf("%04u", $data['patient']->id) }}</h4></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<div style="text-align: center; color: #fff; padding: 10px; font-size: 22px;">
|
||||
This card should only be used for identification at a Stre@mline network hospital.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<tr>
|
||||
<td colspan="2" style="font-size:5px; padding-top:5px; padding-left:7px; padding-right:7px; text-align:left; border-bottom: 0px solid gray; font-style:italic;">
|
||||
This card is a property of {{ $data['hospitalInfo']->name ?? '' }}, If found please return to the facility. <br>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr >
|
||||
<td style="font-size:4px; text-align:left; padding-left:7px; padding-top:-12px; ">Supported by Streamline ; www.streamlinehealth.org</td>
|
||||
<td style="text-align:right; ">
|
||||
<img style="max-width: 60px; max-height: 25px; padding-right:7px; padding-top:5px;" src="{{ asset('uploads/streamline/color/280X50-06.png') }}" class="" alt="">
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
{{-- </div> --}}
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+351
@@ -0,0 +1,351 @@
|
||||
<!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="{{ base_path('public/uploads/streamline/color/streamline_icon-02.png') }}">
|
||||
<title>{{ config('app.name', 'CHI Membership Card - Stre@mline') }}</title>
|
||||
<!-- Bootstrap Core CSS -->
|
||||
{{-- <link href="{{ base_path('public/bootstrap/css/bootstrap.min.css') }}" rel="stylesheet"> --}}
|
||||
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
|
||||
|
||||
|
||||
<style style="text-css">
|
||||
/* body{
|
||||
}
|
||||
|
||||
thead {
|
||||
}
|
||||
|
||||
tfoot {
|
||||
}
|
||||
|
||||
tr {
|
||||
}
|
||||
|
||||
th{
|
||||
font-weight: bolder;
|
||||
font-size: 22px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
td{
|
||||
font-size: 24px;
|
||||
padding-top: 5px;
|
||||
color: #fff;
|
||||
} */
|
||||
|
||||
/* new card */
|
||||
.a8-page {
|
||||
width: 8.5cm; /* A8 width */
|
||||
height: 5.4cm; /* A8 height */
|
||||
/* background-color: #f8f9fa; */
|
||||
margin: auto; /* Center the A8 page within the container */
|
||||
border: 1px solid #dee2e6; /* Light border */
|
||||
border-radius: 5px; /* Rounded corners */
|
||||
padding: 5px; /* Reduced padding to fit content */
|
||||
box-sizing: border-box; /* Include padding and border in element's total width and height */
|
||||
overflow: hidden; Hide overflow
|
||||
font-size: 10px; /* Adjust font size to fit content */
|
||||
}
|
||||
.container {
|
||||
height: 100vh; /* Full viewport height */
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.medical-card-title {
|
||||
font-size: 1.2em;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
margin-bottom: 5px; /* Reduced margin to fit content */
|
||||
}
|
||||
.medical-card-content p {
|
||||
margin: 2px 0; /* Reduced margins to fit content */
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
{{-- column --}}
|
||||
<div class="col">
|
||||
<div class="a8-page">
|
||||
<div class="row" style="padding:3px; background-color:#eaeef3;" >
|
||||
<div class="col-12 col-md">
|
||||
<img style="max-width: 100px; max-height: 25px;" src="{{ asset($hospitalInfo->logo) }}" class="" alt="Responsive image">
|
||||
|
||||
</div>
|
||||
<div class="col-12 col-md text-right" style="font-size:9px; margin-top:8px; font-weight:600;">PATIENT CARD</div>
|
||||
</div>
|
||||
<hr style="margin-top:5px;">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 col-md">
|
||||
<p style="font-size:6px; margin-top:-10px;"> NAME</p>
|
||||
<p style="font-size:9px; margin-top:-15px; font-weight:600;"> AREBAHOONA MBABAZI ANGELLA MBABAZI OTHER NAME</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 col-md">
|
||||
<p style="font-size:6px; margin-top:-10px;"> PATIENT NUMBER</p>
|
||||
<p style="font-size:9px; margin-top:-15px; font-weight:600;"> SCH-24-01290000</p>
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-md">
|
||||
<p style="font-size:6px; margin-top:-10px;"> VILLAGE</p>
|
||||
<p style="font-size:9px; margin-top:-15px; font-weight:600;"> NAKAPIRIPIRITI WARD</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row" style="margin-top:-10px;">
|
||||
<div class="col-12 col-md">
|
||||
<p style="font-size:6px; "> DISTRICT</p>
|
||||
<p style="font-size:9px; margin-top:-15px; font-weight:600;">KABERAMAIDO DISTRICT</p>
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-md">
|
||||
<p style="font-size:6px; "> BARCODE</p>
|
||||
<p style="font-size:9px; margin-top:-15px; font-weight:600;">
|
||||
<img style="max-width: 100%; max-height: 20px; " src="{{ asset($hospitalInfo->lab_stamp) }}" class="" alt="Responsive image">
|
||||
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="row" style="margin-top:-8px;">
|
||||
<div class="col-12 col-md">
|
||||
<p style="font-size:8px;">This card is a property of Kisiizi Medical center, if found please return to the facility.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr style="margin-top:-15px;">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-8" style="margin-top:-6px;">
|
||||
<p style="font-size:7px; "><i>Supported by Streamline ; www.streamlinehealth.org </i></p>
|
||||
</div>
|
||||
<div class="col-12 col-md-4" style="margin-top:-17px;">
|
||||
<img style="max-width: 100px; max-height: 20px;" src="{{ asset($hospitalInfo->stamp) }}" class="" alt="Responsive image">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- column --}}
|
||||
{{-- <div class="col">
|
||||
<div class="a8-page">
|
||||
<div class="row" style="padding:3px; background-color:#eaeef3;" >
|
||||
<div class="col-12 col-md">
|
||||
<img style="max-width: 100px; max-height: 25px;" src="{{ asset($hospital_details->logo) }}" class="" alt="Responsive image">
|
||||
|
||||
</div>
|
||||
<div class="col-12 col-md text-right" style="font-size:9px; margin-top:8px; font-weight:600;">PATIENT CARD</div>
|
||||
</div>
|
||||
<hr style="margin-top:5px;">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 col-md">
|
||||
<p style="font-size:6px; margin-top:-10px;"> NAME</p>
|
||||
<p style="font-size:9px; margin-top:-15px; font-weight:600;"> AREBAHOONA MBABAZI ANGELLA MBABAZI OTHER NAME</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 col-md">
|
||||
<p style="font-size:6px; margin-top:-10px;"> PATIENT NUMBER</p>
|
||||
<p style="font-size:9px; margin-top:-15px; font-weight:600;"> SCH-24-01290000</p>
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-md">
|
||||
<p style="font-size:6px; margin-top:-10px;"> VILLAGE</p>
|
||||
<p style="font-size:9px; margin-top:-15px; font-weight:600;"> NAKAPIRIPIRITI WARD</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row" style="margin-top:-10px;">
|
||||
<div class="col-12 col-md">
|
||||
<p style="font-size:6px; "> DISTRICT</p>
|
||||
<p style="font-size:9px; margin-top:-15px; font-weight:600;">KABERAMAIDO DISTRICT</p>
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-md">
|
||||
<p style="font-size:6px; "> BARCODE</p>
|
||||
<p style="font-size:9px; margin-top:-15px; font-weight:600;">
|
||||
<img style="max-width: 100%; max-height: 20px; " src="{{ asset($hospital_details->lab_stamp) }}" class="" alt="Responsive image">
|
||||
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="row" style="margin-top:-8px;">
|
||||
<div class="col-12 col-md">
|
||||
<p style="font-size:8px;">This card is a property of Kisiizi Medical center, if found please return to the facility.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr style="margin-top:-15px;">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-8" style="margin-top:-6px;">
|
||||
<p style="font-size:7px; "><i>Supported by Streamline ; www.streamlinehealth.org </i></p>
|
||||
</div>
|
||||
<div class="col-12 col-md-4" style="margin-top:-17px;">
|
||||
<img style="max-width: 100px; max-height: 20px;" src="{{ asset($hospital_details->stamp) }}" class="" alt="Responsive image">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div> --}}
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
{{-- OLD VIEW --}}
|
||||
{{-- <div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div style="background-color: rgb(43, 116, 91); color:#fff">
|
||||
<div class="hospital-logo" style="padding-top: 10px;">
|
||||
@include('layouts.header_pdf_print')
|
||||
</div>
|
||||
|
||||
<div class="row" style="padding: 30px;">
|
||||
<div class="col-12" style="padding-top: 10px;">
|
||||
<table>
|
||||
<tr>
|
||||
<td><u>NAME</u></td>
|
||||
<td style="padding-left: 15px;"><u>SEX</u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
{{ get_full_name($patient->id, "id", "first_name", "last_name", "patients") }}
|
||||
</th>
|
||||
<th style="padding-left: 15px;">
|
||||
{{ $patient->gender == 1 ? "MALE" : "FEMALE" }}
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td style="padding-left: 15px;"></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><u>Stre@mline NUMBER</u></td>
|
||||
<td style="padding-left: 15px;"><u>DATE OF BIRTH</u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
{{ $patient->number }}
|
||||
</th>
|
||||
<th style="padding-left: 15px;">
|
||||
{{ streamline_date($patient->date_of_birth) }}
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td style="padding-left: 10px;"></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><u>NIN</u></td>
|
||||
<td style="padding-left: 10px;"><u>HOLDER'S SIGNATURE</u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
{{ $patient->national_id }}
|
||||
</th>
|
||||
<th style="padding-left: 10px;">
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<br><br><br>
|
||||
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div style="background-color: rgb(43, 116, 91); padding:10px; padding-top: 120px;">
|
||||
<table align="center">
|
||||
|
||||
<tr>
|
||||
<td>HOST HEALTH FACILITY </td>
|
||||
<td>
|
||||
{{ $hospitalInfo->name }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>VILLAGE</td>
|
||||
<td>
|
||||
{{ get_name(get_name($patient->id, "id", "village_id", "patients"), "id", "name", "villages") }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>DISTRICT</td>
|
||||
<td>
|
||||
{{ get_name($patient->district_id, "id", "name", "districts") }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="2" style="background-color: #fff">
|
||||
{{ getDNS1DBarcodePNGOtherOption(sprintf("%04u", $patient->id)) }}
|
||||
<br>
|
||||
<h4 style="color: black">{{ sprintf("%04u", $patient->id) }}</h4>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div style="text-align: center; color: #fff; padding: 10px; font-size: 22px;">
|
||||
This card should only be used for identification at a Stre@mline network hospital.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> --}}
|
||||
|
||||
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.3/dist/umd/popper.min.js"></script>
|
||||
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
+401
@@ -0,0 +1,401 @@
|
||||
@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('elite/bower_components/select2/select2.min.css') }}" rel="stylesheet" />
|
||||
<link href="{{ asset('elite/bower_components/typeahead.js-master/dist/typehead-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">{{ __('layout.patient_cards') }}</h4>
|
||||
</div>
|
||||
<div class="col-lg-9 col-sm-8 col-md-8 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">{{ __('patients.dashboard') }}</a></li>
|
||||
<li><a href="{{ route('patients.index') }}">{{ __('patients.patients') }}</a></li>
|
||||
|
||||
<li >{{ __('patients.print_patients_cards') }}</li>
|
||||
|
||||
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="white-box">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 col-md">
|
||||
<a href="{{ route('patients.create') }}" class="btn btn-success"><i class="fa fa-plus"></i> {{ __('patients.add_patient') }} </a>
|
||||
<a href="{{ route('patients.index') }}" class="btn btn-info"> <i class="fa fa-eye"></i> {{ __('patients.view_patients') }} </a>
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-md" style="text-align:right;">
|
||||
<a href="{{ route('patients.inactive') }}" class="btn btn-danger"><i class="fa fa-eye-slash"></i> {{ __('patients.inactive_patients') }} </a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="white-box">
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="panel panel-default" style="border-radius: 5px;">
|
||||
<div class="panel-body">
|
||||
|
||||
{{-- Search Patient Cards --}}
|
||||
<form action="{{ route('patients.search_patient_cards_to_print') }}" method="POST" >
|
||||
@csrf
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md">
|
||||
<div class="form-group">
|
||||
<label>{{ __('patients.select_registered_date') }}:</label>
|
||||
<select class="form-control required" name="dates" id="dates">
|
||||
{{-- <option value="null">--Select--</option> --}}
|
||||
<option value="today">{{ __('patients.today') }}</option>
|
||||
<option value="yesterday">{{ __('patients.yesterday') }}</option>
|
||||
<option value="custom_date">{{ __('patients.custom_date') }}</option>
|
||||
<option value="custom_date_range">{{ __('patients.date_range') }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md" id="sDate" style="display: none;">
|
||||
<div class="form-group">
|
||||
<label>{{ __('patients.start_date') }}:</label>
|
||||
<div class="input-group">
|
||||
<input type="text" name="start_date" id="start_date" class="form-control">
|
||||
<span class="input-group-addon"><i class="icon-calender"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md" id="eDate" style="display: none;">
|
||||
<div class="form-group">
|
||||
<label>{{ __('patients.end_date') }}:</label>
|
||||
<div class="input-group">
|
||||
<input type="text" name="end_date" id="end_date" class="form-control">
|
||||
<span class="input-group-addon"><i class="icon-calender"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md">
|
||||
<label>{{ __('patients.select_patients') }}:</label>
|
||||
<div class="input-group">
|
||||
<select class="form-control" name="number[]" id="patient_number" multiple></select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md">
|
||||
<div class="form-group" style="margin-top: 25px;">
|
||||
<button type="submit" class="btn btn-success"><i class="fa fa-paper-plane"></i> {{ __('patients.submit') }}</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@include('flash::message')
|
||||
|
||||
|
||||
@php
|
||||
use \Carbon\Carbon;
|
||||
$today = Carbon::now();
|
||||
$patients_current_date = streamline_date($today);
|
||||
@endphp
|
||||
{{-- Process patient cards form --}}
|
||||
<form id="patient_cards_form" action="{{ route('patients.print_patients_cards') }}" method="POST">
|
||||
@csrf
|
||||
<div class="row">
|
||||
|
||||
|
||||
<div class="col-12 col-md" style="text-align:left; margin-bottom:10px;">
|
||||
<h5 style="color:rgb(27, 144, 223);">{{ __('patients.patients_registered_today') }}</h5>
|
||||
</div>
|
||||
<div class="col-12 col-md" style="text-align:right; margin-bottom:10px;">
|
||||
@if (Auth::user()->can('print-patient-cards'))
|
||||
<button type="submit" id="submit-button" class="btn btn-rounded" style="background-color:purple; color:#ffffff;"><i class="fa fa-print"></i> {{ __('patients.print_cards') }}</button>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="table-responsive" style="padding-right:15px; padding-left:15px;">
|
||||
<table class="table success-table table-sm table-striped table-hover " style="color: white; border: 1px solid #00c292;">
|
||||
<thead >
|
||||
<tr style="background-color: #00c292; color: white;">
|
||||
<th style="color: white;">{{ __('patients.hash') }}</th>
|
||||
<th style="color: white;">{{ __('patients.patient_number') }}</th>
|
||||
<th style="color: white;">{{ __('patients.full_names') }}</th>
|
||||
<th style="color: white;">{{ __('patients.gender') }}</th>
|
||||
<th style="color: white;">{{ __('patients.age') }}</th>
|
||||
<th style="color: white;">{{ __('patients.phone_number') }}</th>
|
||||
<th style="color: white;">{{ __('patients.category') }}</th>
|
||||
<th style="color: white;">{{ __('patients.residence') }}</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
|
||||
|
||||
@forelse ( $patients as $key => $patient )
|
||||
|
||||
@php
|
||||
$village = \Streamline\Models\Village::find($patient->village_id);
|
||||
$patient_category = \Streamline\Models\PatientCategory::find($patient->category_id);
|
||||
@endphp
|
||||
|
||||
<tr>
|
||||
<td><input type="checkbox" value="{{ $patient->id }}" name="patients[]" class="patient_cards_checkbox"></td>
|
||||
<td>{{ $patient->number ?? '' }}</td>
|
||||
<td>{!! insurance_flag($patient->id) !!}</td>
|
||||
<td>
|
||||
@if($patient->gender == 1)
|
||||
{{ __('patients.male') }}
|
||||
@else
|
||||
{{ __('patients.female') }}
|
||||
@endif
|
||||
</td>
|
||||
<td>{{ get_patients_age($patient->date_of_birth) }}</td>
|
||||
<td>{{ $patient->phone }}</td>
|
||||
<td>{{ $patient_category->name ?? '' }}</td>
|
||||
<td>{{ $village->name ?? '' }}</td>
|
||||
</tr>
|
||||
|
||||
@empty
|
||||
<tr>
|
||||
<td colspan="3" ></td>
|
||||
<td colspan="3" style="color:red;" >
|
||||
No Patients Found!
|
||||
</td>
|
||||
<td colspan="2" ></td>
|
||||
|
||||
</tr>
|
||||
@endforelse
|
||||
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
<center>
|
||||
{{-- {{ $patients->links() }} --}}
|
||||
{{ $patients->appends(Request::except('page'))->links() }}
|
||||
</center>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<!-- Typehead Plugin JavaScript -->
|
||||
|
||||
|
||||
<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.addEventListener('DOMContentLoaded', function() {
|
||||
const checkboxes = document.querySelectorAll('.patient_cards_checkbox');
|
||||
const form = document.getElementById('patient_cards_form');
|
||||
const maxChecked = 10;
|
||||
|
||||
checkboxes.forEach(checkbox => {
|
||||
checkbox.addEventListener('change', function() {
|
||||
const checkedCount = document.querySelectorAll('.patient_cards_checkbox:checked').length;
|
||||
|
||||
if (checkedCount > maxChecked) {
|
||||
alert(`You can only select up to ${maxChecked} patients.`);
|
||||
|
||||
// this.disabled = true;
|
||||
this.checked = false;
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
form.addEventListener('submit', function(event) {
|
||||
const checkedCount = document.querySelectorAll('.patient_cards_checkbox:checked').length;
|
||||
|
||||
if (checkedCount === 0) {
|
||||
event.preventDefault();
|
||||
alert('Please select at least one patient.');
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
const todays_date = "Patients Registered On " + "{{ $patients_current_date }}";
|
||||
// disable data tables pagination
|
||||
|
||||
$('.table').DataTable({
|
||||
dom: 'Bfrtip',
|
||||
pageLength: 200,
|
||||
paging: false,
|
||||
info: false,
|
||||
buttons: [
|
||||
'copy',
|
||||
{extend: 'csv',
|
||||
message: "Patients Registered",
|
||||
title: todays_date,
|
||||
exportOptions: {
|
||||
columns: [ 1, 2, 3, 4, 5, 6,7]
|
||||
},
|
||||
},
|
||||
{extend: 'excel',
|
||||
message: "Patients Registered",
|
||||
title: todays_date,
|
||||
exportOptions: {
|
||||
columns: [ 1, 2, 3, 4, 5, 6,7]
|
||||
},
|
||||
sheetName: "Patients Registered"
|
||||
},
|
||||
{extend: 'pdf',
|
||||
message: "Patients Registered",
|
||||
title: todays_date,
|
||||
orientation: 'portrait',
|
||||
pageSize: 'LETTER',
|
||||
exportOptions: {
|
||||
columns: [ 1, 2, 3, 4, 5, 6,7]
|
||||
},
|
||||
customize: function (doc) {
|
||||
doc.defaultStyle.fontSize = 10;
|
||||
}
|
||||
},
|
||||
{extend: 'print',
|
||||
message: "Patients Registered",
|
||||
title: todays_date,
|
||||
exportOptions: {
|
||||
columns: [ 1, 2, 3, 4, 5, 6,7]
|
||||
},
|
||||
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');
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
|
||||
$('#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
|
||||
}
|
||||
});
|
||||
|
||||
$('#dates').change(function (e) {
|
||||
|
||||
if($(this).val() === "custom_date"){
|
||||
|
||||
$("#eDate").hide();
|
||||
$("#sDate").show();
|
||||
|
||||
}else if($(this).val() === "custom_date_range"){
|
||||
|
||||
$("#sDate").show();
|
||||
$("#eDate").show();
|
||||
}else{
|
||||
|
||||
$("#eDate").hide();
|
||||
$("#sDate").hide();
|
||||
}
|
||||
});
|
||||
|
||||
$('#end_date').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'dd-mm-yyyy'
|
||||
});
|
||||
|
||||
$('#start_date').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'dd-mm-yyyy'
|
||||
});
|
||||
|
||||
|
||||
$('#staff_member').select2({
|
||||
placeholder: "-- select --"
|
||||
});
|
||||
$('#staff_member_accountant').select2({
|
||||
placeholder: "-- select --"
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
@endpush
|
||||
|
||||
@push('styles')
|
||||
<style type="text/css">
|
||||
.color-bordered-table.success-bordered-table {
|
||||
border-top: 0px;
|
||||
}
|
||||
</style>
|
||||
@endpush
|
||||
|
||||
+145
@@ -0,0 +1,145 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Patient Card</title>
|
||||
<style>
|
||||
|
||||
@page {
|
||||
|
||||
/* margin: 5;
|
||||
padding:0;
|
||||
size:A4 potrait;
|
||||
text-align:center; */
|
||||
|
||||
margin-left:35;
|
||||
margin-top:12;
|
||||
margin-right:0;
|
||||
margin-bottom:0;
|
||||
padding:0;
|
||||
size:A4 potrait;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: Arial, sans-serif;
|
||||
/* margin:0; */
|
||||
}
|
||||
.a8-container {
|
||||
|
||||
width: 8.5cm;
|
||||
height: 5.4cm;
|
||||
|
||||
/* width: 7.4cm;
|
||||
height: 5.2cm; */
|
||||
margin-top:10px;
|
||||
border: 1px solid #000;
|
||||
display: flex;
|
||||
}
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
th, td {
|
||||
border: 0px solid #000;
|
||||
padding: 0px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
@php
|
||||
$counter = 0;
|
||||
@endphp
|
||||
|
||||
@foreach($patient_cards as $key => $patient)
|
||||
<td>
|
||||
<div class="a8-container">
|
||||
<table >
|
||||
<tr style=" border-bottom: 1px solid gray; ">
|
||||
<td style="padding:8px;">
|
||||
<img style="max-width: 100px; max-height: 25px;" src="{{ asset($hospital_details->logo ?? '') }}" class="" alt="">
|
||||
</td>
|
||||
<td style="padding:8px; text-align:right; font-weight:600;">PATIENT CARD</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" style="font-size:6px; padding-top:14px;padding-left:7px; padding-right:7px; ">NAME</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" style="font-size:9px; font-weight:600;padding-left:7px; padding-right:7px; text-transform: uppercase " >
|
||||
{{ $patient->first_name ?? '' }}
|
||||
{{ $patient->last_name ?? '' }}
|
||||
{{ $patient->other_names ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="">
|
||||
<td style="font-size:6px; padding-top:10px;padding-left:7px; ">PATIENT NUMBER</td>
|
||||
<td style="font-size:6px; padding-top:10px; padding-right:7px;text-transform: uppercase ">RESIDENCE</td>
|
||||
</tr>
|
||||
<tr >
|
||||
<td style="font-size:9px; font-weight:600; padding-left:7px; ">{{ $patient->number ?? '' }} </td>
|
||||
<td style="font-size:9px; font-weight:600; padding-right:7px; text-transform: uppercase">{{ get_name(get_name($patient->id, "id", "village_id", "patients"), "id", "name", "villages") }}</td>
|
||||
</tr>
|
||||
<tr >
|
||||
<td style="font-size:5px; padding-top:10px; padding-left:7px;vertical-align: top; ">DISTRICT <br>
|
||||
<span style="font-size:9px; font-weight:600; text-transform: uppercase">{{ get_name($patient->district_id, "id", "name", "districts") }} </span>
|
||||
</td>
|
||||
<td style="font-size:5px; padding-top:10px; padding-right:7px;">
|
||||
{{ getDNS1DBarcodePNGOCards(sprintf("%04u", $patient->id)) }}
|
||||
<br>
|
||||
<h4 style="color: black">{{ sprintf("%04u", $patient->id) }}</h4></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td colspan="2" style="font-size:5px; padding-top:5px; padding-left:7px; padding-right:7px; text-align:left; border-bottom: 0px solid gray; font-style:italic;">
|
||||
|
||||
This card is a property of {{ $hospital_details->name ?? '' }} , If found please return to the facility. <br>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr >
|
||||
<td style="font-size:4px; text-align:left; padding-left:7px; padding-top:-12px; ">Supported by Streamline ; www.streamlinehealth.org</td>
|
||||
<td style="text-align:right; ">
|
||||
<img style="max-width: 60px; max-height: 25px; padding-right:7px; padding-top:5px;" src="{{ asset('uploads/streamline/color/280X50-06.png') }}" class="" alt="">
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
@php
|
||||
$counter++;
|
||||
@endphp
|
||||
|
||||
@if($counter % 2 == 0)
|
||||
</tr><tr>
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
@if($counter % 2 != 0)
|
||||
<td></td>
|
||||
@endif
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
+411
@@ -0,0 +1,411 @@
|
||||
@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('elite/bower_components/select2/select2.min.css') }}" rel="stylesheet" />
|
||||
<link href="{{ asset('elite/bower_components/typeahead.js-master/dist/typehead-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">{{ __('layout.patient_cards') }}</h4>
|
||||
</div>
|
||||
<div class="col-lg-9 col-sm-8 col-md-8 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ route('home') }}">{{ __('patients.dashboard') }}</a></li>
|
||||
<li><a href="{{ route('patients.index') }}">{{ __('patients.patients') }}</a></li>
|
||||
@if (Auth::user()->can('print-patient-cards'))
|
||||
<li class="active">v{{ __('patients.print_patients_cards') }}</li>
|
||||
@endif
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="white-box">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 col-md">
|
||||
<a href="{{ route('patients.create') }}" class="btn btn-success"><i class="fa fa-plus"></i> {{ __('patients.add_patient') }} </a>
|
||||
<a href="{{ route('patients.index') }}" class="btn btn-info"> <i class="fa fa-eye"></i> {{ __('patients.view_patients') }} </a>
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-md" style="text-align:right;">
|
||||
<a href="{{ route('patients.inactive') }}" class="btn btn-danger"><i class="fa fa-eye-slash"></i> {{ __('patients.inactive_patients') }} </a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="white-box">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="panel panel-default" style="border-radius: 5px;">
|
||||
<div class="panel-body">
|
||||
|
||||
{{-- Search Patient Cards --}}
|
||||
<form action="{{ route('patients.search_patient_cards_to_print') }}" method="POST" >
|
||||
@csrf
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md">
|
||||
<div class="form-group">
|
||||
<label>{{ __('patients.select_registered_date') }}:</label>
|
||||
<select class="form-control required" name="dates" id="dates">
|
||||
{{-- <option value="null">--Select--</option> --}}
|
||||
<option value="today">{{ __('patients.today') }}</option>
|
||||
<option value="yesterday">{{ __('patients.yesterday') }}</option>
|
||||
<option value="custom_date">{{ __('patients.custom_date') }}</option>
|
||||
<option value="custom_date_range">{{ __('patients.date_range') }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md" id="sDate" style="display: none;">
|
||||
<div class="form-group">
|
||||
<label>{{ __('patients.start_date') }}:</label>
|
||||
<div class="input-group">
|
||||
<input type="text" name="start_date" id="start_date" class="form-control">
|
||||
<span class="input-group-addon"><i class="icon-calender"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md" id="eDate" style="display: none;">
|
||||
<div class="form-group">
|
||||
<label>{{ __('patients.end_date') }}:</label>
|
||||
<div class="input-group">
|
||||
<input type="text" name="end_date" id="end_date" class="form-control">
|
||||
<span class="input-group-addon"><i class="icon-calender"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md">
|
||||
<label>{{ __('patients.select_patients') }}:</label>
|
||||
<div class="input-group">
|
||||
<select class="form-control" name="number[]" id="patient_number" multiple></select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md">
|
||||
<div class="form-group" style="margin-top: 25px;">
|
||||
<button type="submit" class="btn btn-success"><i class="fa fa-paper-plane"></i> {{ __('patients.submit') }}</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@include('flash::message')
|
||||
|
||||
|
||||
{{-- Process patient cards form --}}
|
||||
<form id="patient_cards_form" action="{{ route('patients.print_patients_cards') }}" method="POST">
|
||||
@csrf
|
||||
<div class="row">
|
||||
|
||||
|
||||
<div class="col-12 col-md" style="text-align:left; margin-bottom:10px;">
|
||||
<h5 style="color:rgb(27, 144, 223);">
|
||||
|
||||
{{ $searched_data_string ?? '' }}
|
||||
|
||||
</h5>
|
||||
</div>
|
||||
<div class="col-12 col-md" style="text-align:right; margin-bottom:10px;">
|
||||
@if (Auth::user()->can('print-patient-cards'))
|
||||
<button type="submit" id="submit-button" class="btn btn-rounded" style="background-color:purple; color:#ffffff;"><i class="fa fa-print"></i> {{ __('patients.print_cards') }}</button>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="table-responsive" style="padding-right:15px; padding-left:15px;">
|
||||
<table class="table success-table table-sm table-striped table-hover disable_pagination" style="color: white; border: 1px solid #00c292;">
|
||||
<thead >
|
||||
<tr style="background-color: #00c292; color: white;">
|
||||
<th style="color: white;">{{ __('patients.hash') }}</th>
|
||||
<th style="color: white;">{{ __('patients.patient_number') }}</th>
|
||||
<th style="color: white;">{{ __('patients.full_names') }}</th>
|
||||
<th style="color: white;">{{ __('patients.gender') }}</th>
|
||||
<th style="color: white;">{{ __('patients.age') }}</th>
|
||||
<th style="color: white;">{{ __('patients.phone_number') }}</th>
|
||||
<th style="color: white;">{{ __('patients.category') }}</th>
|
||||
<th style="color: white;">{{ __('patients.residence') }}</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
|
||||
|
||||
@forelse ( $patients as $key => $patient )
|
||||
|
||||
@php
|
||||
$village = \Streamline\Models\Village::find($patient->village_id);
|
||||
$patient_category = \Streamline\Models\PatientCategory::find($patient->category_id);
|
||||
@endphp
|
||||
|
||||
<tr>
|
||||
<td><input type="checkbox" value="{{ $patient->id }}" name="patients[]" class="patient_cards_checkbox"></td>
|
||||
<td>{{ $patient->number ?? '' }}</td>
|
||||
<td>{!! insurance_flag($patient->id) !!}</td>
|
||||
<td>
|
||||
@if($patient->gender == 1)
|
||||
{{ __('patients.male') }}
|
||||
@else
|
||||
{{ __('patients.female') }}
|
||||
@endif
|
||||
</td>
|
||||
<td>{{ get_patients_age($patient->date_of_birth) }}</td>
|
||||
<td>{{ $patient->phone }}</td>
|
||||
<td>{{ $patient_category->name ?? '' }}</td>
|
||||
<td>{{ $village->name ?? '' }}</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@empty
|
||||
<tr>
|
||||
<td colspan="3" ></td>
|
||||
<td colspan="3" style="color:red;" >
|
||||
No Patients Found!
|
||||
</td>
|
||||
<td colspan="2" ></td>
|
||||
|
||||
</tr>
|
||||
@endforelse
|
||||
|
||||
|
||||
</tbody>
|
||||
|
||||
|
||||
</table>
|
||||
{{-- laravel pagination --}}
|
||||
<center>
|
||||
{{-- {{ $patients->links() }} --}}
|
||||
|
||||
{{ $patients->appends(Request::except('page'))->links() }}
|
||||
</center>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<!-- Typehead Plugin JavaScript -->
|
||||
|
||||
|
||||
<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>
|
||||
|
||||
{{-- print patient cards --}}
|
||||
{{-- <script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/2.1.2/sweetalert.min.js"></script> --}}
|
||||
|
||||
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const checkboxes = document.querySelectorAll('.patient_cards_checkbox');
|
||||
const form = document.getElementById('patient_cards_form');
|
||||
const maxChecked = 10;
|
||||
|
||||
checkboxes.forEach(checkbox => {
|
||||
checkbox.addEventListener('change', function() {
|
||||
const checkedCount = document.querySelectorAll('.patient_cards_checkbox:checked').length;
|
||||
|
||||
if (checkedCount >= maxChecked) {
|
||||
checkboxes.forEach(box => {
|
||||
if (!box.checked) {
|
||||
box.disabled = true;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
checkboxes.forEach(box => {
|
||||
box.disabled = false;
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
form.addEventListener('submit', function(event) {
|
||||
const checkedCount = document.querySelectorAll('.patient_cards_checkbox:checked').length;
|
||||
|
||||
if (checkedCount === 0) {
|
||||
event.preventDefault();
|
||||
alert('Please select at least one patient.');
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
var searchedDataString = "{{ $searched_data_string ?? '' }}";
|
||||
|
||||
$('.table').DataTable({
|
||||
dom: 'Bfrtip',
|
||||
pageLength: 200,
|
||||
//disable js pagination
|
||||
paging: false,
|
||||
info: false,
|
||||
buttons: [
|
||||
'copy',
|
||||
{extend: 'csv',
|
||||
message: "Patients Registered",
|
||||
title: searchedDataString,
|
||||
exportOptions: {
|
||||
columns: [ 1, 2, 3, 4, 5, 6,7]
|
||||
},
|
||||
},
|
||||
{extend: 'excel',
|
||||
message: "Patients Registered",
|
||||
title: searchedDataString,
|
||||
exportOptions: {
|
||||
columns: [ 1, 2, 3, 4, 5, 6,7]
|
||||
},
|
||||
sheetName: "Patients Registered"
|
||||
},
|
||||
{extend: 'pdf',
|
||||
message: "Patients Registered",
|
||||
title: searchedDataString,
|
||||
orientation: 'portrait',
|
||||
pageSize: 'LETTER',
|
||||
exportOptions: {
|
||||
columns: [ 1, 2, 3, 4, 5, 6,7]
|
||||
},
|
||||
customize: function (doc) {
|
||||
doc.defaultStyle.fontSize = 10;
|
||||
// doc.styles.tableHeader.alignment = 'left';
|
||||
}
|
||||
},
|
||||
{extend: 'print',
|
||||
message: "Patients Registered",
|
||||
title: searchedDataString,
|
||||
exportOptions: {
|
||||
columns: [ 1, 2, 3, 4, 5, 6,7]
|
||||
},
|
||||
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('h1')
|
||||
.css('font-size', '9pt'); // Adjust font size as needed
|
||||
|
||||
$(win.document.body).find('table')
|
||||
.addClass('compact')
|
||||
.css('font-size', 'inherit');
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<script>
|
||||
|
||||
$('#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
|
||||
}
|
||||
});
|
||||
|
||||
$('#dates').change(function (e) {
|
||||
|
||||
if($(this).val() === "custom_date"){
|
||||
|
||||
$("#eDate").hide();
|
||||
$("#sDate").show();
|
||||
|
||||
}else if($(this).val() === "custom_date_range"){
|
||||
|
||||
$("#sDate").show();
|
||||
$("#eDate").show();
|
||||
}else{
|
||||
|
||||
$("#eDate").hide();
|
||||
$("#sDate").hide();
|
||||
}
|
||||
});
|
||||
|
||||
$('#end_date').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'dd-mm-yyyy'
|
||||
});
|
||||
|
||||
$('#start_date').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'dd-mm-yyyy'
|
||||
});
|
||||
|
||||
|
||||
|
||||
$('#staff_member').select2({
|
||||
placeholder: "-- select --"
|
||||
});
|
||||
$('#staff_member_accountant').select2({
|
||||
placeholder: "-- select --"
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
@endpush
|
||||
|
||||
@push('styles')
|
||||
<style type="text/css">
|
||||
.color-bordered-table.success-bordered-table {
|
||||
border-top: 0px;
|
||||
}
|
||||
</style>
|
||||
@endpush
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@section('content')
|
||||
|
||||
@php
|
||||
$other_patients_info_data = !empty($patient->other_patients_info) ? json_decode($patient->other_patients_info) : '';
|
||||
|
||||
@endphp
|
||||
|
||||
<div class="row bg-title">
|
||||
<div class="col-lg-3 col-md-4 col-sm-4 col-xs-12">
|
||||
<h4 class="page-title">{{ __('patients.view') }}</h4>
|
||||
@@ -42,7 +48,7 @@
|
||||
<tr>
|
||||
<th>Code</th>
|
||||
<td>
|
||||
{{ getDNS1DBarcodePNGOtherOption(sprintf("%04u", $patient->id)) }}
|
||||
{{ getDNS1DBarcodePNG(sprintf("%04u", $patient->id)) }}
|
||||
<h4>{{ sprintf("%04u", $patient->id) }}</h4>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -65,7 +71,9 @@
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3">
|
||||
@if (Auth::user()->can('print-patient-cards'))
|
||||
<a href="/patient_card/{{ $patient->id }}" target="_blank" class="btn btn-rounded btn-primary btn-sm float-right">{{ __('patients.print_patient_card') }}</a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -94,6 +102,7 @@
|
||||
<th><font color="black">{{__('patients.next_of_kin')}}</font></th>
|
||||
<td>{{ $patient->next_of_kin }}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><font color="black">{{ __('patients.next_of_kin_relationship') }}</font></th>
|
||||
<td>{{ get_name($patient->next_of_kin_relationship, 'id', 'name', 'family_relations') }}</td>
|
||||
@@ -102,6 +111,11 @@
|
||||
<th><font color="black">{{__('patients.phone_of_next_of_kin')}}</font></th>
|
||||
<td>{{ $patient->phone_of_next_of_kin }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><font color="black">Country</font></th>
|
||||
<td>{{ $country->name ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@@ -127,10 +141,46 @@
|
||||
<th><font color="black">{{ __('patients.village') }}</font></th>
|
||||
<td>{{ get_name($patient->village_id, 'id', 'name', 'villages') }}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><font color="black">Referred From</font></th>
|
||||
<td>{{ $patient->referred_from }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><font color="black">Foreigner / Refugee </font></th>
|
||||
<td>
|
||||
|
||||
@if(!empty($other_patients_info_data))
|
||||
@if ($other_patients_info_data->non_ugandan_foreigner_or_refugee == 1)
|
||||
<span>{{ __('patients.foreigner') }} </span>
|
||||
@elseif ($other_patients_info_data->non_ugandan_foreigner_or_refugee == 2)
|
||||
<span>{{ __('patients.refugee') }} </span>
|
||||
@else
|
||||
<span></span>
|
||||
@endif
|
||||
@else
|
||||
<span></span>
|
||||
@endif
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
@if (isset($other_patients_info_data->non_ugandan_national_id_no))
|
||||
|
||||
<tr>
|
||||
<th class="highlight"> ID Number</th>
|
||||
<td>{{ $other_patients_info_data->non_ugandan_national_id_no ?? '' }}</td>
|
||||
</tr>
|
||||
|
||||
@else
|
||||
<tr>
|
||||
<th class="highlight">National ID</th>
|
||||
<td>{{ $patient->national_id ?? '' }}</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@endif
|
||||
|
||||
|
||||
@php $registration_fields = !empty($patient->registration_fields)? json_decode($patient->registration_fields, true):[]; @endphp
|
||||
@foreach ($registration_fields as $key => $registration_field)
|
||||
@php $keys = explode("_",$key) @endphp
|
||||
|
||||
Reference in New Issue
Block a user