Browse Source

added debit bills

= 3 years ago
parent
commit
102da0e5ce

+ 33 - 11
app/Http/Controllers/FDBPGController.php

@@ -82,8 +82,8 @@ class FDBPGController extends Controller
         $gcnSeqNo = $request->input('gcn-seq-no') ? trim($request->input('gcn-seq-no')) : '';
         if (empty($gcnSeqNo)) return '';
         $sides = DB::connection('pgsql_fdb')->select("
-SELECT r1.side, sm.side_freq, sm.side_sev, sm.dxid, dx.dxid_desc56 
-FROM rsidegc0_gcnseqno_link r1 
+SELECT r1.side, sm.side_freq, sm.side_sev, sm.dxid, dx.dxid_desc56
+FROM rsidegc0_gcnseqno_link r1
     JOIN rsidema3_mstr sm ON r1.side = sm.side
     JOIN rfmldx0_dxid dx ON sm.dxid = dx.dxid
 WHERE r1.gcn_seqno = :gcnSeqNo
@@ -101,7 +101,7 @@ ORDER BY sm.side_sev DESC, sm.side_freq ASC
         if (empty($gcnSeqNo)) return '';
         $precautions = DB::connection('pgsql_fdb')->select("
 SELECT r1.geri_code, gm.geri_sl, gm.geri_desc, gm.geri_narrative
-FROM rgerigc0_geri_gcnseqno_link r1 
+FROM rgerigc0_geri_gcnseqno_link r1
     JOIN rgerima1_geri_mstr gm ON r1.geri_code = gm.geri_code
 WHERE r1.gcn_seqno = :gcnSeqNo
 ORDER BY gm.geri_desc
@@ -118,7 +118,7 @@ ORDER BY gm.geri_desc
         if (empty($gcnSeqNo)) return '';
         $indications = DB::connection('pgsql_fdb')->select("
 SELECT r1.indcts, r2.indcts_sn, r2.indcts_lbl, r2.dxid, r2.proxy_ind, r3.dxid_desc56
-FROM rindmgc0_indcts_gcnseqno_link r1 
+FROM rindmgc0_indcts_gcnseqno_link r1
     JOIN rindmma2_indcts_mstr r2 ON r1.indcts = r2.indcts
     JOIN rfmldx0_dxid r3 ON r2.dxid = r3.dxid
 WHERE r1.gcn_seqno = :gcnSeqNo
@@ -136,7 +136,7 @@ ORDER BY r3.dxid_desc56
         if (empty($routedMedID)) return '';
         $contraindications = DB::connection('pgsql_fdb')->select("
 SELECT r1.ddxcn, r2.dxid, r2.ddxcn_sl, r3.dxid_desc56
-FROM rddcmrm0_routed_med_link r1 
+FROM rddcmrm0_routed_med_link r1
     JOIN rddcmma1_contra_mstr r2 ON r1.ddxcn = r2.ddxcn
     JOIN rfmldx0_dxid r3 ON r2.dxid = r3.dxid
 WHERE r1.routed_med_id = :routedMedID
@@ -153,7 +153,7 @@ ORDER BY r2.ddxcn_sl
         $term = $request->input('term') ? trim($request->input('term')) : '';
         if (empty($term)) return '';
         $matches = DB::connection('pgsql_fdb')->select("
-SELECT distinct(r1.dxid), r1.dxid_desc56 
+SELECT distinct(r1.dxid), r1.dxid_desc56
 FROM rfmldx0_dxid r1
 JOIN rfmlsyn0_dxid_syn r2 ON r1.dxid = r2.dxid
 WHERE (r1.dxid_desc56 ILIKE :term OR r1.dxid_desc100 ILIKE :term OR r2.dxid_syn_desc56 ILIKE :term OR r2.dxid_syn_desc100 ILIKE :term)
@@ -164,6 +164,28 @@ ORDER BY r1.dxid_desc56
         return view('app.fdb-pg.fdb-dx-suggest', compact('matches'));
     }
 
+    public function dxSuggestJSON(Request $request)
+    {
+        $term = $request->input('term') ? trim($request->input('term')) : '';
+        //sample
+        $matches = [
+             ['icd' => '384',  "text" =>"juvenile diabetes"],
+             ['icd' => '387',  "text" =>"insulin-dependent DM"],
+             ['icd' => '388',  "text" =>"insulin-dependent diabetes mellitus"],
+             ['icd' => '389',  "text" =>"ketosis-prone diabetes mellitus"],
+             ['icd' => '390',  "text" =>"ketosis-prone diabetes"],
+             ['icd' => '391',  "text" =>"juvenile-onset diabetes"],
+             ['icd' => '392',  "text" =>"juvenile-onset diabetes mellitus"],
+             ['icd' => '393',  "text" =>"juvenile onset DM"],
+             ['icd' => '394',  "text" =>"type I diabetes mellitus"],
+             ['icd' => '395',  "text" =>"diabetes mellitus type"],
+             ['icd' => '396',  "text" =>"ketosis-prone DM"],
+           ['icd' => '58331',  "text" =>"insulin dependent diabetes mellitus"],
+           ['icd' => '58407',  "text" =>"immune mediated diabetes mellitus"],
+        ];
+        return response()->json(['success'=>true, 'data'=>$matches]);
+    }
+
     // allergy suggest
     public function allergySuggest(Request $request)
     {
@@ -497,7 +519,7 @@ INTERSECT
             $ddiCodexArray = [];
             $query = DB::connection('pgsql_fdb')->select("
     SELECT r1.ddi_codex
-    FROM RADIMGC4_GCNSEQNO_LINK r1 
+    FROM RADIMGC4_GCNSEQNO_LINK r1
     WHERE r1.gcn_seqno = :gcnSeqNo
                 ",
                 ['gcnSeqNo' => $_gcnSeqNo]
@@ -529,7 +551,7 @@ INTERSECT
             $ddiCodexArray = [];
             $query = DB::connection('pgsql_fdb')->select("
     SELECT distinct r1.ddi_codex
-    FROM RDDIMIN0_NDC_INACTV_DDIM_LINK r1 
+    FROM RDDIMIN0_NDC_INACTV_DDIM_LINK r1
     WHERE r1.ddi_ndc IN (" . implode(',', array_map(function($_x) {return "'" . $_x . "'";}, $_ndc)) . ")
                 "
             );
@@ -546,7 +568,7 @@ INTERSECT
         if(count($_ddiCodexArray)) {
             $ddiCodexMonoxPairsArray = DB::connection('pgsql_fdb')->select("
 SELECT r1.ddi_codex, r1.ddi_monox
-FROM RADIMMA5_MSTR r1 
+FROM RADIMMA5_MSTR r1
 WHERE r1.ddi_codex IN (" . implode(',', array_map(function($_x) {return "'" . $_x . "'";}, $_ddiCodexArray)) . ")
             "
             );
@@ -562,7 +584,7 @@ WHERE r1.ddi_codex IN (" . implode(',', array_map(function($_x) {return "'" . $_
 
         $coadministration = DB::connection('pgsql_fdb')->select("
 SELECT distinct r1.coadmin_dosing_text
-FROM radige0_ddi_gcnseqno_except r1 
+FROM radige0_ddi_gcnseqno_except r1
 WHERE r1.side_a_gcn_seqno in ($gcnSeqnos) AND r1.side_b_gcn_seqno in ($gcnSeqnos)
             "
         );
@@ -624,7 +646,7 @@ WHERE r1.side_a_gcn_seqno in ($gcnSeqnos) AND r1.side_b_gcn_seqno in ($gcnSeqnos
         private function getDptClassFromGcnSeqNo($_gcnSeqNo) {
             return DB::connection('pgsql_fdb')->select("
     SELECT distinct r1.dpt_class_id, r2.dpt_allowance, r2.dpt_class_desc
-    FROM RDPTGC0_GCNSEQNO_LINK r1 
+    FROM RDPTGC0_GCNSEQNO_LINK r1
     JOIN RDPTCL0_CLASS_ID r2 on r1.dpt_class_id = r2.dpt_class_id
     WHERE r1.gcn_seqno = :gcnSeqNo
                 ",

+ 5 - 0
app/Models/Pro.php

@@ -33,6 +33,11 @@ class Pro extends Model
         return strtolower(implode("", $characters));
     }
 
+    public function debitBills()
+    {
+        return $this->hasMany(Bill::class, 'debit_pro_id');
+    }
+
     public function cmBills()
     {
         return $this->hasMany(Bill::class, 'cm_pro_id');

+ 7 - 5
resources/views/app/patient/segment-templates/intake_problems/edit.blade.php

@@ -68,16 +68,18 @@ $problems = Point::getIntakePointsOfCategory($patient, 'PROBLEM', $note);
 
             <p class="mb-2"><b>Add Problem (on intake)</b></p>
 
+            <div class="mb-2">
+                <label class="text-sm text-secondary mb-1">Name</label>
+                <input type="text" data-name="name" class="form-control form-control-sm"
+                       stag-suggest
+                       stag-suggest-ep="/fdb-dx-suggest/json">
+            </div>
+
 			<div class="mb-2">
                 <label class="text-sm text-secondary mb-1">ICD</label>
                 <input type="text" data-name="icd" class="form-control form-control-sm">
             </div>
 
-            <div class="mb-2">
-                <label class="text-sm text-secondary mb-1">Name</label>
-                <input type="text" data-name="name" class="form-control form-control-sm">
-            </div>
-			
             <div class="mb-2">
                 <label class="text-sm text-secondary mb-1">Description</label>
                 <input type="text" data-name="description" class="form-control form-control-sm">

+ 97 - 3
resources/views/app/practice-management/pro-financials.blade.php

@@ -29,7 +29,8 @@
                     <tr>
                         <th>Pro</th>
                         <th>Balance Owed</th>
-                        <th class="w-75">Recent Debits</th>
+                        <th class="w-50">Recent Debits</th>
+                        <th class="w-50">Debit Bills</th>
                     </tr>
                     </thead>
                     <tbody>
@@ -51,12 +52,105 @@
                             <td>
                                 @foreach($row->recentDebits() as $debit)
                                     <div class="d-flex align-items-center mb-1">
-                                        <span class="width-90px">{{'$' . $debit->amount}}</span>
-                                        <span class="text-secondary width-90px">{{friendly_date_time($debit->created_at, false)}}</span>
+                                        <span class="">{{'$' . $debit->amount}}</span>
+                                        <span class="text-secondary">{{friendly_date_time($debit->created_at, false)}}</span>
                                         <span class="text-secondary">{{$debit->company ? $debit->company->name : ''}}</span>
                                     </div>
                                 @endforeach
                             </td>
+                            <td>
+                                <div>
+  
+                                    <div moe class="ml-1" relative>
+                                        <a class="text-danger" href="" show start>Create debit bill</a>
+                                        <form url="/api/bill/createForDebit" right>
+                                            <div class="form-group">
+                                                <label for="" class="control-label">Company</label>
+                                                <select name="debitCompanyProUid" class="form-control input-sm">
+                                                    <option value="">--select--</option>
+                                                    @foreach($row->companyPros as $companyPro)
+                                                        <option value="{{$companyPro->uid}}">{{$companyPro->company->name}}</option>
+                                                    @endforeach
+                                                </select>
+                                            </div>
+                                            <div class="form-group">
+                                                <label for="" class="control-label">Amount</label>
+                                                <input type="number" step=".01" name="amount" class="input-sm form-control">
+                                            </div>
+                                            <div class="form-group">
+                                                <label for="" class="control-label">Description</label>
+                                                <textarea name="description" class="input-sm form-control"></textarea>
+                                            </div>
+                                            <div class="form-group">
+                                                <label for="" class="control-label">Description Data</label>
+                                                <textarea name="descriptionData" class="input-sm form-control"></textarea>
+                                            </div>
+                                            <div class="form-group">
+                                                <label for="" class="control-label">Effective Date</label>
+                                                <input type="date" name="effectiveDate" class="input-sm form-control">
+                                            </div>
+                                            <div class="mb-0">
+                                                <button class="btn btn-primary btn-sm" submit>Submit</button>
+                                                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+                                            </div>
+                                        </form>
+                                    </div>
+                                    
+                                </div>
+                                <table class="table table-sm">
+                                    <thead>
+                                        <tr>
+                                            <th>Bill Amount</th>
+                                            <th>Debited?</th>
+                                            <th>Paid Amount</th>
+                                            <th></th>
+                                        </tr>
+                                        @foreach($row->debitBills as $debitBill)
+                                        <tr>
+                                            <td>{{$debitBill->debit_pro_expected_amount}}</td>
+                                            <td>{{$debitBill->has_debit_pro_been_debited}}</td>
+                                            <td>{{$debitBill->debit_pro_expected_amount?'Yes':'No'}}</td>
+                                            <td>
+                                                
+                                                <div moe class="ml-1" relative>
+                                                    <a class="text-danger" href="" show start>Debit expected amount</a>
+                                                    <form url="/api/bill/debitDebitProAmount" right>
+                                                        <input type="hidden" name="uid" value="{{$debitBill->uid}}">
+
+                                                        <div class="form-group">
+                                                            <label for="" class="control-label">Amount</label>
+                                                            <input type="number" stype=".01"  name="debitDebitProAmount" class="form-control input-sm">
+                                                        </div>
+                                                        
+                                                        <div class="mb-0">
+                                                            <button class="btn btn-primary btn-sm" submit>Submit</button>
+                                                            <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+                                                        </div>
+                                                    </form>
+                                                </div>
+
+                                                <div moe class="ml-1" relative>
+                                                    <a class="text-danger" href="" show start>Debit different amount</a>
+                                                    <form url="/api/bill/debitDebitProDifferentAmount" right>
+                                                        <input type="hidden" name="uid" value="{{$debitBill->uid}}">
+                                                        
+                                                        <div class="form-group">
+                                                            <label for="" class="control-label">Amount</label>
+                                                            <input type="number" stype=".01"  name="differentDebitProAmount" class="form-control input-sm">
+                                                        </div>
+                                                        
+                                                        <div class="mb-0">
+                                                            <button class="btn btn-primary btn-sm" submit>Submit</button>
+                                                            <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+                                                        </div>
+                                                    </form>
+                                                </div>
+                                            </td>
+                                        </tr>
+                                        @endforeach
+                                    </thead>
+                                </table>       
+                            </td>
                         </tr>
                     @endforeach
                     </tbody>

+ 10 - 9
routes/web.php

@@ -168,26 +168,26 @@ Route::middleware('pro.auth')->group(function () {
         });
         Route::name('statTrees.')->prefix('stat-trees')->group(function () {
             Route::get('', 'StatTreeController@list')->name('list');
-            Route::get('create', 'StatTreeController@createPage')->name('createPage');            
+            Route::get('create', 'StatTreeController@createPage')->name('createPage');
             Route::name('view.')->prefix('view/{statTree}')->group(function () {
                 Route::get('', 'StatTreeController@dashboard')->name('dashboard');
             });
         });
         Route::name('statTreeLines.')->prefix('stat-tree-lines/')->group(function () {
-            Route::get('', 'StatTreeLineController@list')->name('list');            
+            Route::get('', 'StatTreeLineController@list')->name('list');
             Route::name('view.')->prefix('view/{statTreeLine}')->group(function () {
                 Route::get('', 'StatTreeLineController@dashboard')->name('dashboard');
             });
         });
-        
-        
+
+
         // APIs
         Route::name('api.')->group(function () {
             //Clause
             Route::name('clause.')->prefix('clause/')->group(function () {
                 Route::post('replace-all', 'ClauseController@replaceAll')->name('replaceAll');
             });
-        
+
             //Stat Tree
             Route::name('statTree.')->prefix('stat-tree/')->group(function () {
                 Route::post('create', 'StatTreeController@create')->name('create');
@@ -195,13 +195,13 @@ Route::middleware('pro.auth')->group(function () {
                 Route::post('update-basic', 'StatTreeController@updateBasic')->name('updateBasic');
                 Route::post('refresh-count', 'StatTreeController@refreshCount')->name('refreshCount');
                 Route::post('replace-all-lines', 'StatTreeController@replaceAllLines')->name('replaceAllLines');
-                Route::post('refresh-tree-count-queries', 'StatTreeLineController@refreshTreeCountQueries')->name('refreshTreeCountQueries');              
+                Route::post('refresh-tree-count-queries', 'StatTreeLineController@refreshTreeCountQueries')->name('refreshTreeCountQueries');
             });
-        
+
             //Stat Tree Line
             Route::name('statTreeLine.')->prefix('stat-tree-line/')->group(function () {
-                Route::post('replace-all-report-columns', 'StatTreeLineController@replaceAllReportColumns')->name('replaceAllReportColumns'); 
-                Route::post('refresh-count-query', 'StatTreeLineController@refreshCountQuery')->name('refreshCountQuery');                
+                Route::post('replace-all-report-columns', 'StatTreeLineController@replaceAllReportColumns')->name('replaceAllReportColumns');
+                Route::post('refresh-count-query', 'StatTreeLineController@refreshCountQuery')->name('refreshCountQuery');
             });
         });
 
@@ -393,6 +393,7 @@ Route::middleware('pro.auth')->group(function () {
     Route::get('/fdb-indications', 'FDBPGController@indications');
     Route::get('/fdb-contraindications', 'FDBPGController@contraindications');
     Route::get('/fdb-dx-suggest', 'FDBPGController@dxSuggest');
+    Route::get('/fdb-dx-suggest/json', 'FDBPGController@dxSuggestJSON');
     Route::get('/fdb-allergy-suggest', 'FDBPGController@allergySuggest');
     Route::any('/fdb-drug-allergies', 'FDBPGController@drugAllergies');
     Route::any('/fdb-drug-drug-interaction', 'FDBPGController@drugDrugInteraction');