/** * Produce an html display of information in * the x12 edi 271 eligibility report for a particular patient * * @uses edih_271_codes() * @uses edih_format_money() * @uses edih_format_date() * @uses edih_format_percent() * * @param object edih_x12_file type 271 * @param string bht03 or clm01 reference for transaction * @return string */ function edih_277_transaction_html($obj277, $bht03, $accordion = false) { // get the transaction segments $trans = $obj277->edih_x12_transaction($bht03); // get other necessary items $de = $obj277->edih_delimiters()['e']; $ds = $obj277->edih_delimiters()['s']; $dr = $obj277->edih_delimiters()['r']; $fn = $obj277->edih_filename(); // if (!is_array($trans) || !count($trans)) { $str_html = "<p>Did not find transaction {$bht03} in {$fn}</p>" . PHP_EOL; return $str_html; } // $cd27x = new edih_271_codes($ds, $dr); // $h3_lbl = ''; $str_html = ""; $hdr_html = ""; // $hdr_html = "<table id={$bht03} class='h277' columns=4>"; $hdr_html .= "<caption>Claim Status</caption>" . PHP_EOL; $hdr_html .= "<thead>" . PHP_EOL; $hdr_html .= "<tr><th>Reference</th><th>Information</th><th colspan=2>{$fn}</th></tr>" . PHP_EOL; // $hdr_html .= "</thead>" . PHP_EOL . "<tbody>" . PHP_EOL; // $src_html = ""; $rcv_html = ""; $prv_html = ""; $sbr_nm1_html = ""; $dep_nm1_html = ""; $sbr_stc_html = ""; $dep_stc_html = ""; // $trns_ct = count($trans); for ($i = 0; $i < $trns_ct; $i++) { foreach ($trans[$i] as $seg) { // $idtype = ''; $name = ''; $var = ''; $rej_reason = ''; $follow = ''; $addr = ''; // debug // echo "$i loop: $loopid Segment: $seg".PHP_EOL; // if (strncmp('BHT' . $de, $seg, 4) === 0) { $loopid = 'Heading'; $sar = explode($de, $seg); if (isset($sar[1])) { if ($sar[1] == '0010') { $elem01 = "Src, Rcv, Prv, Sbr, Dep"; } elseif ($sar[1] == '0085') { $elem01 = "Src, Rcv, Prv, Pt"; } else { $elem01 = "Not determined ({$sar[1]})"; } } else { $elem01 = ''; } // $elem02 = isset($sar[2]) && $sar[2] !== false ? $cd27x->get_271_code('BHT02', $sar[2]) : ""; $elem03 = isset($sar[3]) && $sar[3] ? $sar[3] : ""; $elem04 = isset($sar[4]) && $sar[4] ? edih_format_date($sar[4]) : ""; $elem06 = isset($sar[6]) && $sar[6] ? $cd27x->get_271_code('BHT06', $sar[6]) : ""; // $hdr_html .= "<tr><td colspan=2><em>Reference:</em> {$elem03}</td><td colspan=2><em>Sequence:</em> {$elem01}</td></tr>" . PHP_EOL; $hdr_html .= "<tr><td colspan=2><em>Date:</em> {$elem04}</td><td colspan=2><em>Type:</em> {$elem02}</td>" . PHP_EOL; $hdr_html .= $elem06 ? "<tr><td>></td><td colspan=3><em>Type:</em> {$elem06}</td></tr>" . PHP_EOL : ""; // $bht = $elem03; continue; } // if (strncmp('HL' . $de, $seg, 3) === 0) { $sar = explode($de, $seg); $elem03 = isset($sar[3]) ? $sar[3] : ""; if ($elem03 == '20') { // level code $loopid = '2000A'; // info source (payer) $cls = "src"; $src_html .= "<tr class='{$cls}'><td colspan=4><b>Information Source</b></td></tr>" . PHP_EOL; } elseif ($elem03 == '21') { $loopid = '2000B'; // info receiver (clinic) $cls = "rcv"; $rcv_html .= "<tr class='{$cls}'><td colspan=4><b>Information Receiver</b></td></tr>" . PHP_EOL; } elseif ($elem03 == '19') { $loopid = '2000C'; // provider $cls = "prv"; $has_eb = false; $prv_html .= "<tr class='{$cls}'><td colspan=4><b>Provider</b></td></tr>" . PHP_EOL; } elseif ($elem03 == '22') { $loopid = '2000D'; // subscriber $cls = "sbr"; $sbr_nm1_html .= "<tr class='{$cls}'><td colspan=4><b>Subscriber</b></td></tr>" . PHP_EOL; } elseif ($elem03 == 'PT') { $loopid = '2000D'; // patient in 277CA $cls = "sbr"; $sbr_nm1_html .= "<tr class='{$cls}'><td colspan=4><b>Patient</b></td></tr>" . PHP_EOL; } elseif ($elem03 == '23') { $loopid = '2000E'; // dependent $cls = "dep"; $dep_nm1_html .= "<tr class='{$cls}'><td colspan=4><b>Dependent</b></td></tr>" . PHP_EOL; } else { csv_edihist_log("edih_277_transaction_html: HL segment error {$fn}"); } // $qtystr = ''; // reset for QTY and AMT segments in 277CA continue; } // if (strncmp('NM1' . $de, $seg, 4) === 0) { $sar = explode($de, $seg); // $nm101 = isset($sar[1]) ? $sar[1] : ''; $descr = $nm101 ? $cd27x->get_271_code('NM101', $nm101) : ""; // $name = isset($sar[3]) && $sar[3] ? $sar[3] : ""; $name .= isset($sar[7]) && $sar[7] ? " {$sar[7]}" : ""; $name .= isset($sar[4]) && $sar[4] ? ", {$sar[4]}" : ""; $name .= isset($sar[5]) && $sar[5] ? " {$sar[5]}" : ""; $nm109 = isset($sar[9]) && $sar[9] ? $sar[9] : ""; // $nm108 = isset($sar[8]) && $sar[8] ? $cd27x->get_271_code('NM108', $sar[8]) : ""; // if ($loopid == '2000A') { $src_html .= "<tr class='{$cls}'><td>></td><td colspan=3 title='{$descr}'>{$name}</td></tr>" . PHP_EOL; $src_html .= "<tr class='{$cls}'><td>></td><td colspan=3 title='{$descr}'><em>{$nm108}</em> {$nm109}</td></tr>" . PHP_EOL; $loopid = '2100A'; } elseif ($loopid == '2000B') { $rcv_html .= "<tr class='{$cls}'><td>></td><td colspan=3 title='{$descr}'>{$name}</td></tr>" . PHP_EOL; $rcv_html .= "<tr class='{$cls}'><td>></td><td colspan=3 title='{$descr}'><em>{$nm108}</em> {$nm109}</td></tr>" . PHP_EOL; $loopid = '2100B'; } elseif ($loopid == '2000C') { $prv_html .= "<tr class='{$cls}'><td>></td><td colspan=3 title='{$descr}'>{$name}</td></tr>" . PHP_EOL; $prv_html .= "<tr class='{$cls}'><td>></td><td colspan=3 title='{$descr}'><em>{$nm108}</em> {$nm109}</td></tr>" . PHP_EOL; $loopid = '2100C'; } elseif ($loopid == '2000D') { $sbr_nm1_html .= "<tr class='{$cls}'><td>></td><td colspan=3 title='{$descr}'>{$name}</td></tr>" . PHP_EOL; $sbr_nm1_html .= "<tr class='{$cls}'><td>></td><td colspan=3 title='{$descr}'><em>{$nm108}</em> {$nm109}</td></tr>" . PHP_EOL; $h3_lbl = $name; $loopid = '2100D'; } elseif ($loopid == '2000E') { $dep_nm1_html .= "<tr class='{$cls}'><td>></td><td colspan=3 title='{$descr}'>{$name}</td></tr>" . PHP_EOL; $dep_nm1_html .= "<tr class='{$cls}'><td>></td><td colspan=3 title='{$descr}'><em>{$nm108}</em> {$nm109}</td></tr>" . PHP_EOL; $h3_lbl = $name; $loopid = '2100E'; } // continue; } // // if (strncmp('PER' . $de, $seg, 4) === 0) { $sar = explode($de, $seg); // $elem01 = isset($sar[1]) ? $sar[1] : ''; $elem02 = isset($sar[2]) ? $sar[2] : ''; $elem03 = isset($sar[3]) ? $cd27x->get_271_code('PER03', $sar[3]) : ""; $elem04 = isset($sar[4]) ? $sar[4] : ''; $elem05 = isset($sar[5]) ? $cd27x->get_271_code('PER03', $sar[5]) : ""; $elem06 = isset($sar[6]) ? $sar[6] : ''; $elem07 = isset($sar[7]) ? $cd27x->get_271_code('PER03', $sar[7]) : ""; $elem08 = isset($sar[8]) ? $sar[8] : ''; $elem09 = isset($sar[9]) ? $sar[9] : ''; // if ($loopid == '2100A') { $src_html .= "<tr class='{$cls}'><td colspan=2>{$elem02}</td><td colspan=2 title='{$elem03} {$elem05} {$elem07}'>{$elem04} {$elem06} {$elem08}</td></tr>" . PHP_EOL; } else { csv_edihist_log('edih_277_html: PER segment not in 2100A loop ' . $fn); } // continue; } // if (strncmp('TRN' . $de, $seg, 4) === 0) { $sar = explode($de, $seg); // $elem01 = isset($sar[1]) && $sar[1] == "1" ? "Transaction Ref" : "Trace"; $elem02 = isset($sar[2]) ? $sar[2] : ''; $elem03 = isset($sar[3]) ? $sar[3] : ''; $elem04 = isset($sar[4]) ? $sar[4] : ''; // if ($loopid == '2100B') { $rcv_html .= "<tr class='{$cls}'><td>></td><td colspan=3><em>{$elem01}</em> {$elem02}</td></tr>" . PHP_EOL; $loopid = '2200B'; } elseif ($loopid == '2100C') { $prv_html .= "<tr class='{$cls}'><td>></td><td colspan=3><em>{$elem01}</em> {$elem02}</td></tr>" . PHP_EOL; $loopid = '2200C'; } elseif ($loopid == '2100D') { $sbr_stc_html .= "<tr class='{$cls}'><td>></td><td colspan=3><em>{$elem01}</em> {$elem02}</td></tr>" . PHP_EOL; $h3_lbl = $h3_lbl ? $h3_lbl . ' ' . $elem02 : $h3_lbl; $loopid = '2200D'; } elseif ($loopid == '2100E') { $dep_stc_html .= "<tr class='{$cls}'><td>></td><td colspan=3><em>{$elem01}</em> {$elem02}</td></tr>" . PHP_EOL; $h3_lbl = $h3_lbl ? $h3_lbl . ' ' . $elem02 : $h3_lbl; $loopid = '2200E'; } // continue; } // if (strncmp('STC' . $de, $seg, 4) === 0) { $sar = explode($de, $seg); // if (isset($sar[1])) { if (strpos($sar[1], $ds)) { // claim status category : claim status : entity identifier $scda = explode($ds, $sar[1]); $sc101 = isset($scda[0]) && $scda[0] ? $cd27x->get_271_code('HCCSCC', $scda[0]) : ""; $sc102 = isset($scda[1]) && $scda[1] ? $cd27x->get_271_code('HCCSC', $scda[1]) : ""; $sc103 = isset($scda[2]) && $scda[2] ? $cd27x->get_271_code('NM101', $scda[2]) : ""; } } else { $stc01 = $sar[1]; } $stc02 = isset($sar[2]) && $sar[2] ? edih_format_date($sar[2]) : ""; // status information date $stc03 = ""; // action code if (isset($sar[3])) { if ($sar[3] == 'WQ') { $stc03 = "Accepted"; } elseif ($sar[3] == 'F') { $stc03 = "Final"; } elseif ($sar[3] == '15') { $stc03 = "Correct/Resubmit"; } elseif ($sar[3] == 'U') { $stc03 = "Rejected"; } else { $stc03 = $sar[3]; } } $stc04 = isset($sar[4]) && $sar[4] ? edih_format_money($sar[4]) : ""; // billed amount $stc05 = isset($sar[5]) && $sar[5] ? edih_format_money($sar[5]) : ""; // paid amount $stc06 = isset($sar[6]) && $sar[6] ? edih_format_date($sar[6]) : ""; // payment date //$stc07 not used $stc08 = isset($sar[8]) && $sar[8] ? edih_format_date($sar[8]) : ""; // check issue date $stc09 = isset($sar[9]) && $sar[9] ? $sar[9] : ""; // check or eft number // $stc10 = ""; if (isset($sar[10]) && $sar[10]) { // claim status category : claim status : entity identifier if (strpos($sar[10], $ds)) { $scda = explode($ds, $sar[1]); $sc201 = isset($scda[0]) && $scda[0] ? $cd27x->get_271_code('HCCSCC', $scda[0]) : ""; $sc202 = isset($scda[1]) && $scda[1] ? $cd27x->get_271_code('HCCSC', $scda[1]) : ""; $sc203 = isset($scda[2]) && $scda[2] ? $cd27x->get_271_code('NM101', $scda[2]) : ""; $sc204 = isset($scda[3]) && ($scda[3] = 'RA') ? "Rx Reject/Payment Codes" : ""; } else { $stc10 = $sar[10]; } } // $stc11 = ""; if (isset($sar[11]) && $sar[11]) { // claim status category : claim status : entity identifier if (strpos($sar[10], $ds)) { $scda = explode($ds, $sar[1]); $sc301 = isset($scda[0]) && $scda[0] ? $cd27x->get_271_code('HCCSCC', $scda[0]) : ""; $sc302 = isset($scda[1]) && $scda[1] ? $cd27x->get_271_code('HCCSC', $scda[1]) : ""; $sc303 = isset($scda[2]) && $scda[2] ? $cd27x->get_271_code('NM101', $scda[2]) : ""; $sc304 = isset($scda[3]) && ($scda[3] = 'RA') ? "Rx Reject/Payment Codes" : ""; } else { $stc11 = $sar[10]; } } // $stc12 = isset($sar[12]) && $sar[12] ? $sar[12] : ""; // message // $stc_html = isset($sc101) ? "<tr class='{$cls}'><td>{$stc03}</td><td colspan=2>{$sc101}</td><td>{$stc02} {$stc04}</td></tr>" . PHP_EOL : ""; $stc_html .= isset($sc102) ? "<tr class='{$cls}'><td>></td><td colspan=3>{$sc102}</td></tr>" . PHP_EOL : ""; $stc_html .= isset($sc103) && $sc103 ? "<tr class='{$cls}'><td>></td><td colspan=3><em>Entity</em> {$sc103}</td></tr>" . PHP_EOL : ""; $stc_html .= $stc05 || $stc06 || $stc08 || $stc09 ? "<tr class='{$cls}'><td><em>Payment</em></td><td colspan=3>{$stc05} {$stc06} {$stc08} {$stc09}</td></tr>" . PHP_EOL : ""; $stc_html .= isset($sc201) ? "<tr class='{$cls}'><td>></td><td colspan=3>{$sc201} {$sc204}</td></tr>" . PHP_EOL : ""; $stc_html .= isset($sc202) ? "<tr class='{$cls}'><td>></td><td colspan=3>{$sc202}</td></tr>" . PHP_EOL : ""; $stc_html .= isset($sc203) && $sc203 ? "<tr class='{$cls}'><td>></td><td colspan=3><em>Entity</em> {$sc203}</td></tr>" . PHP_EOL : ""; $stc_html .= isset($sc301) ? "<tr class='{$cls}'><td>></td><td colspan=3>{$sc301} {$sc304}</td></tr>" . PHP_EOL : ""; $stc_html .= isset($sc302) ? "<tr class='{$cls}'><td>></td><td colspan=3>{$sc302}</td></tr>" . PHP_EOL : ""; $stc_html .= isset($sc303) && $sc303 ? "<tr class='{$cls}'><td>></td><td colspan=3><em>Entity</em> {$sc303}</td></tr>" . PHP_EOL : ""; $stc_html .= $stc12 ? "<tr class='{$cls}'><td><em>Message</em></td><td colspan=3>{$stc12}</td></tr>" . PHP_EOL : ""; // if ($loopid == '2200B') { $rcv_html .= $stc_html; } elseif ($loopid == '2200C') { $prv_html .= $stc_html; } elseif ($loopid == '2200D') { $sbr_stc_html .= $stc_html; } elseif ($loopid == '2200E') { $dep_stc_html .= $stc_html; } // continue; } // in 277CA, expect QTY followed by AMT // do not expect QTY or AMT in regular 277 if (strncmp('QTY' . $de, $seg, 4) === 0) { $sar = explode($de, $seg); if (isset($sar[1])) { if ($sar[1] == '90') { $qtystr = "Acknowledged Quantity "; } elseif ($sar[1] == 'AA') { $qtystr = "Unacknowledged Quantity "; } elseif ($sar[1] == 'QA') { $qtystr = "Quantity Approved "; } elseif ($sar[1] == 'QC') { $qtystr = "Quantity Disapproved "; } else { $qtystr = "Quantity "; } } else { $qtystr = ""; } $qtystr .= isset($sar[2]) && $sar[2] ? $sar[2] : ""; } // if (strncmp('AMT' . $de, $seg, 4) === 0) { $sar = explode($de, $seg); // 277CA $amtstr = isset($sar[1]) && $sar[1] == 'YU' ? "Amt " : "Amt Rej "; $amtstr .= isset($sar[2]) && $sar[2] ? edih_format_money($sar[2]) : ""; // if ($loopid == '2200B') { $rcv_html .= "<tr class='{$cls}'><td>></td><td colspan=3>{$qtystr} {$amtstr}</td></tr>" . PHP_EOL; } elseif ($loopid == '2200C') { $prv_html .= "<tr class='{$cls}'><td>></td><td colspan=3>{$qtystr} {$amtstr}</td></tr>" . PHP_EOL; } elseif ($loopid == '2200D') { $sbr_stc_html .= "<tr class='{$cls}'><td>></td><td colspan=3>{$qtystr} {$amtstr}</td></tr>" . PHP_EOL; } elseif ($loopid == '2200E') { $dep_stc_html .= "<tr class='{$cls}'><td>></td><td colspan=3>{$qtystr} {$amtstr}</td></tr>" . PHP_EOL; } $amtstr = ''; $qtystr = ''; // continue; } // if (strncmp('REF' . $de, $seg, 4) === 0) { $sar = explode($de, $seg); // // $elem01 = isset($sar[1]) ? $cd27x->get_271_code('REF', $sar[1]) : ''; $elem02 = isset($sar[2]) ? $sar[2] : ''; $elem03 = isset($sar[3]) ? $sar[2] : ''; // if ($loopid == '2200B') { $rcv_html .= "<tr class='{$cls}'><td>></td><td colspan=2><em>{$elem01}</em> {$elem02}</td><td>{$elem03}</td></tr>" . PHP_EOL; } elseif ($loopid == '2200C') { $prv_html .= "<tr class='{$cls}'><td>></td><td colspan=2><em>{$elem01}</em> {$elem02}</td><td>{$elem03}</td></tr>" . PHP_EOL; } elseif ($loopid == '2200D' || $loopid == '2220D') { $sbr_stc_html .= "<tr class='{$cls}'><td>></td><td colspan=2><em>{$elem01}</em> {$elem02}</td><td>{$elem03}</td></tr>" . PHP_EOL; } elseif ($loopid == '2200E' || $loopid == '2220E') { $dep_stc_html .= "<tr class='{$cls}'><td>></td><td colspan=2><em>{$elem01}</em> {$elem02}</td><td>{$elem03}</td></tr>" . PHP_EOL; } // continue; } // if (strncmp('DTP' . $de, $seg, 4) === 0) { // $sar = explode($de, $seg); $var = ''; // $elem01 = isset($sar[1]) && $sar[1] ? $cd27x->get_271_code('DTP', $sar[1]) : ""; $elem02 = isset($sar[2]) ? $sar[2] : ''; $elem03 = isset($sar[3]) ? $sar[3] : ''; // $idtype = $elem01 ? $cd27x->get_271_code('DTP', $elem01) : ""; if ($elem02 == 'D8' && $elem03) { $var = edih_format_date($elem03); } elseif ($elem02 == 'RD8' && $elem03) { $var = edih_format_date(substr($elem03, 0, 8)); $var .= ' - ' . edih_format_date(substr($elem03, -8)); } // if ($loopid == '2200D' || $loopid == '2220D') { $sbr_stc_html .= "<tr class='{$cls}'><td>></td><td>{$elem01}</td><td colspan=2>{$var}</td></tr>" . PHP_EOL; } elseif ($loopid == '2200E' || $loopid == '2220E') { $dep_stc_html .= "<tr class='{$cls}'><td>></td><td>{$elem01}</td><td colspan=2>{$var}</td></tr>" . PHP_EOL; } // continue; } // if (strncmp('SVC' . $de, $seg, 4) === 0) { // $sar = explode($de, $seg); // $elem01 = ''; // composite procedure code source:code:modifier:modifier if (isset($sar[1]) && $sar[1]) { // construct a code source code modifier string if (strpos($sar[1], $ds)) { $scda = explode($ds, $sar[1]); reset($scda); while (list($key, $val) = each($scda)) { if ($key == 0 && $val) { $elem01 = $cd27x->get_271_code('EB13', $val); } else { $elem01 .= " " . $val; } } } else { $elem01 = $sar[1]; } } // $elem02 = isset($sar[2]) && $sar[2] ? edih_format_money($sar[2]) : ""; // billed amount $elem03 = isset($sar[3]) && $sar[3] ? edih_format_money($sar[3]) : ""; // paid amount $elem04 = isset($sar[4]) && $sar[4] ? $sar[4] : ""; // revenue code $elem05 = isset($sar[5]) && $sar[5] ? $sar[5] : ""; // quantity // $elem06 not used $elem07 = isset($sar[7]) && $sar[7] ? $sar[7] : ""; // original unis of service // if ($loopid == '2200B') { $rcv_html .= "<tr class='{$cls}'><td><em>Service</em></td><td>{$elem01}</td><td>{$elem02}</td><td>{$elem04}</td></tr>" . PHP_EOL; $rcv_html .= $elem03 || $elem04 ? "<tr class='{$cls}'><td>></td><td colspan=3>{$elem03} {$elem04}</td></tr>" . PHP_EOL : ""; } elseif ($loopid == '2200D' || $loopid == '2220D') { $sbr_stc_html .= "<tr class='{$cls}'><td><em>Service</em></td><td>{$elem01}</td><td colspan=2>{$elem02} {$elem04}</td></tr>" . PHP_EOL; $sbr_stc_html .= $elem03 || $elem04 ? "<tr class='{$cls}'><td>></td><td colspan=3>{$elem03} {$elem04}</td></tr>" . PHP_EOL : ""; } elseif ($loopid == '2200E' || $loopid == '2220E') { $dep_stc_html .= "<tr class='{$cls}'><td><em>Service</em></td><td>{$elem01}</td><td colspan=2>{$elem02} {$elem04}</td></tr>" . PHP_EOL; $dep_stc_html .= $elem03 || $elem04 ? "<tr class='{$cls}'><td>></td><td colspan=3>{$elem03} {$elem04}</td></tr>" . PHP_EOL : ""; } // continue; } // } // if ($accordion) { $str_html .= "<h3>{$bht} {$h3_lbl}</h3>" . PHP_EOL; $str_html .= "<div id='ac_{$bht}'>" . PHP_EOL; } $str_html .= $hdr_html ? $hdr_html : ""; $str_html .= $src_html ? $src_html : ""; $str_html .= $rcv_html ? $rcv_html : ""; $str_html .= $prv_html ? $prv_html : ""; $str_html .= $sbr_nm1_html ? $sbr_nm1_html : ""; $str_html .= $sbr_stc_html ? $sbr_stc_html : ""; $str_html .= $dep_nm1_html ? $dep_nm1_html : ""; $str_html .= $dep_stc_html ? $dep_stc_html : ""; $str_html .= "<tr><td colspan=4> </td></tr>" . PHP_EOL; $str_html .= "</tbody>" . PHP_EOL . "</table>" . PHP_EOL; // if ($accordion) { $str_html .= "</div>" . PHP_EOL; } } return $str_html; }
/** * Produce an html display of information in * the x12 edi 271 eligibility report for a particular patient * * @uses edih_271_codes() * @uses edih_format_money() * @uses edih_format_date() * @uses edih_format_percent() * * @param object edih_x12_file type 271 * @param string bht03 or clm01 reference for transaction * @return string */ function edih_271_transaction_html($obj271, $bht03) { // $trans = $obj271->edih_x12_transaction($bht03); if (empty($trans) || !count($trans)) { $str_html = "<p>Did not find transaction {$bht03} in " . $obj271->edih_filename() . "</p>"; return $str_html; } $de = $obj271->edih_delimiters()['e']; $ds = $obj271->edih_delimiters()['s']; $dr = $obj271->edih_delimiters()['r']; $fn = $obj271->edih_filename(); // $cd271 = new edih_271_codes($ds, $dr); // $str_html = ""; // $hdr_html = "<table id={$bht03} class='h271' columns=4><caption>Eligibility Benefit Response</caption>" . PHP_EOL; $hdr_html .= "<thead>" . PHP_EOL; $hdr_html .= "<tr><th>Reference</th><th colspan=2>Information</th><th colspan=2>{$fn}</th></tr>" . PHP_EOL; $hdr_html .= "</thead>" . PHP_EOL . "<tbody>" . PHP_EOL; $src_html = ""; $rcv_html = ""; $sbr_nm1_html = ""; $dep_nm1_html = ""; $sbr_ref_html = ""; $dep_ref_html = ""; $sbr_eb_html = ""; $dep_eb_html = ""; // $ebct = 0; // $trns_ct = count($trans); for ($i = 0; $i < $trns_ct; $i++) { foreach ($trans[$i] as $seg) { // $idtype = ''; $name = ''; $var = ''; $rej_reason = ''; $follow = ''; $addr = ''; // if (strncmp('BHT' . $de, $seg, 4) === 0) { $loopid = 'Heading'; $sar = explode($de, $seg); $bht01 = isset($sar[1]) && $sar[1] == '022' ? "Src, Rcv, Sbr, Dep" : "Order unspecified"; $bht02 = isset($sar[2]) && $sar[2] == '11' ? "Response" : "Confirmation"; $bht03 = isset($sar[3]) && $sar[3] ? $sar[3] : ""; $bht04 = isset($sar[4]) && $sar[4] ? edih_format_date($sar[4]) : ""; // $hdr_html .= "<tr><td><em>Reference:</em> {$bht03}</td><td><em>Date:</em> {$bht04}</td><td><em>Type:</em> {$bht02}</td><td>{$bht01}</td></tr>" . PHP_EOL; continue; } // if (strncmp('HL' . $de, $seg, 3) === 0) { $sar = explode($de, $seg); if ($sar[3] == '20') { // level code $loopid = '2000A'; // info source (payer) $src_html .= "<tr><td colspan=4><b>Information Source</b></td></tr>" . PHP_EOL; } elseif ($sar[3] == '21') { $loopid = '2000B'; // info receiver (clinic) $rcv_html .= "<tr><td colspan=4><b>Information Receiver</b></td></tr>" . PHP_EOL; } elseif ($sar[3] == '22') { $loopid = '2000C'; // subscriber $has_eb = false; $sbr_nm1_html .= "<tr><td colspan=4><b>Subscriber</b></td></tr>" . PHP_EOL; } elseif ($sar[3] == '23') { $loopid = '2000D'; // dependent $has_eb = false; $dep_nm1_html .= "<tr><td colspan=4><b>Dependent</b></td></tr>" . PHP_EOL; } // $ebct = 0; continue; } // if (strncmp('AAA' . $de, $seg, 4) === 0) { // rejection $sar = explode($de, $seg); $rej_reason = $cd271->get_271_code('AAA03', $sar[3]); $follow = $cd271->get_271_code('AAA04', $sar[4]); if ($loopid == '2000A') { $src_html .= "<tr><td><em><b>Rejection:</b></em></td><td colspan=3 title='{$follow}'>{$rej_reason}</td></tr>" . PHP_EOL; } elseif ($loopid == '2000B') { $rcv_html .= "<tr><td><em><b>Rejection:</b></em></td><td colspan=3 title='{$follow}'>{$rej_reason}</td></tr>" . PHP_EOL; } elseif ($loopid == '2000C') { $sbr_nm1_html .= "<tr><td><em><b>Rejection:</b></em></td><td colspan=3 title='{$follow}'>{$rej_reason}</td></tr>" . PHP_EOL; } elseif ($loopid == '2000D') { $dep_nm1_html .= "<tr><td><em><b>Rejection:</b></em></td><td colspan=3 title='{$follow}'>{$rej_reason}</td></tr>" . PHP_EOL; } elseif ($loopid == '2110C') { $sbr_eb_html .= "<tr class={$cls}><td><em><b>Rejection:</b></em></td><td colspan=3 title='{$follow}'>{$rej_reason}</td></tr>" . PHP_EOL; } elseif ($loopid == '2110D') { $dep_eb_html .= "<tr class={$cls}><td><em><b>Rejection:</b></em></td><td colspan=3 title='{$follow}'>{$rej_reason}</td></tr>" . PHP_EOL; } else { $hdr_html .= "<tr><td>{$loopid} <em><b>Rejection:</b></em></td><td colspan=3 title='{$follow}'>{$rej_reason}</td></tr>" . PHP_EOL; } continue; } if (strncmp('NM1' . $de, $seg, 4) === 0) { $sar = explode($de, $seg); // $descr = isset($sar[1]) && $sar[1] ? $cd271->get_271_code('NM101', $sar[1]) : ""; // $name = isset($sar[3]) && $sar[3] ? $sar[3] : ""; $name .= isset($sar[7]) && $sar[7] ? " {$sar[7]}" : ""; $name .= isset($sar[4]) && $sar[4] ? ", {$sar[4]}" : ""; $name .= isset($sar[5]) && $sar[5] ? " {$sar[5]}" : ""; $name .= isset($sar[7]) && $sar[7] ? " {$sar[7]}" : ""; // $idtype = isset($sar[8]) && $sar[8] ? $cd271->get_271_code('NM108', $sar[8]) : ""; $nm109 = isset($sar[9]) && $sar[9] ? $sar[9] : ""; // if ($loopid == '2000A') { $src_html .= "<tr><td title='{$idtype}'>{$nm109}</td><td colspan=3 title='{$descr}'>{$name}</td></tr>" . PHP_EOL; $loopid = '2100A'; } elseif ($loopid == '2000B') { $rcv_html .= "<tr><td title='{$idtype}'>{$nm109}</td><td colspan=3 title='{$descr}'>{$name}</td></tr>" . PHP_EOL; $loopid = '2100B'; } elseif ($loopid == '2000C') { $sbr_nm1_html .= "<tr><td title='{$idtype}'>{$nm109}</td><td colspan=3 title='{$descr}'>{$name}</td></tr>" . PHP_EOL; $loopid = '2100C'; } elseif ($loopid == '2000D') { $dep_nm1_html .= "<tr><td title='{$idtype}'>{$nm109}</td><td colspan=3 title='{$descr}'>{$name}</td></tr>" . PHP_EOL; $loopid = '2100D'; } elseif ($loopid == '2120C') { $sbr_eb_html .= "<tr class={$cls}><td>></td><td title='{$idtype}'>{$nm109}</td><td colspan=2 title='{$descr}'>{$descr} {$name}</td></tr>" . PHP_EOL; } elseif ($loopid == '2120D') { $dep_eb_html .= "<tr class={$cls}><td>></td><td title='{$idtype}'>{$nm109}</td><td colspan=2 title='{$descr}'>{$descr} {$name}</td></tr>" . PHP_EOL; } // continue; } // if (strncmp('PER' . $de, $seg, 4) === 0) { $sar = explode($de, $seg); $per02 = isset($sar[2]) && $sar[2] ? $sar[2] : ''; $idtype = isset($sar[3]) && $sar[3] ? $cd271->get_271_code('PER03', $sar[3]) : ""; $per04 = isset($sar[4]) && $sar[2] ? $sar[4] : ''; if ($loopid == '2100A') { $src_html .= "<tr><td colspan=3>{$per02}</td><td title='{$idtype}'>{$per04}</td></tr>" . PHP_EOL; } elseif ($loopid == '2120C') { $sbr_eb_html .= "<tr class={$cls}><td>></td><td title='{$idtype}'>{$per04}</td><td colspan=2>{$per02}</td></tr>" . PHP_EOL; } elseif ($loopid == '2120D') { $dep_eb_html .= "<tr class={$cls}><td>></td><td title='{$idtype}'>{$per04}</td><td colspan=2>{$per02}</td></tr>" . PHP_EOL; } // continue; } // if (strncmp('N3' . $de, $seg, 3) === 0) { $sar = explode($de, $seg); $addr = isset($sar[1]) ? $sar[1] : ""; $addr .= isset($sar[2]) ? " {$sar[2]}" : ""; if ($loopid == '2100C') { $sbr_nm1_html .= "<tr><td>></td><td colspan=3>{$addr}</td></tr>" . PHP_EOL; } elseif ($loopid == '2100D') { $dep_nm1_html .= "<tr><td>></td><td colspan=3>{$addr}</td></tr>" . PHP_EOL; } elseif ($loopid == '2120C') { $sbr_eb_html .= "<tr class={$cls}><td>></td><td colspan=3>{$addr}</td></tr>" . PHP_EOL; } elseif ($loopid == '2120D') { $dep_eb_html .= "<tr class={$cls}><td>></td><td colspan=3>{$addr}</td></tr>" . PHP_EOL; } continue; } // if (strncmp('N4' . $de, $seg, 3) === 0) { $sar = explode($de, $seg); if ($loopid == '2100C') { $sbr_nm1_html .= "<tr><td>></td><td colspan=3>{$sar[1]} {$sar[2]} {$sar[3]}</td></tr>" . PHP_EOL; } elseif ($loopid == '2100D') { $dep_nm1_html .= "<tr><td>></td><td colspan=3>{$sar[1]} {$sar[2]} {$sar[3]}</td></tr>" . PHP_EOL; } elseif ($loopid == '2120C') { $sbr_eb_html .= "<tr class={$cls}><td>></td><td colspan=3>{$sar[1]} {$sar[2]} {$sar[3]}</td></tr>" . PHP_EOL; } elseif ($loopid == '2120D') { $dep_eb_html .= "<tr class={$cls}><td>></td><td colspan=3>{$sar[1]} {$sar[2]} {$sar[3]}</td></tr>" . PHP_EOL; } continue; } // if (strncmp('PRV' . $de, $seg, 4) === 0) { $sar = explode($de, $seg); $idtype = $sar[1] ? $cd271->get_271_code('PRV', $sar[1]) : ""; if ($loopid == '2100B') { $src_html .= "<tr><td colspan=3>{$sar[2]}</td><td title='{$idtype}'>{$sar[3]}</td></tr>" . PHP_EOL; } elseif ($loopid == '2100C') { $sbr_nm1_html .= "<tr><td title='{$idtype}'>{$sar[3]}</td><td colspan=3>{$sar[2]}</td></tr>" . PHP_EOL; } elseif ($loopid == '2100D') { $dep_nm1_html .= "<tr><td title='{$idtype}'>{$sar[3]}</td><td colspan=3>{$sar[2]}</td></tr>" . PHP_EOL; } elseif ($loopid == '2120C') { $sbr_eb_html .= "<tr class={$cls}><td>></td><td title='{$idtype}'>{$sar[3]}</td><td colspan=2>{$sar[2]}</td></tr>" . PHP_EOL; } elseif ($loopid == '2120D') { $dep_eb_html .= "<tr class={$cls}><td>></td><td title='{$idtype}'>{$sar[3]}</td><td colspan=2>{$sar[2]}</td></tr>" . PHP_EOL; } // continue; } // if (strncmp('DMG' . $de, $seg, 4) === 0) { $sar = explode($de, $seg); $dmg02 = isset($sar[2]) && $sar[2] ? edih_format_date($sar[2]) : ""; if (isset($sar[3]) && $sar[3]) { if ($sar[3] == 'M') { $dmg03 = "Male"; } elseif ($sar[3] == 'F') { $dmg03 = "Female"; } else { $dmg03 = "Unknown"; } } if ($loopid == '2100C') { $sbr_nm1_html .= "<tr><td>></td><td>{$dmg03}</td><td colspan=2><em>Date of Birth</em> {$dmg02}</td></tr>" . PHP_EOL; } elseif ($loopid == '2100D') { $dep_nm1_html .= "<tr><td>></td><td>{$dmg03}</td><td colspan=2><em>Date of Birth</em> {$dmg02}</td></tr>" . PHP_EOL; } continue; } if (strncmp('INS' . $de, $seg, 4) === 0) { $sar = explode($de, $seg); $ins01 = isset($sar[1]) && $sar[1] == 'Y' ? "Subscriber" : "Dependent"; $ins02 = isset($sar[2]) && $sar[2] ? $cd271->get_271_code('INS02', $sar[2]) : ""; $ins03 = isset($sar[3]) && $sar[3] ? $sar[3] : ""; $ins04 = isset($sar[4]) && $sar[4] == '25' ? "<b>Information changed</b>" : ""; $ins17 = isset($sar[17]) && $sar[17] ? $sar[17] : ""; // if ($loopid == '2100C') { $sbr_nm1_html .= "<tr><td>></td><td>{$ins01} {$ins17}</td><td>{$ins02}</td><td>{$ins03} {$ins04}</td></tr>" . PHP_EOL; } elseif ($loopid == '2100D') { $dep_nm1_html .= "<tr><td>></td><td>{$ins01} {$ins17}</td><td>{$ins02}</td><td>{$ins03} {$ins04}</td></tr>" . PHP_EOL; } continue; } if (strncmp('DTP' . $de, $seg, 4) === 0) { // $sar = explode($de, $seg); $var = ''; $dtp01 = isset($sar[1]) ? $sar[1] : ''; $dtp02 = isset($sar[2]) ? $sar[2] : ''; $dtp03 = isset($sar[3]) ? $sar[3] : ''; // $idtype = $dtp01 ? $cd271->get_271_code('DTP', $dtp01) : ""; if ($dtp02 == 'D8' && $dtp03) { $var = edih_format_date($dtp03); } elseif ($dtp02 == 'RD8' && $dtp03) { $var = edih_format_date(substr($dtp03, 0, 8)); $var .= ' - ' . edih_format_date(substr($dtp03, -8)); } if ($loopid == '2100C') { $sbr_nm1_html .= "<tr><td>></td><td>{$idtype}</td><td colspan=2>{$var}</td></tr>" . PHP_EOL; } elseif ($loopid == '2100D') { $dep_nm1_html .= "<tr><td>></td><td>{$idtype}</td><td colspan=2>{$var}</td></tr>" . PHP_EOL; } elseif ($loopid == '2110C') { $sbr_eb_html .= "<tr class={$cls}><td>></td><td>{$idtype}</td><td colspan=2>{$var}</td></tr>" . PHP_EOL; } elseif ($loopid == '2110D') { $dep_eb_html .= "<tr class={$cls}><td>></td><td>{$idtype}</td><td colspan=2>{$var}</td></tr>" . PHP_EOL; } continue; } // if (strncmp('MPI' . $de, $seg, 4) === 0) { $sar = explode($de, $seg); $idtype = isset($sar[1]) && $sar[1] ? $cd271->get_271_code('MPI', $sar[1]) : ""; $idtype .= isset($sar[2]) && $sar[2] ? $cd271->get_271_code('MPI', $sar[2]) : ""; $idtype .= isset($sar[3]) && $sar[3] ? $cd271->get_271_code('MPI', 'SB' . $sar[3]) : ""; if (isset($sar[7]) && isset($sar[8])) { if ($sar[7] == 'D8') { $var = edih_format_date($sar[8]); } elseif ($sar[7] == 'RD8') { $var = edih_format_date(substr($sar[8], 0, 8)); $var .= ' - ' . edih_format_date(substr($sar[8], -8)); } } if ($loopid == '2100C') { $sbr_nm1_html .= "<tr><td colspan=3>{$idtype}</td><td>{$var}</td></tr>" . PHP_EOL; } elseif ($loopid == '2100D') { $dep_nm1_html .= "<tr><td colspan=3>{$idtype}</td><td>{$var}</td></tr>" . PHP_EOL; } continue; } // if (strncmp('EB' . $de, $seg, 3) === 0) { // $ebct++; $cls = $ebct % 2 ? 'ebe' : 'ebo'; $sar = explode($de, $seg); // $eb01 = $cd271->get_271_code('EB01', $sar[1]); // eligibility or benefit $eb02 = isset($sar[2]) && $sar[2] ? $cd271->get_271_code('EB02', $sar[2]) : ''; // coverage level $eb03 = isset($sar[3]) && $sar[3] ? $cd271->get_271_code('EB03', $sar[3]) : ''; // service type $eb04 = isset($sar[4]) && $sar[4] ? $cd271->get_271_code('EB04', $sar[4]) : ''; // insurance type $eb05 = isset($sar[5]) && $sar[5] ? $sar[5] : ''; // descriptive (plan name) $eb06 = isset($sar[6]) && $sar[6] ? $cd271->get_271_code('EB06', $sar[6]) : ''; // time qualifier $eb07 = isset($sar[7]) && strlen($sar[7]) ? edih_format_money($sar[7]) : ''; // monetary amount $eb08 = isset($sar[8]) && $sar[8] ? edih_format_percent($sar[8]) : ''; // percentage amount $eb09 = isset($sar[9]) && $sar[9] ? $cd271->get_271_code('EB09', $sar[9]) : ''; // Quantity qualifier $eb10 = isset($sar[10]) && $sar[10] ? $sar[10] : ''; // quantity $eb11 = isset($sar[11]) && $sar[11] ? $cd271->get_271_code('EB11', $sar[11]) : ''; // authorization required? $eb12 = isset($sar[12]) && $sar[12] ? $cd271->get_271_code('EB12', $sar[12]) : ''; // in network? $eb13 = ""; if (isset($sar[13]) && strpos($sar[13], $ds)) { // composite procedure ID $eb13ar = explode($ds, $sar[13]); reset($eb13ar); while (list($k, $v) = each($eb13ar)) { if ($k == 0) { $eb13 = $cd271->get_271_code('EB13', $v); } else { $eb13 .= " " . $v; } } } else { $eb13 = $sar[13] ? "<em>Procedure</em> {$eb13}" : ""; } $eb14 = ""; if (isset($sar[14])) { if (strpos($sar[14], $ds)) { // composite diagnosis pointer $eb14 = str_replace($ds, " | ", $sar[14]); } else { $eb14 = $sar[14]; } $eb14 = $eb14 ? "<em>Pointers</em> {$eb14}" : ""; } // if LS - LE segments loop should be 2110C or 2110D if ($loopid == '2100C' || $loopid == '2110C') { $loopid = '2110C'; if (strpos('|A|B', $sar[1]) !== false) { $sbr_eb_html .= "<tr class={$cls}><td>{$eb01}</td><td>{$eb07} {$eb08}</td><td colspan=2>{$eb02} {$eb03} {$eb04} {$eb06}</td></tr>" . PHP_EOL; } elseif (strpos('|C|G|J|Y', $sar[1]) !== false) { $sbr_eb_html .= "<tr class={$cls}><td>{$eb01}</td><td>{$eb02}</td><td>{$eb06} {$eb07}</td><td>{$eb03} {$eb04}</td></tr>" . PHP_EOL; } elseif (strpos('|E|F|', $sar[1]) !== false) { $sbr_eb_html .= "<tr class={$cls}><td>{$eb01}</td><td>{$eb02}</td><td colspan=2>{$eb03} {$eb04} {$eb06}</td></tr>" . PHP_EOL; } else { $sbr_eb_html .= "<tr class={$cls}><td>{$eb01}</td><td>{$eb02}</td><td colspan=3>{$eb07} {$eb08} {$eb03} {$eb04} {$eb06}</td></tr>" . PHP_EOL; } $sbr_eb_html .= $eb09 || $eb10 || $eb11 || $eb12 ? "<tr class={$cls}><td colspan=2>></td><td colspan=2>{$eb09} {$eb10} {$eb11} {$eb12}</td></tr>" . PHP_EOL : ""; $sbr_eb_html .= $eb13 || $eb14 ? "<tr class={$cls}><td>></td><td colspan=3>{$eb13} {$eb14} </td></tr>" . PHP_EOL : ""; $sbr_eb_html .= $eb05 ? "<tr class={$cls}><td>></td><td colspan=3>{$eb05}</td></tr>" . PHP_EOL : ""; } elseif ($loopid == '2100D' || $loopid == '2110D') { $loopid = '2110D'; if (strpos('|A|B', $eb01) && !$eb02) { $dep_eb_html .= "<tr class={$cls}><td>{$eb01}</td><td>{$ebo7} {$eb08}</td><td colspan=2>{$eb03} {$eb04} {$eb06}</td></tr>" . PHP_EOL; } elseif (strpos('|C|G|J|Y', $eb01)) { $dep_eb_html .= "<tr class={$cls}><td>{$eb01}</td><td>{$eb02}</td><td>{$eb07} {$eb08}</td><td>{$eb11} {$eb12}</td></tr>" . PHP_EOL; } elseif (strpos('|E|F|', $eb01)) { $dep_eb_html .= "<tr class={$cls}><td>{$eb01}</td><td>{$eb02}</td><td colspan=2>{$eb03} {$eb04} {$eb06} </td></tr>" . PHP_EOL; } else { $dep_eb_html .= "<tr class={$cls}><td>{$eb01}</td><td>{$eb02}</td><td colspan=3>{$eb07} {$eb08} {$eb03} {$eb04} {$eb06} </td></tr>" . PHP_EOL; } $dep_eb_html .= $eb09 || $eb10 || $eb11 || $eb12 ? "<tr class={$cls}><td>></td><td colspan=3>{$eb09} {$eb10} {$eb11} {$eb12}</td></tr>" . PHP_EOL : ""; $dep_eb_html .= $eb13 || $eb14 ? "<tr class={$cls}><td>></td><td colspan=3>{$eb13} {$eb14} </td></tr>" . PHP_EOL : ""; $dep_eb_html .= $eb05 ? "<tr class={$cls}><td>></td><td colspan=3>{$eb05}</td></tr>" . PHP_EOL : ""; } continue; } // if (strncmp('HSD' . $de, $seg, 4) === 0) { $sar = explode($de, $seg); // $hsd01 = isset($sar[1]) && $sar[1] ? $cd271->get_271_code('HSD01', $sar[1]) : ''; // quantity qualifier $hsd02 = isset($sar[2]) && $sar[2] ? $sar[2] : ''; // numeric quantity $hsd03 = isset($sar[3]) && $sar[3] ? $cd271->get_271_code('HSD01', $sar[3]) : ''; // measurement unit $hsd04 = isset($sar[4]) && $sar[4] ? $sar[4] : ''; // sample selection modulus $hsd05 = isset($sar[5]) && $sar[5] ? $cd271->get_271_code('EB06', $sar[5]) : ''; // time period qualifier $hsd06 = isset($sar[6]) && $sar[6] ? $sar[6] : ''; // number of periods $hsd07 = isset($sar[7]) && $sar[7] ? $cd271->get_271_code('HSD07', $sar[7]) : ''; // delivery $hsd08 = isset($sar[8]) && $sar[8] ? $cd271->get_271_code('HSD08', $sar[8]) : ''; // delivery // if ($loopid == '2110C') { $sbr_eb_html .= "<tr class={$cls}><td>></td><td>{$hsd01} : {$hsd02}</td><td>{$hsd03} : {$hsd04}</td><td>{$hsd05} : {$hsd06}</td></tr>" . PHP_EOL; $sbr_eb_html .= $hsd07 || $hsd08 ? "<tr class={$cls}><td>></td><td colspan=3>{$hsd07} {$hsd08}</td></tr>" . PHP_EOL : ''; } elseif ($loopid == '2110D') { $dep_eb_html .= "<tr class={$cls}><td>></td><td>{$hsd01} : {$hsd02}</td><td>{$hsd03} : {$hsd04}</td><td>{$hsd05} : {$hsd06}</td></tr>" . PHP_EOL; $dep_eb_html .= $hsd07 || $hsd08 ? "<tr class={$cls}><td>></td><td colspan=3>{$hsd07} {$hsd08}</td></tr>" . PHP_EOL : ''; } continue; } if (strncmp('REF' . $de, $seg, 4) === 0) { $sar = explode($de, $seg); // $ref01 = isset($sar[1]) && $sar[1] ? $cd271->get_271_code('REF', $sar[1]) : ''; // identification qualifier $ref02 = isset($sar[2]) && $sar[2] ? $sar[2] : ''; // identification value $ref03 = isset($sar[3]) && $sar[3] ? $sar[3] : ''; // description // if ($loopid == '2100C') { $sbr_ref_html .= "<tr><td>></td><td colspan=2>{$ref03}</td><td>{$ref01} {$ref02} </td></tr>" . PHP_EOL; } elseif ($loopid == '2100D') { $dep_ref_html .= "<tr><td>></td><td colspan=2>{$ref03}</td><td>{$ref01} {$ref02}</td></tr>" . PHP_EOL; } elseif ($loopid == '2110C') { $sbr_eb_html .= "<tr class={$cls}><td>></td><td colspan=2>{$ref03}</td><td>{$ref01} {$ref02}</td></tr>" . PHP_EOL; } elseif ($loopid == '2110D') { $dep_eb_html .= "<tr class={$cls}><td>></td><td colspan=2>{$ref03}</td><td>{$ref01} {$ref02}</td></tr>" . PHP_EOL; } continue; } if (strncmp('MSG' . $de, $seg, 4) === 0) { $sar = explode($de, $seg); $msg01 = isset($sar[1]) && $sar[1] ? $sar[1] : ''; if ($msg01 && $loopid == '2110C') { $sbr_eb_html .= "<tr class={$cls}><td>></td><td colspan=3>{$msg01}</td></tr>" . PHP_EOL; } elseif ($msg01 && $loopid == '2110D') { $dep_eb_html .= "<tr class={$cls}><td>></td><td colspan=3>{$msg01}</td></tr>" . PHP_EOL; } continue; } if (strncmp('III' . $de, $seg, 4) === 0 && ($loopid == '2110C' || $loopid == '2110D')) { $sar = explode($de, $seg); if (isset($sar[1]) && ($sar[1] == 'GR' || $sar[1] == 'NI')) { $iii02 = isset($sar[2]) && $sar[2] ? $cd271->get_271_code('IIIGR', $sar[2]) : ''; } else { $iii02 = isset($sar[2]) && $sar[2] ? $cd271->get_271_code('POS', $sar[2]) : ''; } $iii03 = isset($sar[3]) && $sar[3] ? $sar[3] : ''; // if ($loopid == '2110C') { $sbr_eb_html .= "<tr class={$cls}><td>></td><td colspan=3>{$iii02}</td></tr>" . PHP_EOL; $sbr_eb_html .= $iii03 ? "<tr class={$cls}><td>></td><td colspan=3>{$iii03}</td></tr>" . PHP_EOL : ''; } elseif ($loopid == '2110D') { $dep_eb_html .= "<tr class={$cls}><td>></td><td colspan=3>{$iii02}</td></tr>" . PHP_EOL; $dep_eb_html .= $iii03 ? "<tr class={$cls}><td>></td><td colspan=3>{$iii03}</td></tr>" . PHP_EOL : ''; } continue; } // if (strncmp('LS' . $de, $seg, 3) === 0) { if ($loopid == '2110C') { $loopid = '2120C'; } if ($loopid == '2110D') { $loopid = '2120D'; } continue; } if (strncmp('LE' . $de, $seg, 3) === 0) { if ($loopid == '2120C') { $loopid = '2100C'; } if ($loopid == '2120D') { $loopid = '2100D'; } continue; } // } // $str_html .= $hdr_html; $str_html .= $src_html ? $src_html : ""; $str_html .= $rcv_html ? $rcv_html : ""; $str_html .= $sbr_nm1_html ? $sbr_nm1_html : ""; $str_html .= $sbr_ref_html; $str_html .= $sbr_eb_html; $str_html .= $dep_nm1_html ? $dep_nm1_html : ""; $str_html .= $dep_ref_html; $str_html .= $dep_eb_html; $str_html .= "<tr><td colspan=4> </td></tr>" . PHP_EOL; $str_html .= "</tbody>" . PHP_EOL . "</table>" . PHP_EOL; } // return $str_html; }
function edih_278_transaction_html($obj278, $bht03) { // $trans = $obj278->edih_x12_transaction($bht03); if (empty($trans)) { $str_html = $obj278->edih_message(); return $str_html; } $de = $obj278->edih_delimiters()['e']; $ds = $obj278->edih_delimiters()['s']; $dr = $obj278->edih_delimiters()['r']; $fn = $obj278->edih_filename(); // $cd27x = new edih_271_codes($ds, $dr); // $cls = ''; $capstr = 'Services Review (Cert/Auth)'; // $hdr_html = "<table class='h278' columns=4><caption>{$capstr}</caption>"; $hdr_html .= "<thead><tr><th>Reference</th><th>Information</th><th colspan=2>{$fn}</th></tr></thead>" . PHP_EOL; $hdr_html .= "<tbody>" . PHP_EOL; $str_html = ""; $src_html = ""; $rcv_html = ""; $sbr_nm1_html = ""; $dep_nm1_html = ""; $evt_html = ""; $svc_html = ""; // $trns_ct = count($trans); for ($i = 0; $i < $trns_ct; $i++) { foreach ($trans[$i] as $seg) { // $idtype = ''; $name = ''; $var = ''; $rej_reason = ''; $follow = ''; $addr = ''; // debug // if (strncmp('BHT' . $de, $seg, 4) === 0) { $loopid = 'Heading'; $sar = explode($de, $seg); $elem01 = $sar[1] == '0007' ? "Src, Rcvr, Sbr, Dep, Evt, Svc" : "Not determined"; // $elem02 = isset($sar[2]) && $sar[2] !== false ? $cd27x->get_271_code('BHT02', $sar[2]) : ""; // $elem03 = isset($sar[3]) ? $sar[3] : ''; $elem04 = isset($sar[4]) ? edih_format_date($sar[4]) : ''; // $elem06 = isset($sar[6]) && $sar[6] ? $cd27x->get_271_code('BHT06', $sar[6]) : ""; // $hdr_html .= "<tr><td colspan=2><em>Transaction ID:</em> {$elem03} </td><td colspan=2><em>Sequence:</em> {$elem01}</td></tr>" . PHP_EOL; if ($elem06) { $hdr_html .= "<tr><td colspan=2><em>Transaction Date:</em> {$elem04} </td><td colspan=2>{$elem02} <em>Type:</em> {$elem06}</td></tr>" . PHP_EOL; } else { $hdr_html .= "<tr><td colspan=2><em>Transaction Date:</em> {$elem04} </td><td colspan=2><em>Type:</em> {$elem02}</td></tr>" . PHP_EOL; } // continue; } //'src''rcv'sbr''dep''evt''svc'' if (strncmp($seg, 'HL' . $de, 3) === 0) { $sar = explode($de, $seg); $hl = $sar[1]; $hlpc = $sar[2]; // parent code $hllc = $sar[3]; $hlcc = isset($sar[4]) ? $sar[4] : ''; // child code if ($sar[3] == '20') { // level code $loopid = '2000A'; $cls = 'src'; // info source (payer) $src_html .= "<tr class='{$cls}'><td colspan=4><b>Information Source</b></td></tr>" . PHP_EOL; } elseif ($sar[3] == '21') { $loopid = '2000B'; $cls = 'rcv'; // info receiver (clinic) $rcv_html .= "<tr class='{$cls}'><td colspan=4><b>Information Receiver</b></td></tr>" . PHP_EOL; } elseif ($sar[3] == '22') { $loopid = '2000C'; // subscriber $cls = 'sbr'; $sbr_nm1_html .= "<tr class='{$cls}'><td colspan=4><b>Subscriber</b></td></tr>" . PHP_EOL; } elseif ($sar[3] == '23') { $loopid = '2000D'; // dependent $cls = 'dep'; $dep_nm1_html .= "<tr class='{$cls}'><td colspan=4><b>Dependent</b></td></tr>" . PHP_EOL; } elseif ($sar[3] == 'EV') { $loopid = '2000E'; // patient event $cls = 'evt'; $evt_html .= "<tr class='{$cls}'><td colspan=4><b>Patient Event</b></td></tr>" . PHP_EOL; } elseif ($sar[3] == 'SS') { $loopid = '2000F'; // service $cls = 'svc'; $svc_html .= "<tr class='{$cls}'><td colspan=4><b>Service</b></td></tr>" . PHP_EOL; } // continue; } if (strncmp('NM1' . $de, $seg, 4) === 0) { $sar = explode($de, $seg); // $nm101 = isset($sar[1]) ? $sar[1] : ''; $descr = $nm101 ? $cd27x->get_271_code('NM101', $nm101) : ""; // $name = isset($sar[3]) && $sar[3] ? $sar[3] : ""; $name .= isset($sar[7]) && $sar[7] ? " {$sar[7]}" : ""; $name .= isset($sar[4]) && $sar[4] ? ", {$sar[4]}" : ""; $name .= isset($sar[5]) && $sar[5] ? " {$sar[5]}" : ""; $nm109 = isset($sar[9]) && $sar[9] ? $sar[9] : ""; // $idtype = isset($sar[8]) && $sar[8] ? $cd27x->get_271_code('NM108', $sar[8]) : ""; // if ($loopid == '2000A') { $src_html .= "<tr class='{$cls}'><td title='{$idtype}'>{$nm109}</td><td colspan=3 title='{$descr}'>{$name}</td></tr>" . PHP_EOL; $loopid = '2010A'; } elseif ($loopid == '2000B') { $rcv_html .= "<tr class='{$cls}'><td title='{$idtype}'>{$nm109}</td><td colspan=3 title='{$descr}'>{$name}</td></tr>" . PHP_EOL; $loopid = '2010B'; } elseif ($loopid == '2000C') { $sbr_nm1_html .= "<tr class='{$cls}'><td title='{$idtype}'>{$nm109}</td><td colspan=3 title='{$descr}'>{$name}</td></tr>" . PHP_EOL; $loopid = '2010C'; } elseif ($loopid == '2000D') { $dep_nm1_html .= "<tr class='{$cls}'><td title='{$idtype}'>{$nm109}</td><td colspan=3 title='{$descr}'>{$name}</td></tr>" . PHP_EOL; $loopid = '2010D'; } elseif ($loopid == '2000E' || strpos($loopid, '010E')) { $loopid = strpos('|71|72|73|77|AAJ|DD|DK|DN|FA|G3|P3|QB|QV|SJ', $nm101) ? '2010EA' : $loopid; $loopid = strpos('|45|FS|ND|PW|R3', $nm101) ? '2010EB' : $loopid; $loopid = $nm101 == 'L5' ? '2010EC' : $loopid; $evt_html .= "<tr class='{$cls}'><td title='{$idtype}'>{$nm109}</td><td colspan=3 title='{$descr}'>{$descr} {$name}</td></tr>" . PHP_EOL; } elseif ($loopid == '2000F' || strpos($loopid, '010F')) { $loopid = strpos('|71|72|73|77|AAJ|DD|DK|DN|FA|G3|P3|QB|QV|SJ', $nm101) ? '2010FA' : $loopid; $loopid = $nm101 == 'L5' ? '2010FB' : $loopid; $svc_html .= "<tr class='{$cls}'><td title='{$idtype}'>{$nm109}</td><td colspan=3 title='{$descr}'>{$descr} {$name}</td></tr>" . PHP_EOL; } // continue; } // if (strncmp('N3' . $de, $seg, 3) === 0) { $sar = explode($de, $seg); $addr = isset($sar[1]) ? $sar[1] : ""; $addr .= isset($sar[2]) ? " {$sar[2]}" : ""; // if ($loopid == '2010B') { $rcv_html .= "<tr class='{$cls}'><td>></td><td colspan=3>{$addr}</td></tr>" . PHP_EOL; } elseif ($loopid == '2010C') { $sbr_nm1_html .= "<tr class='{$cls}'><td>></td><td colspan=3>{$addr}</td></tr>" . PHP_EOL; } elseif ($loopid == '2010D') { $dep_nm1_html .= "<tr class='{$cls}'><td>></td><td colspan=3>{$addr}</td></tr>" . PHP_EOL; } elseif ($loopid == '2010EA' || $loopid == '2010EC') { $evt_html .= "<tr class='{$cls}'><td>></td><td colspan=3>{$addr}</td></tr>" . PHP_EOL; } elseif ($loopid == '2010FA') { $svc_html .= "<tr class='{$cls}'><td>></td><td colspan=3>{$addr}</td></tr>" . PHP_EOL; } continue; } // if (strncmp('N4' . $de, $seg, 3) === 0) { $sar = explode($de, $seg); if ($loopid == '2010B') { $rcv_html .= "<tr class='{$cls}'><td>></td><td colspan=3>{$sar[1]} {$sar[2]} {$sar[3]}</td></tr>" . PHP_EOL; } elseif ($loopid == '2010C') { $sbr_nm1_html .= "<tr class='{$cls}'><td>></td><td colspan=3>{$sar[1]} {$sar[2]} {$sar[3]}</td></tr>" . PHP_EOL; } elseif ($loopid == '2010D') { $dep_nm1_html .= "<tr class='{$cls}'><td>></td><td colspan=3>{$sar[1]} {$sar[2]} {$sar[3]}</td></tr>" . PHP_EOL; } elseif ($loopid == '2010EA' || $loopid == '2010EC') { $evt_html .= "<tr class='{$cls}'><td>></td><td colspan=3>{$sar[1]} {$sar[2]} {$sar[3]}</td></tr>" . PHP_EOL; } elseif ($loopid == '2010FA' || $loopid == '2010FB') { $svc_html .= "<tr class='{$cls}'><td>></td><td colspan=3>{$sar[1]} {$sar[2]} {$sar[3]}</td></tr>" . PHP_EOL; } continue; } // // if (strncmp('PER' . $de, $seg, 4) === 0) { $sar = explode($de, $seg); $elem01 = isset($sar[1]) ? $sar[1] : ''; $elem02 = isset($sar[2]) ? $sar[2] : ''; $elem03 = isset($sar[3]) ? $cd27x->get_271_code('PER03', $sar[3]) : ""; $elem04 = isset($sar[4]) ? $sar[4] : ''; $elem05 = isset($sar[5]) ? $cd27x->get_271_code('PER03', $sar[5]) : ""; $elem06 = isset($sar[6]) ? $sar[6] : ''; $elem07 = isset($sar[7]) ? $cd27x->get_271_code('PER03', $sar[7]) : ""; $elem08 = isset($sar[8]) ? $sar[8] : ''; $elem09 = isset($sar[9]) ? $sar[9] : ''; $idtype = $sar[3] ? $cd27x->get_271_code('PER03', $sar[3]) : ""; if ($loopid == '2010A') { $src_html .= "<tr class='{$cls}'><td colspan=2>{$elem02}</td><td colspan=2 title='{$elem03} {$elem05} {$elem07}'>{$elem04} {$elem06} {$elem08}</td></tr>" . PHP_EOL; } elseif ($loopid == '2010B') { $rcv_html .= "<tr class='{$cls}'><td colspan=2>{$elem02}</td><td colspan=2 title='{$elem03} {$elem05} {$elem07}'>{$elem04} {$elem06} {$elem08}</td></tr>" . PHP_EOL; } elseif ($loopid == '2010EA') { $evt_html .= "<tr class='{$cls}'><td colspan=2>{$elem02}</td><td colspan=2 title='{$elem03} {$elem05} {$elem07}'>{$elem04} {$elem06} {$elem08}</td></tr>" . PHP_EOL; } elseif ($loopid == '2010FA') { $svc_html .= "<tr class='{$cls}'><td colspan=2>{$elem02}</td><td colspan=2 title='{$elem03} {$elem05} {$elem07}'>{$elem04} {$elem06} {$elem08}</td></tr>" . PHP_EOL; } // continue; } // if (strncmp('AAA' . $de, $seg, 4) === 0) { // rejection $sar = explode($de, $seg); $rej_reason = $cd27x->get_271_code('AAA03', $sar[3]); $follow = $cd27x->get_271_code('AAA04', $sar[4]); if ($loopid == '2000A') { $src_html .= "<tr class='{$cls}'><td><em><b>Rejection:</b></em></td><td colspan=3 title='{$follow}'>{$rej_reason}</td></tr>" . PHP_EOL; } elseif ($loopid == '2010A') { $src_html .= "<tr class='{$cls}'><td><em><b>Rejection:</b></em></td><td colspan=3 title='{$follow}'>{$rej_reason}</td></tr>" . PHP_EOL; } elseif ($loopid == '2000B') { $rcv_html .= "<tr class='{$cls}'><td><em><b>Rejection:</b></em></td><td colspan=3 title='{$follow}'>{$rej_reason}</td></tr>" . PHP_EOL; } elseif ($loopid == '2010B') { $sbr_eb_html .= "<tr class='{$cls}'><td><em><b>Rejection:</b></em></td><td colspan=3 title='{$follow}'>{$rej_reason}</td></tr>" . PHP_EOL; } elseif ($loopid == '2000C') { $sbr_nm1_html .= "<tr class='{$cls}'><td><em><b>Rejection:</b></em></td><td colspan=3 title='{$follow}'>{$rej_reason}</td></tr>" . PHP_EOL; } elseif ($loopid == '2010C') { $sbr_eb_html .= "<tr class='{$cls}'><td><em><b>Rejection:</b></em></td><td colspan=3 title='{$follow}'>{$rej_reason}</td></tr>" . PHP_EOL; } elseif ($loopid == '2000D') { $dep_nm1_html .= "<tr class='{$cls}'><td><em><b>Rejection:</b></em></td><td colspan=3 title='{$follow}'>{$rej_reason}</td></tr>" . PHP_EOL; } elseif ($loopid == '2010D') { $dep_eb_html .= "<tr class='{$cls}'><td><em><b>Rejection:</b></em></td><td colspan=3 title='{$follow}'>{$rej_reason}</td></tr>" . PHP_EOL; } elseif ($loopid == '2010EA' || $loopid == '2010EC') { $evt_html .= "<tr class='{$cls}'><td><em><b>Rejection:</b></em></td><td colspan=3 title='{$follow}'>{$rej_reason}</td></tr>" . PHP_EOL; } elseif ($loopid == '2010FA') { $svc_html .= "<tr class='{$cls}'><td><em><b>Rejection:</b></em></td><td colspan=3 title='{$follow}'>{$rej_reason}</td></tr>" . PHP_EOL; } else { $hdr_html .= "<tr class='{$cls}'><td>{$loopid} <em><b>Rejection:</b></em></td><td colspan=3 title='{$follow}'>{$rej_reason}</td></tr>" . PHP_EOL; } continue; } // if (strncmp('TRN' . $de, $seg, 4) === 0) { // trace identifier $sar = explode($de, $seg); $elem01 = isset($sar[1]) ? $sar[1] : ''; $elem02 = isset($sar[2]) ? $sar[2] : ''; $elem03 = isset($sar[3]) ? $sar[3] : ''; $elem04 = isset($sar[4]) ? $sar[4] : ''; // $trctp = $elem01 == '2' ? 'Reference ' : 'Current '; if ($loopid == '2000E') { $evt_html .= "<tr class='{$cls}'><td>></td><td colspan=3><em>{$trctp} tracking no:</em> {$elem02} (by {$elem03} {$elem04})</td></tr>" . PHP_EOL; } elseif ($loopid == '2000F') { $svc_html .= "<tr class='{$cls}'><td>></td><td colspan=3><em>{$trctp} tracking no:</em> {$elem02} (by {$elem03} {$elem04})</td></tr>" . PHP_EOL; } continue; } // if (strncmp('UM' . $de, $seg, 3) === 0) { $sar = explode($de, $seg); // $elem01 = isset($sar[1]) ? $cd27x->get_271_code('UM01', $sar[1]) : ''; $elem02 = isset($sar[2]) ? $cd27x->get_271_code('UM02', $sar[2]) : ''; $elem03 = isset($sar[3]) ? $cd27x->get_271_code('EB03', $sar[3]) : ''; $elem04 = isset($sar[4]) ? $sar[4] : ''; $elem04a = ''; if (strpos($elem04, $ds)) { $elem04_ar = explode($ds, $elem04); if (isset($elem04_ar[1]) && $elem04_ar[1] == 'B') { $elem04a .= isset($elem04_ar[0]) ? $cd27x->get_271_code('POS', $elem04_ar[0]) : ''; } else { $elem04a = $elem04; } } /* UM05 -- not used $elem05 = (isset($sar[5])) ? $sar[5] : ''; $elem05a = ''; if (strpos($elem05, $ds) { $elem05_ar = explode($ds, $elem05); $elem05a .= (isset($elem05_ar[0])) ? $cd27x->get_271_code('POS', $elem05_ar[0]) : ''; $elem05a .= (isset($elem05_ar[1])) ? $cd27x->get_271_code('POS', $elem05_ar[1]) : ''; $elem05a .= (isset($elem05_ar[2])) ? $cd27x->get_271_code('POS', $elem05_ar[2]) : ''; $elem05a .= (isset($elem05_ar[3])) ? 'State Code: '.$elem05_ar[3] : ''; $elem05a .= (isset($elem05_ar[3])) ? 'Country Code: '.$elem05_ar[4] : ''; } else { $elem05a .= $elem05; } // * */ $elem06 = isset($sar[6]) ? $cd27x->get_271_code('UM06', $sar[6]) : ''; // UM07 UM08 not used //$elem07 = (isset($sar[7])) ? $cd27x->get_271_code('UM07', $sar[7]) : ''; //$elem08 = (isset($sar[8])) ? $cd27x->get_271_code('UM08', $sar[8]) : ''; // if ($loopid == '2000E') { $evt_html .= "<tr class='{$cls}'><td>></td><td colspan=3>{$elem01} <em>Certification Type:</em> {$elem02}</td></tr>" . PHP_EOL; $evt_html .= $elem03 || $elem04a || $elem06 ? "<tr class='{$cls}'><td>></td><td colspan=3>{$elem03} {$elem04a} ({$elem06})</td></tr>" . PHP_EOL : ""; } elseif ($loopid == '2000F') { $svc_html .= "<tr class='{$cls}'><td>></td><td colspan=3>{$elem01} <em>Certification Type:</em> {$elem02}</td></tr>" . PHP_EOL; $svc_html .= $elem03 || $elem04a || $elem06 ? "<tr class='{$cls}'><td>></td><td colspan=3>{$elem03} {$elem04a} ({$elem06})</td></tr>" . PHP_EOL : ""; } continue; } // if (strncmp('HCR' . $de, $seg, 4) === 0) { // $sar = explode($de, $seg); // $elem01 = isset($sar[1]) && $sar[1] ? $cd27x->get_271_code('HCR01', $sar[1]) : ''; $elem02 = isset($sar[2]) && $sar[2] ? "<em>Reference: </em>" . $sar[2] : ''; $elem03 = isset($sar[3]) && $sar[3] ? $cd27x->get_271_code('HCR03', $sar[3]) : ''; $elem04 = isset($sar[4]) && $sar[4] ? $cd27x->get_271_code('HCR04', $sar[4]) : ''; $elem04 = $elem04 ? "<em>2nd Surgical Opinion:</em> {$elem04}" : ""; // if ($loopid == '2000E') { $evt_html .= "<tr class='{$cls}'><td>></td><td colspan=3>{$elem01} {$elem02}</td></tr>" . PHP_EOL; $evt_html .= "<tr class='{$cls}'><td>></td><td colspan=3>{$elem03}</td></tr>" . PHP_EOL; $evt_html .= $elem04 ? "<tr class='{$cls}'><td>></td><td colspan=3>{$elem04}</td></tr>" . PHP_EOL : ""; } elseif ($loopid == '2000F') { $svc_html .= "<tr class='{$cls}'><td>></td><td colspan=3>{$elem01} {$elem02}</td></tr>" . PHP_EOL; $svc_html .= "<tr class='{$cls}'><td>></td><td colspan=3>{$elem03}</td></tr>" . PHP_EOL; $svc_html .= $elem04 ? "<tr class='{$cls}'><td>></td><td colspan=3>{$elem04}</td></tr>" . PHP_EOL : ""; } // continue; } // if (strncmp('REF' . $de, $seg, 4) === 0) { // $sar = explode($de, $seg); // $elem01 = isset($sar[1]) ? $cd27x->get_271_code('REF', $sar[1]) : ''; $elem02 = isset($sar[2]) ? $sar[2] : ''; $elem03 = isset($sar[3]) ? $sar[2] : ''; // if ($loopid == '2010B') { $rcv_html .= "<tr class='{$cls}'><td>></td><td colspan=2><em>{$elem01}</em> {$elem02}</td><td>{$elem03}</td></tr>" . PHP_EOL; } elseif ($loopid == '2010C') { $sbr_nm1_html .= "<tr class='{$cls}'><td>></td><td colspan=2><em>{$elem01}</em> {$elem02}</td><td>{$elem03}</td></tr>" . PHP_EOL; } elseif ($loopid == '2010D') { $dep_nm1_html .= "<tr class='{$cls}'><td>></td><td colspan=2><em>{$elem01}</em> {$elem02}</td><td>{$elem03}</td></tr>" . PHP_EOL; } elseif ($loopid == '2000E') { $evt_html .= "<tr class='{$cls}'><td>></td><td colspan=2><em>{$elem01}</em> {$elem02}</td><td>{$elem03}</td></tr>" . PHP_EOL; } elseif ($loopid == '2010E') { $evt_html .= "<tr class='{$cls}'><td>></td><td colspan=2><em>{$elem01}</em> {$elem02}</td><td>{$elem03}</td></tr>" . PHP_EOL; } elseif ($loopid == '2000F') { $svc_html .= "<tr class='{$cls}'><td>></td><td colspan=2><em>{$elem01}</em> {$elem02}</td><td>{$elem03}</td></tr>" . PHP_EOL; } elseif ($loopid == '2010FA') { $svc_html .= "<tr class='{$cls}'><td>></td><td colspan=2><em>{$elem01}</em> {$elem02}</td><td>{$elem03}</td></tr>" . PHP_EOL; } // continue; } // if (strncmp('DMG' . $de, $seg, 4) === 0) { $sar = explode($de, $seg); $elem02 = isset($sar[2]) && $sar[2] ? edih_format_date($sar[2]) : ""; if (isset($sar[3]) && $sar[3]) { if ($sar[3] == 'M') { $elem03 = "Male"; } elseif ($sar[3] == 'F') { $elem03 = "Female"; } else { $elem03 = "Unknown"; } } if ($loopid == '2010C') { $sbr_nm1_html .= "<tr class='{$cls}'><td>></td><td>{$elem03}</td><td colspan=2><em>Date of Birth</em> {$elem02}</td></tr>" . PHP_EOL; } elseif ($loopid == '2010D') { $dep_nm1_html .= "<tr class='{$cls}'><td>></td><td>{$elem03}</td><td colspan=2><em>Date of Birth</em> {$elem02}</td></tr>" . PHP_EOL; } continue; } // if (strncmp('INS' . $de, $seg, 4) === 0) { $sar = explode($de, $seg); $elem01 = isset($sar[1]) && $sar[1] == 'Y' ? "Subscriber" : "Dependent"; $elem02 = isset($sar[2]) && $sar[2] ? $cd27x->get_271_code('INS02', $sar[2]) : ""; $elem03 = isset($sar[3]) && $sar[3] ? $sar[3] : ""; $elem04 = isset($sar[4]) && $sar[4] == '25' ? "<b>Information changed</b>" : ""; $elem17 = isset($sar[17]) && $sar[17] ? $sar[17] : ""; // if ($loopid == '2010C') { $sbr_nm1_html .= "<tr class='{$cls}'><td>></td><td>{$elem01} {$elem17}</td><td>{$elem02}</td><td>{$elem03} {$elem04}</td></tr>" . PHP_EOL; } elseif ($loopid == '2010D') { $dep_nm1_html .= "<tr class='{$cls}'><td>></td><td>{$elem01} {$elem17}</td><td>{$elem02}</td><td>{$elem03} {$elem04}</td></tr>" . PHP_EOL; } continue; } // if (strncmp('DTP' . $de, $seg, 4) === 0) { // $sar = explode($de, $seg); $var = ''; $elem01 = isset($sar[1]) ? $sar[1] : ''; $elem02 = isset($sar[2]) ? $sar[2] : ''; $elem03 = isset($sar[3]) ? $sar[3] : ''; // $idtype = $elem01 ? $cd27x->get_271_code('DTP', $elem01) : ""; if ($elem02 == 'D8' && $elem03) { $var = edih_format_date($elem03); } elseif ($elem02 == 'RD8' && $elem03) { $var = edih_format_date(substr($elem03, 0, 8)); $var .= ' - ' . edih_format_date(substr($elem03, -8)); } if ($loopid == '2000E') { $evt_html .= "<tr class='{$cls}'><td>></td><td>{$idtype}</td><td colspan=2>{$var}</td></tr>" . PHP_EOL; } elseif ($loopid == '2000F') { $svc_html .= "<tr class='{$cls}'><td>></td><td>{$idtype}</td><td colspan=2>{$var}</td></tr>" . PHP_EOL; } continue; } // if (strncmp('HI' . $de, $seg, 3) === 0) { // This is the Health Care Information Codes segment // -- to give all information in the segment, we need to // lookup all the code values ICD-9, ICD-10, LOINC, DRG, etc. // -- At this time, give the code source and code, with dates if any // $sar = explode($de, $seg); // $hi_str = ''; $tr_str = ''; foreach ($sar as $hi) { if (strpos($hi, $ds)) { $a = explode($ds, $hi); $hi_str .= isset($a[0]) && $a[0] ? $cd27x->get_271_code('HI01', $a[0]) : ""; $hi_str .= isset($a[1]) && $a[1] ? '[ ' . $a[1] . ' ]' : '[]'; if (isset($a[2]) && isset($a[3])) { $hi_str .= $a[2] == 'D8' ? ' ' . edih_format_date($a[3]) : ''; $hi_str .= $a[2] == 'RD8' ? edih_format_date(substr($a[3], 0, 8)) : ""; $hi_str .= $a[2] == 'RD8' ? edih_format_date(substr($a[3], -8)) : ""; } } else { $hi_str .= $hi . ' '; } $tr_str .= "<tr class='{$cls}'><td><em>Codes</em></td><td colspan=3>{$hi_str}</td></tr>" . PHP_EOL; } // if ($loopid == '2000E') { $evt_html .= $tr_str; } elseif ($loopid == '2000F') { $svc_html .= $tr_str; } // continue; } // if (strncmp('HSD' . $de, $seg, 4) === 0) { // Health Care Services Delivery $sar = explode($de, $seg); // $id = "Services Delivery"; $tr_str = ''; $elem01 = isset($sar[1]) && $sar[1] ? $cd27x->get_271_code('HSD01', $sar[1]) : ''; // quantity qualifier $elem02 = isset($sar[2]) && $sar[2] ? $sar[2] : ''; // numeric quantity $elem03 = isset($sar[3]) && $sar[3] ? $cd27x->get_271_code('HSD01', $sar[3]) : ''; // measurement unit $elem04 = isset($sar[4]) && $sar[4] ? $sar[4] : ''; // sample selection modulus $elem05 = isset($sar[5]) && $sar[5] ? $cd27x->get_271_code('EB06', $sar[5]) : ''; // time period qualifier $elem06 = isset($sar[6]) && $sar[6] ? $sar[6] : ''; // number of periods $elem07 = isset($sar[7]) && $sar[7] ? $cd27x->get_271_code('HSD07', $sar[7]) : ''; // delivery $elem08 = isset($sar[8]) && $sar[8] ? $cd27x->get_271_code('HSD08', $sar[8]) : ''; // delivery // if (($elem01 || $elem02) && !$elem08) { $tr_str .= $elem03 && $elem04 && $elem06 ? "<tr class='{$cls}'><td><em>{$id}</em></td><td colspan=3>{$elem02} {$elem01} per every {$elem04} {$elem03} for {$elem06} {$elem05} {$elem07}</td></tr>" . PHP_EOL : ""; $tr_str .= $elem03 && $elem04 && !$elem06 ? "<tr class='{$cls}'><td><em>{$id}</em></td><td colspan=3>{$elem02} {$elem01} per every {$elem04} {$elem03} {$elem07}</td></tr>" . PHP_EOL : ""; $tr_str .= $elem03 && !$elem04 && $elem06 ? "<tr class='{$cls}'><td><em>{$id}</em></td><td colspan=3>{$elem02} {$elem01} for {$elem06} {$elem05} {$elem07}</td></tr>" . PHP_EOL : ""; $tr_str .= $elem03 && !$elem04 && !$elem06 ? "<tr class='{$cls}'><td><em>{$id}</em></td><td colspan=3>{$elem02} {$elem01} {$elem07}</td></tr>" . PHP_EOL : ""; } else { $tr_str .= "<tr class='{$cls}'><td><em>{$id}</em></td><td colspan=3>{$elem02} {$elem01} {$elem07} {$elem08}</td></tr>" . PHP_EOL; } // if ($loopid == '2000E') { $evt_html .= $tr_str; } elseif ($loopid == '2000F') { $svc_html .= $tr_str; } continue; } // if (strncmp('CRC' . $de, $seg, 4) === 0) { // Certification $sar = explode($de, $seg); // $elem01 = isset($sar[1]) && $sar[1] ? $cd27x->get_271_code('CRC01', $sar[1]) : ''; // certification type code $elem02 = isset($sar[2]) && $sar[2] ? $cd27x->get_271_code('HCR04', $sar[2]) : ''; // condition indicater $elem03 = isset($sar[3]) && $sar[3] ? $cd27x->get_271_code('CRC03', $sar[3]) : ''; // condition descripter $elem04 = isset($sar[4]) && $sar[4] ? $cd27x->get_271_code('CRC03', $sar[4]) : ''; // condition descripter $elem05 = isset($sar[5]) && $sar[5] ? $cd27x->get_271_code('CRC03', $sar[5]) : ''; // condition descripter $elem06 = isset($sar[6]) && $sar[6] ? $cd27x->get_271_code('CRC03', $sar[6]) : ''; // condition descripter $elem07 = isset($sar[7]) && $sar[7] ? $cd27x->get_271_code('CRC03', $sar[7]) : ''; // condition descripter // $evt_html .= $elem01 ? "<tr class='{$cls}'><td><em>{$elem01}</em></td><td colspan=3><em>Conditions Apply:</em> {$elem02}</td></tr>" . PHP_EOL : ""; $evt_html .= $elem03 ? "<tr class='{$cls}'><td>></td><td colspan=3>{$elem03}</td></tr>" . PHP_EOL : ""; $evt_html .= $elem04 ? "<tr class='{$cls}'><td>></td><td colspan=3>{$elem04}</td></tr>" . PHP_EOL : ""; $evt_html .= $elem05 ? "<tr class='{$cls}'><td>></td><td colspan=3>{$elem05}</td></tr>" . PHP_EOL : ""; $evt_html .= $elem06 ? "<tr class='{$cls}'><td>></td><td colspan=3>{$elem06}</td></tr>" . PHP_EOL : ""; $evt_html .= $elem07 ? "<tr class='{$cls}'><td>></td><td colspan=3>{$elem07}</td></tr>" . PHP_EOL : ""; // continue; } // if (strncmp('CL1' . $de, $seg, 4) === 0) { // $sar = explode($de, $seg); // $tr_str = ''; $elem01 = isset($sar[1]) && $sar[1] ? $cd27x->get_271_code('CL101', $sar[1]) : ''; // admission type code $elem02 = isset($sar[2]) && $sar[2] ? $cd27x->get_271_code('CL102', $sar[2]) : ''; // admission source code $elem03 = isset($sar[3]) && $sar[3] ? $cd27x->get_271_code('CL103', $sar[3]) : ''; // patient status code // $tr_str .= "<tr class='{$cls}'><td><em>Hospital</em> </td><td colspan=3>{$elem01} {$elem02}</td></tr>" . PHP_EOL; $tr_str .= $elem03 ? "<tr class='{$cls}'><td>></td><td colspan=3>{$elem03}</td></tr>" . PHP_EOL : ""; // if ($loopid == '2000E') { $evt_html .= $tr_str; } elseif ($loopid == '2000F') { $svc_html .= $tr_str; } continue; } // if (strncmp('CR1' . $de, $seg, 4) === 0) { // ambulance $sar = explode($de, $seg); // $elem03 = isset($sar[3]) && $sar[3] ? $cd27x->get_271_code('CR103', $sar[3]) : ''; // ambulance transit code if (isset($sar[5])) { if ($sar[5] == 'DH') { $elem05 = "miles"; } elseif ($sar[5] == 'DK') { $elem05 = "kilometers"; } else { $elem05 = ""; } } else { $elem05 = ""; } $elem06 = isset($sar[6]) ? $sar[6] : ""; // $evt_html .= "<tr class='{$cls}'><td><em>Ambulance:</em></td><td colspan=3>{$elem03} {$elem06} {$elem05}</td></tr>" . PHP_EOL; // continue; } // if (strncmp('CR2' . $de, $seg, 4) === 0) { // spinal manipulation $sar = explode($de, $seg); // $elem01 = isset($sar[1]) && $sar[1] ? $sar[1] : ""; $elem02 = isset($sar[2]) && $sar[2] ? $sar[2] : ""; $elem03 = isset($sar[3]) && $sar[3] ? $cd27x->get_271_code('CR203', $sar[3]) : ""; // spinal code $elem04 = isset($sar[4]) && $sar[4] ? $cd27x->get_271_code('CR203', $sar[4]) : ""; // spinal code $elem04 = $elem04 ? "-- " . $elem04 : ""; // elem05 -- elem12 not used // $evt_html .= "<tr class='{$cls}'><td><em>Spinal:</em></td><td colspan=3> {$elem01} {$elem02} {$elem03} {$elem04}</td></tr>" . PHP_EOL; // continue; } // if (strncmp('CR5' . $de, $seg, 4) === 0) { // oxygen $sar = explode($de, $seg); // $tr_str = ''; $elem03 = isset($sar[3]) && $sar[3] ? $cd27x->get_271_code('CR503', $sar[3]) : ""; // oxygen code $elem04 = isset($sar[4]) && $sar[4] ? $cd27x->get_271_code('CR503', $sar[4]) : ""; // oxygen code $elem06 = isset($sar[6]) && $sar[6] ? "Flow (lpm): " . $sar[6] : ""; $elem07 = isset($sar[7]) && $sar[7] ? "Times/day: " . $sar[7] : ""; $elem08 = isset($sar[8]) && $sar[8] ? "Hours: " . $sar[8] : ""; $elem09 = isset($sar[9]) && $sar[9] ? $sar[9] : ""; $elem16 = isset($sar[16]) && $sar[16] ? "Flow (lpm): " . $sar[16] : ""; $elem17 = isset($sar[17]) && $sar[17] ? $cd27x->get_271_code('CR517', $sar[17]) : ""; $elem18 = isset($sar[18]) && $sar[18] ? $cd27x->get_271_code('CR503', $sar[18]) : ""; // $title = "Descriptors and Rates/times per edi guide. <b>Do not rely on these!</b>" . PHP_EOL; $t2 = "Descriptors per edi companion guide. <b>Do not rely on these!</b>" . PHP_EOL; // $tr_str .= "<tr class='{$cls}'><td><em>Oxygen</em></td><td colspan=3><b>You must independently verify this information!</b></td></tr>" . PHP_EOL; $tr_str .= "<tr class='{$cls}'><td>></td><td colspan=3>{$title}</td></tr>" . PHP_EOL; $tr_str .= $elem03 || $elem04 ? "<tr class='{$cls}'><td>></td><td colspan=3 title='{$t2}'><em>Equipment Type: </em>{$elem03} {$elem04}</td></tr>" . PHP_EOL : ""; $tr_str .= $elem06 || $elem07 || $elem08 ? "<tr class='{$cls}'><td>></td><td colspan=3 title='{$title}'>{$elem06} {$elem07} {$elem08}</td></tr>" . PHP_EOL : ""; $tr_str .= $elem09 ? "<tr class='{$cls}'><td>></td><td colspan=3><em>Therapist: </em>{$elem09}</td></tr>" . PHP_EOL : ""; $tr_str .= $elem16 ? "<tr class='{$cls}'><td>></td><td colspan=3 title='{$title}'>{$elem16}</td></tr>" . PHP_EOL : ""; $tr_str .= $elem17 ? "<tr class='{$cls}'><td>></td><td colspan=3 title='{$t2}'><em>Delivery: </em>{$elem17}</td></tr>" . PHP_EOL : ""; $tr_str .= $elem18 ? "<tr class='{$cls}'><td>></td><td colspan=3 title='{$t2}'><em>Equipment Type: </em>{$elem18}</td></tr>" . PHP_EOL : ""; // $evt_html .= $tr_str; // continue; } // if (strncmp('CR6' . $de, $seg, 4) === 0) { // oxygen $sar = explode($de, $seg); // $elem01 = isset($sar[1]) && $sar[1] ? $cd27x->get_271_code('UM07', $sar[1]) : ""; // patient condition code $elem02 = isset($sar[2]) && $sar[2] ? edih_format_date($sar[2]) : ""; // HH start date $elem03 = isset($sar[3]) && $sar[3] ? $sar[3] : ""; $elem04 = isset($sar[4]) && $sar[4] ? $sar[4] : ""; if ($elem03 == 'D8' && $elem04) { $elem04 = edih_format_date($elem04); } elseif ($elem03 == 'RD8' && $elem04) { $var = edih_format_date(substr($dtp03, 0, 8)); $elem04 = $var . ' - ' . edih_format_date(substr($elem04, -8)); } $elem07 = isset($sar[7]) && $sar[7] ? $cd27x->get_271_code('HCR04', $sar[8]) : ""; $elem08 = isset($sar[8]) && $sar[8] ? $cd27x->get_271_code('CR608', $sar[8]) : ""; // certification type code // $evt_html .= "<tr class='{$cls}'><td><em>Home Health</em></td><td><em>HH Began</em> {$elem02}</td><td colspan=2>{$elem01}</td></tr>" . PHP_EOL; $evt_html .= $elem03 || $elem04 ? "<tr class='{$cls}'><td>></td><td colspan=2><em>Period</em> {$elem04}</td><td>(MCR) {$elem07}</td></tr>" . PHP_EOL : ""; $evt_html .= $elem08 ? "<tr class='{$cls}'><td>></td><td colspan=2><em>Period</em> {$elem08}</td><td>(MCR) {$elem05}</td></tr>" . PHP_EOL : ""; // continue; } // if (strncmp('PWK' . $de, $seg, 4) === 0) { // paperwork $sar = explode($de, $seg); // $tr_str = ''; // $elem01 = isset($sar[1]) && $sar[1] ? $cd27x->get_271_code('PWK01', $sar[1]) : ""; // paperwork code $elem02 = isset($sar[2]) && $sar[2] ? $cd27x->get_271_code('PWK02', $sar[2]) : ""; // delivery code $elem05 = isset($sar[5]) && $sar[5] == 'AC' ? "Attachment Control Number" : ""; $elem06 = isset($sar[6]) && $sar[6] ? $sar[6] : ""; $elem07 = isset($sar[7]) && $sar[7] ? $sar[7] : ""; // $tr_str .= "<tr class='{$cls}'><td><em>Paperwork</em></td><td colspan=3>{$elem01} {$elem02}</td></tr>" . PHP_EOL; $tr_str .= $elem05 ? "<tr class='{$cls}'><td>></td><td colspan=3>{$elem05} {$elem06}</td></tr>" . PHP_EOL : ""; $tr_str .= $elem07 ? "<tr class='{$cls}'><td>></td><td colspan=3>{$elem07}</td></tr>" . PHP_EOL : ""; // if ($loopid == '2000E') { $evt_html .= $tr_str; } elseif ($loopid == '2000F') { $svc_html .= $tr_str; } continue; } // if (strncmp('MSG' . $de, $seg, 4) === 0) { // paperwork $sar = explode($de, $seg); // $elem01 = isset($sar[1]) && $sar[1] ? $sar[1] : ""; // if ($loopid == '2000E') { $evt_html .= $elem01 ? "<tr class='{$cls}'><td><em>Message</em></td><td colspan=3>{$elem01}</td></tr>" . PHP_EOL : ""; } elseif ($loopid == '2000F') { $svc_html .= $elem01 ? "<tr class='{$cls}'><td><em>Message</em></td><td colspan=3>{$elem01}</td></tr>" . PHP_EOL : ""; } continue; } // if (strncmp('SV1' . $de, $seg, 4) === 0) { // professional services $sar = explode($de, $seg); // $elem01 = ''; if (isset($sar[1]) && strpos($sar[1], $ds)) { $ar01 = explode($ds, $sar[1]); $ct = count($ar01); $elem01 = isset($ar01[0]) && $ar01[0] ? $cd27x->get_271_code('SV101', $ar01[0]) : ""; // if ($ct == 8) { $ct = 7; $elem01 .= " " . $ar01[1] . " -- " . $ar01[8]; } else { $elem01 .= " " . $ar01[1]; } if ($elem01 && $ct > 2) { for ($i = 2; $i < $ct; $i++) { $elem01 .= ' ' . $ar01[$i]; } } } elseif (isset($sar[1]) && $sar[1]) { $elem01 = $sar[1]; } $elem02 = isset($sar[2]) && $sar[2] ? edih_format_money($sar[2]) : ""; $elem03 = isset($sar[3]) && $sar[3] ? $cd27x->get_271_code('SV103', $sar[3]) : ""; $elem04 = isset($sar[4]) && $sar[4] ? $sar[4] : ""; $elem11 = isset($sar[11]) && $sar[11] ? $cd27x->get_271_code('HCR04', $sar[11]) : ""; $elem20 = isset($sar[20]) && $sar[20] ? $cd27x->get_271_code('SV120', $sar[20]) : ""; // $elem11 = $elem11 ? "<em>EPSDT</em> " . $elem11 : ""; // $svc_html .= $elem01 ? "<tr class='{$cls}'><td><em>Professional Svc</em></td><td colspan=3>{$elem01} {$elem02}</td></tr>" . PHP_EOL : ""; $svc_html .= $elem03 || $elem04 || $elem11 ? "<tr class='{$cls}'><td>></td><td colspan=3>{$elem03} {$elem04} {$elem11}</td></tr>" . PHP_EOL : ""; $svc_html .= $elem20 ? "<tr class='{$cls}'><td>></td><td colspan=3>{$elem20}</td></tr>" . PHP_EOL : ""; // continue; } // if (strncmp('SV2' . $de, $seg, 4) === 0) { // paperwork $sar = explode($de, $seg); // $elem01 = ''; if (isset($sar[1]) && strpos($sar[1], $ds)) { $ar01 = explode($ds, $sar[1]); $ct = count($ar01); $elem01 = isset($ar01[0]) && $ar01[0] ? $cd27x->get_271_code('SV101', $ar01[0]) : ""; // if ($ct == 8) { $ct = 7; $elem01 .= " " . $ar01[1] . " -- " . $ar01[8]; } else { $elem01 .= " " . $ar01[1]; } if ($elem01 && count($ar01) > 2) { for ($i = 2; $i < $ct; $i++) { $elem01 .= ' ' . $ar01[$i]; } } } elseif (isset($sar[1]) && $sar[1]) { $elem01 = $sar[1]; } $elem02 = isset($sar[2]) && $sar[2] ? edih_format_money($sar[2]) : ""; $elem03 = isset($sar[3]) && $sar[3] ? $cd27x->get_271_code('SV103', $ar01[3]) : ""; $elem04 = isset($sar[4]) && $sar[4] ? $sar[4] : ""; $elem05 = isset($sar[5]) && $sar[5] ? $sar[5] : ""; $elem06 = isset($sar[6]) && $sar[6] ? edih_format_money($sar[6]) : ""; $elem10 = isset($sar[20]) && $sar[20] ? $cd27x->get_271_code('SV120', $ar01[20]) : ""; // $svc_html .= $elem01 ? "<tr class='{$cls}'><td><em>Inst Service</em></td><td colspan=3>{$elem01} {$elem02}</td></tr>" . PHP_EOL : ""; $svc_html .= $elem03 || $elem04 ? "<tr class='{$cls}'><td>></td><td colspan=3>{$elem03} {$elem04} {$elem05} {$elem06}</td></tr>" . PHP_EOL : ""; $svc_html .= $elem10 ? "<tr class='{$cls}'><td>></td><td colspan=3>{$elem10}</td></tr>" . PHP_EOL : ""; // continue; } } // $str_html .= $hdr_html; $str_html .= $src_html ? $src_html : ""; $str_html .= $rcv_html ? $rcv_html : ""; $str_html .= $sbr_nm1_html ? $sbr_nm1_html : ""; $str_html .= $dep_nm1_html ? $dep_nm1_html : ""; $str_html .= $evt_html ? $evt_html : ""; $str_html .= $svc_html ? $svc_html : ""; $str_html .= "<tr><td colspan=4> </td></tr>" . PHP_EOL; $str_html .= "</tbody>" . PHP_EOL . "</table>" . PHP_EOL; } // return $str_html; }