bradymiller wrote on Wednesday, October 26, 2011:
Hi,
Still confused here since the patient_data mysql table also has the following columns:
‘referrer’
‘referrerID’
The above are not included in the demographics layout while the ‘providerID’ sql column is filled by the ‘Provider’ label, which has ‘Referring Provider’ in the details.
A grep (grep is a search method) for referrerID in the codebase, it really isn’t used anywhere.
A grep for providerID in the codebase pulls out a lot of stuff:
/var/www/openemr/contrib/util/import_mi2xml.php: '', // providerID
/var/www/openemr/library/clinical_rules.php: "WHERE providerID=?", array($provider) );
/var/www/openemr/library/amc.php: "WHERE providerID=?", array($provider) );
/var/www/openemr/library/freeb/Procedure.class.php: $pkey = $results->fields['providerID'];
/var/www/openemr/library/patient.inc:function getProviderInfo($providerID = "%", $providers_only = true, $facility = '' ) {
/var/www/openemr/library/patient.inc: if ($providerID == "%") {
/var/www/openemr/library/patient.inc: mysql_real_escape_string($providerID) . "' " . $param1 . $param2;
/var/www/openemr/library/patient.inc:function getCalendarProviderInfo($providerID = "%", $providers_only = true) {
/var/www/openemr/library/patient.inc: if ($providerID == "%") {
/var/www/openemr/library/patient.inc: mysql_real_escape_string($providerID) . "' " . $param1;
/var/www/openemr/library/patient.inc:function getProviderName($providerID) {
/var/www/openemr/library/patient.inc: $pi = getProviderInfo($providerID, 'any');
/var/www/openemr/library/patient.inc:function getPatientLnames($lname = "%", $given = "pid, id, lname, fname, mname, providerID, DATE_FORMAT(DOB,'%m/%d/%Y') as DOB_TS", $orderby = "lname ASC, fname ASC", $limit="all", $start="0")
/var/www/openemr/library/patient.inc:function getPatientId($pid = "%", $given = "pid, id, lname, fname, mname, providerID, DATE_FORMAT(DOB,'%m/%d/%Y') as DOB_TS", $orderby = "lname ASC, fname ASC", $limit="all", $start="0")
/var/www/openemr/library/patient.inc:function getByPatientDemographics($searchTerm = "%", $given = "pid, id, lname, fname, mname, providerID, DATE_FORMAT(DOB,'%m/%d/%Y') as DOB_TS", $orderby = "lname ASC, fname ASC", $limit="all", $start="0")
/var/www/openemr/library/patient.inc: $given = "pid, id, lname, fname, mname, providerID, DATE_FORMAT(DOB,'%m/%d/%Y') as DOB_TS",
/var/www/openemr/library/patient.inc:// orig function getPatientPID($pid = "%", $given = "pid, id, lname, fname, mname, providerID, DATE_FORMAT(DOB,'%m/%d/%Y') as DOB_TS", $orderby = "lname ASC, fname ASC", $limit="all", $start="0")
/var/www/openemr/library/patient.inc: $given = "pid, id, lname, fname, mname, providerID, DATE_FORMAT(DOB,'%m/%d/%Y') as DOB_TS";
/var/www/openemr/library/patient.inc:function getPatientSSN($ss = "%", $given = "pid, id, lname, fname, mname, providerID", $orderby = "lname ASC, fname ASC", $limit="all", $start="0")
/var/www/openemr/library/patient.inc:function getPatientPhone($phone = "%", $given = "pid, id, lname, fname, mname, providerID", $orderby = "lname ASC, fname ASC", $limit="all", $start="0")
/var/www/openemr/library/patient.inc: $providerID = "",
/var/www/openemr/library/patient.inc: providerID = '$providerID',
/var/www/openemr/library/custom_template/custom_template.php: if($row['providerID']){
/var/www/openemr/library/custom_template/custom_template.php: $val=sqlQuery("SELECT CONCAT(lname,',',fname) AS name FROM users WHERE id='".$row['providerID']."'");
/var/www/openemr/library/classes/Patient.class.php: $res = sqlQuery("SELECT providerID,fname,lname,mname ".
/var/www/openemr/library/classes/Patient.class.php: $this->provider = new Provider($res['providerID']);
/var/www/openemr/library/Claim.class.php: $this->patient_data['providerID'] : $provider_id;
/var/www/openemr/custom/export_labworks.php: "p.pubpid, p.fname, p.mname, p.lname, p.DOB, p.providerID, " .
/var/www/openemr/custom/export_labworks.php: if ($row['providerID']) {
/var/www/openemr/custom/export_labworks.php: $query .= " AND id = " . $row['providerID'];
/var/www/openemr/custom/import_xml.php: $olddata['providerID'],
/var/www/openemr/custom/export_xml.php: "p.pubpid, p.fname, p.mname, p.lname, p.DOB, p.providerID, " .
/var/www/openemr/custom/export_xml.php: if ($row['providerID']) {
/var/www/openemr/custom/export_xml.php: $query .= " AND id = " . $row['providerID'];
/var/www/openemr/interface/new/new_patient_save.php: "", // providerID
/var/www/openemr/interface/reports/collections_report.php: "LEFT OUTER JOIN users AS u ON u.id = p.providerID " .
/var/www/openemr/interface/reports/collections_report.php: "LEFT OUTER JOIN users AS u ON u.id = pd.providerID " .
/var/www/openemr/interface/patient_file/pos_checkout.php: $patdata = getPatientData($patient_id, 'fname,mname,lname,pubpid,street,city,state,postal_code,providerID');
/var/www/openemr/interface/patient_file/pos_checkout.php: } else if (isset($patdata['providerID'])){
/var/www/openemr/interface/patient_file/pos_checkout.php: $encprovider = $patdata['providerID'];
/var/www/openemr/interface/patient_file/encounter/cash_receipt.php: $titleres = getPatientData($pid, "fname,lname,providerID");
/var/www/openemr/interface/patient_file/encounter/cash_receipt.php: //$provider = getProviderName($titleres['providerID']);
/var/www/openemr/interface/patient_file/report/print_custom_report.php: $titleres = getPatientData($pid, "fname,lname,providerID");
/var/www/openemr/interface/patient_file/report/print_custom_report.php: //$provider = getProviderName($titleres['providerID']);
/var/www/openemr/interface/patient_file/report/custom_report.php: $titleres = getPatientData($pid, "fname,lname,providerID");
/var/www/openemr/interface/patient_file/report/custom_report.php: $titleres = getPatientData($pid, "fname,lname,providerID,DATE_FORMAT(DOB,'%m/%d/%Y') as DOB_TS");
/var/www/openemr/interface/main/calendar/find_patient.php: $iterproviderid = $iter['providerID'];
/var/www/openemr/interface/main/calendar/modules/PostCalendar/pnuserapi.php: if(!empty($providerID)) { $ruserid = $providerID; }
/var/www/openemr/interface/main/calendar/modules/PostCalendar/pnuserapi.php: $a = array('start'=>$start_date,'end'=>$end_date,'s_keywords'=>$s_keywords,'s_category'=>$s_category,'s_topic'=>$s_topic,'viewtype'=>$viewtype, "sort" => "pc_startTime ASC, a.pc_duration ASC ",'providerID' => $providerID, 'provider_id' => $provider_id);
/var/www/openemr/interface/main/calendar/modules/PostCalendar/pnuser.php: 'end'=>$sdate, 'stime' => $stime, 'etime' => $etime,'providerID'=>$event_userid,
/var/www/openemr/interface/main/authorizations/authorizations.php: $providerID = sqlFetchArray(sqlStatement(
/var/www/openemr/interface/main/authorizations/authorizations.php: "select providerID from patient_data where pid=?", array($ppid) ));
/var/www/openemr/interface/main/authorizations/authorizations.php: $userID=$providerID{"providerID"};
/var/www/openemr/interface/main/authorizations/authorizations.php: "select lname from users where id = ?", array($name['providerID']) ));
It appears on first glance that this is also being used in cases as the primary clinic provider ID. Note the CDR (Clinical Decision Rule Engine) does this, which is hopefully gonna be fixed soon for other reasons:
http://www.open-emr.org/wiki/index.php/Description_AMC#Potential_Issues
Is anybody else confused here??
-brady