Fee sheet enhancements
[openemr.git] / interface / forms / fee_sheet / review / fee_sheet_ajax.php
blobb4e088a5a2265fd14c47b38f640368c1602d3f79
1 <?php
2 /**
3 * Controller for fee sheet related AJAX requests
4 *
5 * Copyright (C) 2013 Kevin Yeh <kevin.y@integralemr.com> and OEMR <www.oemr.org>
7 * LICENSE: This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 3
10 * of the License, or (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://opensource.org/licenses/gpl-license.php>;.
18 * @package OpenEMR
19 * @author Kevin Yeh <kevin.y@integralemr.com>
20 * @link http://www.open-emr.org
22 $fake_register_globals=false;
23 $sanitize_all_escapes=true;
25 require_once("../../../globals.php");
26 require_once("fee_sheet_queries.php");
27 include_once("$srcdir/jsonwrapper/jsonwrapper.php");
29 if(!acl_check('acct', 'bill'))
31 header("HTTP/1.0 403 Forbidden");
32 echo "Not authorized for billing";
33 return false;
36 if(isset($_REQUEST['pid']))
38 $req_pid=$_REQUEST['pid'];
41 if(isset($_REQUEST['encounter']))
43 $req_encounter=$_REQUEST['encounter'];
45 if(isset($_REQUEST['task']))
47 $task=$_REQUEST['task'];
49 if($task=='retrieve')
51 $retval=array();
52 if($_REQUEST['mode']=='encounters')
54 $encounters=select_encounters($req_pid,$req_encounter);
55 if(isset($_REQUEST['prev_encounter']))
57 $prev_enc=$_REQUEST['prev_encounter'];
59 else
61 if(count($encounters)>0)
63 $prev_enc=$encounters[0]->getID();
66 $issues=array();
67 $procedures=array();
68 fee_sheet_items($req_pid,$prev_enc,$issues,$procedures);
69 $retval['prev_encounter']=$prev_enc;
70 $retval['encounters']=$encounters;
71 $retval['procedures']=$procedures;
73 if($_REQUEST['mode']=='issues')
75 $issues=issue_diagnoses($req_pid,$req_encounter);
77 if($_REQUEST['mode']=='common')
79 $issues=common_diagnoses();
81 $retval['issues']=$issues;
82 echo json_encode($retval);
83 return;
85 if($task=='add_diags')
87 if(isset($_REQUEST['diags']))
89 $json_diags=json_decode($_REQUEST['diags']);
91 $diags=array();
92 foreach($json_diags as $diag)
94 $diags[]=new code_info($diag->{'code'},$diag->{'code_type'},$diag->{'description'});
96 $procs=array();
97 if(isset($_REQUEST['procs']))
99 $json_procs=json_decode($_REQUEST['procs']);
101 foreach($json_procs as $proc)
103 $procs[]=new procedure($proc->{'code'},$proc->{'code_type'},$proc->{'description'},$proc->{'fee'},$proc->{'justify'},$proc->{'modifiers'},$proc->{'units'},0);
105 $database->StartTrans();
106 create_diags($req_pid,$req_encounter,$diags);
107 update_issues($req_pid,$req_encounter,$diags);
108 create_procs($req_pid,$req_encounter,$procs);
109 $database->CompleteTrans();
110 return;