コード例 #1
0
ファイル: class.mc.php プロジェクト: henrybai/chits
    function form_mc_prenatal() {
        if (func_num_args()>0) {
            $arg_list = func_get_args();
            $menu_id = $arg_list[0];
            $post_vars = $arg_list[1];
            $get_vars = $arg_list[2];
            $validuser = $arg_list[3];
            $isadmin = $arg_list[4];
            //print_r($arg_list);

        }
        if ($post_vars["prenatal_id"] && $post_vars["submitmc"] && $post_vars["visit_sequence"]) {
            $sql = "select mc_id, patient_id, consult_id, patient_weight, prenatal_date, ".
                   "blood_pressure_systolic, blood_pressure_diastolic, fundic_height, ".
                   "presentation, fhr, fhr_location, trimester, visit_sequence, data_type ".
                   "from m_consult_mc_prenatal ".
                   "where mc_id = '".$post_vars["prenatal_id"]."' and visit_sequence = '".$post_vars["visit_sequence"]."'";

            if ($result = mysql_query($sql)) {
                if (mysql_num_rows($result)) {
                    $mc = mysql_fetch_array($result);
                    //print_r($mc);
                }
            }
        }
        // PRENATAL INFO
        // get most recent pregnancy id
        $patient_id = healthcenter::get_patient_id($get_vars["consult_id"]);
        $mc_id = mc::registry_record_exists($patient_id);
        if ($mc_id) {
            // edit prenatal data
            if ($post_vars["prenatal_id"]) {
                list($aog_weeks,$aog_days) = mc::get_aog($mc_id, healthcenter::get_consult_date($mc["consult_id"]));
                $aog = ($aog_weeks + ($aog_days/7));
                $trimester = $mc["trimester"];
                //$visit_sequence = $mc["visit_sequence"];
				$visit_sequence = $post_vars["visit_sequence"];
            } else {
                // new prenatal data headers
				$sql_count = mysql_query("SELECT count(mc_id) FROM m_consult_mc_prenatal WHERE mc_id='$mc_id'") or die("cannot query: 1236");
				$prenatal_seq = mysql_fetch_array($sql_count);		
				$seq = $prenatal_seq[0] + 1;

                list($aog_weeks,$aog_days) = mc::get_aog($mc_id, $get_vars["consult_id"]);
                $aog = ($aog_weeks + ($aog_days/7));
                $trimester = mc::get_trimester($mc_id, healthcenter::get_consult_date($get_vars["consult_id"]));
                //$visit_sequence = mc::get_visit_sequence($mc_id, $get_vars["consult_id"]);
				$visit_sequence = $seq;
            }
            print "<a name='prenatal'>";
            print "<table width='300'>";
            if ($post_vars["Delete Prenatal"]) {
                $tail = "prenatal";
            } else {
                $tail = "";
            }
            print "<form action = '".$_SERVER["SELF"]."?page=".$get_vars["page"]."&menu_id=".$get_vars["menu_id"]."&consult_id=".$get_vars["consult_id"]."&ptmenu=".$get_vars["ptmenu"]."&module=mc&mc=PREN&mc_id=$mc_id#$tail' name='form_mc_prenatal' method='post'>";
            print "<tr valign='top'><td>";
            print "<b>".FTITLE_MC_PRENATAL_FORM."</b><br/><br/>";
            print "</td></tr>";
            print "<tr valign='top'><td>";
            print "<a name='prevtx'>";
            //print "<span class='boxtitle'>".LBL_IMPORT_EXTERNAL_DATA."?</span><br> ";
            //print "<input type='checkbox' name='data_import_flag' onchange='this.form.submit();' ".(($mc["data_type"]?$mc["data_type"]=="EXT":$post_vars["data_import_flag"])?"checked":"")." value='1'/> Check if external HBMR<br />";
            print "</td></tr>";
            //if ($mc["data_type"]=="EXT" || $post_vars["data_import_flag"]) {
                if ($mc["prenatal_date"]) {
                    list($date, $time) = explode(" ", $mc["prenatal_date"]);
                    list($year, $month, $day) = explode("-", $date);
                    $visit_date = "$month/$day/$year";
                }
                print "<tr valign='top'><td>";
                print "<span class='boxtitle'>".LBL_PRENATAL_VISIT_DATE."</span><br>";
                print "<input type='text' size='10' maxlength='10' class='textbox' name='visit_date' value='".($visit_date?$visit_date:$post_vars["visit_date"])."' style='border: 1px solid #000000'> ";
                print "<a href=\"javascript:show_calendar4('document.form_mc_prenatal.visit_date', document.form_mc_prenatal.visit_date.value);\"><img src='../images/cal.gif' width='16' height='16' border='0' alt='Click Here to Pick up the date'></a><br>";
                print "<small>Click on the calendar icon to select date. Otherwise use MM/DD/YYYY format.</small><br>";
                print "</td></tr>";
            //}
            print "<tr valign='top'><td>";
            print "<table bgcolor='#FFCCFF' width='300' cellpadding='3'>";
            //if ($post_vars["data_import_flag"]) {
                print "<tr valign='top'><td>";
                print "<span class='boxtitle'>".LBL_PRENATAL_VISIT_SEQUENCE."</span><br>";
            //  print "<input type='text' size='5' maxlength='5' class='textbox' name='visit_sequence' value='".($mc["visit_sequence"]?$mc["visit_sequence"]:$post_vars["visit_sequence"])."' style='border: 1px solid #000000'> ";
		
		print "<input type='text' size='5' maxlength='5' class='textbox' name='visit_sequence' value='$visit_sequence' style='border: 1px solid #000000' readonly> ";
                print "</td></tr>";
            //} else {
            /*    print "<tr valign='top'><td>";
                print "<span class='boxtitle'>REGISTRY INFORMATION</span><br/>";
                print "<span class='tinylight'>";
                print "REGISTRY ID: <font color='red'>".module::pad_zero($mc_id, 7)."</font><br/>";
                print "AOG THIS VISIT: $aog_weeks WKS $aog_days DAYS<br/>";
                print "PATIENT TRIMESTER: $trimester<br/>";
                print "VISIT SEQUENCE: $visit_sequence<br/>";
                print "</span>";
                print "</td></tr>";
   	    */
            //}
            print "<tr valign='top'><td>";
            if ($post_vars["prenatal_id"]) {
                $systolic = $mc["blood_pressure_systolic"];
                $diastolic = $mc["blood_pressure_diastolic"];
            } else {
                list($systolic, $diastolic) = healthcenter::get_blood_pressure($get_vars["consult_id"]);
            }
            print "<span class='boxtitle'>".LBL_BLOOD_PRESSURE."</span><br> ";
            print "<span class='tinylight'>SYSTOLIC</span> <input type='text' class='tinylight' size='5' maxlength='3' name='patient_systolic' value='$systolic' style='border: 1px solid #000000'> ";
            print "<span class='tinylight'>DIASTOLIC</span> <input type='text' class='tinylight' size='5' maxlength='3' name='patient_diastolic' value='$diastolic' style='border: 1px solid #000000'> ";
            print "</td></tr>";
            print "<tr valign='top'><td>";
            if ($post_vars["prenatal_id"]) {
                $weight = $mc["patient_weight"];
            } else {
                $weight = healthcenter::get_body_weight($get_vars["consult_id"]);
            }
            print "<span class='boxtitle'>".LBL_PATIENT_WEIGHT." (KG)</span><br> ";
            print "<input type='text' class='tinylight' size='5' maxlength='5' name='patient_weight' value='$weight' style='border: 1px solid #000000'> ";
            print "</td></tr>";
            print "<tr valign='top'><td>";
            print "<span class='boxtitle'>".LBL_OBSTETRIC_EXAM."</span><br> ";
            print "<span class='tinylight'>FUNDIC HEIGHT (CM)</span> <input type='text' class='tinylight' size='5' maxlength='5' name='fundic_height' value='".($mc["fundic_height"]?$mc["fundic_height"]:$post_vars["fundic_height"])."' style='border: 1px solid #000000'><br/> ";
            print "<span class='tinylight'>FHR (beats/min)</span> <input type='text' class='tinylight' size='5' maxlength='5' name='fhr' value='".($mc["fhr"]?$mc["fhr"]:$post_vars["fhr"])."' style='border: 1px solid #000000'><br/> ";
            print "<span class='tinylight'>FHR LOCATION</span> ";
            print mc::show_fhr_location($mc["fhr_location"]);
            print "</td></tr>";
            print "<tr valign='top'><td>";
            print "<span class='boxtitle'>".LBL_PRESENTATION."</span><br> ";
            print mc::show_presentation($mc["presentation"]);
            print "</td></tr>";
            
			/*
			print "<tr valign='top'><td>";
            print "<span class='boxtitle'>".LBL_RISK_FACTORS." (risk factors shown are those that are marked for monitoring)</span> <br> ";
            if ($visit_sequence>1) {
                if ($post_vars["prenatal_id"]) {
                    print mc::checkbox_risk_factors($post_vars["prenatal_id"], $mc["consult_id"], "M");
                } else {
                    print mc::checkbox_risk_factors($mc_id, $get_vars["consult_id"], "M");
                }
            } else {
                print "<font color='red'>".LBL_SAME_RISK_FACTORS_VISIT1."</font><br/>";
            }
            print "</td></tr>";
            */
			print "</table>";
            print "</td></tr>";
            print "<tr><td><br/>";
            if ($post_vars["prenatal_id"]) {
                if ($_SESSION["priv_update"]) {
                    print "<input type='hidden' name='mc_id' value='".$get_vars["mc_id"]."' />";
                    //print "<input type='hidden' name='consult_id' value='".$mc["mc_id"]."' />";
                    if (!$post_vars["data_import_flag"]) {
                        print "<input type='hidden' name='visit_sequence' value='$visit_sequence' />";
                    }
                    print "<input type='submit' value = 'Update Prenatal' class='textbox' name='submitmc' style='border: 1px solid #000000'> ";
                    print "<input type='submit' value = 'Delete Prenatal' class='textbox' name='submitmc' style='border: 1px solid #000000'> ";
                }
            } else {
                if ($_SESSION["priv_add"]) {
                    print "<input type='hidden' name='mc_id' value='".$get_vars["mc_id"]."' />";
                    if (!$post_vars["data_import_flag"]) {
                        print "<input type='hidden' name='aog_weeks' value='$aog' />";
                        print "<input type='hidden' name='trimester' value='$trimester' />";
                        print "<input type='hidden' name='visit_sequence' value='$visit_sequence' />";
                    }
                    print "<br><input type='submit' value = 'Save Prenatal Data' class='textbox' name='submitmc' style='border: 1px solid #000000'><br>";
                }
            }
            print "</td></tr>";
            print "</form>";
            print "</table><br>";
			
			$q_remarks = mysql_query("SELECT prenatal_remarks FROM m_patient_mc WHERE mc_id='$get_vars[mc_id]'") or die("Cannot query: 1574");
			
			list($remarks) = mysql_fetch_array($q_remarks);
			echo "<form method='POST' name='form_prenatal_remarks'>";
			echo "<table bgcolor='#FFCCFF' width='300' cellpadding='3'>";
			echo "<a name='prerem'></a>";
			echo "<span class='boxtitle'>PRENATAL REMARKS</span>";
			
			if($_POST["update_prenatal"]):
				echo "<tr><td><textarea name='prenatal_remarks' cols='35' rows='4'>";				
			else:
				echo "<tr><td><textarea name='prenatal_remarks' cols='35' rows='4' readonly>";
			endif;

			echo $remarks;
			echo "</textarea></td></tr>";

			if($_POST["update_prenatal"]):
				echo "<tr><td><input type='submit' name='submitmc' value='Save Prenatal Remarks' style='border: 1px solid #000000'></input>&nbsp;&nbsp;<input type='button' name='cancel' value='Cancel' onclick='history.go(-1)' style='border: 1px solid #000000'></input></td></tr>";				
			else:			
				echo "<tr><td><input type='submit' name='update_prenatal' value='Update Prenatal Remarks' style='border: 1px solid #000000'></input></td></tr>";
			endif;
			
			
			echo "</table>";
				
			echo "</form>";


        } else {
            print "<font color='red'>No valid Registry ID. Please create a new one.</font>";
        }
    }
コード例 #2
0
ファイル: class.ntp.php プロジェクト: wahgithub/chits_wah_emr
 function process_ntp()
 {
     if (func_num_args() > 0) {
         $arg_list = func_get_args();
         $menu_id = $arg_list[0];
         $post_vars = $arg_list[1];
         $get_vars = $arg_list[2];
         $validuser = $arg_list[3];
         $isadmin = $arg_list[4];
         //print_r($arg_list);
     }
     $patient_id = healthcenter::get_patient_id($get_vars["consult_id"]);
     switch ($post_vars["submitntp"]) {
         case "Assign Lab Exam":
             if ($post_vars["labs"] && $post_vars["registry_id"]) {
                 foreach ($post_vars["labs"] as $key => $value) {
                     print $sql = "insert into m_consult_ntp_labs_request (consult_id, patient_id, ntp_id, request_id, user_id, request_timestamp) " . "values ('" . $get_vars["consult_id"] . "', '{$patient_id}', '" . $post_vars["registry_id"] . "', '{$value}', '" . $_SESSION["userid"] . "', sysdate())";
                     $result = mysql_query($sql);
                 }
                 header("location: " . $_SERVER["PHP_SELF"] . "?page=" . $get_vars["page"] . "&menu_id=" . $get_vars["menu_id"] . "&consult_id=" . $get_vars["consult_id"] . "&ptmenu=" . $get_vars["ptmenu"] . "&module=" . $get_vars["module"] . "&ntp=" . $get_vars["ntp"] . "&ntp_id=" . $get_vars["ntp_id"]);
             }
             break;
         case "Add Follow-up Date":
             if ($post_vars["treatment_actual_date"]) {
                 list($month, $day, $year) = explode("/", $post_vars["treatment_actual_date"]);
                 $actual_date = $year . "-" . str_pad($month, 2, "0", STR_PAD_LEFT) . "-" . str_pad($day, 2, "0", STR_PAD_LEFT);
                 print $sql = "update m_consult_ntp_due_dates set " . "treatment_actual_date = '{$actual_date}', " . "remarks = '" . addslashes($post_vars["remarks"]) . "' " . "where ntp_id = '" . $post_vars["ntp_id"] . "'";
                 if ($result = mysql_query($sql)) {
                     header("location: " . $_SERVER["PHP_SELF"] . "?page=" . $get_vars["page"] . "&menu_id=" . $get_vars["menu_id"] . "&consult_id=" . $get_vars["consult_id"] . "&ptmenu=" . $get_vars["ptmenu"] . "&module=" . $get_vars["module"] . "&ntp=" . $get_vars["ntp"] . "&ntp_id=" . $get_vars["ntp_id"]);
                 }
             }
             break;
         case "Save NTP Data":
             if ($post_vars["occupation"] && $post_vars["region"] && $post_vars["bcg_scar"] && $post_vars["contact_person"] && $post_vars["treatment_category"] && $post_vars["treatment_outcome"] && $post_vars["treatment_partner"]) {
                 // always use what's existing
                 $body_weight = healthcenter::get_body_weight($get_vars["consult_id"]);
                 $bcg_scar = $post_vars["bcg_scar"] ? "Y" : "N";
                 $previous_tx = $post_vars["previous_treatment_flag"] ? "Y" : "N";
                 // save previous treatment drugs in one field
                 if ($post_vars["previous_treatment_drugs"]) {
                     foreach ($post_vars["previous_treatment_drugs"] as $key => $drug) {
                         $tx_drugs .= $drug;
                     }
                 }
                 /*$sql_first = "insert into m_patient_ntp (patient_id, occupation_id, ".
                                "household_contacts, region_id, body_weight, bcg_scar, ".
                                "previous_treatment_flag, previous_treatment_duration, ".
                                "previous_treatment_drugs, treatment_category_id, ".
                                "contact_person, outcome_id, patient_type_id, ".
                                "treatment_partner_id, healthcenter_id, ntp_timestamp, ".
                                "ntp_consult_date, user_id, tb_class, source_patient, refer_physician, tbdc_review) ".
                                "values ('$patient_id', '".$post_vars["occupation"]."', ".
                                "'".$post_vars["hh_contacts"]."', '".$post_vars["region"]."', ".
                                "'$body_weight', '$bcg_scar', '$previous_tx', ".
                                "'".$post_vars["previous_treatment_duration"]."', '$tx_drugs', ".
                                "'".$post_vars["treatment_category"]."', ".
                                "'".$post_vars["contact_person"]."', ".
                                "'".$post_vars["treatment_outcome"]."', ".
                                "'".$post_vars["patient_type"]."', ".
                                "'".$post_vars["treatment_partner"]."', ".
                                "'".$_SESSION["datanode"]["code"]."', sysdate(), ".
                                "sysdate(), '".$_SESSION["userid"]."', ".
                                "'".$post_vars["tb_class"]."')";
                   */
                 $healthcenter = $_SESSION["datanode"]["code"];
                 $sql_first = "INSERT INTO m_patient_ntp SET patient_id='{$patient_id}',occupation_id='{$post_vars['occupation']}',household_contacts='{$post_vars['hh_contacts']}',region_id='{$post_vars['region']}',body_weight='{$body_weight}',bcg_scar='{$bcg_scar}',previous_treatment_flag='{$previous_tx}',previous_treatment_duration='{$post_vars['previous_treatment_duration']}',previous_treatment_drugs='{$tx_drugs}',treatment_category_id='{$post_vars['treatment_category']}',contact_person='{$post_vars['contact_person']}',outcome_id='{$post_vars['treatment_outcome']}',patient_type_id='{$post_vars['patient_type']}',treatment_partner_id='{$post_vars['treatment_partner']}',healthcenter_id='{$healthcenter}',ntp_timestamp=sysdate(),ntp_consult_date=sysdate(),user_id='{$_SESSION['userid']}',tb_class='{$post_vars['tb_class']}',source_patient='{$post_vars['source_px']}',refer_physician='{$post_vars['refer_physician']}',tbdc_review='{$post_vars['tbdc_review']}'";
                 if ($result_first = mysql_query($sql_first)) {
                     header("location: " . $_SERVER["PHP_SELF"] . "?page=" . $get_vars["page"] . "&menu_id=" . $get_vars["menu_id"] . "&consult_id=" . $get_vars["consult_id"] . "&ptmenu=" . $get_vars["ptmenu"] . "&module=" . $get_vars["module"]);
                 }
             }
             break;
         case "Update NTP Data":
             if ($post_vars["occupation"] && $post_vars["region"] && $post_vars["bcg_scar"] && $post_vars["contact_person"] && $post_vars["treatment_category"] && $post_vars["treatment_outcome"] && $post_vars["treatment_partner"]) {
                 // always use what's existing
                 $body_weight = healthcenter::get_body_weight($get_vars["consult_id"]);
                 $bcg_scar = $post_vars["bcg_scar"] ? "Y" : "N";
                 // if treatment outcome is any other than TX end this course
                 $course_end_flag = $post_vars["treatment_outcome"] != "TX" ? "Y" : "N";
                 if ($course_end_flag == "Y") {
                     if (empty($post_vars["date_outcome"])) {
                         $treatment_end_date = date("Y-m-d");
                     } else {
                         list($tm, $td, $ty) = explode('/', $post_vars["date_outcome"]);
                         $treatment_end_date = $ty . '-' . $tm . '-' . $td;
                     }
                 } else {
                     $treatment_end_date = '0000-00-00';
                 }
                 $previous_tx = $post_vars["previous_treatment_flag"] ? "Y" : "N";
                 if ($post_vars["previous_treatment_drugs"]) {
                     foreach ($post_vars["previous_treatment_drugs"] as $key => $drug) {
                         $tx_drugs .= $drug;
                     }
                 }
                 $sql_first = "update m_patient_ntp set " . "occupation_id = '" . $post_vars["occupation"] . "', " . "household_contacts = '" . $post_vars["hh_contacts"] . "', " . "region_id = '" . $post_vars["region"] . "', " . "bcg_scar = '{$bcg_scar}', " . "body_weight = '{$body_weight}', " . "previous_treatment_flag = '{$previous_tx}', " . "previous_treatment_duration = '" . $post_vars["previous_treatment_duration"] . "', " . "previous_treatment_drugs = '{$tx_drugs}', " . "treatment_category_id = '" . $post_vars["treatment_category"] . "', " . "contact_person = '" . $post_vars["contact_person"] . "', " . "outcome_id = '" . $post_vars["treatment_outcome"] . "', " . "course_end_flag = '{$course_end_flag}', " . "treatment_end_date = '{$treatment_end_date}', " . "patient_type_id = '" . $post_vars["patient_type"] . "', " . "treatment_partner_id = '" . $post_vars["treatment_partner"] . "', " . "ntp_timestamp = sysdate(), " . "user_id = '" . $_SESSION["userid"] . "', " . "tb_class = '" . $post_vars["tb_class"] . "', " . "source_patient = '" . $post_vars["source_px"] . "', " . "refer_physician = '" . $post_vars["refer_physician"] . "', " . "tbdc_review = '" . $post_vars["tbdc_review"] . "' " . " where ntp_id = '" . $post_vars["ntp_id"] . "' ";
                 $result_first = mysql_query($sql_first) or die("Cannot query 876 " . mysql_error());
                 if ($result_first) {
                     header("location: " . $_SERVER["PHP_SELF"] . "?page=" . $get_vars["page"] . "&menu_id=" . $get_vars["menu_id"] . "&consult_id=" . $get_vars["consult_id"] . "&ptmenu=" . $get_vars["ptmenu"] . "&module=ntp&ntp=VISIT1&ntp_id=" . $get_vars["ntp_id"]);
                 }
             }
             break;
         case "Delete NTP Data":
             // this is a dummy entry
             // real delete code is in ntp::display_course();
             break;
         case "Save Intensive Data":
             if ($post_vars["treatment_date"]) {
                 $start_date = ntp::get_start_date($post_vars["registry_id"]);
                 $intake = $post_vars["intake_flag"] ? "Y" : "N";
                 list($month, $day, $year) = explode("/", $post_vars["treatment_date"]);
                 $intake_date = $year . "-" . str_pad($month, 2, "0", STR_PAD_LEFT) . "-" . str_pad($day, 2, "0", STR_PAD_LEFT);
                 $sql = "insert into m_consult_ntp_intake_intensive (ntp_id, consult_id, patient_id, user_id, treatment_month, treatment_week, treatment_date, intake_flag, remarks) " . "values ('" . $post_vars["registry_id"] . "', '" . $get_vars["consult_id"] . "', '{$patient_id}', '" . $_SESSION["userid"] . "', (month(sysdate())+1)-month('{$start_date}'), (week(sysdate())+1)-week('{$start_date}'), '{$intake_date}', '{$intake}', '" . addslashes($post_vars["remarks"]) . "')";
                 if ($result = mysql_query($sql)) {
                     // if first treatment day,
                     //  put in projected dates
                     if (ntp::get_intensive_date($post_vars["registry_id"]) == "0000-00-00") {
                         // get regimen and determine projected dates
                         // sputum exam intervals are given 1 week (7 days) lead time
                         $regimen = ntp::get_treatment_regimen($post_vars["registry_id"]);
                         switch ($regimen) {
                             case 1:
                                 $interval_sputum1 = "49 day";
                                 // towards end of 2nd month
                                 $interval_sputum2 = "105 day";
                                 // towards end of 4th month
                                 //$interval_sputum3 = "161 day"; // towards end of 6th month
                                 $interval_sputum3 = "140 day";
                                 // in the beginning of 6th month
                                 //$interval_intensive = "42 day";
                                 $interval_intensive = "56 day";
                                 //$interval_maintenance = "154 day";
                                 $interval_maintenance = "168 day";
                                 $sql_ntp = "update m_patient_ntp set " . "intensive_start_date = '{$intake_date}', " . "intensive_projected_end_date = '{$intake_date}' + interval {$interval_intensive}, " . "maintenance_projected_end_date = '{$intake_date}' + interval {$interval_maintenance}, " . "sputum1_date = '{$intake_date}' + interval {$interval_sputum1}, " . "sputum2_date = '{$intake_date}' + interval {$interval_sputum2}, " . "sputum3_date = '{$intake_date}' + interval {$interval_sputum3} " . "where ntp_id = '" . $post_vars["registry_id"] . "'";
                                 break;
                             case 3:
                                 $interval_sputum1 = "49 day";
                                 // towards end of 2nd month
                                 //$interval_intensive = "42 day";
                                 //$interval_maintenance = "154 day";
                                 $interval_intensive = "56 day";
                                 $interval_maintenance = "168 day";
                                 $sql_ntp = "update m_patient_ntp set " . "intensive_start_date = '{$intake_date}', " . "intensive_projected_end_date = '{$intake_date}' + interval {$interval_intensive}, " . "maintenance_projected_end_date = '{$intake_date}' + interval {$interval_maintenance}, " . "sputum1_date = '{$intake_date}' + interval {$interval_sputum1} " . "where ntp_id = '" . $post_vars["registry_id"] . "'";
                                 break;
                             case 2:
                                 $interval_sputum1 = "77 day";
                                 // towards end of 3rd month
                                 $interval_sputum2 = "133 day";
                                 // towards end of 5th month
                                 //$interval_sputum3 = "217 day"; // towards end of 8th month
                                 $interval_sputum3 = "196 day";
                                 // beginning of 8th month
                                 $interval_intensive = "84 day";
                                 $interval_maintenance = "224 day";
                                 $sql_ntp = "update m_patient_ntp set " . "intensive_start_date = '{$intake_date}', " . "intensive_projected_end_date = '{$intake_date}' + interval {$interval_intensive}, " . "maintenance_projected_end_date = '{$intake_date}' + interval {$interval_maintenance}, " . "sputum1_date = '{$intake_date}' + interval {$interval_sputum1}, " . "sputum2_date = '{$intake_date}' + interval {$interval_sputum2}, " . "sputum3_date = '{$intake_date}' + interval {$interval_sputum3} " . "where ntp_id = '" . $post_vars["registry_id"] . "'";
                                 break;
                         }
                         $result_ntp = mysql_query($sql_ntp) or die(mysql_error());
                     }
                     // set appointment only if treatment date is today
                     // useless if treatment date is the past
                     // caution: do not enter first treatment date on a weekend
                     if ($intake_date == date("Y-m-d")) {
                         // if day today is a friday, add 3 days
                         // if saturday add 2 days
                         if (date("w") == 5) {
                             $interval = 3;
                             // monday
                         } elseif (date("w") == 6) {
                             $interval = 2;
                             // 1 day
                         } else {
                             $interval = 1;
                             // 1 day
                         }
                         $sql_appt = "insert into m_consult_appointments (visit_date, " . "consult_id, schedule_timestamp, user_id, patient_id, " . "appointment_id) values (sysdate() + interval {$interval} day, " . "'" . $get_vars["consult_id"] . "', sysdate(), '" . $_SESSION["userid"] . "', " . "'{$patient_id}', 'NTPI')";
                         $result_app = mysql_query($sql_appt);
                     }
                     header("location: " . $_SERVER["PHP_SELF"] . "?page=" . $get_vars["page"] . "&menu_id=" . $get_vars["menu_id"] . "&consult_id=" . $get_vars["consult_id"] . "&ptmenu=" . $get_vars["ptmenu"] . "&module=" . $get_vars["module"] . "&ntp=" . $get_vars["ntp"] . "&ntp_id=" . $get_vars["ntp_id"] . "#intensive_form");
                 }
             } else {
                 print "<font color='red'>No treatment date</font><br/>";
             }
             break;
         case "Save Maintenance Data":
             $start_date = ntp::get_start_date($post_vars["registry_id"]);
             $intake = $post_vars["intake_flag"] ? "Y" : "N";
             // treatment date
             if ($post_vars["treatment_date"] && $post_vars["followup_date"]) {
                 // treatment date
                 list($txmonth, $txday, $txyear) = explode("/", $post_vars["treatment_date"]);
                 $intake_date = $txyear . "-" . str_pad($txmonth, 2, "0", STR_PAD_LEFT) . "-" . str_pad($txday, 2, "0", STR_PAD_LEFT);
                 // followup date
                 list($ffmonth, $ffday, $ffyear) = explode("/", $post_vars["followup_date"]);
                 $followup_date = $ffyear . "-" . str_pad($ffmonth, 2, "0", STR_PAD_LEFT) . "-" . str_pad($ffday, 2, "0", STR_PAD_LEFT);
                 $sql = "insert into m_consult_ntp_collection_maintenance (ntp_id, consult_id, patient_id, user_id, treatment_month, treatment_week, treatment_date, intake_flag, remarks) " . "values ('" . $post_vars["registry_id"] . "', '" . $get_vars["consult_id"] . "', '{$patient_id}', '" . $_SESSION["userid"] . "', (month(sysdate())+1)-month('{$start_date}'), (week(sysdate())+1)-week('{$start_date}'), '{$intake_date}', '{$intake}', '" . addslashes($post_vars["remarks"]) . "')";
                 if ($result = mysql_query($sql)) {
                     if (ntp::get_maintenance_date($post_vars["registry_id"]) == "0000-00-00") {
                         $sql_ntp = "update m_patient_ntp set " . "maintenance_start_date = '{$intake_date}' " . "where ntp_id = '" . $post_vars["registry_id"] . "'";
                         $result_ntp = mysql_query($sql_ntp);
                     }
                     if ($followup_date) {
                         // set appointment based on followup date
                         // maintenance phase appointments are more flexible
                         $sql_appt = "insert into m_consult_appointments (visit_date, " . "consult_id, schedule_timestamp, user_id, patient_id, " . "appointment_id) values ('{$followup_date}', " . "'" . $get_vars["consult_id"] . "', sysdate(), '" . $_SESSION["userid"] . "', " . "'{$patient_id}', 'NTPM')";
                         $result_app = mysql_query($sql_appt);
                     }
                     header("location: " . $_SERVER["PHP_SELF"] . "?page=" . $get_vars["page"] . "&menu_id=" . $get_vars["menu_id"] . "&consult_id=" . $get_vars["consult_id"] . "&ptmenu=" . $get_vars["ptmenu"] . "&module=" . $get_vars["module"] . "&ntp=" . $get_vars["ntp"] . "&ntp_id=" . $get_vars["ntp_id"] . "#maintenance_form");
                 }
             } else {
                 print "<font color='red'>Incomplete date(s)</font><br/>";
             }
             break;
         case "Send Request":
             if ($post_vars["registry_id"]) {
                 //print_r($post_vars);
                 //$sql_lab = mysql_query("INSERT INTO m_consult_lab SET consult_id='$get_vars[consult_id]', patient_id='$get_vars[patient_id]', lab_id, request_timestamp, request_user_id ")
                 foreach ($post_vars["ntp_lab"] as $key => $value) {
                     $sql_lab = "insert into m_consult_lab (consult_id, patient_id, lab_id, request_timestamp, request_user_id) " . "values ('" . $get_vars["consult_id"] . "', '{$patient_id}', '{$value}', sysdate(), '" . $_SESSION["userid"] . "')";
                     if ($result_lab = mysql_query($sql_lab)) {
                         // try to insert in ntp lab registry
                         $insert_id = mysql_insert_id();
                         $sql_ntp = "insert into m_consult_ntp_labs_request (consult_id, patient_id, ntp_id, request_id, user_id, request_timestamp) " . "values ('" . $get_vars["consult_id"] . "', '{$patient_id}', '" . $post_vars["registry_id"] . "', '{$insert_id}', '" . $_SESSION["userid"] . "', sysdate())";
                         $result_ntp = mysql_query($sql_ntp);
                     }
                 }
                 //header("location: ".$_SERVER["PHP_SELF"]."?page=".$get_vars["page"]."&menu_id=".$get_vars["menu_id"]."&consult_id=".$get_vars["consult_id"]."&ptmenu=".$get_vars["ptmenu"]."&module=".$get_vars["module"].($get_vars["ntp_id"]?"&ntp_id=".$get_vars["ntp_id"]:""."&ntp=LABS""));
             }
             break;
         case "Save TB Symptomatic":
             //echo 'no symptomatic record, therefore create';
             list($xm, $xd, $xy) = explode('/', $_POST["date_referred_xray"]);
             $xray_referred = $xy . '-' . $xm . '-' . $xd;
             list($ym, $yd, $yy) = explode('/', $_POST["date_received_xray"]);
             $xray_received = $yy . '-' . $ym . '-' . $yd;
             list($seen_m, $seen_d, $seen_y) = explode('/', $_POST["date_symptomatic"]);
             $date_seen = $seen_y . '-' . $seen_m . '-' . $seen_d;
             $insert_symp = mysql_query("INSERT INTO m_consult_ntp_symptomatics SET ntp_id='{$_POST['select_ntp_tx']}',consult_id='{$_GET['consult_id']}',patient_id='{$_POST['pxid']}',sputum_diag1='{$_POST['sputum_diag1']}',sputum_diag2='{$_POST['sputum_diag2']}',xray_date_referred='{$xray_referred}',xray_date_received='{$xray_received}',xray_result='{$_POST['xray_result']}',remarks='{$_POST['symptomatic_remarks']}',symptomatic_flag='{$_POST['sel_symp']}',enroll_flag='{$_POST['enroll_flag']}',user_id='{$_SESSION['useid']}',date_updated=NOW(),date_seen='{$date_seen}'") or die("Cannot query: 1000 " . mysql_error());
             echo "<script language='Javascript'>";
             if ($insert_symp) {
                 echo "window.alert('Record for TB Symptomatic was successfully been saved!')";
             } else {
                 echo "window.alert('Record for TB Symptomatic not saved. Kindly check the entries')";
             }
             echo "</script>";
             break;
         case "Update TB Symptomatic":
             list($xm, $xd, $xy) = explode('/', $_POST["date_referred_xray"]);
             $xray_referred = $xy . '-' . $xm . '-' . $xd;
             list($ym, $yd, $yy) = explode('/', $_POST["date_received_xray"]);
             $xray_received = $yy . '-' . $ym . '-' . $yd;
             list($seen_m, $seen_d, $seen_y) = explode('/', $_POST["date_symptomatic"]);
             $date_seen = $seen_y . '-' . $seen_m . '-' . $seen_d;
             if ($_POST["enroll_flag"] == 'Y' && $_POST["select_ntp_tx"] == '') {
                 echo "<script language='Javascript'>";
                 echo "window.alert('Upon enrollment of patient, do no forget to update LINK TO NTP TREATMENT by selecting the treatment date.')";
                 echo "</script>";
             }
             $update_symp = mysql_query("UPDATE m_consult_ntp_symptomatics SET ntp_id='{$_POST['select_ntp_tx']}',date_seen='{$date_seen}',sputum_diag1='{$_POST['sputum_diag1']}',sputum_diag2='{$_POST['sputum_diag2']}',xray_date_referred='{$xray_referred}',xray_date_received='{$xray_received}',xray_result='{$_POST['xray_result']}',remarks='{$_POST['symptomatic_remarks']}',symptomatic_flag='{$_POST['sel_symp']}',enroll_flag='{$_POST['enroll_flag']}' WHERE symptomatic_id='{$_POST['sel_symp_rec']}'") or die("Cannot query 998 " . mysql_error());
             echo "<script language='Javascript'>";
             if ($update_symp) {
                 echo "window.alert('Update of TB Symptomatic record was successful!')";
             } else {
                 echo "window.alert('Update of TB Symptomatic record was not successful. Please check entries.')";
             }
             echo "</script>";
         case "View TB SYMP Record":
             //print_r($_POST);
             break;
         case "Import Sputum Test":
             //print_r($_POST);
             if ($_POST[sel_import_ntp] != '') {
                 $pxid = healthcenter::get_patient_id($_GET["consult_id"]);
                 $q_import = mysql_query("INSERT into m_consult_ntp_labs_request SET consult_id='{$_GET['consult_id']}',patient_id='{$pxid}',ntp_id='{$_GET['ntp_id']}',request_id='{$_POST['sel_import_ntp']}',user_id='{$_SESSION['userid']}',request_timestamp='NOW()'") or die("Cannot query 1080 " . mysql_error());
                 if ($q_import) {
                     echo "<script language='Javascript'>";
                     echo "window.alert('Sputum exam was successfully imported! Please check the tables below.')";
                     echo "</script>";
                 }
             } else {
                 echo "<script language='Javascript'>";
                 echo "window.alert('No sputum exam was imported.')";
                 echo "</script>";
             }
             break;
         case "Print Referral":
             break;
     }
 }
コード例 #3
0
ファイル: class.mc.php プロジェクト: wahgithub/chits_wah_emr
 function form_mc_prenatal()
 {
     if (func_num_args() > 0) {
         $arg_list = func_get_args();
         $menu_id = $arg_list[0];
         $post_vars = $arg_list[1];
         $get_vars = $arg_list[2];
         $validuser = $arg_list[3];
         $isadmin = $arg_list[4];
         //print_r($arg_list);
     }
     //if ($post_vars["prenatal_id"] && $post_vars["submitmc"] && $post_vars["visit_sequence"]) {
     if ($post_vars["prenatal_id"] && $post_vars["submitmc"]) {
         $result = mysql_query("SELECT mc_id, patient_id, consult_id, patient_weight, prenatal_date, blood_pressure_systolic, blood_pressure_diastolic, fundic_height, presentation, fhr, fhr_location, trimester, visit_sequence, data_type, flag_private FROM m_consult_mc_prenatal WHERE mc_id='{$post_vars['prenatal_id']}' AND visit_sequence='{$post_vars['visit_sequence']}'") or die("Cannot query: 1665: " . mysql_error());
         if ($result) {
             if (mysql_num_rows($result)) {
                 $mc = mysql_fetch_array($result);
                 //print_r($mc);
             }
         }
     }
     // PRENATAL INFO
     // get most recent pregnancy id
     $patient_id = healthcenter::get_patient_id($get_vars["consult_id"]);
     $mc_id = mc::registry_record_exists($patient_id);
     $value_private = $mc["flag_private"] ? 'checked' : '';
     if ($mc_id) {
         // edit prenatal data
         if ($post_vars["prenatal_id"]) {
             list($aog_weeks, $aog_days) = mc::get_aog($_GET["mc_id"], healthcenter::get_consult_date($mc["consult_id"]));
             $aog = $aog_weeks + $aog_days / 7;
             $trimester = $mc["trimester"];
             //$visit_sequence = $mc["visit_sequence"];
             $visit_sequence = $post_vars["visit_sequence"];
         } else {
             // new prenatal data headers
             $sql_count = mysql_query("SELECT count(mc_id) FROM m_consult_mc_prenatal WHERE mc_id='{$_GET['mc_id']}'") or die("cannot query: 1236");
             $prenatal_seq = mysql_fetch_array($sql_count);
             $seq = $prenatal_seq[0] + 1;
             list($aog_weeks, $aog_days) = mc::get_aog($mc_id, $get_vars["consult_id"]);
             $aog = $aog_weeks + $aog_days / 7;
             $trimester = mc::get_trimester($mc_id, healthcenter::get_consult_date($get_vars["consult_id"]));
             //$visit_sequence = mc::get_visit_sequence($mc_id, $get_vars["consult_id"]);
             $visit_sequence = $seq;
         }
         print "<a name='prenatal'>";
         print "<table width='300'>";
         if ($post_vars["Delete Prenatal"]) {
             $tail = "prenatal";
         } else {
             $tail = "";
         }
         print "<form action = '" . $_SERVER["SELF"] . "?page=" . $get_vars["page"] . "&menu_id=" . $get_vars["menu_id"] . "&consult_id=" . $get_vars["consult_id"] . "&ptmenu=" . $get_vars["ptmenu"] . "&module=mc&mc=PREN&mc_id={$mc_id}#{$tail}' name='form_mc_prenatal' method='post'>";
         print "<a name='prenatal_form'>";
         print "<tr valign='top'><td>";
         print "<b>" . FTITLE_MC_PRENATAL_FORM . "</b><br/><br/>";
         print "</td></tr>";
         print "<tr valign='top'><td>";
         print "<a name='prevtx'>";
         print "</td></tr>";
         if ($mc["prenatal_date"]) {
             list($date, $time) = explode(" ", $mc["prenatal_date"]);
             list($year, $month, $day) = explode("-", $date);
             $visit_date = "{$month}/{$day}/{$year}";
         }
         print "<tr valign='top'><td>";
         print "<span class='boxtitle'>" . LBL_PRENATAL_VISIT_DATE . "</span><br>";
         print "<input type='text' size='10' maxlength='10' class='textbox' name='visit_date' value='" . ($visit_date ? $visit_date : $post_vars["visit_date"]) . "' style='border: 1px solid #000000'> ";
         print "<a href=\"javascript:show_calendar4('document.form_mc_prenatal.visit_date', document.form_mc_prenatal.visit_date.value);\"><img src='../images/cal.gif' width='16' height='16' border='0' alt='Click Here to Pick up the date'></a><br>";
         print "</td></tr>";
         print "<tr valign='top'><td>";
         print "<table bgcolor='#FFCCFF' width='300' cellpadding='3'>";
         //if ($post_vars["data_import_flag"]) {
         print "<tr valign='top'><td>";
         print "<span class='boxtitle'>" . LBL_PRENATAL_VISIT_SEQUENCE . "<br>";
         print "THIS IS YOUR PRENATAL VISIT:  " . $visit_sequence . "</span>";
         //print "<input type='text' size='5' maxlength='5' class='textbox' name='visit_sequence' value='$visit_sequence' style='border: 1px solid #000000' readonly> ";
         print "</td></tr>";
         print "<tr valign='top'><td>";
         if ($post_vars["prenatal_id"]) {
             $systolic = $mc["blood_pressure_systolic"];
             $diastolic = $mc["blood_pressure_diastolic"];
         } else {
             list($systolic, $diastolic) = healthcenter::get_blood_pressure($get_vars["consult_id"]);
         }
         print "<span class='boxtitle'>" . LBL_BLOOD_PRESSURE . "</span><br> ";
         print "<span class='tinylight'>SYSTOLIC</span> <input type='text' class='tinylight' size='5' maxlength='3' name='patient_systolic' value='{$systolic}' style='border: 1px solid #000000'> ";
         print "<span class='tinylight'>DIASTOLIC</span> <input type='text' class='tinylight' size='5' maxlength='3' name='patient_diastolic' value='{$diastolic}' style='border: 1px solid #000000'> ";
         print "</td></tr>";
         print "<tr valign='top'><td>";
         if ($post_vars["prenatal_id"]) {
             $weight = $mc["patient_weight"];
         } else {
             $weight = healthcenter::get_body_weight($get_vars["consult_id"]);
         }
         print "<span class='boxtitle'>" . LBL_PATIENT_WEIGHT . " (KG)</span><br> ";
         print "<input type='text' class='tinylight' size='5' maxlength='5' name='patient_weight' value='{$weight}' style='border: 1px solid #000000'> ";
         print "</td></tr>";
         print "<tr valign='top'><td>";
         print "<span class='boxtitle'>" . LBL_OBSTETRIC_EXAM . "</span><br> ";
         print "<span class='tinylight'>FUNDIC HEIGHT (CM)</span> <input type='text' class='tinylight' size='5' maxlength='5' name='fundic_height' value='" . ($mc["fundic_height"] ? $mc["fundic_height"] : $post_vars["fundic_height"]) . "' style='border: 1px solid #000000'><br/> ";
         print "<span class='tinylight'>FHR (beats/min)</span> <input type='text' class='tinylight' size='5' maxlength='5' name='fhr' value='" . ($mc["fhr"] ? $mc["fhr"] : $post_vars["fhr"]) . "' style='border: 1px solid #000000'><br/> ";
         print "<span class='tinylight'>FHR LOCATION</span> ";
         print mc::show_fhr_location($mc["fhr_location"]);
         print "</td></tr>";
         print "<tr valign='top'><td>";
         print "<span class='boxtitle'>" . LBL_PRESENTATION . "</span><br> ";
         print mc::show_presentation($mc["presentation"]);
         print "</td></tr>";
         /*			
         print "<tr valign='top'><td>";
         print "<span class='boxtitle'>".LBL_RISK_FACTORS." (risk factors shown are those that are marked for monitoring)</span> <br> ";
         if ($visit_sequence>1) {
             if ($post_vars["prenatal_id"]) {
                 print mc::checkbox_risk_factors($post_vars["prenatal_id"], $mc["consult_id"], "M");
             } else {
                 print mc::checkbox_risk_factors($mc_id, $get_vars["consult_id"], "M");
             }
         } else {
             print "<font color='red'>".LBL_SAME_RISK_FACTORS_VISIT1."</font><br/>";
         }
         print "</td></tr>";
         */
         echo "<tr>";
         echo "<td><span class='tinylight'>";
         echo "<input type='checkbox' name='check_private' {$value_private}>";
         echo "<b>SEEN OUTSIDE OF THE RHU? (i.e. private clinic)</b>";
         echo "</input>";
         echo "</span></td>";
         echo "</tr>";
         print "</table>";
         print "</td></tr>";
         print "<tr><td><br/>";
         if ($post_vars["prenatal_id"]) {
             if ($_SESSION["priv_update"]) {
                 print "<input type='hidden' name='mc_id' value='" . $get_vars["mc_id"] . "' />";
                 //print "<input type='hidden' name='consult_id' value='".$mc["mc_id"]."' />";
                 if (!$post_vars["data_import_flag"]) {
                     print "<input type='hidden' name='visit_sequence' value='{$visit_sequence}' />";
                 }
                 print "<input type='submit' value = 'Update Prenatal' class='textbox' name='submitmc' style='border: 1px solid #000000'> ";
                 print "<input type='submit' value = 'Delete Prenatal' class='textbox' name='submitmc' style='border: 1px solid #000000'> ";
             }
         } else {
             if ($_SESSION["priv_add"]) {
                 print "<input type='hidden' name='mc_id' value='" . $get_vars["mc_id"] . "' />";
                 if (!$post_vars["data_import_flag"]) {
                     print "<input type='hidden' name='aog_weeks' value='{$aog}' />";
                     print "<input type='hidden' name='trimester' value='{$trimester}' />";
                     print "<input type='hidden' name='visit_sequence' value='{$visit_sequence}' />";
                 }
                 print "<input type='submit' value = 'Save Prenatal Data' class='textbox' name='submitmc' style='border: 1px solid #000000'><br>";
             }
         }
         print "</td></tr>";
         print "</form>";
         print "</table><br>";
         $q_remarks = mysql_query("SELECT prenatal_remarks FROM m_patient_mc WHERE mc_id='{$get_vars['mc_id']}'") or die("Cannot query: 1574");
         list($remarks) = mysql_fetch_array($q_remarks);
         echo "<form method='POST' name='form_prenatal_remarks'>";
         echo "<table bgcolor='#FFCCFF' width='300' cellpadding='3'>";
         echo "<a name='prerem'></a>";
         echo "<span class='boxtitle'>PRENATAL REMARKS</span>";
         if ($_POST["update_prenatal"]) {
             echo "<tr><td><textarea name='prenatal_remarks' cols='35' rows='4'>";
         } else {
             echo "<tr><td><textarea name='prenatal_remarks' cols='35' rows='4' readonly>";
         }
         echo $remarks;
         echo "</textarea></td></tr>";
         if ($_POST["update_prenatal"]) {
             echo "<tr><td><input type='submit' name='submitmc' value='Save Prenatal Remarks' style='border: 1px solid #000000'></input>&nbsp;&nbsp;<input type='button' name='cancel' value='Cancel' onclick='history.go(-1)' style='border: 1px solid #000000'></input></td></tr>";
         } else {
             echo "<tr><td><input type='submit' name='update_prenatal' value='Update Prenatal Remarks' style='border: 1px solid #000000'></input></td></tr>";
         }
         echo "</table>";
         echo "</form>";
     } else {
         print "<a name='prenatal'>";
         print "<font color='red'>No valid Registry ID. Please create a new one.</font>";
     }
 }
コード例 #4
0
ファイル: class.ntp.php プロジェクト: jvtolentino/chits
    function process_ntp() {
        if (func_num_args()>0) {
            $arg_list = func_get_args();
            $menu_id = $arg_list[0];
            $post_vars = $arg_list[1];
            $get_vars = $arg_list[2];
            $validuser = $arg_list[3];
            $isadmin = $arg_list[4];
            //print_r($arg_list);
        }
        $patient_id = healthcenter::get_patient_id($get_vars["consult_id"]);
        switch($post_vars["submitntp"]) {
        case "Assign Lab Exam":
            if ($post_vars["labs"] && $post_vars["registry_id"]) {
                foreach($post_vars["labs"] as $key=>$value) {
                    print $sql = "insert into m_consult_ntp_labs_request (consult_id, patient_id, ntp_id, request_id, user_id, request_timestamp) ".
                           "values ('".$get_vars["consult_id"]."', '$patient_id', '".$post_vars["registry_id"]."', '$value', '".$_SESSION["userid"]."', sysdate())";
                    $result = mysql_query($sql);
                }
                header("location: ".$_SERVER["PHP_SELF"]."?page=".$get_vars["page"]."&menu_id=".$get_vars["menu_id"]."&consult_id=".$get_vars["consult_id"]."&ptmenu=".$get_vars["ptmenu"]."&module=".$get_vars["module"]."&ntp=".$get_vars["ntp"]."&ntp_id=".$get_vars["ntp_id"]);
            }
            break;
        case "Add Follow-up Date":
            if ($post_vars["treatment_actual_date"]) {
                list($month,$day,$year) = explode("/", $post_vars["treatment_actual_date"]);
                $actual_date = $year."-".str_pad($month, 2, "0", STR_PAD_LEFT)."-".str_pad($day, 2, "0", STR_PAD_LEFT);
                print $sql = "update m_consult_ntp_due_dates set ".
                       "treatment_actual_date = '$actual_date', ".
                       "remarks = '".addslashes($post_vars["remarks"])."' ".
                       "where ntp_id = '".$post_vars["ntp_id"]."'";
                if ($result = mysql_query($sql)) {
                    header("location: ".$_SERVER["PHP_SELF"]."?page=".$get_vars["page"]."&menu_id=".$get_vars["menu_id"]."&consult_id=".$get_vars["consult_id"]."&ptmenu=".$get_vars["ptmenu"]."&module=".$get_vars["module"]."&ntp=".$get_vars["ntp"]."&ntp_id=".$get_vars["ntp_id"]);
                }
            }
            break;
        case "Save NTP Data":
            if ($post_vars["occupation"] && $post_vars["region"] && $post_vars["bcg_scar"] && $post_vars["contact_person"] &&
                $post_vars["treatment_category"] && $post_vars["treatment_outcome"] && $post_vars["treatment_partner"]) {

                // always use what's existing
                $body_weight = healthcenter::get_body_weight($get_vars["consult_id"]);
                $bcg_scar = ($post_vars["bcg_scar"]?"Y":"N");

                $previous_tx = ($post_vars["previous_treatment_flag"]?"Y":"N");
                // save previous treatment drugs in one field
                if ($post_vars["previous_treatment_drugs"]) {
                    foreach($post_vars["previous_treatment_drugs"] as $key=>$drug) {
                        $tx_drugs .= $drug;
                    }
                }

                $sql_first = "insert into m_patient_ntp (patient_id, occupation_id, ".
                             "household_contacts, region_id, body_weight, bcg_scar, ".
                             "previous_treatment_flag, previous_treatment_duration, ".
                             "previous_treatment_drugs, treatment_category_id, ".
                             "contact_person, outcome_id, patient_type_id, ".
                             "treatment_partner_id, healthcenter_id, ntp_timestamp, ".
                             "ntp_consult_date, user_id, tb_class) ".
                             "values ('$patient_id', '".$post_vars["occupation"]."', ".
                             "'".$post_vars["hh_contacts"]."', '".$post_vars["region"]."', ".
                             "'$body_weight', '$bcg_scar', '$previous_tx', ".
                             "'".$post_vars["previous_treatment_duration"]."', '$tx_drugs', ".
                             "'".$post_vars["treatment_category"]."', ".
                             "'".$post_vars["contact_person"]."', ".
                             "'".$post_vars["treatment_outcome"]."', ".
                             "'".$post_vars["patient_type"]."', ".
                             "'".$post_vars["treatment_partner"]."', ".
                             "'".$_SESSION["datanode"]["code"]."', sysdate(), ".
                             "sysdate(), '".$_SESSION["userid"]."', ".
                             "'".$post_vars["tb_class"]."')";
                if ($result_first = mysql_query($sql_first)) {
                    header("location: ".$_SERVER["PHP_SELF"]."?page=".$get_vars["page"]."&menu_id=".$get_vars["menu_id"]."&consult_id=".$get_vars["consult_id"]."&ptmenu=".$get_vars["ptmenu"]."&module=".$get_vars["module"]);
                }
            }
            break;
        case "Update NTP Data":
            if ($post_vars["occupation"] && $post_vars["region"] && $post_vars["bcg_scar"] && $post_vars["contact_person"] &&
                $post_vars["treatment_category"] && $post_vars["treatment_outcome"] && $post_vars["treatment_partner"]) {

                // always use what's existing
                $body_weight = healthcenter::get_body_weight($get_vars["consult_id"]);
                $bcg_scar = ($post_vars["bcg_scar"]?"Y":"N");

                // if treatment outcome is any other than TX end this course
                $course_end_flag = ($post_vars["treatment_outcome"]<>"TX"?"Y":"N");
                if ($course_end_flag=="Y") {
                    $treatment_end_date = date("Y-m-d");
                } else {
                    $treatment_end_date = '0000-00-00';
                }
                $previous_tx = ($post_vars["previous_treatment_flag"]?"Y":"N");
                if ($post_vars["previous_treatment_drugs"]) {
                    foreach($post_vars["previous_treatment_drugs"] as $key=>$drug) {
                        $tx_drugs .= $drug;
                    }
                }
                $sql_first = "update m_patient_ntp set ".
                             "occupation_id = '".$post_vars["occupation"]."', ".
                             "household_contacts = '".$post_vars["hh_contacts"]."', ".
                             "region_id = '".$post_vars["region"]."', ".
                             "bcg_scar = '$bcg_scar', ".
                             "body_weight = '$body_weight', ".
                             "previous_treatment_flag = '$previous_tx', ".
                             "previous_treatment_duration = '".$post_vars["previous_treatment_duration"]."', ".
                             "previous_treatment_drugs = '$tx_drugs', ".
                             "treatment_category_id = '".$post_vars["treatment_category"]."', ".
                             "contact_person = '".$post_vars["contact_person"]."', ".
                             "outcome_id = '".$post_vars["treatment_outcome"]."', ".
                             "course_end_flag = '$course_end_flag', ".
                             "treatment_end_date = '$treatment_end_date', ".
                             "patient_type_id = '".$post_vars["patient_type"]."', ".
                             "treatment_partner_id = '".$post_vars["treatment_partner"]."', ".
                             "ntp_timestamp = sysdate(), ".
                             "user_id = '".$_SESSION["userid"]."', ".
                             "tb_class = '".$post_vars["tb_class"]."' ".
                             "where ntp_id = '".$post_vars["ntp_id"]."' ";
                if ($result_first = mysql_query($sql_first)) {
                    header("location: ".$_SERVER["PHP_SELF"]."?page=".$get_vars["page"]."&menu_id=".$get_vars["menu_id"]."&consult_id=".$get_vars["consult_id"]."&ptmenu=".$get_vars["ptmenu"]."&module=ntp&ntp=VISIT1&ntp_id=".$get_vars["ntp_id"]);
                }
            }
            break;
        case "Delete NTP Data":
            // this is a dummy entry
            // real delete code is in ntp::display_course();
            break;
        case "Save Intensive Data":
            if ($post_vars["treatment_date"]) {

                $start_date = ntp::get_start_date($post_vars["registry_id"]);
                $intake = ($post_vars["intake_flag"]?"Y":"N");
                list($month,$day,$year) = explode("/", $post_vars["treatment_date"]);
                $intake_date = $year."-".str_pad($month, 2, "0", STR_PAD_LEFT)."-".str_pad($day, 2, "0", STR_PAD_LEFT);

                $sql = "insert into m_consult_ntp_intake_intensive (ntp_id, consult_id, patient_id, user_id, treatment_month, treatment_week, treatment_date, intake_flag, remarks) ".
                       "values ('".$post_vars["registry_id"]."', '".$get_vars["consult_id"]."', '$patient_id', '".$_SESSION["userid"]."', (month(sysdate())+1)-month('$start_date'), (week(sysdate())+1)-week('$start_date'), '$intake_date', '$intake', '".addslashes($post_vars["remarks"])."')";
                if ($result = mysql_query($sql)) {
                    // if first treatment day,
                    //  put in projected dates
                    if (ntp::get_intensive_date($post_vars["registry_id"])=="0000-00-00") {
                        // get regimen and determine projected dates
                        // sputum exam intervals are given 1 week (7 days) lead time
                        $regimen = ntp::get_treatment_regimen($post_vars["registry_id"]);
                        switch ($regimen) {
                        case 1:
                            $interval_sputum1 = "49 day"; // towards end of 2nd month
                            $interval_sputum2 = "105 day"; // towards end of 4th month
                            //$interval_sputum3 = "161 day"; // towards end of 6th month
                            $interval_sputum3 = "140 day"; // in the beginning of 6th month
                            //$interval_intensive = "42 day";
                            $interval_intensive = "56 day";
                            //$interval_maintenance = "154 day";
                            $interval_maintenance = "168 day";
                            $sql_ntp = "update m_patient_ntp set ".
                                       "intensive_start_date = '$intake_date', ".
                                       "intensive_projected_end_date = '$intake_date' + interval $interval_intensive, ".
                                       "maintenance_projected_end_date = '$intake_date' + interval $interval_maintenance, ".
                                       "sputum1_date = '$intake_date' + interval $interval_sputum1, ".
                                       "sputum2_date = '$intake_date' + interval $interval_sputum2, ".
                                       "sputum3_date = '$intake_date' + interval $interval_sputum3 ".
                                       "where ntp_id = '".$post_vars["registry_id"]."'";
                            break;
                        case 3:
                            $interval_sputum1 = "49 day"; // towards end of 2nd month
                            //$interval_intensive = "42 day";
                            //$interval_maintenance = "154 day";
                            $interval_intensive = "56 day";
                            $interval_maintenance = "168 day";
                            $sql_ntp = "update m_patient_ntp set ".
                                       "intensive_start_date = '$intake_date', ".
                                       "intensive_projected_end_date = '$intake_date' + interval $interval_intensive, ".
                                       "maintenance_projected_end_date = '$intake_date' + interval $interval_maintenance, ".
                                       "sputum1_date = '$intake_date' + interval $interval_sputum1 ".
                                       "where ntp_id = '".$post_vars["registry_id"]."'";
                            break;
                        case 2:
                            $interval_sputum1 = "77 day"; // towards end of 3rd month
                            $interval_sputum2 = "133 day"; // towards end of 5th month
                            //$interval_sputum3 = "217 day"; // towards end of 8th month
                            $interval_sputum3 = "196 day"; // beginning of 8th month
                            $interval_intensive = "84 day";
                            $interval_maintenance = "224 day";
                            $sql_ntp = "update m_patient_ntp set ".
                                       "intensive_start_date = '$intake_date', ".
                                       "intensive_projected_end_date = '$intake_date' + interval $interval_intensive, ".
                                       "maintenance_projected_end_date = '$intake_date' + interval $interval_maintenance, ".
                                       "sputum1_date = '$intake_date' + interval $interval_sputum1, ".
                                       "sputum2_date = '$intake_date' + interval $interval_sputum2, ".
                                       "sputum3_date = '$intake_date' + interval $interval_sputum3 ".
                                       "where ntp_id = '".$post_vars["registry_id"]."'";
                            break;
                        }
                        $result_ntp = mysql_query($sql_ntp) or die(mysql_error());
                    }

                    // set appointment only if treatment date is today
                    // useless if treatment date is the past
                    // caution: do not enter first treatment date on a weekend
                    if ($intake_date == date("Y-m-d")) {
                        // if day today is a friday, add 3 days
                        // if saturday add 2 days
                        if (date("w")==5) {
                            $interval = 3; // monday
                        } elseif(date("w")==6) {
                            $interval = 2; // 1 day
                        } else {
                            $interval = 1; // 1 day
                        }
                        $sql_appt = "insert into m_consult_appointments (visit_date, ".
                                    "consult_id, schedule_timestamp, user_id, patient_id, ".
                                    "appointment_id) values (sysdate() + interval $interval day, ".
                                    "'".$get_vars["consult_id"]."', sysdate(), '".$_SESSION["userid"]."', ".
                                    "'$patient_id', 'NTPI')";
                        $result_app = mysql_query($sql_appt);
                    }
                    header("location: ".$_SERVER["PHP_SELF"]."?page=".$get_vars["page"]."&menu_id=".$get_vars["menu_id"]."&consult_id=".$get_vars["consult_id"]."&ptmenu=".$get_vars["ptmenu"]."&module=".$get_vars["module"]."&ntp=".$get_vars["ntp"]."&ntp_id=".$get_vars["ntp_id"]."#intensive_form");
                }
            } else {
                print "<font color='red'>No treatment date</font><br/>";
            }
            break;
        case "Save Maintenance Data":
            $start_date = ntp::get_start_date($post_vars["registry_id"]);
            $intake = ($post_vars["intake_flag"]?"Y":"N");

            // treatment date
            if ($post_vars["treatment_date"] && $post_vars["followup_date"]) {

                // treatment date
                list($txmonth,$txday,$txyear) = explode("/", $post_vars["treatment_date"]);
                $intake_date = $txyear."-".str_pad($txmonth, 2, "0", STR_PAD_LEFT)."-".str_pad($txday, 2, "0", STR_PAD_LEFT);
                // followup date
                list($ffmonth,$ffday,$ffyear) = explode("/", $post_vars["followup_date"]);
                $followup_date = $ffyear."-".str_pad($ffmonth, 2, "0", STR_PAD_LEFT)."-".str_pad($ffday, 2, "0", STR_PAD_LEFT);

                $sql = "insert into m_consult_ntp_collection_maintenance (ntp_id, consult_id, patient_id, user_id, treatment_month, treatment_week, treatment_date, intake_flag, remarks) ".
                       "values ('".$post_vars["registry_id"]."', '".$get_vars["consult_id"]."', '$patient_id', '".$_SESSION["userid"]."', (month(sysdate())+1)-month('$start_date'), (week(sysdate())+1)-week('$start_date'), '$intake_date', '$intake', '".addslashes($post_vars["remarks"])."')";
                if ($result = mysql_query($sql)) {
                    if (ntp::get_maintenance_date($post_vars["registry_id"])=="0000-00-00") {
                        $sql_ntp = "update m_patient_ntp set ".
                                   "maintenance_start_date = '$intake_date' ".
                                   "where ntp_id = '".$post_vars["registry_id"]."'";
                        $result_ntp = mysql_query($sql_ntp);
                    }
                    if ($followup_date) {
                        // set appointment based on followup date
                        // maintenance phase appointments are more flexible
                        $sql_appt = "insert into m_consult_appointments (visit_date, ".
                                    "consult_id, schedule_timestamp, user_id, patient_id, ".
                                    "appointment_id) values ('$followup_date', ".
                                    "'".$get_vars["consult_id"]."', sysdate(), '".$_SESSION["userid"]."', ".
                                    "'$patient_id', 'NTPM')";
                        $result_app = mysql_query($sql_appt);
                    }
                    header("location: ".$_SERVER["PHP_SELF"]."?page=".$get_vars["page"]."&menu_id=".$get_vars["menu_id"]."&consult_id=".$get_vars["consult_id"]."&ptmenu=".$get_vars["ptmenu"]."&module=".$get_vars["module"]."&ntp=".$get_vars["ntp"]."&ntp_id=".$get_vars["ntp_id"]."#maintenance_form");
                }
            } else {
                print "<font color='red'>Incomplete date(s)</font><br/>";
            }
            break;
        case "Send Request":
            if ($post_vars["registry_id"]) {
                foreach($post_vars["ntp_lab"] as $key=>$value) {
                    $sql_lab = "insert into m_consult_lab (consult_id, patient_id, lab_id, request_timestamp, request_user_id) ".
                               "values ('".$get_vars["consult_id"]."', '$patient_id', '$value', sysdate(), '".$_SESSION["userid"]."')";
                    if ($result_lab = mysql_query($sql_lab)) {
                        // try to insert in ntp lab registry
                        $insert_id = mysql_insert_id();
                        $sql_ntp = "insert into m_consult_ntp_labs_request (consult_id, patient_id, ntp_id, request_id, user_id, request_timestamp) ".
                                   "values ('".$get_vars["consult_id"]."', '$patient_id', '".$post_vars["registry_id"]."', '$insert_id', '".$_SESSION["userid"]."', sysdate())";
                        $result_ntp = mysql_query($sql_ntp);
                    }
                }
                header("location: ".$_SERVER["PHP_SELF"]."?page=".$get_vars["page"]."&menu_id=".$get_vars["menu_id"]."&consult_id=".$get_vars["consult_id"]."&ptmenu=".$get_vars["ptmenu"]."&module=".$get_vars["module"].($get_vars["ntp_id"]?"&ntp_id=".$get_vars["ntp_id"]:""));
            }
            break;
        case "Print Referral":
            break;
        }
    }