3 * edih_277_html.php.php
5 * Copyright 2016 Kevin McCormick <kevin@kt61p>
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
26 // require_once("$srcdir/edihistory/codes/edih_271_code_class.php");
30 * Produce an html display of information in
31 * the x12 edi 271 eligibility report for a particular patient
33 * @uses edih_271_codes()
34 * @uses edih_format_money()
35 * @uses edih_format_date()
36 * @uses edih_format_percent()
38 * @param object edih_x12_file type 271
39 * @param string bht03 or clm01 reference for transaction
42 function edih_277_transaction_html($obj277, $bht03, $accordion=false) {
43 // get the transaction segments
44 $trans = $obj277->edih_x12_transaction($bht03);
46 // get other necessary items
47 $de = $obj277->edih_delimiters()['e'];
48 $ds = $obj277->edih_delimiters()['s'];
49 $dr = $obj277->edih_delimiters()['r'];
50 $fn = $obj277->edih_filename();
52 if ( !is_array($trans) ||
!count($trans) ) {
53 $str_html = "<p>Did not find transaction $bht03 in $fn</p>".PHP_EOL
;
57 $cd27x = new edih_271_codes($ds, $dr);
63 $hdr_html = "<table id=$bht03 class='h277' columns=4>";
64 $hdr_html .= "<caption>Claim Status</caption>".PHP_EOL
;
65 $hdr_html .= "<thead>".PHP_EOL
;
66 $hdr_html .= "<tr><th>Reference</th><th>Information</th><th colspan=2>$fn</th></tr>".PHP_EOL
; //
67 $hdr_html .= "</thead>".PHP_EOL
."<tbody>".PHP_EOL
;
77 $trns_ct = count($trans);
78 for($i=0; $i<$trns_ct; $i++
) {
79 foreach($trans[$i] as $seg) {
89 // echo "$i loop: $loopid Segment: $seg".PHP_EOL;
91 if ( strncmp('BHT'.$de, $seg, 4) === 0 ) {
93 $sar = explode($de, $seg);
95 if ($sar[1] == '0010') {
96 $elem01 = "Src, Rcv, Prv, Sbr, Dep";
97 } elseif ($sar[1] == '0085') {
98 $elem01 = "Src, Rcv, Prv, Pt";
100 $elem01 = "Not determined ({$sar[1]})";
106 $elem02 = ( isset($sar[2]) && $sar[2] !== false) ?
$cd27x->get_271_code('BHT02', $sar[2]) : "";
107 $elem03 = ( isset($sar[3]) && $sar[3]) ?
$sar[3] : "";
108 $elem04 = ( isset($sar[4]) && $sar[4]) ?
edih_format_date($sar[4]) : "";
109 $elem06 = ( isset($sar[6]) && $sar[6]) ?
$cd27x->get_271_code('BHT06', $sar[6]) : "";
111 $hdr_html .= "<tr><td colspan=2><em>Reference:</em> $elem03</td><td colspan=2><em>Sequence:</em> $elem01</td></tr>".PHP_EOL
;
112 $hdr_html .= "<tr><td colspan=2><em>Date:</em> $elem04</td><td colspan=2><em>Type:</em> $elem02</td>".PHP_EOL
;
113 $hdr_html .= ($elem06) ?
"<tr><td>></td><td colspan=3><em>Type:</em> $elem06</td></tr>".PHP_EOL
: "";
119 if ( strncmp('HL'.$de, $seg, 3) === 0 ) {
120 $sar = explode($de, $seg);
121 $elem03 = ( isset($sar[3]) ) ?
$sar[3] : "";
122 if ( $elem03 == '20') { // level code
123 $loopid = '2000A'; // info source (payer)
125 $src_html .= "<tr class='$cls'><td colspan=4><b>Information Source</b></td></tr>".PHP_EOL
;
126 } elseif ($elem03 == '21') {
127 $loopid = '2000B'; // info receiver (clinic)
129 $rcv_html .= "<tr class='$cls'><td colspan=4><b>Information Receiver</b></td></tr>".PHP_EOL
;
130 } elseif ($elem03 == '19') {
131 $loopid = '2000C'; // provider
134 $prv_html .= "<tr class='$cls'><td colspan=4><b>Provider</b></td></tr>".PHP_EOL
;
135 } elseif ($elem03 == '22') {
136 $loopid = '2000D'; // subscriber
138 $sbr_nm1_html .= "<tr class='$cls'><td colspan=4><b>Subscriber</b></td></tr>".PHP_EOL
;
139 } elseif ($elem03 == 'PT') {
140 $loopid = '2000D'; // patient in 277CA
142 $sbr_nm1_html .= "<tr class='$cls'><td colspan=4><b>Patient</b></td></tr>".PHP_EOL
;
143 } elseif ($elem03 == '23') {
144 $loopid = '2000E'; // dependent
146 $dep_nm1_html .= "<tr class='$cls'><td colspan=4><b>Dependent</b></td></tr>".PHP_EOL
;
148 csv_edihist_log("edih_277_transaction_html: HL segment error $fn");
151 $qtystr = ''; // reset for QTY and AMT segments in 277CA
155 if ( strncmp('NM1'.$de, $seg, 4) === 0 ) {
156 $sar = explode($de, $seg);
158 $nm101 = ( isset($sar[1]) ) ?
$sar[1] : '';
159 $descr = ($nm101) ?
$cd27x->get_271_code('NM101', $nm101) : "";
161 $name = (isset($sar[3]) && $sar[3] ) ?
$sar[3] : "";
162 $name .= (isset($sar[7]) && $sar[7]) ?
" {$sar[7]}" : "";
163 $name .= (isset($sar[4]) && $sar[4]) ?
", {$sar[4]}" : "";
164 $name .= (isset($sar[5]) && $sar[5]) ?
" {$sar[5]}" : "";
165 $nm109 = (isset($sar[9]) && $sar[9]) ?
$sar[9] : "";
167 $nm108 = (isset($sar[8]) && $sar[8] ) ?
$cd27x->get_271_code('NM108', $sar[8]) : "";
169 if ($loopid == '2000A') {
170 $src_html .= "<tr class='$cls'><td>></td><td colspan=3 title='$descr'>$name</td></tr>" .PHP_EOL
;
171 $src_html .= "<tr class='$cls'><td>></td><td colspan=3 title='$descr'><em>$nm108</em> $nm109</td></tr>" .PHP_EOL
;
173 } elseif ($loopid == '2000B') {
174 $rcv_html .= "<tr class='$cls'><td>></td><td colspan=3 title='$descr'>$name</td></tr>" .PHP_EOL
;
175 $rcv_html .= "<tr class='$cls'><td>></td><td colspan=3 title='$descr'><em>$nm108</em> $nm109</td></tr>" .PHP_EOL
;
177 } elseif ($loopid == '2000C') {
178 $prv_html .= "<tr class='$cls'><td>></td><td colspan=3 title='$descr'>$name</td></tr>" .PHP_EOL
;
179 $prv_html .= "<tr class='$cls'><td>></td><td colspan=3 title='$descr'><em>$nm108</em> $nm109</td></tr>" .PHP_EOL
;
181 } elseif ($loopid == '2000D') {
182 $sbr_nm1_html .= "<tr class='$cls'><td>></td><td colspan=3 title='$descr'>$name</td></tr>" .PHP_EOL
;
183 $sbr_nm1_html .= "<tr class='$cls'><td>></td><td colspan=3 title='$descr'><em>$nm108</em> $nm109</td></tr>" .PHP_EOL
;
186 } elseif ( $loopid == '2000E' ) {
187 $dep_nm1_html .= "<tr class='$cls'><td>></td><td colspan=3 title='$descr'>$name</td></tr>" .PHP_EOL
;
188 $dep_nm1_html .= "<tr class='$cls'><td>></td><td colspan=3 title='$descr'><em>$nm108</em> $nm109</td></tr>" .PHP_EOL
;
196 if ( strncmp('PER'.$de, $seg, 4) === 0 ) {
197 $sar = explode($de, $seg);
199 $elem01 = (isset($sar[1])) ?
$sar[1] : '';
200 $elem02 = (isset($sar[2])) ?
$sar[2] : '';
201 $elem03 = (isset($sar[3])) ?
$cd27x->get_271_code('PER03', $sar[3]) : "";
202 $elem04 = (isset($sar[4])) ?
$sar[4] : '';
203 $elem05 = (isset($sar[5])) ?
$cd27x->get_271_code('PER03', $sar[5]) : "";
204 $elem06 = (isset($sar[6])) ?
$sar[6] : '';
205 $elem07 = (isset($sar[7])) ?
$cd27x->get_271_code('PER03', $sar[7]) : "";
206 $elem08 = (isset($sar[8])) ?
$sar[8] : '';
207 $elem09 = (isset($sar[9])) ?
$sar[9] : '';
209 if ($loopid == '2100A') {
210 $src_html .= "<tr class='$cls'><td colspan=2>$elem02</td><td colspan=2 title='$elem03 $elem05 $elem07'>$elem04 $elem06 $elem08</td></tr>" .PHP_EOL
;
212 csv_edihist_log('edih_277_html: PER segment not in 2100A loop '.$fn);
218 if ( strncmp('TRN'.$de, $seg, 4) === 0 ) {
219 $sar = explode($de, $seg);
221 $elem01 = ( isset($sar[1]) && $sar[1] == "1" ) ?
"Transaction Ref" : "Trace";
222 $elem02 = ( isset($sar[2]) ) ?
$sar[2] : '';
223 $elem03 = ( isset($sar[3]) ) ?
$sar[3] : '';
224 $elem04 = ( isset($sar[4]) ) ?
$sar[4] : '';
226 if ($loopid == '2100B') {
227 $rcv_html .= "<tr class='$cls'><td>></td><td colspan=3><em>$elem01</em> $elem02</td></tr>".PHP_EOL
;
229 } elseif ($loopid == '2100C') {
230 $prv_html .= "<tr class='$cls'><td>></td><td colspan=3><em>$elem01</em> $elem02</td></tr>".PHP_EOL
;
232 } elseif ($loopid == '2100D') {
233 $sbr_stc_html .= "<tr class='$cls'><td>></td><td colspan=3><em>$elem01</em> $elem02</td></tr>".PHP_EOL
;
234 $h3_lbl = ($h3_lbl) ?
$h3_lbl.' '.$elem02 : $h3_lbl;
236 } elseif ($loopid == '2100E') {
237 $dep_stc_html .= "<tr class='$cls'><td>></td><td colspan=3><em>$elem01</em> $elem02</td></tr>".PHP_EOL
;
238 $h3_lbl = ($h3_lbl) ?
$h3_lbl.' '.$elem02 : $h3_lbl;
245 if ( strncmp('STC'.$de, $seg, 4) === 0 ) {
246 $sar = explode($de, $seg);
248 if ( isset($sar[1]) ) {
249 if ( strpos($sar[1], $ds) ) { // claim status category : claim status : entity identifier
250 $scda = explode($ds, $sar[1]);
251 $sc101 = ( isset($scda[0]) && $scda[0]) ?
$cd27x->get_271_code('HCCSCC', $scda[0]) : "";
252 $sc102 = ( isset($scda[1]) && $scda[1]) ?
$cd27x->get_271_code('HCCSC', $scda[1]) : "";
253 $sc103 = ( isset($scda[2]) && $scda[2]) ?
$cd27x->get_271_code('NM101', $scda[2]) : "";
258 $stc02 = (isset($sar[2]) && $sar[2]) ?
edih_format_date($sar[2]) : ""; // status information date
259 $stc03 = ""; // action code
260 if (isset($sar[3])) {
261 if ($sar[3] == 'WQ') {
263 } elseif ($sar[3] == 'F') {
265 } elseif ($sar[3] == '15') {
266 $stc03 = "Correct/Resubmit";
267 } elseif ($sar[3] == 'U') {
273 $stc04 = (isset($sar[4]) && $sar[4]) ?
edih_format_money($sar[4]) : ""; // billed amount
274 $stc05 = (isset($sar[5]) && $sar[5]) ?
edih_format_money($sar[5]) : ""; // paid amount
275 $stc06 = (isset($sar[6]) && $sar[6]) ?
edih_format_date($sar[6]) : ""; // payment date
277 $stc08 = (isset($sar[8]) && $sar[8]) ?
edih_format_date($sar[8]) : ""; // check issue date
278 $stc09 = (isset($sar[9]) && $sar[9]) ?
$sar[9] : ""; // check or eft number
281 if ( isset($sar[10]) && $sar[10]) { // claim status category : claim status : entity identifier
282 if ( strpos($sar[10], $ds) ) {
283 $scda = explode($ds, $sar[1]);
284 $sc201 = ( isset($scda[0]) && $scda[0]) ?
$cd27x->get_271_code('HCCSCC', $scda[0]) : "";
285 $sc202 = ( isset($scda[1]) && $scda[1]) ?
$cd27x->get_271_code('HCCSC', $scda[1]) : "";
286 $sc203 = ( isset($scda[2]) && $scda[2]) ?
$cd27x->get_271_code('NM101', $scda[2]) : "";
287 $sc204 = ( isset($scda[3]) && $scda[3] = 'RA') ?
"Rx Reject/Payment Codes" : "";
294 if ( isset($sar[11]) && $sar[11]) { // claim status category : claim status : entity identifier
295 if ( strpos($sar[10], $ds) ) {
296 $scda = explode($ds, $sar[1]);
297 $sc301 = ( isset($scda[0]) && $scda[0]) ?
$cd27x->get_271_code('HCCSCC', $scda[0]) : "";
298 $sc302 = ( isset($scda[1]) && $scda[1]) ?
$cd27x->get_271_code('HCCSC', $scda[1]) : "";
299 $sc303 = ( isset($scda[2]) && $scda[2]) ?
$cd27x->get_271_code('NM101', $scda[2]) : "";
300 $sc304 = ( isset($scda[3]) && $scda[3] = 'RA') ?
"Rx Reject/Payment Codes" : "";
306 $stc12 = ( isset($sar[12]) && $sar[12]) ?
$sar[12] : ""; // message
308 $stc_html = (isset($sc101)) ?
"<tr class='$cls'><td>$stc03</td><td colspan=2>$sc101</td><td>$stc02 $stc04</td></tr>".PHP_EOL
: "";
309 $stc_html .= (isset($sc102)) ?
"<tr class='$cls'><td>></td><td colspan=3>$sc102</td></tr>".PHP_EOL
: "";
310 $stc_html .= (isset($sc103) && $sc103) ?
"<tr class='$cls'><td>></td><td colspan=3><em>Entity</em> $sc103</td></tr>".PHP_EOL
: "";
311 $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
: "";
312 $stc_html .= (isset($sc201)) ?
"<tr class='$cls'><td>></td><td colspan=3>$sc201 $sc204</td></tr>".PHP_EOL
: "";
313 $stc_html .= (isset($sc202)) ?
"<tr class='$cls'><td>></td><td colspan=3>$sc202</td></tr>".PHP_EOL
: "";
314 $stc_html .= (isset($sc203) && $sc203) ?
"<tr class='$cls'><td>></td><td colspan=3><em>Entity</em> $sc203</td></tr>".PHP_EOL
: "";
315 $stc_html .= (isset($sc301)) ?
"<tr class='$cls'><td>></td><td colspan=3>$sc301 $sc304</td></tr>".PHP_EOL
: "";
316 $stc_html .= (isset($sc302)) ?
"<tr class='$cls'><td>></td><td colspan=3>$sc302</td></tr>".PHP_EOL
: "";
317 $stc_html .= (isset($sc303) && $sc303) ?
"<tr class='$cls'><td>></td><td colspan=3><em>Entity</em> $sc303</td></tr>".PHP_EOL
: "";
318 $stc_html .= ($stc12) ?
"<tr class='$cls'><td><em>Message</em></td><td colspan=3>$stc12</td></tr>".PHP_EOL
: "";
320 if ($loopid == '2200B') {
321 $rcv_html .= $stc_html;
322 } elseif ($loopid == '2200C') {
323 $prv_html .= $stc_html;
324 } elseif ($loopid == '2200D') {
325 $sbr_stc_html .= $stc_html;
326 } elseif ($loopid == '2200E') {
327 $dep_stc_html .= $stc_html;
332 // in 277CA, expect QTY followed by AMT
333 // do not expect QTY or AMT in regular 277
334 if ( strncmp('QTY'.$de, $seg, 4) === 0 ) {
335 $sar = explode($de, $seg);
336 if ( isset($sar[1]) ) {
337 if ($sar[1] == '90' ) {
338 $qtystr = "Acknowledged Quantity ";
339 } elseif ($sar[1] == 'AA' ) {
340 $qtystr = "Unacknowledged Quantity ";
341 } elseif ($sar[1] == 'QA' ) {
342 $qtystr = "Quantity Approved ";
343 } elseif ($sar[1] == 'QC' ) {
344 $qtystr = "Quantity Disapproved ";
346 $qtystr = "Quantity ";
352 $qtystr .= (isset($sar[2]) && $sar[2]) ?
$sar[2] : "";
355 if ( strncmp('AMT'.$de, $seg, 4) === 0 ) {
356 $sar = explode($de, $seg);
358 $amtstr = (isset($sar[1]) && $sar[1] == 'YU') ?
"Amt " :"Amt Rej ";
359 $amtstr .= (isset($sar[2]) && $sar[2]) ?
edih_format_money($sar[2]) : "";
361 if ($loopid == '2200B') {
362 $rcv_html .= "<tr class='$cls'><td>></td><td colspan=3>$qtystr $amtstr</td></tr>".PHP_EOL
;
363 } elseif ($loopid == '2200C') {
364 $prv_html .= "<tr class='$cls'><td>></td><td colspan=3>$qtystr $amtstr</td></tr>".PHP_EOL
;
365 } elseif ($loopid == '2200D') {
366 $sbr_stc_html .= "<tr class='$cls'><td>></td><td colspan=3>$qtystr $amtstr</td></tr>".PHP_EOL
;
367 } elseif ($loopid == '2200E') {
368 $dep_stc_html .= "<tr class='$cls'><td>></td><td colspan=3>$qtystr $amtstr</td></tr>".PHP_EOL
;
376 if ( strncmp('REF'.$de, $seg, 4) === 0 ) {
377 $sar = explode($de, $seg);
380 $elem01 = (isset($sar[1])) ?
$cd27x->get_271_code('REF', $sar[1]) : '';
381 $elem02 = (isset($sar[2])) ?
$sar[2] : '';
382 $elem03 = (isset($sar[3])) ?
$sar[2] : '';
384 if ($loopid == '2200B') {
385 $rcv_html .= "<tr class='$cls'><td>></td><td colspan=2><em>$elem01</em> $elem02</td><td>$elem03</td></tr>".PHP_EOL
;
386 } elseif ($loopid == '2200C') {
387 $prv_html .= "<tr class='$cls'><td>></td><td colspan=2><em>$elem01</em> $elem02</td><td>$elem03</td></tr>".PHP_EOL
;
388 } elseif ($loopid == '2200D' ||
$loopid == '2220D' ) {
389 $sbr_stc_html .= "<tr class='$cls'><td>></td><td colspan=2><em>$elem01</em> $elem02</td><td>$elem03</td></tr>".PHP_EOL
;
390 } elseif ($loopid == '2200E' ||
$loopid == '2220E' ) {
391 $dep_stc_html .= "<tr class='$cls'><td>></td><td colspan=2><em>$elem01</em> $elem02</td><td>$elem03</td></tr>".PHP_EOL
;
397 if ( strncmp('DTP'.$de, $seg, 4) === 0 ) {
399 $sar = explode($de, $seg);
402 $elem01 = (isset($sar[1]) && $sar[1]) ?
$cd27x->get_271_code('DTP', $sar[1]) : "";
403 $elem02 = (isset($sar[2])) ?
$sar[2] : '';
404 $elem03 = (isset($sar[3])) ?
$sar[3] : '';
406 $idtype = ($elem01) ?
$cd27x->get_271_code('DTP', $elem01) : "";
407 if ( $elem02 == 'D8' && $elem03) {
408 $var = edih_format_date($elem03);
409 } elseif ( $elem02 == 'RD8' && $elem03) {
410 $var = edih_format_date( substr($elem03, 0, 8) );
411 $var .= ' - '.edih_format_date( substr($elem03, -8) );
414 if ($loopid == '2200D' ||
$loopid == '2220D') {
415 $sbr_stc_html .= "<tr class='$cls'><td>></td><td>$elem01</td><td colspan=2>$var</td></tr>" .PHP_EOL
;
416 } elseif ($loopid == '2200E' ||
$loopid == '2220E') {
417 $dep_stc_html .= "<tr class='$cls'><td>></td><td>$elem01</td><td colspan=2>$var</td></tr>" .PHP_EOL
;
423 if ( strncmp('SVC'.$de, $seg, 4) === 0 ) {
425 $sar = explode($de, $seg);
427 $elem01 = ''; // composite procedure code source:code:modifier:modifier
428 if ( isset($sar[1]) && $sar[1]) {
429 // construct a code source code modifier string
430 if ( strpos($sar[1], $ds) ) {
431 $scda = explode($ds, $sar[1]);
433 while ( list($key, $val) = each($scda) ) {
434 if ($key == 0 && $val) {
435 $elem01 = $cd27x->get_271_code('EB13',$val);
445 $elem02 = (isset($sar[2]) && $sar[2]) ?
edih_format_money($sar[2]) : ""; // billed amount
446 $elem03 = (isset($sar[3]) && $sar[3]) ?
edih_format_money($sar[3]) : ""; // paid amount
447 $elem04 = (isset($sar[4]) && $sar[4]) ?
$sar[4] : ""; // revenue code
448 $elem05 = (isset($sar[5]) && $sar[5]) ?
$sar[5] : ""; // quantity
450 $elem07 = (isset($sar[7]) && $sar[7]) ?
$sar[7] : ""; // original unis of service
452 if ($loopid == '2200B') {
453 $rcv_html .= "<tr class='$cls'><td><em>Service</em></td><td>$elem01</td><td>$elem02</td><td>$elem04</td></tr>".PHP_EOL
;
454 $rcv_html .= ($elem03 ||
$elem04) ?
"<tr class='$cls'><td>></td><td colspan=3>$elem03 $elem04</td></tr>".PHP_EOL
: "";
455 } elseif ($loopid == '2200D' ||
$loopid == '2220D') {
456 $sbr_stc_html .= "<tr class='$cls'><td><em>Service</em></td><td>$elem01</td><td colspan=2>$elem02 $elem04</td></tr>".PHP_EOL
;
457 $sbr_stc_html .= ($elem03 ||
$elem04) ?
"<tr class='$cls'><td>></td><td colspan=3>$elem03 $elem04</td></tr>".PHP_EOL
: "";
458 } elseif ($loopid == '2200E' ||
$loopid == '2220E') {
459 $dep_stc_html .= "<tr class='$cls'><td><em>Service</em></td><td>$elem01</td><td colspan=2>$elem02 $elem04</td></tr>".PHP_EOL
;
460 $dep_stc_html .= ($elem03 ||
$elem04) ?
"<tr class='$cls'><td>></td><td colspan=3>$elem03 $elem04</td></tr>".PHP_EOL
: "";
469 $str_html .= "<h3>$bht $h3_lbl</h3>".PHP_EOL
;
470 $str_html .= "<div id='ac_$bht'>".PHP_EOL
;
472 $str_html .= ($hdr_html) ?
$hdr_html : "";
473 $str_html .= ($src_html) ?
$src_html : "";
474 $str_html .= ($rcv_html) ?
$rcv_html : "";
475 $str_html .= ($prv_html) ?
$prv_html : "";
476 $str_html .= ($sbr_nm1_html) ?
$sbr_nm1_html : "";
477 $str_html .= ($sbr_stc_html) ?
$sbr_stc_html : "";
478 $str_html .= ($dep_nm1_html) ?
$dep_nm1_html : "";
479 $str_html .= ($dep_stc_html) ?
$dep_stc_html : "";
480 $str_html .= "<tr><td colspan=4> </td></tr>".PHP_EOL
;
481 $str_html .= "</tbody>".PHP_EOL
."</table>".PHP_EOL
;
483 if ($accordion) { $str_html .= "</div>".PHP_EOL
; }
489 * create a display for an individual claim status response
491 * @uses csv_check_x12_obj()
492 * @uses edih_277_transaction_html()
494 * @param string $filename the filename
495 * @param string $clm01 identifier from 837 CLM of BHT segment
497 * @return string either an error message or a table with the information from the response
499 function edih_277_html($filename, $bht03='') {
500 // create a display for an individual 277 response
506 csv_edihist_log ("edih_277_html: called with no file arguments");
507 $html_str .= "Error, no file given<br />".PHP_EOL
;
512 $obj277 = csv_check_x12_obj($fn, 'f277');
513 if ($obj277 && 'edih_x12_file' == get_class($obj277) ) {
515 // particular transaction
516 $html_str .= edih_277_transaction_html($obj277, $bht03);
519 $env_ar = $obj277->edih_envelopes();
520 if (!isset($env_ar['ST'])) {
521 $html_str .= "<p>edih_277_html: file parse error, envelope error</p>".PHP_EOL
;
522 $html_str .= $obj277->edih_message();
525 $html_str .= "<div id='accordion'>".PHP_EOL
;
528 foreach($env_ar['ST'] as $st) {
529 foreach($env_ar['GS'] as $gs){
530 if ($gs['icn'] != $st['icn']) {
533 $gs_date = edih_format_date($gs['date']);
534 $gs_sender = $gs['sender'];
539 // get each transaction
540 foreach($st['bht03'] as $bht) {
541 //$html_str .= "<h3>$bht Claim Status <em>Date</em> $gs_date <em>Source</em> $gs_sender</h3>".PHP_EOL;
542 //$html_str .= "<div id='ac_$bht'>".PHP_EOL;
544 $html_str .= edih_277_transaction_html($obj277, $bht, true);
546 //$html_str .= "</div>".PHP_EOL;
549 $html_str .= "</div>".PHP_EOL
;
553 $html_str .= "<p>$filename : file parse error</p>".PHP_EOL
;
556 $html_str .= "Error with file name or file parsing <br />".PHP_EOL
;
557 csv_edihist_log("edih_277_html: error in retreiving file object");