Peter Muturi 3 yıl önce
ebeveyn
işleme
d0f43d1ecd
43 değiştirilmiş dosya ile 349 ekleme ve 28 silme
  1. 123 0
      app/Http/Controllers/DnaController.php
  2. 0 1
      app/Models/Pro.php
  3. 5 0
      resources/views/app/admin/appointments.blade.php
  4. 5 0
      resources/views/app/admin/bills.blade.php
  5. 1 0
      resources/views/app/admin/dashboard/calls_memos.blade.php
  6. 1 0
      resources/views/app/admin/dashboard/erx_orders.blade.php
  7. 1 0
      resources/views/app/admin/dashboard/measurements.blade.php
  8. 1 0
      resources/views/app/admin/dashboard/messages.blade.php
  9. 1 0
      resources/views/app/admin/dashboard/notifications.blade.php
  10. 1 0
      resources/views/app/admin/dashboard/supply_orders.blade.php
  11. 5 0
      resources/views/app/admin/erx_and_orders.blade.php
  12. 5 0
      resources/views/app/admin/notes.blade.php
  13. 6 0
      resources/views/app/admin/patients.blade.php
  14. 5 0
      resources/views/app/admin/reports.blade.php
  15. 5 0
      resources/views/app/admin/supply_orders.blade.php
  16. 5 0
      resources/views/app/dna/appointments.blade.php
  17. 5 0
      resources/views/app/dna/bills.blade.php
  18. 0 0
      resources/views/app/dna/cancelled_appointments_pending_review.blade.php
  19. 0 0
      resources/views/app/dna/cancelled_bills_pending_review.blade.php
  20. 0 0
      resources/views/app/dna/cancelled_supply_orders_pending_review.blade.php
  21. 1 0
      resources/views/app/dna/dashboard/calls_memos.blade.php
  22. 1 0
      resources/views/app/dna/dashboard/erx_orders.blade.php
  23. 1 0
      resources/views/app/dna/dashboard/measurements.blade.php
  24. 1 0
      resources/views/app/dna/dashboard/messages.blade.php
  25. 1 0
      resources/views/app/dna/dashboard/notifications.blade.php
  26. 1 0
      resources/views/app/dna/dashboard/supply_orders.blade.php
  27. 5 0
      resources/views/app/dna/erx_and_orders.blade.php
  28. 0 0
      resources/views/app/dna/erx_and_orders_pending_signature.blade.php
  29. 0 0
      resources/views/app/dna/new_patients_awaiting_visit.blade.php
  30. 5 0
      resources/views/app/dna/notes.blade.php
  31. 0 0
      resources/views/app/dna/notes_pending_billing.blade.php
  32. 0 0
      resources/views/app/dna/notes_pending_signature.blade.php
  33. 6 0
      resources/views/app/dna/patients.blade.php
  34. 0 0
      resources/views/app/dna/patients_overdue.blade.php
  35. 0 0
      resources/views/app/dna/patients_without_appointments.blade.php
  36. 5 0
      resources/views/app/dna/reports.blade.php
  37. 0 0
      resources/views/app/dna/reports_pending_signature.blade.php
  38. 5 0
      resources/views/app/dna/supply_orders.blade.php
  39. 0 0
      resources/views/app/dna/supply_orders_pending_signature.blade.php
  40. 0 12
      resources/views/app/patients.blade.php
  41. 14 5
      resources/views/layouts/template.blade.php
  42. 31 10
      routes/web.php
  43. 97 0
      spec/10-03-2021.txt

+ 123 - 0
app/Http/Controllers/DnaController.php

@@ -0,0 +1,123 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use App\Models\Appointment;
+use App\Models\BDTDevice;
+use App\Models\CareMonth;
+use App\Models\Client;
+use App\Models\ClientBDTDevice;
+use App\Models\ClientInfoLine;
+use App\Models\Erx;
+use App\Models\Facility;
+use App\Models\Handout;
+use App\Models\IncomingReport;
+use App\Models\MBClaim;
+use App\Models\MBPayer;
+use App\Models\Note;
+use App\Models\NoteTemplate;
+use App\Models\Pro;
+use App\Models\Product;
+use App\Models\ProProAccess;
+use App\Models\SectionTemplate;
+use App\Models\Shipment;
+use App\Models\SupplyOrder;
+use App\Models\Ticket;
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\DB;
+use Illuminate\Support\Facades\File;
+
+use Illuminate\Support\Facades\Http;
+use PDF;
+
+class DnaController extends Controller
+{
+
+    public function patients(Request $request)
+    {
+        $data = [];
+        return view('app.dna.patients', $data);
+    }
+
+    public function notes(Request $request)
+    {
+        $data = [];
+        return view('app.dna.notes', $data);
+    }
+
+    public function appointments(Request $request)
+    {
+        $data = [];
+        return view('app.dna.appointments', $data);
+    }
+
+    public function bills(Request $request)
+    {
+        $data = [];
+        return view('app.dna.bills', $data);
+    }
+
+    public function erx_and_orders(Request $request)
+    {
+        $data = [];
+        return view('app.dna.erx_and_orders', $data);
+    }
+
+    public function reports(Request $request)
+    {
+        $data = [];
+        return view('app.dna.reports', $data);
+    }
+
+    public function supply_orders(Request $request)
+    {
+        $data = [];
+        return view('app.dna.supply_orders', $data);
+    }
+
+    public function new_patients_awaiting_visit(Request $request){
+        $data = [];
+        return view('app.dna.new_patients_awaiting_visit', $data);
+    }
+    public function notes_pending_signature(Request $request){
+        $data = [];
+        return view('app.dna.notes_pending_signature', $data);
+    }
+    public function notes_pending_billing(Request $request){
+        $data = [];
+        return view('app.dna.notes_pending_billing', $data);
+    }
+    public function reports_pending_signature(Request $request){
+        $data = [];
+        return view('app.dna.reports_pending_signature', $data);
+    }
+    public function patients_without_appointments(Request $request){
+        $data = [];
+        return view('app.dna.patients_without_appointments', $data);
+    }
+    public function patients_overdue_for_visit(Request $request){
+        $data = [];
+        return view('app.dna.patients_overdue_for_visit', $data);
+    }
+    public function cancelled_appointments_pending_review(Request $request){
+        $data = [];
+        return view('app.dna.cancelled_appointments_pending_review', $data);
+    }
+    public function cancelled_bills_pending_review(Request $request){
+        $data = [];
+        return view('app.dna.cancelled_bills_pending_review', $data);
+    }
+    public function cancelled_supply_orders_pending_review(Request $request){
+        $data = [];
+        return view('app.dna.cancelled_supply_orders_pending_review', $data);
+    }
+    public function erx_and_orders_pending_signature(Request $request){
+        $data = [];
+        return view('app.dna.erx_and_orders_pending_signature', $data);
+    }
+    public function supply_orders_pending_signature(Request $request){
+        $data = [];
+        return view('app.dna.supply_orders_pending_signature', $data);
+    }
+
+}

+ 0 - 1
app/Models/Pro.php

@@ -59,7 +59,6 @@ class Pro extends Model
         $numTeams = ProTeam::where('assistant_pro_id', $this->id)
             ->where('is_active', true)
             ->count();
-
         return !!$numTeams;
     }
 

+ 5 - 0
resources/views/app/admin/appointments.blade.php

@@ -0,0 +1,5 @@
+@extends ('layouts/template')
+
+@section('content')
+    <h1>Hi</h1>
+@endsection

+ 5 - 0
resources/views/app/admin/bills.blade.php

@@ -0,0 +1,5 @@
+@extends ('layouts/template')
+
+@section('content')
+    <h1>Hi</h1>
+@endsection

+ 1 - 0
resources/views/app/admin/dashboard/calls_memos.blade.php

@@ -0,0 +1 @@
+<h1>Phone Calls & Memos</h1>

+ 1 - 0
resources/views/app/admin/dashboard/erx_orders.blade.php

@@ -0,0 +1 @@
+<h1>ERX & Orders</h1>

+ 1 - 0
resources/views/app/admin/dashboard/measurements.blade.php

@@ -0,0 +1 @@
+<div id="measurements-tab">Loading...</div>

+ 1 - 0
resources/views/app/admin/dashboard/messages.blade.php

@@ -0,0 +1 @@
+<h1>Messages</h1>

+ 1 - 0
resources/views/app/admin/dashboard/notifications.blade.php

@@ -0,0 +1 @@
+<h1>Notifications</h1>

+ 1 - 0
resources/views/app/admin/dashboard/supply_orders.blade.php

@@ -0,0 +1 @@
+<h1>Supply Orders</h1>

+ 5 - 0
resources/views/app/admin/erx_and_orders.blade.php

@@ -0,0 +1,5 @@
+@extends ('layouts/template')
+
+@section('content')
+    <h1>Hi</h1>
+@endsection

+ 5 - 0
resources/views/app/admin/notes.blade.php

@@ -0,0 +1,5 @@
+@extends ('layouts/template')
+
+@section('content')
+    <h1>Hi</h1>
+@endsection

+ 6 - 0
resources/views/app/admin/patients.blade.php

@@ -0,0 +1,6 @@
+@extends ('layouts/template')
+
+@section('content')
+    <h1>Hi</h1>
+@endsection
+

+ 5 - 0
resources/views/app/admin/reports.blade.php

@@ -0,0 +1,5 @@
+@extends ('layouts/template')
+
+@section('content')
+    <h1>Hi</h1>
+@endsection

+ 5 - 0
resources/views/app/admin/supply_orders.blade.php

@@ -0,0 +1,5 @@
+@extends ('layouts/template')
+
+@section('content')
+    <h1>Hi</h1>
+@endsection

+ 5 - 0
resources/views/app/dna/appointments.blade.php

@@ -0,0 +1,5 @@
+@extends ('layouts/template')
+
+@section('content')
+    <h1>Hi</h1>
+@endsection

+ 5 - 0
resources/views/app/dna/bills.blade.php

@@ -0,0 +1,5 @@
+@extends ('layouts/template')
+
+@section('content')
+    <h1>Hi</h1>
+@endsection

+ 0 - 0
resources/views/app/dna/cancelled_appointments_pending_review.blade.php


+ 0 - 0
resources/views/app/dna/cancelled_bills_pending_review.blade.php


+ 0 - 0
resources/views/app/dna/cancelled_supply_orders_pending_review.blade.php


+ 1 - 0
resources/views/app/dna/dashboard/calls_memos.blade.php

@@ -0,0 +1 @@
+<h1>Phone Calls & Memos</h1>

+ 1 - 0
resources/views/app/dna/dashboard/erx_orders.blade.php

@@ -0,0 +1 @@
+<h1>ERX & Orders</h1>

+ 1 - 0
resources/views/app/dna/dashboard/measurements.blade.php

@@ -0,0 +1 @@
+<div id="measurements-tab">Loading...</div>

+ 1 - 0
resources/views/app/dna/dashboard/messages.blade.php

@@ -0,0 +1 @@
+<h1>Messages</h1>

+ 1 - 0
resources/views/app/dna/dashboard/notifications.blade.php

@@ -0,0 +1 @@
+<h1>Notifications</h1>

+ 1 - 0
resources/views/app/dna/dashboard/supply_orders.blade.php

@@ -0,0 +1 @@
+<h1>Supply Orders</h1>

+ 5 - 0
resources/views/app/dna/erx_and_orders.blade.php

@@ -0,0 +1,5 @@
+@extends ('layouts/template')
+
+@section('content')
+    <h1>Hi</h1>
+@endsection

+ 0 - 0
resources/views/app/dna/erx_and_orders_pending_signature.blade.php


+ 0 - 0
resources/views/app/dna/new_patients_awaiting_visit.blade.php


+ 5 - 0
resources/views/app/dna/notes.blade.php

@@ -0,0 +1,5 @@
+@extends ('layouts/template')
+
+@section('content')
+    <h1>Hi</h1>
+@endsection

+ 0 - 0
resources/views/app/dna/notes_pending_billing.blade.php


+ 0 - 0
resources/views/app/dna/notes_pending_signature.blade.php


+ 6 - 0
resources/views/app/dna/patients.blade.php

@@ -0,0 +1,6 @@
+@extends ('layouts/template')
+
+@section('content')
+    <h1>Hi</h1>
+@endsection
+

+ 0 - 0
resources/views/app/dna/patients_overdue.blade.php


+ 0 - 0
resources/views/app/dna/patients_without_appointments.blade.php


+ 5 - 0
resources/views/app/dna/reports.blade.php

@@ -0,0 +1,5 @@
+@extends ('layouts/template')
+
+@section('content')
+    <h1>Hi</h1>
+@endsection

+ 0 - 0
resources/views/app/dna/reports_pending_signature.blade.php


+ 5 - 0
resources/views/app/dna/supply_orders.blade.php

@@ -0,0 +1,5 @@
+@extends ('layouts/template')
+
+@section('content')
+    <h1>Hi</h1>
+@endsection

+ 0 - 0
resources/views/app/dna/supply_orders_pending_signature.blade.php


+ 0 - 12
resources/views/app/patients.blade.php

@@ -2,12 +2,6 @@
 
 @section('content')
 
-    @if($pro->id === 1 || $pro->id === 16)
-    <link href="/c3/c3.min.css" rel="stylesheet">
-    <script src="/c3/d3.v5.min.js" charset="utf-8"></script>
-    <script src="/c3/c3.min.js"></script>
-    @endif
-
     <?php
     $showProgramsColumn = false;
     foreach($patients as $patient) {
@@ -51,12 +45,6 @@
             </div>
         </div>
 
-        @if($pro->id === 1 || $pro->id === 16)
-        <div class="card-header px-3 py-4 d-flex align-items-center bg-white justify-content-center">
-            <div id="patientAcquisitionChart" class="w-75"></div>
-        </div>
-        @endif
-
         <div class="card-body p-0">
             <table class="table table-condensed p-0 m-0">
                 <thead class="bg-light">

+ 14 - 5
resources/views/layouts/template.blade.php

@@ -96,16 +96,25 @@
         <div class="collapse navbar-collapse" id="navBar">
             <ul class="navbar-nav mr-auto">
                 <li class="nav-item"><a class="nav-link" href="{{ route('dashboard') }}"><i class="mr-1 fas fa-home"></i> Home</a> </li>
-                <li class="nav-item"><a class="nav-link" href="{{ route('patients') }}"><i class="mr-1 fas fa-user-injured"></i> Patients</a> </li>
+                @if($pro)
+                    @if($pro->is_enrolled_as_mcp)
+                    <li class="nav-item"><a class="nav-link" href="{{ route('mcp.patients') }}"><i class="mr-1 fas fa-user-injured"></i> Patients</a> </li>
+                    @elseif($pro->pro_type == 'ADMIN')
+                    <li class="nav-item"><a class="nav-link" href="{{ route('admin.patients') }}"><i class="mr-1 fas fa-user-injured"></i> Patients</a> </li>
+                    @else
+                    <li class="nav-item"><a class="nav-link" href="{{ route('dna.patients') }}"><i class="mr-1 fas fa-user-injured"></i> Patients</a> </li>
+                    @endif
+                @endif
                 @if($pro && ($pro->can_add_patients || $pro->pro_type== 'ADMIN'))
-                <li class="nav-item"><a class="nav-link" href="{{ route('new-patient') }}"><i class="mr-1 fas fa-user-plus"></i> New Patient</a> </li>
-<!--                <li class="nav-item"><a class="nav-link" href="{{ route('new-non-mcn-patient') }}"><i class="mr-1 fas fa-user-plus"></i> New Non Medicare Patient</a> </li>-->
+                  <li class="nav-item"><a class="nav-link" href="{{ route('new-patient') }}"><i class="mr-1 fas fa-user-plus"></i> New Patient</a> </li>
                 @endif
                 <li class="nav-item dropdown">
-                    <a class="nav-link dropdown-toggle" href="#" id="practice-management" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="mr-1 fas fa-tasks"></i> Practice</a>
+                    <a class="nav-link dropdown-toggle" href="#" id="practice-management" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+                        <i class="mr-1 fas fa-tasks"></i> Practice
+                    </a>
                     <div class="dropdown-menu mcp-theme-1 no-overflow-menu p-0" aria-labelledby="practice-management">
 
-                        @if($pro->isDefaultNA())
+                        @if($pro && $pro->isDefaultNA())
                             <a class="dropdown-item" href="/practice-management/my-teams">My Teams</a>
                         @endif
 

+ 31 - 10
routes/web.php

@@ -98,16 +98,38 @@ Route::middleware('pro.auth')->group(function () {
     });
 
     Route::name('dna.')->prefix('n')->group(function () {
+
         Route::get('patients', 'DnaController@patients')->name('patients');
-        Route::get('new-patients-awaiting-visit', 'DnaController@new_patients_awaiting_visit');
-        Route::get('notes-pending-signature', 'DnaController@notes_pending_signature');
-        Route::get('notes-pending-billing', 'DnaController@notes_pending_billing');
-        Route::get('reports-pending-signature', 'DnaController@reports_pending_signature');
-        Route::get('patients-without-appointments', 'DnaController@patients_without_appointments');
-        Route::get('patients-overdue', 'DnaController@patients_overdue');
-        Route::get('cancelled-appointments-pending-review', 'DnaController@cancelled_appointments_pending_review');
-        Route::get('erx-and-orders-pending-signature', 'DnaController@erx_and_orders_pending_signature');
-        Route::get('supply-orders-pending-signature', 'DnaController@supply_orders_pending_signature');
+        Route::get('notes', 'DnaController@notes')->name('notes');
+        Route::get('appointments', 'DnaController@appointments')->name('appointments');
+        Route::get('bills', 'DnaController@bills')->name('bills');
+        Route::get('erx-and-orders', 'DnaController@erx_and_orders')->name('erx_and_orders');
+        Route::get('reports', 'DnaController@reports')->name('reports');
+        Route::get('supply-orders', 'DnaController@supply_orders')->name('supply_orders');
+
+        Route::get('new_patients_awaiting_visit', 'DnaController@new_patients_awaiting_visit')->name('new_patients_awaiting_visit');
+        Route::get('notes_pending_signature', 'DnaController@notes_pending_signature')->name('notes_pending_signature');
+        Route::get('notes_pending_billing', 'DnaController@notes_pending_billing')->name('notes_pending_billing');
+        Route::get('reports_pending_signature', 'DnaController@reports_pending_signature')->name('reports_pending_signature');
+        Route::get('patients_without_appointments', 'DnaController@patients_without_appointments')->name('patients_without_appointments');
+        Route::get('patients_overdue_for_visit', 'DnaController@patients_overdue_for_visit')->name('patients_overdue_for_visit');
+        Route::get('cancelled_appointments_pending_review', 'DnaController@cancelled_appointments_pending_review')->name('cancelled_appointments_pending_review');
+        Route::get('cancelled_bills_pending_review', 'DnaController@cancelled_bills_pending_review')->name('cancelled_bills_pending_review');
+        Route::get('cancelled_supply_orders_pending_review', 'DnaController@cancelled_supply_orders_pending_review')->name('cancelled_supply_orders_pending_review');
+        Route::get('erx_and_orders_pending_signature', 'DnaController@erx_and_orders_pending_signature')->name('erx_and_orders_pending_signature');
+        Route::get('supply_orders_pending_signature', 'DnaController@supply_orders_pending_signature')->name('supply_orders_pending_signature');
+
+    });
+
+    Route::name('admin.')->prefix('a')->group(function () {
+        // TODO
+        Route::get('patients', 'AdminController@patients')->name('patients');
+        Route::get('notes', 'AdminController@notes')->name('notes');
+        Route::get('appointments', 'AdminController@appointments')->name('appointments');
+        Route::get('bills', 'AdminController@bills')->name('bills');
+        Route::get('erx-and-orders', 'AdminController@erx_and_orders')->name('erx_and_orders');
+        Route::get('reports', 'AdminController@reports')->name('reports');
+        Route::get('supply-orders', 'AdminController@supply_orders')->name('supply_orders');
     });
 
     Route::name('practice-management.')->prefix('practice-management')->group(function () {
@@ -464,4 +486,3 @@ Route::post("/process_form_submit", 'NoteController@processFormSubmit')->name('p
 Route::get("/get-default-section-data/{patientID}/{sectionTemplateID}", 'NoteController@getDefaultValueForSection')->name('get_default_section_data');
 
 Route::get("/get-segment-html/{segmentUid}/{sessionKey}", 'NoteController@getHtmlForSegment')->name('get_segment_html');
-

+ 97 - 0
spec/10-03-2021.txt

@@ -0,0 +1,97 @@
+Patients
+
+	Age: [all, exactly, less-than, greater-than, between, not-between[ [_1_] [_2_]
+  Sex: [all, M, F]
+  BMI: [all, exactly, less-than, greater-than, between, not-between[ [_1_] [_2_]
+  Last Visit: [all, exactly, before, after, between, not-between] [_1_] [_2_]
+  Next Appt.: [all, exactly, before, after, between, not-between] [_1_] [_2_]
+  Status: [all, Active, Awaiting Visit, Inactive] -> single select
+  Last Weigh-In: [all, exactly, before, after, between, not-between] [_1_] [_2_]
+  Last BP: [all, exactly, before, after, between, not-between] [_1_] [_2_]
+
+    [Filter]
+
+  Columns:
+
+		Chart #
+		Name (F.I. LAST)
+		DOB
+		Gender
+		BMI
+		Insurance
+		Last Visit
+		Next Appt.
+		Status
+		CCM
+		RPM
+		Last Weight-In
+		Last BP
+		Assigned On
+
+Notes
+
+	Date: [all, exactly, before, after, between, not-between] [_1_] [_2_]
+  Status: (All/New/Signed/Billed/Verified/Processed/Cancelled)
+
+		Date
+		HCP
+		Patient
+		ICD
+		Status (New/Signed/Billed/Verified/Processed/Cancelled)
+
+Appointments
+
+	Date: [all, exactly, before, after, between, not-between] [_1_] [_2_]
+  New or FU: [New/FU]
+  Status: (All/...)
+
+		Date
+		HCP
+		Patient
+		New or FU?
+		Status
+		Note
+
+Bills
+
+	Date: [all, exactly, before, after, between, not-between] [_1_] [_2_]
+  Status: (All/...)
+
+		Date
+		Patient
+		Service
+		Amount
+		Status
+
+ERx & Orders
+
+	Date: [all, exactly, before, after, between, not-between] [_1_] [_2_]
+  Status:
+
+		Date
+		Patient
+		Content
+		Status
+
+Supply Orders
+
+	Date: [all, exactly, before, after, between, not-between] [_1_] [_2_]
+  Status:
+
+		Date
+		Patient
+		Product
+		Reason
+		Status
+
+Text Messages
+
+	Date: [all, exactly, before, after, between, not-between] [_1_] [_2_]
+  To or From Me: (All / To Me / From Me)
+  Status: (All/Awaiting Reply)
+
+		Date
+		To
+		From
+		Message
+		Status