Browse Source

Print new layout

Samson Mutunga 1 year ago
parent
commit
d3d88dd630

+ 7 - 0
app/Http/Controllers/NoteController.php

@@ -121,6 +121,13 @@ class NoteController extends Controller
         return view("app.patient.note.print.print-legacy", compact('patient', 'note'));
     }
 
+    public function printV2(Request $request, Client $patient, Note $note) {
+        if($note->visitTemplate) {
+            return view("app.patient.note.print.print-v2", compact('patient', 'note'));
+        }
+        return view("app.patient.note.print.print-legacy", compact('patient', 'note'));
+    }
+
     public function resolve(Request $request, Client $patient, Note $note) {
         return view("app.patient.note.resolve", compact('patient', 'note'));
     }

+ 4 - 0
resources/views/app/patient/note/dashboard.blade.php

@@ -443,7 +443,11 @@ use App\Models\Handout;
             @endif
 
             <div class="px-2 border-left screen-only">
+                {{-- NOTE --}}
+                {{-- v1. print-note --}}
+                {{-- v2. print-note-v2 --}}
                 <a href="{{route('print-note', ['patient' => $patient, 'note' => $note])}}" native target="_blank" class=""><i class="fa fa-print"></i></a>
+                <a href="{{route('print-note-v2', ['patient' => $patient, 'note' => $note])}}" native target="_blank" class="ml-2"><i class="fa fa-print"></i><sup class="text-danger" style="font-weight:bold;font-size: 10px;">NEW</sup></a>
                 @if($performer->pro->is_admin)
                     <a href="{{'/practice-management/notes-resolution-center-v2?uid='.$note->uid}}" target="_blank">NRC</a>
                 @endif

+ 225 - 0
resources/views/app/patient/note/note-segment-list-print-v2.blade.php

@@ -0,0 +1,225 @@
+<div class="segments-list note-segments-print-list {{ $note->is_signed_by_hcp ? 'note-signed-by-hcp' : '' }}" id="note-segments-list">
+    <?php
+    $previousHeading = null;
+    $previousSubHeading = null;
+    $segments = $note->segments->filter(function ($_x) {
+        $ok = !!$_x->is_active && $_x->segmentTemplate->internal_name !== 'medrisk_vigilence' && strpos($_x->segmentTemplate->internal_name, 'lifestyle_') !== 0;
+        if ($ok) {
+            $content = $_x->summary_html;
+            if ($_x->accepted_suggestion_summary_html) {
+                $content = $_x->accepted_suggestion_summary_html;
+            }
+            $trimmed = trim(strip_tags($content));
+            $ok = ($trimmed !== '' && $trimmed !== '-');
+        }
+        return $ok;
+    });
+    $printSegments = [];
+    foreach ($segments as $segment) {
+        if ($segment->left_or_right !== 'RIGHT') {
+            $printSegments[] = $segment;
+        }
+    }
+    foreach ($segments as $segment) {
+        if ($segment->left_or_right === 'RIGHT') {
+            $printSegments[] = $segment;
+        }
+    }
+    ?>
+    <!-- -- -->
+    <div style="font-family: Arial, Helvetica, sans-serif;display: flex;width:100%;border-top:1px solid #333333;border-bottom:1px solid #333333;">
+        <div style="border-right:1px solid #333333;padding:10px;width:30%;vertical-align: top;height:auto;">
+            <div style="">
+                <div style="font-size:16px;margin-bottom:10px;"><span style="font-weight: bold;font-size:16px;">Race: </span>{{ $patient->race ?? 'No race saved for patient' }}</div>
+                <?php
+                $canvasData = json_decode($patient->canvas_data);
+                ?>
+                @if($canvasData && @$canvasData->INTAKE_DATA)
+                <div style="font-size:16px;margin-bottom:10px;"><span style="font-weight: bold;font-size:16px;">Ethnicity: </span>{{ $canvasData->INTAKE_DATA->ethnicity ?? 'No ethnicity for patient saved' }}</div>
+                <div style="font-size:16px;margin-bottom:10px;"><span style="font-weight: bold;font-size:16px;">Height: </span>{{ $canvasData->INTAKE_DATA->height ?? 'No height for patient saved' }}</div>
+                <div style="font-size:16px;margin-bottom:10px;"><span style="font-weight: bold;font-size:16px;">Weight: </span>{{ $canvasData->INTAKE_DATA->weight ?? 'No weight for patient saved' }}</div>
+                @endif
+
+                <div style="font-size:16px;margin-bottom:10px;"><span style="font-weight: bold;font-size:16px;">Preferred Language: </span>{{ $patient->preferred_language ?? 'No preferred language saved for patient' }}</div>
+                <div style="font-size:16px;margin-bottom:10px;"><span style="font-weight: bold;font-size:16px;">Preferred Foreign Language: </span>{{ $patient->preferred_foreign_language ?? 'No preferred foreign language saved for patient' }}</div>
+                <div style="font-size:16px;margin-bottom:10px;"><span style="font-weight: bold;font-size:16px;">Other Languages: </span>{{ $patient->other_languages ?? 'No other languages saved for patient' }}</div>
+                <div style="font-size:16px;margin-bottom:10px;"><span style="font-weight: bold;font-size:16px;">Sticky Note: </span>{{ $patient->sticky_note ?? 'No sticky note saved for patient' }}</div>
+
+                <!-- Allergies -->
+                <?php
+                $allergies = \App\Models\Point::getPointsOfCategory($patient, "ALLERGY");
+                ?>
+                <div style="font-size:16px;margin-bottom:10px;"><span style="font-weight: bold;font-size:16px;">Alergies:</div>
+                @if(count($allergies))
+                <ul>
+                    @foreach($allergies as $allergy)
+                    <li style="font-size: 16px;">{{ $allergy->data_name }}</li>
+                    @endforeach
+                </ul>
+                @else
+                <div style="font-size: 16px;">Patient has no known allergies</div>
+                @endif
+
+                <!-- Medications -->
+                <?php
+                $medications = \App\Models\Point::getPointsOfCategory($patient, "MEDICATION");
+                ?>
+                <div style="font-size:16px;margin-bottom:10px;"><span style="font-weight: bold;font-size:16px;">Medications:</div>
+                @if(count($medications))
+                <ul>
+                    @foreach($medications as $medication)
+                    <li style="font-size: 16px;">{{ $medication->data_name }}</li>
+                    @endforeach
+                </ul>
+                @else
+                <div style="font-size: 16px;">Patient has no known medications</div>
+                @endif
+
+                <!-- Problems -->
+                <?php
+                $problems = \App\Models\Point::getPointsOfCategory($patient, "PROBLEM");
+                ?>
+                <div style="font-size:16px;margin-bottom:10px;"><span style="font-weight: bold;font-size:16px;">Problems:</div>
+                @if(count($problems))
+                <ul>
+                    @foreach($problems as $problem)
+                    <li style="font-size: 16px;">{{ $problem->data_name }}</li>
+                    @endforeach
+                </ul>
+                @else
+                <div style="font-size: 16px;">Patient has no known problems</div>
+                @endif
+
+                <!-- Goals -->
+                <?php
+                $goals = \App\Models\Point::getPointsOfCategory($patient, "GOAL");
+                ?>
+                <div style="font-size:16px;margin-bottom:10px;"><span style="font-weight: bold;font-size:16px;">Goals:</div>
+                @if(count($goals))
+                <ul>
+                    @foreach($goals as $goal)
+                    <li style="font-size: 16px;">{{ $goal->data_name }}</li>
+                    @endforeach
+                </ul>
+                @else
+                <div style="font-size: 16px;">Patient has no known goals</div>
+                @endif
+
+            </div>
+        </div>
+        <div style="padding:10px;width:70%;vertical-align: top;height:auto;">
+            <div>
+                @foreach($printSegments as $segment)
+                @include('app.patient.note.segment-print')
+                @endforeach
+            </div>
+        </div>
+    </div>
+    <!-- -- -->
+</div>
+<script>
+    $(document).ready(function() {
+        $('.note-segments-print-list table.point-table').each(function() {
+            if (!$(this).find('tbody>tr').length) {
+                $(this).closest('.visit-segment').remove();
+            }
+            if ($(this).closest('.note_template_soap_visit').length) {
+                if (['nutrition', 'exercise', 'behavior'].indexOf($(this).closest('.visit-segment').attr('data-segment-template-name')) === -1) {
+                    convertPointTableToSimpleParas($(this));
+                } else {
+                    convertNEBTables($(this));
+                }
+            }
+        });
+        $('.note-segments-print-list table.table-cage').each(function() {
+            if ($(this).closest('.note_template_omega_soap_visit').length) {
+                if (['omega_allergies', 'omega_medications', 'omega_goals', 'omega_care_team', 'omega_subjective_system'].indexOf($(this).closest('.visit-segment').attr('data-segment-template-name')) !== -1) {
+                    convertCageTableToSimpleParas($(this), 'Subjective');
+                } else if (['omega_plan_system'].indexOf($(this).closest('.visit-segment').attr('data-segment-template-name')) !== -1) {
+                    convertCageTableToSimpleParas($(this), 'Plan');
+                }
+            }
+        });
+        if (isEmpty($('[data-segment-template-name="nutrition"] .summary-container'))) $('[data-segment-template-name="nutrition"]').remove();
+        if (isEmpty($('[data-segment-template-name="exercise"] .summary-container'))) $('[data-segment-template-name="exercise"]').remove();
+        if (isEmpty($('[data-segment-template-name="behavior"] .summary-container'))) $('[data-segment-template-name="behavior"]').remove();
+
+        function isEmpty(_el) {
+            return $.trim(_el.text().replaceAll('-', '')) === '';
+        }
+
+        function convertPointTableToSimpleParas(_table) {
+            let parent = _table.parent();
+            parent.find('[if-edit-mode]').remove();
+            $(_table).find('tbody>tr').each(function() {
+                if ($(this).find('>td').length > 1) {
+                    let newD = $('<div class="mb-2"/>');
+                    $('<p class=""/>').html($(this).find('td:eq(1)').html()).appendTo(newD);
+                    $('<p class="pl-3 remove-if-empty-parent"/>').append('<b class="text-secondary">Subjective:</b>').append('<div class="d-inline-block pl-2 remove-if-empty">' + $(this).find('td:eq(2)').html() + '</div>').appendTo(newD);
+                    $('<p class="pl-3 remove-if-empty-parent"/>').append('<b class="text-secondary">Plan:</b>').append('<div class="d-inline-block pl-2 remove-if-empty">' + $(this).find('td:eq(3)').html() + '</div>').appendTo(newD);
+                    newD.appendTo(parent)
+                    newD.find('.text-sm.text-secondary, [if-edit-mode], i.fa').remove();
+                    newD.find('[if-read-mode]').show().addClass('d-inline-block');
+                    newD.find('.bg-warning-mellow.p-2.rounded').removeClass('bg-warning-mellow p-2 rounded');
+                    newD.find('.inline-html-container+.text-sm').remove();
+                    newD.find('.remove-if-empty').each(function() {
+                        if (isEmpty($(this))) {
+                            $(this).closest('.remove-if-empty-parent').remove();
+                        }
+                    });
+                }
+            });
+            $(_table).remove();
+        }
+
+        function convertCageTableToSimpleParas(_table, _label = 'Subjective') {
+            let parent = _table.parent();
+            parent.find('[if-edit-mode]').remove();
+            $(_table).find('tbody>tr').each(function() {
+                if ($(this).find('>td').length > 1) {
+                    let newD = $('<div class="mb-2"/>');
+                    $('<p class=""/>').html($(this).find('td:eq(1)').html()).appendTo(newD);
+                    $('<p class="pl-3 remove-if-empty-parent"/>').append('<b class="text-secondary">' + _label + ':</b>').append('<div class="d-inline-block pl-2 remove-if-empty">' + $(this).find('td:eq(2)').html() + '</div>').appendTo(newD);
+                    newD.appendTo(parent)
+                    newD.find('.text-sm.text-secondary, [if-edit-mode], i.fa').remove();
+                    newD.find('[if-read-mode]').show().addClass('d-inline-block');
+                    newD.find('.bg-warning-mellow.p-2.rounded').removeClass('bg-warning-mellow p-2 rounded');
+                    newD.find('.grow-till-300px').removeClass('grow-till-300px');
+                    // newD.find('.text-sm.text-info').remove();
+                    newD.find('.inline-html-container+.text-sm').remove();
+                    newD.find('.remove-if-empty').each(function() {
+                        if (isEmpty($(this))) {
+                            $(this).closest('.remove-if-empty-parent').remove();
+                        }
+                    });
+                }
+            });
+            $(_table).remove();
+        }
+
+        function convertNEBTables(_table) {
+            let parent = _table.parent();
+            parent.find('[if-edit-mode]').remove();
+            $(_table).find('tbody>tr').each(function() {
+                if (!isEmpty($(this).find('td:eq(1)')) || !isEmpty($(this).find('td:eq(2)'))) {
+                    let newD = $('<div class="mb-2"/>');
+                    $('<p class=""/>').html($(this).find('td:eq(0)').html())
+                        .append($('<p class="remove-if-empty-parent"/>').append('<b class="text-secondary">Current:</b>').append('<div class="d-inline-block pl-2 remove-if-empty">' + $(this).find('td:eq(1)').html() + '</div>'))
+                        .append($('<p class="remove-if-empty-parent"/>').append('<b class="text-secondary">Plan:</b>').append('<div class="d-inline-block pl-2 remove-if-empty">' + $(this).find('td:eq(2)').html() + '</div>'))
+                        .appendTo(newD);
+                    newD.appendTo(parent)
+                    newD.find('.text-sm.text-secondary, [if-edit-mode], i.fa').remove();
+                    newD.find('[if-read-mode]').show().addClass('d-inline-block');
+                    newD.find('.bg-warning-mellow.p-2.rounded').removeClass('bg-warning-mellow p-2 rounded');
+                    newD.find('.inline-html-container+.text-sm').remove();
+                    newD.find('.remove-if-empty').each(function() {
+                        if (isEmpty($(this))) {
+                            $(this).closest('.remove-if-empty-parent').remove();
+                        }
+                    });
+                }
+            });
+            $(_table).remove();
+        }
+    });
+</script>

+ 24 - 0
resources/views/app/patient/note/print/print-v2.blade.php

@@ -0,0 +1,24 @@
+<?php
+/** @var App\Models\Note $note */
+/** @var App\Models\Pro $pro */
+/** @var App\Models\Section $section */
+/** @var $allSections */
+?>
+@extends ('layouts.print-note-v2')
+
+@section('content')
+
+    <div class="note-print print-width">
+
+        <div class="card mb-0 {{ $note->is_cancelled ? 'cancelled-item' : '' }} border-0 rounded-0">
+
+            <div class="card-body p-0">
+                <div class="note_template_{{$note->visitTemplate ? $note->visitTemplate->internal_name : ''}}">
+                    @include('app.patient.note.note-segment-list-print-v2')
+                </div>
+            </div>
+        </div>
+
+    </div>
+
+@endsection

+ 51 - 64
resources/views/layouts/print-note-depricated.blade.php → resources/views/layouts/print-note-v2.blade.php

@@ -31,6 +31,10 @@
 
     <script src="/js/jquery-3.5.1.min.js"></script>
     <style>
+        html { 
+            -webkit-print-color-adjust: exact;
+            height: auto; 
+        }
         /** Define the margins of your page **/
         @page {
             size: letter portrait;
@@ -63,6 +67,9 @@
             {
                 display: none !important;
             }
+            div {
+                line-height: 1em;
+            }
         }
     </style>
 </head>
@@ -85,16 +92,50 @@
 
 <div style="margin: 0; padding: 1rem; font-family: serif" contenteditable="true">
     <!-- header/smg info -->
-    <div style="text-align: right; margin-bottom: 1.5rem; font-family: sans-serif">
-        <div style="margin-bottom: 3px; font-weight:bold; font-size: 14px">Scholar Medical Group</div>
-        <div style="margin-bottom: 3px; font-size: 13px;">133 Rollins Ave, Suite 3</div>
-        <div style="margin-bottom: 3px; font-size: 13px;">Rockville, MD 20852</div>
-        <div style="margin-bottom: 3px; font-size: 13px;">Phone: 202-935-1033</div>
-        <div style="margin-bottom: 3px; font-size: 13px;">NPI# 1639796428</div>
+    <div style="text-align: center; margin-bottom: 1.5rem; font-family: sans-serif">
+        <div style="margin-bottom: 3px; font-weight:bold; font-size: 43px;line-height:40px;">Scholar Medical Group</div>
+        @if($patient->mcp)
+            <div style="margin-bottom: 3px; font-size: 16px;font-weight:bold;">{{ $patient->mcp->displayName() }}</div>
+        @endif
+        <div style="margin-bottom: 3px; font-size: 16px;font-weight:bold;">133 Rollins Ave, Suite 3 Rockville, MD 20852</div>
+        <div style="margin-bottom: 3px; font-size: 16px;font-weight:bold;">
+            <div style="width:auto;margin-right:10px; display:inline-block">Phone: 202-935-1033</div> 
+            <div style="width:auto;margin-right:10px; display:inline-block">NPI#: 1639796428</div>
+        </div>
+    </div>
+
+    <div style="margin-bottom: 0; font-family: sans-serif">
+        <div>
+            <div style="display:inline-block; margin-bottom: 3px; font-size: 18px;font-weight:bold;">{{ $patient->displayName() }}</div>
+            <div style="display:inline-block;font-size:16px;">DOB: {{friendly_date_time($patient->dob, false,null,true)}}</div>
+            <div style="display: inline-block;font-size:16px;margin-left:7px;">{{$patient->age_in_years}} year old,</div>
+            <div style="display: inline-block;font-size:16px;margin-left:0px;">{{$patient->sex}}</div>
+        </div>
+        <div style="display: inline-block;font-size:16px;margin-bottom:3px;">{{@$patient->mailing_address_line1 ? $patient->mailing_address_line1 : ''}}</div>
+        <div style="font-size:16px;margin-bottom:3px;">
+            {{@$patient->mailing_address_city ? $patient->mailing_address_city : ''}}
+            {{@$patient->mailing_address_state ? $patient->mailing_address_state : ''}}
+            {{@$patient->mailing_address_zip ? $patient->mailing_address_zip : ''}}
+        </div>
+        <div style="font-size:16px;margin-bottom:3px;">
+            @if($patient->phone_home)
+                <div style="display: inline-block;margin-right:10px;font-size:16px;">Home Phone: {{$patient->phone_home}}</div>
+            @endif
+            @if($patient->cell_number)
+                <div style="display: inline-block;margin-right:10px;font-size:16px;">Cell Phone: {{$patient->cell_number}}</div>
+            @endif
+            @if($patient->email_address)
+                <div style="display: inline-block;margin-right:10px;font-size:16px;">Email: {{$patient->email_address}}</div>
+            @endif
+        </div>
+    </div>
+    <div style="margin-bottom: 0; font-family: sans-serif">
+        <div style="text-align: right;font-size:16px;line-height: 22px;">Visit Date: {{friendly_date($note->effective_dateest)}}</div>
     </div>
 
     <!-- header grey bar -->
-    <table style="background-color: #d9d9d9; border: 0; width: 100%; font-family: sans-serif" border="0">
+    @if(false)
+    <table style="background-color: #d9d9d9; border: 1px solid #d9d9d9; width: 100%; font-family: sans-serif" border="0">
         <tr>
             <td style="width: 50%; text-align: left; font-weight:bold; padding: 0.5rem 1rem;">Tele-Audio Visit</td>
             <td style="width: 50%; text-align: right; font-weight:bold; padding: 0.5rem 1rem;">
@@ -109,63 +150,9 @@
             </td>
         </tr>
     </table>
+    @endif
 
-    <!-- patient info -->
-    <div style="padding: 1rem; border-bottom: 1px solid #ddd;">
-        <div style="font-size: 18px; font-weight:bold; padding-bottom: 0.75rem; font-family: sans-serif">
-            {{implode(', ', array_filter([$patient->name_last, $patient->name_first]))}}
-        </div>
-        <table style="border: 0; width: 100%; border: 0" border="0" cellspacing="0" cellpadding="0">
-            <tr>
-                <td style="width: 60%; text-align: left;">
-                    <table style="border: 0; width: 100%;" border="0" cellspacing="0" cellpadding="0">
-                        <tr>
-                            <td style="padding-bottom: 0.75rem; vertical-align: top" width="100px">Address:</td>
-                            <td style="padding-bottom: 0.75rem; vertical-align: top">{{@$patient->mailing_address_line1 ? $patient->mailing_address_line1 : ''}}</td>
-                        </tr>
-                        <tr>
-                            <td style="padding-bottom: 0.75rem; vertical-align: top" width="100px"></td>
-                            <td style="padding-bottom: 0.75rem; vertical-align: top">
-                                {{@$patient->mailing_address_city ? $patient->mailing_address_city : ''}}
-                                {{@$patient->mailing_address_state ? $patient->mailing_address_state : ''}}
-                                {{@$patient->mailing_address_zip ? $patient->mailing_address_zip : ''}}
-                            </td>
-                        </tr>
-                        <tr>
-                            <td style="padding-bottom: 0.75rem; vertical-align: top" width="100px">Gender:</td>
-                            <td style="padding-bottom: 0.75rem; vertical-align: top">{{$patient->sex}}</td>
-                        </tr>
-                        <tr>
-                            <td style="vertical-align: top" width="100px">Visited on:</td>
-                            <td style="vertical-align: top">{{friendly_date($note->effective_dateest)}}</td>
-                        </tr>
-                    </table>
-                </td>
-                <td style="width: 40%; text-align: left;">
-                    <table style="border: 0; width: 100%;" border="0" cellspacing="0" cellpadding="0">
-                        <tr>
-                            <td style="padding-bottom: 0.75rem; vertical-align: top" width="150px">Birth Date (Age):</td>
-                            <td style="padding-bottom: 0.75rem; vertical-align: top">{{friendly_date_time($patient->dob, false,null,true)}} ({{$patient->age_in_years}} Y)</td>
-                        </tr>
-                        <tr>
-                            <td style="padding-bottom: 0.75rem; vertical-align: top" width="150px">Home Phone:</td>
-                            <td style="padding-bottom: 0.75rem; vertical-align: top">{{$patient->phone_home}}</td>
-                        </tr>
-                        <tr>
-                            <td style="padding-bottom: 0.75rem; vertical-align: top" width="150px">Cell Phone:</td>
-                            <td style="padding-bottom: 0.75rem; vertical-align: top">{{$patient->cell_number}}</td>
-                        </tr>
-                        <tr>
-                            <td style="vertical-align: top" width="150px">Email:</td>
-                            <td style="vertical-align: top">{{$patient->email_address}}</td>
-                        </tr>
-                    </table>
-                </td>
-            </tr>
-        </table>
-    </div>
-
-    <main role="main" class="stag-content px-0 mcp-theme-1 py-3">
+    <main role="main" class="stag-content px-0 mcp-theme-1">
         @yield('content')
 
     </main><!-- /.container -->
@@ -230,7 +217,7 @@
             </table>
         @endif
     </div>
-    <div class="no00-print" style="padding-top: 1rem; text-align: center"><a id="save_btn" href="#">Save</a></div>
+    <div class="no-print" style="padding-top: 1rem; text-align: center"><a id="save_btn" href="#">Save</a></div>
     <div style="padding-top: 2rem; text-align: center">********</div>
 </div>
 <script>

+ 61 - 39
resources/views/layouts/print-note.blade.php

@@ -85,45 +85,12 @@
 
 <div style="margin: 0; padding: 1rem; font-family: serif" contenteditable="true">
     <!-- header/smg info -->
-    <div style="text-align: center; margin-bottom: 1.5rem; font-family: sans-serif">
-        <div style="margin-bottom: 3px; font-weight:bold; font-size: 43px;line-height:40px;">Scholar Medical Group</div>
-        @if($patient->mcp)
-            <div style="margin-bottom: 3px; font-size: 16px;font-weight:bold;">{{ $patient->mcp->displayName() }}</div>
-        @endif
-        <div style="margin-bottom: 3px; font-size: 16px;font-weight:bold;">133 Rollins Ave, Suite 3 Rockville, MD 20852</div>
-        <div style="margin-bottom: 3px; font-size: 16px;font-weight:bold;">
-            <div style="width:auto;margin-right:10px; display:inline-block">Phone: 202-935-1033</div> 
-            <div style="width:auto;margin-right:10px; display:inline-block">NPI#: 1639796428</div>
-        </div>
-    </div>
-
-    <div style="margin-bottom: 0; font-family: sans-serif">
-        <div>
-            <div style="display:inline-block; margin-bottom: 3px; font-size: 18px;font-weight:bold;">{{ $patient->displayName() }}</div>
-            <div style="display:inline-block;font-size:16px;">DOB: {{friendly_date_time($patient->dob, false,null,true)}}</div>
-            <div style="display: inline-block;font-size:16px;margin-left:7px;">{{$patient->age_in_years}} year old,</div>
-            <div style="display: inline-block;font-size:16px;margin-left:0px;">{{$patient->sex}}</div>
-        </div>
-        <div style="display: inline-block;font-size:16px;margin-bottom:3px;">{{@$patient->mailing_address_line1 ? $patient->mailing_address_line1 : ''}}</div>
-        <div style="font-size:16px;margin-bottom:3px;">
-            {{@$patient->mailing_address_city ? $patient->mailing_address_city : ''}}
-            {{@$patient->mailing_address_state ? $patient->mailing_address_state : ''}}
-            {{@$patient->mailing_address_zip ? $patient->mailing_address_zip : ''}}
-        </div>
-        <div style="font-size:16px;margin-bottom:3px;">
-            @if($patient->phone_home)
-                <div style="display: inline-block;margin-right:10px;font-size:16px;">Home Phone: {{$patient->phone_home}}</div>
-            @endif
-            @if($patient->cell_number)
-                <div style="display: inline-block;margin-right:10px;font-size:16px;">Cell Phone: {{$patient->cell_number}}</div>
-            @endif
-            @if($patient->email_address)
-                <div style="display: inline-block;margin-right:10px;font-size:16px;">Email: {{$patient->email_address}}</div>
-            @endif
-        </div>
-    </div>
-    <div style="margin-bottom: 0; font-family: sans-serif">
-        <div style="text-align: right;font-size:16px;line-height: 22px;">Visit Date: {{friendly_date($note->effective_dateest)}}</div>
+    <div style="text-align: right; margin-bottom: 1.5rem; font-family: sans-serif">
+        <div style="margin-bottom: 3px; font-weight:bold; font-size: 14px">Scholar Medical Group</div>
+        <div style="margin-bottom: 3px; font-size: 13px;">133 Rollins Ave, Suite 3</div>
+        <div style="margin-bottom: 3px; font-size: 13px;">Rockville, MD 20852</div>
+        <div style="margin-bottom: 3px; font-size: 13px;">Phone: 202-935-1033</div>
+        <div style="margin-bottom: 3px; font-size: 13px;">NPI# 1639796428</div>
     </div>
 
     <!-- header grey bar -->
@@ -143,6 +110,61 @@
         </tr>
     </table>
 
+    <!-- patient info -->
+    <div style="padding: 1rem; border-bottom: 1px solid #ddd;">
+        <div style="font-size: 18px; font-weight:bold; padding-bottom: 0.75rem; font-family: sans-serif">
+            {{implode(', ', array_filter([$patient->name_last, $patient->name_first]))}}
+        </div>
+        <table style="border: 0; width: 100%; border: 0" border="0" cellspacing="0" cellpadding="0">
+            <tr>
+                <td style="width: 60%; text-align: left;">
+                    <table style="border: 0; width: 100%;" border="0" cellspacing="0" cellpadding="0">
+                        <tr>
+                            <td style="padding-bottom: 0.75rem; vertical-align: top" width="100px">Address:</td>
+                            <td style="padding-bottom: 0.75rem; vertical-align: top">{{@$patient->mailing_address_line1 ? $patient->mailing_address_line1 : ''}}</td>
+                        </tr>
+                        <tr>
+                            <td style="padding-bottom: 0.75rem; vertical-align: top" width="100px"></td>
+                            <td style="padding-bottom: 0.75rem; vertical-align: top">
+                                {{@$patient->mailing_address_city ? $patient->mailing_address_city : ''}}
+                                {{@$patient->mailing_address_state ? $patient->mailing_address_state : ''}}
+                                {{@$patient->mailing_address_zip ? $patient->mailing_address_zip : ''}}
+                            </td>
+                        </tr>
+                        <tr>
+                            <td style="padding-bottom: 0.75rem; vertical-align: top" width="100px">Gender:</td>
+                            <td style="padding-bottom: 0.75rem; vertical-align: top">{{$patient->sex}}</td>
+                        </tr>
+                        <tr>
+                            <td style="vertical-align: top" width="100px">Visited on:</td>
+                            <td style="vertical-align: top">{{friendly_date($note->effective_dateest)}}</td>
+                        </tr>
+                    </table>
+                </td>
+                <td style="width: 40%; text-align: left;">
+                    <table style="border: 0; width: 100%;" border="0" cellspacing="0" cellpadding="0">
+                        <tr>
+                            <td style="padding-bottom: 0.75rem; vertical-align: top" width="150px">Birth Date (Age):</td>
+                            <td style="padding-bottom: 0.75rem; vertical-align: top">{{friendly_date_time($patient->dob, false,null,true)}} ({{$patient->age_in_years}} Y)</td>
+                        </tr>
+                        <tr>
+                            <td style="padding-bottom: 0.75rem; vertical-align: top" width="150px">Home Phone:</td>
+                            <td style="padding-bottom: 0.75rem; vertical-align: top">{{$patient->phone_home}}</td>
+                        </tr>
+                        <tr>
+                            <td style="padding-bottom: 0.75rem; vertical-align: top" width="150px">Cell Phone:</td>
+                            <td style="padding-bottom: 0.75rem; vertical-align: top">{{$patient->cell_number}}</td>
+                        </tr>
+                        <tr>
+                            <td style="vertical-align: top" width="150px">Email:</td>
+                            <td style="vertical-align: top">{{$patient->email_address}}</td>
+                        </tr>
+                    </table>
+                </td>
+            </tr>
+        </table>
+    </div>
+
     <main role="main" class="stag-content px-0 mcp-theme-1 py-3">
         @yield('content')
 

+ 1 - 0
routes/web.php

@@ -798,6 +798,7 @@ Route::middleware('pro.auth')->group(function () {
     Route::get('/search-facility/json', 'HomeController@facilitySuggestJSON')->name('facilitySuggestJSON');
 
     Route::get('print-note/{patient}/{note}', 'NoteController@print')->name('print-note');
+    Route::get('print-note-v2/{patient}/{note}', 'NoteController@printV2')->name('print-note-v2');
     Route::get('resolve-note/{patient}/{note}', 'NoteController@resolve')->name('resolve-note');
 
 });