浏览代码

ui update

Peter Muturi 5 年之前
父节点
当前提交
5bbdf11a2e

+ 8 - 2
app/Http/Controllers/HomeController.php

@@ -7,10 +7,16 @@ use Illuminate\Http\Request;
 
 class HomeController extends Controller
 {
-    public function showIndex(Request $request)
+    public function dashboard(Request $request)
     {
         $session = get_current_session();
 
-        return view('home', ['pro' => $session->pro]);
+        return view('app/dashboard', ['pro' => $session->pro]);
+    }
+    public function patients(Request $request)
+    {
+        $session = get_current_session();
+
+        return view('app/patients', ['pro' => $session->pro]);
     }
 }

+ 2 - 2
app/Http/Controllers/LoginController.php

@@ -18,7 +18,7 @@ class LoginController extends Controller
 
     public function showLoginForm(Request $request)
     {
-        return view('login');
+        return view('app/login');
     }
 
 
@@ -49,7 +49,7 @@ class LoginController extends Controller
 
         Cookie::queue('sessionKey', $data->data->sessionKey);
 
-        return redirect()->route('home');
+        return redirect()->route('dashboard');
     }
 
 

+ 46 - 0
app/Http/Controllers/PracticeManagementController.php

@@ -0,0 +1,46 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use App\Models\AppSession;
+use Illuminate\Http\Request;
+
+class PracticeManagementController extends Controller
+{
+  public function dashboard(Request $request){
+      $session = get_current_session();
+      return view('app/practice-management/dashboard', ['pro' => $session->pro]);
+  }
+  public function rates(Request $request){
+      $session = get_current_session();
+      return view('app/practice-management/rates', ['pro' => $session->pro]);
+  }
+  public function previousBills(Request $request){
+      $session = get_current_session();
+      return view('app/practice-management/dashboard', ['pro' => $session->pro]);
+  }
+  public function financialTransactions(Request $request){
+      $session = get_current_session();
+      return view('app/practice-management/dashboard', ['pro' => $session->pro]);
+  }
+  public function pendingBillsToSign(Request $request){
+      $session = get_current_session();
+      return view('app/practice-management/dashboard', ['pro' => $session->pro]);
+  }
+  public function HRPracticeMan(Request $request){
+      $session = get_current_session();
+      return view('app/practice-management/dashboard', ['pro' => $session->pro]);
+  }
+  public function directDepositSettings(Request $request){
+      $session = get_current_session();
+      return view('app/practice-management/dashboard', ['pro' => $session->pro]);
+  }
+  public function w9(Request $request){
+      $session = get_current_session();
+      return view('app/practice-management/dashboard', ['pro' => $session->pro]);
+  }
+  public function contract(Request $request){
+      $session = get_current_session();
+      return view('app/practice-management/dashboard', ['pro' => $session->pro]);
+  }
+}

+ 38 - 0
public/css/style.css

@@ -0,0 +1,38 @@
+:root {
+  --w-70: 70%;
+  --primary-color: #1c4587;
+  --bg-grey: #EDEEF1;
+}
+/* login css */
+.login-container {
+  background-color: var(bg-grey);
+}
+/* end of login */
+.w-70 {
+  width: var(--w-70);
+}
+.stag-primary-bg {
+  background-color: var(--primary-color);
+  color: #fff;
+}
+.navbar-brand {
+  font-size: 25px;
+  font-weight: 900;
+}
+.nav-item {
+  margin-right: 10px;
+}
+.navbar-dark .nav-item .nav-link {
+  color: #fff;
+}
+.dropdown-menu {
+  margin-top: 7px;
+  border-radius: 0;
+}
+.dropdown-item:not(:last-child) {
+  border-bottom:1px solid #ddd;
+}
+
+main {
+  padding:0 1rem;
+}

+ 9 - 0
resources/views/app/dashboard.blade.php

@@ -0,0 +1,9 @@
+@extends ('layouts.template')
+
+@section('content')
+<div class="starter-template">
+  <h1>HOME</h1>
+  Hello, <b>{{ $pro->cell_number }}</b>
+</div>
+
+@endsection

+ 47 - 0
resources/views/app/login.blade.php

@@ -0,0 +1,47 @@
+<!doctype html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <meta name="description" content="">
+    <title>Login | {{ config('app.name') }}</title>
+    <!-- Bootstrap core CSS -->
+    <link href="{{ asset('css/app.css') }}" rel="stylesheet">
+    <link href="{{ asset('css/style.css') }}" rel="stylesheet">
+
+    <script src="{{ asset('js/app.js') }}" type="text/javascript"></script>
+
+</head>
+<body>
+  <div class="login-container">
+    <div class="container">
+      <div class="row vh-100 flex-column align-items-center justify-content-center">
+        <div class="col-md-4">
+          <form class="form-signin" method="post" action="{{ route('login') }}">
+            @csrf
+            <div class="card">
+              <div class="card-body">
+                <div class="form-group">
+                  <label for="cell-number" class="">Cell Number</label>
+                  <input type="text" id="cell-number" name="cell-number" class="form-control" placeholder="Cell Number" value="{{old('cell-number')}}" required <?= old('cell-number') ? '' : 'autofocus' ?>>
+                </div>
+                <div class="form-group">
+                  <label for="password" class="">Password</label>
+                  <input type="password" id="password" name="password" class="form-control" placeholder="Password" required <?= old('cell-number') ? 'autofocus' : '' ?>>
+                </div>
+                @if(session()->has('message'))
+                <div class="alert alert-warning">
+                  {{session('message')}}
+                </div>
+                @endif
+                <button id="sign-in-btn" class="mt-2 btn btn-primary btn-block" type="submit">Sign in</button>
+              </div>
+            </div>
+          </form>
+        </div>
+        <p class="text-center mt-5 mb-3 text-muted">&copy; {{ date('Y') }}</p>
+      </div>
+    </div>
+  </div>
+</body>
+</html>

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

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

+ 5 - 0
resources/views/app/practice-management/dashboard.blade.php

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

+ 0 - 8
resources/views/home.blade.php

@@ -1,8 +0,0 @@
-@extends ('template')
-
-@section('content')
-    <div class="starter-template">
-        <h1>HOME</h1>
-        Hello, <b>{{ $pro->cell_number }}</b>
-    </div>
-@endsection

+ 66 - 0
resources/views/layouts/template.blade.php

@@ -0,0 +1,66 @@
+<!DOCTYPE html>
+<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+
+    <title>{{ config('app.name') }}</title>
+
+    <!-- Fonts -->
+    <link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">
+
+    <!-- <link href="{{ asset('bootstrap-4.5.0/css/bootstrap.css') }}" rel="stylesheet"> -->
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.1/css/all.min.css">
+    <link href="{{ asset('/css/app.css') }}" rel="stylesheet">
+    <link href="{{ asset('/css/style.css') }}" rel="stylesheet">
+    <!-- Styles -->
+
+    <script src="{{ asset('js/app.js') }}" type="application/javascript"></script>
+</head>
+
+<body>
+    <nav class="navbar navbar-expand-md navbar-dark stag-primary-bg py-1">
+        <a class="navbar-brand" href="{{ route('dashboard') }}">Scholar</a>
+        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navBar" aria-controls="navBar" aria-expanded="false" aria-label="Toggle navigation">
+            <span class="navbar-toggler-icon"></span>
+        </button>
+
+        <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-tachometer-alt"></i> Dashboard</a> </li>
+                <li class="nav-item"><a class="nav-link" href="/patients"><i class="mr-1 fas fa-user-injured"></i> Patients</a> </li>
+                <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 Management</a>
+                    <div class="dropdown-menu" aria-labelledby="practice-management">
+                        <a class="dropdown-item" href="/practice-management/dashboard">Dashboard</a>
+                        <a class="dropdown-item" href="/practice-management/rates">Payment Rates</a>
+                        <a class="dropdown-item" href="/practice-management/previous-bills">Previous Bills</a>
+                        <a class="dropdown-item" href="/practice-management/financial-transactions">Financial Transactions</a>
+                        <a class="dropdown-item" href="/practice-management/pending-bills-to-sign">Pending Bills to Sign</a>
+                        <a class="dropdown-item" href="/practice-management/hr">HR</a>
+                    </div>
+                </li>
+            </ul>
+            <div class="d-flex align-items-center">
+                <p class="text-white m-0">Hello, <b>{{ $pro->cell_number }}!</b></p>
+                <form action="{{ route('logout') }}" method="post">
+                    @csrf
+                    <button class="btn btn-link text-white">
+                        <i class="fas fa-sign-out-alt"></i> Logout
+                    </button>
+                </form>
+            </div>
+        </div>
+    </nav>
+
+
+    <main role="main">
+
+        @yield('content')
+
+    </main><!-- /.container -->
+
+</body>
+
+</html>

+ 0 - 72
resources/views/login.blade.php

@@ -1,72 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
-    <meta name="description" content="">
-    <title>Signin - {{ config('app.name') }}</title>
-
-
-    <!-- Bootstrap core CSS -->
-    <link href="{{ asset('css/app.css') }}" rel="stylesheet">
-
-    <style>
-        .bd-placeholder-img {
-            font-size: 1.125rem;
-            text-anchor: middle;
-            -webkit-user-select: none;
-            -moz-user-select: none;
-            -ms-user-select: none;
-            user-select: none;
-        }
-
-        @media (min-width: 768px) {
-            .bd-placeholder-img-lg {
-                font-size: 3.5rem;
-            }
-        }
-
-        body, html, .container {
-            height: 100%;
-        }
-
-    </style>
-
-    <script src="{{ asset('js/app.js') }}" type="text/javascript"></script>
-
-</head>
-<body class="">
-
-<div class="container">
-    <div class="row vh-100 flex-column align-items-center">
-        <div class="col-md-4">
-            <form class="form-signin" method="post" action="{{ route('login') }}">
-                @csrf
-                @if(session()->has('message'))
-                    <div class="alert alert-warning">
-                        {{session('message')}}
-                    </div>
-                @endif
-
-                <div class="card">
-                    <div class="card-header">
-                        Please sign in.
-                    </div>
-                    <div class="card-body">
-                        <label for="cell-number" class="">Cell Number</label>
-                        <input type="text" id="cell-number" name="cell-number" class="form-control" placeholder="Cell Number" value="{{old('cell-number')}}" required <?= old('cell-number') ? '' : 'autofocus' ?>>
-
-                        <label for="password" class="">Password</label>
-                        <input type="password" id="password" name="password" class="form-control" placeholder="Password" required <?= old('cell-number') ? 'autofocus' : '' ?>>
-
-                        <button id="sign-in-btn" class="mt-2 btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
-                    </div>
-                </div>
-            </form>
-        </div>
-        <p class="text-center mt-5 mb-3 text-muted">&copy; {{ date('Y') }}</p>
-    </div>
-
-</div>
-</body>
-</html>

+ 0 - 68
resources/views/template.blade.php

@@ -1,68 +0,0 @@
-<!DOCTYPE html>
-<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
-<head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-
-    <title>{{ config('app.name') }}</title>
-
-    <!-- Fonts -->
-    <link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">
-
-<!-- <link href="{{ asset('bootstrap-4.5.0/css/bootstrap.css') }}" rel="stylesheet"> -->
-    <link href="{{ asset('/css/app.css') }}" rel="stylesheet">
-    <!-- Styles -->
-
-    <script src="{{ asset('js/app.js') }}" type="application/javascript"></script>
-</head>
-<body>
-<nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top">
-    <a class="navbar-brand" href="{{ route('home') }}">{{ config('app.name') }}</a>
-    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault"
-            aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
-        <span class="navbar-toggler-icon"></span>
-    </button>
-
-    <div class="collapse navbar-collapse" id="navbarsExampleDefault">
-        <ul class="navbar-nav mr-auto">
-            <li class="nav-item active">
-                <a class="nav-link" href="{{ route('home') }}">Home <span class="sr-only">(current)</span></a>
-            </li>
-            <li class="nav-item">
-                <form action="{{ route('logout') }}" method="post">
-                    @csrf
-                    <button class="btn btn-link nav-link">
-                        Logout
-                    </button>
-                </form>
-                {{--<a class="nav-link" href="{{ url('api/session/logOut') }}">Logout</a>--}}
-            </li>
-            <li class="nav-item">
-
-                <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
-            </li>
-            <li class="nav-item dropdown">
-                <a class="nav-link dropdown-toggle" href="#" id="dropdown01" data-toggle="dropdown" aria-haspopup="true"
-                   aria-expanded="false">Dropdown</a>
-                <div class="dropdown-menu" aria-labelledby="dropdown01">
-                    <a class="dropdown-item" href="#">Action</a>
-                    <a class="dropdown-item" href="#">Another action</a>
-                    <a class="dropdown-item" href="#">Something else here</a>
-                </div>
-            </li>
-        </ul>
-        <form class="form-inline my-2 my-lg-0">
-            <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
-            <button class="btn btn-secondary my-2 my-sm-0" type="submit">Search</button>
-        </form>
-    </div>
-</nav>
-
-<main role="main" class="container">
-
-    @yield('content')
-
-</main><!-- /.container -->
-
-</body>
-</html>

+ 0 - 101
resources/views/welcome.blade.php

@@ -1,101 +0,0 @@
-<!DOCTYPE html>
-<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
-    <head>
-        <meta charset="utf-8">
-        <meta name="viewport" content="width=device-width, initial-scale=1">
-
-        <title>Laravel</title>
-
-        <!-- Fonts -->
-        <link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">
-
-        <link href="{{ asset('bootstrap-4.5.0/css/bootstrap.css') }}" rel="stylesheet">
-        <!-- Styles -->
-        <style>
-            html, body {
-                background-color: #fff;
-                color: #636b6f;
-                font-family: 'Nunito', sans-serif;
-                font-weight: 200;
-                height: 100vh;
-                margin: 0;
-            }
-
-            .full-height {
-                height: 100vh;
-            }
-
-            .flex-center {
-                align-items: center;
-                display: flex;
-                justify-content: center;
-            }
-
-            .position-ref {
-                position: relative;
-            }
-
-            .top-right {
-                position: absolute;
-                right: 10px;
-                top: 18px;
-            }
-
-            .content {
-                text-align: center;
-            }
-
-            .title {
-                font-size: 84px;
-            }
-
-            .links > a {
-                color: #636b6f;
-                padding: 0 25px;
-                font-size: 13px;
-                font-weight: 600;
-                letter-spacing: .1rem;
-                text-decoration: none;
-                text-transform: uppercase;
-            }
-
-            .m-b-md {
-                margin-bottom: 30px;
-            }
-        </style>
-    </head>
-    <body>
-        <div class="flex-center position-ref full-height">
-            @if (Route::has('login'))
-                <div class="top-right links">
-                    @auth
-                        <a href="{{ url('/home') }}">Home</a>
-                    @else
-                        <a href="{{ route('login') }}">Login</a>
-
-                        @if (Route::has('register'))
-                            <a href="{{ route('register') }}">Register</a>
-                        @endif
-                    @endauth
-                </div>
-            @endif
-
-            <div class="content">
-                <div class="title m-b-md">
-                    Laravel
-                </div>
-
-                <div class="links">
-                    <a href="https://laravel.com/docs">Docs</a>
-                    <a href="https://laracasts.com">Laracasts</a>
-                    <a href="https://laravel-news.com">News</a>
-                    <a href="https://blog.laravel.com">Blog</a>
-                    <a href="https://nova.laravel.com">Nova</a>
-                    <a href="https://forge.laravel.com">Forge</a>
-                    <a href="https://vapor.laravel.com">Vapor</a>
-                    <a href="https://github.com/laravel/laravel">GitHub</a>
-                </div>
-            </div>
-        </div>
-    </body>
-</html>

+ 16 - 1
routes/web.php

@@ -26,5 +26,20 @@ Route::post('login', 'LoginController@login');
 Route::post('logout', 'LoginController@logout')->name('logout');
 
 Route::middleware('pro.auth')->group(function () {
-    Route::get('/', 'HomeController@showIndex')->name('home');
+
+    Route::get('/', 'HomeController@dashboard')->name('dashboard');
+    Route::get('/patients', 'HomeController@patients')->name('patients');
+
+    Route::prefix('practice-management')->group(function () {

+      Route::get('dashboard', 'PracticeManagementController@dashboard')->name('dashboard');

+      Route::get('rates', 'PracticeManagementController@rates')->name('rates');

+      Route::get('previous-bills', 'PracticeManagementController@previousBills')->name('previousBills');

+      Route::get('financial-transactions', 'PracticeManagementController@financialTransactions')->name('financialTransactions');

+      Route::get('pending-bills-to-sign', 'PracticeManagementController@pendingBillsToSign')->name('pendingBillsToSign');

+      Route::get('hr', 'PracticeManagementController@HRPracticeMan')->name('HRPracticeMan');

+      Route::get('direct-deposit-settings', 'PracticeManagementController@directDepositSettings')->name('directDepositSettings');

+      Route::get('w9', 'PracticeManagementController@w9')->name('w9');

+      Route::get('contract', 'PracticeManagementController@contract')->name('contract');

+    });
+
 });

+ 217 - 0
spec/spec.txt

@@ -0,0 +1,217 @@
+
+Login Page
+
+----------------------------------------------------------------------------------
+
+LOGO
+
+Dashboard |
+Patients |
+Practice Management -> Dashboard, Payment Rates, Previous Bills, Financial Transactions, Pending Bills to Sign, HR
+
+Hello, {pro}!
+<logout>
+
+
+----------------------------------------------------------------------------------
+
+	Dashboard:
+
+		My patients: (count) (x that I have not seen yet!)
+
+			# | Name | DOB | Last E&M | Next E&M | Insurance
+
+		Pending bills to sign: (count)
+
+			# | Date | Name | DOB | Title (Note or Care Month) | Code | Amount
+
+		Pending notes to sign: (count)
+
+			# | Date | Name | DOB | Title
+
+	Practice Management:
+
+		HEADER: Current Balance: $___ Next payment date: _/_/_ Last payment: $___ (_/_/_)
+
+		SUB:
+
+      DASHBOARD:
+
+			PAYMENT RATES:
+
+				Code | Description | Amount | Career Earnings
+
+			PREVIOUS BILLS:`
+
+				# | Name | DOB | Care Month or Note | Code | Amount | Status
+
+			FINANCIAL TRANSACTIONS:
+
+				# | Date | Credit or Debit | Amount | Associated Bill
+
+			EMPLOYMENT:
+
+				DIRECT DEPOSIT SETTINGS:
+					...
+
+				W9:
+					...
+
+				CONTRACT:
+					...
+
+			PENDING BILLS TO SIGN:
+
+				col-md-6
+
+					# | Date | Name | DOB | Title (Note or Care Month) | Code | Amount
+
+				col-md-6
+
+					< OpenBill >
+
+----------------------------------------------------------------------------------
+
+	Patients:
+
+		Name | DOB | PCP | Last E&M | Next E&M | Insurance
+
+----------------------------------------------------------------------------------
+
+PATIENT RECORD HEADER:
+
+	if(duplicate){"This chart is a duplicate of: __________"}
+
+	Smith, John (12 June, 1940 - Age: 50)
+	PCP: Watson, Lisa NP..... Last E&M Visit: {{date}} || Missing! [Correct it!] Next E&M Visit: {{date}} | Missing! [Correct it!]
+	Medical Assistant: Rivera, Elisia || Missing! [Correct it!]
+	Insurance: Medicare Part B (Green Checkmark!) || Medicare Advantage (X) || Missing! [Correct it!] || Invalid! [Correct it!]
+	Focus areas: 1. {main_reason1 || __} 2. {main_reason2 || __} 3. {main_reason3 || __}
+	Height: ___ in. Weight: ___ lbs. BMI: ___ (UNDER/NORM/OVERWEIGHT/OBESE)
+
+	Enrollments:
+		Chronic Care Management (CCM)? {{Yes || No}} {{ Opted out? }}
+		Remote Patient Monitoring (RPM)? {{Yes || No}} {{ Opted out? }}
+
+	Allergies: [...]
+
+	[+ Add Note]
+	[Pt. Ed.]
+
+-----------------------------------------------------------------------------------
+
+PATIENT::
+
+	DASHBOARD:
+
+		CARE PLAN: [edit]
+
+			Current Medications:
+
+				foreach <?= Title ?>
+
+			Dx & Focus Areas:
+
+				Title | ICD | Chronic or Acute | Prognosis | Treatment Goal | Treatment Plan
+
+			Care Team:
+
+				Name | Specialty | Organization | Phone | Fax | Next Appointment | Memo
+
+			Recent Measurements:
+
+				Vitals:
+
+					BP: 120 / 80
+					HR: 100 bpm
+					Temp: 103.0 F
+					RR: 39 rpm
+					Ht: 5' 10"
+					Wt: 230 lbs
+					BMI: 33
+					SpO2: 3.0%
+					Inhaled O2: 4.0%
+
+				Lab:
+
+					A1c:
+					LDL:
+					HDL:
+					Trigs:
+
+				Other:
+					...
+
+			History:
+
+				Medical:
+
+				Surgical:
+
+				Family:
+
+				Social:
+
+				OB & Preg:
+
+				Hospitalizations / Procedures:
+
+			Screenings:
+
+				Colonoscopy:
+				Mammogram:
+				...//TODO checklist
+
+		RECENT E&M NOTES:
+
+			# | HCP | Date | Name | DOB | Title | Bill(s)
+
+------------------------------------------------------------------------------------
+
+	CARE PLAN:
+
+		{expanded & editable version of above}
+
+	MEDICATIONS:
+
+	Dx & FOCUS AREAS:
+
+	CARE TEAM:
+
+	MEASUREMENTS:
+
+	LABS/STUDIES:
+
+	HISTORY:
+
+	IMMUNIZATIONS:
+
+	ALLERGIES:
+
+	NOTES:
+
+		col-md-6
+
+			# | Date | Name | DOB | Title
+
+		col-md-6
+
+			< OpenNote >
+
+	FLOWSHEETS:
+
+	DEMOGRAPHICS:
+
+	ACCOUNT:
+
+	CARE CHECKLIST:
+
+	DOCUMENTS:
+
+	EDUCATION:
+
+	MESSAGING:
+
+	DUPLICATE:
+
+-----------------------------------------------------------------------------------