FDBPGController.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use Illuminate\Support\Facades\DB;
  5. class FDBPGController extends Controller
  6. {
  7. public function index(Request $request)
  8. {
  9. return view('app.fdb-pg.index');
  10. }
  11. public function medSuggest(Request $request)
  12. {
  13. $term = $request->input('term') ? trim($request->input('term')) : '';
  14. if (empty($term)) return '';
  15. $matches = DB::connection('pgsql_fdb')->select(
  16. "SELECT med_name_id, med_name FROM rminmid1_med_name WHERE med_status_cd = '0' AND med_name ILIKE :term ORDER BY med_name",
  17. ['term' => '%' . $term . '%']
  18. );
  19. return view('app.fdb-pg.fdb-med-suggest', compact('matches'));
  20. }
  21. public function routedMeds(Request $request)
  22. {
  23. $medNameID = $request->input('med-name-id') ? trim($request->input('med-name-id')) : '';
  24. if (empty($medNameID)) return '';
  25. $matches = DB::connection('pgsql_fdb')->select(
  26. "SELECT routed_med_id, med_routed_med_id_desc FROM rmirmid1_routed_med WHERE med_status_cd = '0' AND med_name_id = :medNameID ORDER BY med_routed_med_id_desc",
  27. ['medNameID' => $medNameID]
  28. );
  29. return json_encode($matches);
  30. }
  31. public function routedDosages(Request $request)
  32. {
  33. $routedMedID = $request->input('routed-med-id') ? trim($request->input('routed-med-id')) : '';
  34. if (empty($routedMedID)) return '';
  35. $matches = DB::connection('pgsql_fdb')->select(
  36. "SELECT routed_dosage_form_med_id, med_routed_df_med_id_desc FROM rmidfid1_routed_dose_form_med WHERE med_status_cd = '0' AND routed_med_id = :routedMedID ORDER BY med_routed_df_med_id_desc",
  37. ['routedMedID' => $routedMedID]
  38. );
  39. return json_encode($matches);
  40. }
  41. public function meds(Request $request)
  42. {
  43. $dosageFormMedId = $request->input('dosage-form-med-id') ? trim($request->input('dosage-form-med-id')) : '';
  44. if (empty($dosageFormMedId)) return '';
  45. $matches = DB::connection('pgsql_fdb')->select(
  46. "SELECT medid, med_medid_desc, gcn_seqno FROM rmiid1_med WHERE med_status_cd = '0' AND routed_dosage_form_med_id = :dosageFormMedId ORDER BY med_medid_desc",
  47. ['dosageFormMedId' => $dosageFormMedId]
  48. );
  49. return json_encode($matches);
  50. }
  51. public function sideEffects(Request $request)
  52. {
  53. $gcnSeqNo = $request->input('gcn-seq-no') ? trim($request->input('gcn-seq-no')) : '';
  54. if (empty($gcnSeqNo)) return '';
  55. $sides = DB::connection('pgsql_fdb')->select("
  56. SELECT r1.side, sm.side_freq, sm.side_sev, sm.dxid, dx.dxid_desc56
  57. FROM rsidegc0_gcnseqno_link r1
  58. JOIN rsidema3_mstr sm ON r1.side = sm.side
  59. JOIN rfmldx0_dxid dx ON sm.dxid = dx.dxid
  60. WHERE r1.gcn_seqno = :gcnSeqNo
  61. ORDER BY sm.side_sev DESC, sm.side_freq ASC
  62. ",
  63. ['gcnSeqNo' => $gcnSeqNo]
  64. );
  65. return view('app.fdb-pg.fdb-side-effects', compact('sides'));
  66. }
  67. public function geriatricPrecautions(Request $request)
  68. {
  69. $gcnSeqNo = $request->input('gcn-seq-no') ? trim($request->input('gcn-seq-no')) : '';
  70. if (empty($gcnSeqNo)) return '';
  71. $precautions = DB::connection('pgsql_fdb')->select("
  72. SELECT r1.geri_code, gm.geri_sl, gm.geri_desc, gm.geri_narrative
  73. FROM rgerigc0_geri_gcnseqno_link r1
  74. JOIN rgerima1_geri_mstr gm ON r1.geri_code = gm.geri_code
  75. WHERE r1.gcn_seqno = :gcnSeqNo
  76. ORDER BY gm.geri_desc
  77. ",
  78. ['gcnSeqNo' => $gcnSeqNo]
  79. );
  80. return view('app.fdb-pg.fdb-geriatric-precautions', compact('precautions'));
  81. }
  82. public function indications(Request $request)
  83. {
  84. $gcnSeqNo = $request->input('gcn-seq-no') ? trim($request->input('gcn-seq-no')) : '';
  85. if (empty($gcnSeqNo)) return '';
  86. $indications = DB::connection('pgsql_fdb')->select("
  87. SELECT r1.indcts, r2.indcts_sn, r2.indcts_lbl, r2.dxid, r2.proxy_ind, r3.dxid_desc56
  88. FROM rindmgc0_indcts_gcnseqno_link r1
  89. JOIN rindmma2_indcts_mstr r2 ON r1.indcts = r2.indcts
  90. JOIN rfmldx0_dxid r3 ON r2.dxid = r3.dxid
  91. WHERE r1.gcn_seqno = :gcnSeqNo
  92. ORDER BY r3.dxid_desc56
  93. ",
  94. ['gcnSeqNo' => $gcnSeqNo]
  95. );
  96. return view('app.fdb-pg.fdb-indications', compact('indications'));
  97. }
  98. public function contraindications(Request $request)
  99. {
  100. $routedMedID = $request->input('routed-med-id') ? trim($request->input('routed-med-id')) : '';
  101. if (empty($routedMedID)) return '';
  102. $contraindications = DB::connection('pgsql_fdb')->select("
  103. SELECT r1.ddxcn, r2.dxid, r2.ddxcn_sl, r3.dxid_desc56
  104. FROM rddcmrm0_routed_med_link r1
  105. JOIN rddcmma1_contra_mstr r2 ON r1.ddxcn = r2.ddxcn
  106. JOIN rfmldx0_dxid r3 ON r2.dxid = r3.dxid
  107. WHERE r1.routed_med_id = :routedMedID
  108. ORDER BY r2.ddxcn_sl
  109. ",
  110. ['routedMedID' => $routedMedID]
  111. );
  112. return view('app.fdb-pg.fdb-contraindications', compact('contraindications'));
  113. }
  114. }