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");
29 * HTML display of x12 278 file
30 * SV3 and TOO segments (Dental) are ignored
32 * @uses edih_271_codes()
34 * @param object edih_x12_file
35 * $param string BHT03 value to identify transaction
38 function edih_278_transaction_html($obj278, $bht03)
41 $trans = $obj278->edih_x12_transaction($bht03);
43 $str_html = $obj278->edih_message();
47 $de = $obj278->edih_delimiters()['e'];
48 $ds = $obj278->edih_delimiters()['s'];
49 $dr = $obj278->edih_delimiters()['r'];
50 $fn = $obj278->edih_filename();
52 $cd27x = new edih_271_codes($ds, $dr);
55 $capstr = 'Services Review (Cert/Auth)';
57 $hdr_html = "<table class='h278' columns=4><caption>" . text($capstr) . "</caption>";
58 $hdr_html .= "<thead><tr><th>Reference</th><th>Information</th><th colspan=2>" . text($fn) . "</th></tr></thead>".PHP_EOL
;
59 $hdr_html .= "<tbody>".PHP_EOL
;
68 $trns_ct = count($trans);
69 for ($i=0; $i<$trns_ct; $i++
) {
70 foreach ($trans[$i] as $seg) {
80 if (strncmp('BHT'.$de, $seg, 4) === 0) {
82 $sar = explode($de, $seg);
83 $elem01 = ($sar[1] == '0007') ?
"Src, Rcvr, Sbr, Dep, Evt, Svc" : "Not determined";
85 $elem02 = ( isset($sar[2]) && $sar[2] !== false) ?
$cd27x->get_271_code('BHT02', $sar[2]) : "";
87 $elem03 = (isset($sar[3]) ) ?
$sar[3] : '';
88 $elem04 = (isset($sar[4]) ) ?
edih_format_date($sar[4]) : '';
90 $elem06 = (isset($sar[6]) && $sar[6]) ?
$cd27x->get_271_code('BHT06', $sar[6]) : "";
92 $hdr_html .= "<tr><td colspan=2><em>Transaction ID:</em> " . text($elem03) . " </td><td colspan=2><em>Sequence:</em> " . text($elem01) . "</td></tr>".PHP_EOL
;
94 $hdr_html .= "<tr><td colspan=2><em>Transaction Date:</em> " . text($elem04) . " </td><td colspan=2>" . text($elem02) . " <em>Type:</em> " . text($elem06) . "</td></tr>".PHP_EOL
;
96 $hdr_html .= "<tr><td colspan=2><em>Transaction Date:</em> " . text($elem04) . " </td><td colspan=2><em>Type:</em> " . text($elem02) . "</td></tr>".PHP_EOL
;
103 //'src''rcv'sbr''dep''evt''svc''
104 if (strncmp($seg, 'HL'.$de, 3) === 0) {
105 $sar = explode($de, $seg);
107 $hlpc = $sar[2]; // parent code
109 $hlcc = (isset($sar[4])) ?
$sar[4] : ''; // child code
110 if ($sar[3] == '20') { // level code
112 $cls = 'src'; // info source (payer)
113 $src_html .= "<tr class='" . attr($cls) . "'><td colspan=4><b>Information Source</b></td></tr>".PHP_EOL
;
114 } elseif ($sar[3] == '21') {
116 $cls = 'rcv'; // info receiver (clinic)
117 $rcv_html .= "<tr class='" . attr($cls) . "'><td colspan=4><b>Information Receiver</b></td></tr>".PHP_EOL
;
118 } elseif ($sar[3] == '22') {
119 $loopid = '2000C'; // subscriber
121 $sbr_nm1_html .= "<tr class='" . attr($cls) . "'><td colspan=4><b>Subscriber</b></td></tr>".PHP_EOL
;
122 } elseif ($sar[3] == '23') {
123 $loopid = '2000D'; // dependent
125 $dep_nm1_html .= "<tr class='" . attr($cls) . "'><td colspan=4><b>Dependent</b></td></tr>".PHP_EOL
;
126 } elseif ($sar[3] == 'EV') {
127 $loopid = '2000E'; // patient event
129 $evt_html .= "<tr class='" . attr($cls) . "'><td colspan=4><b>Patient Event</b></td></tr>".PHP_EOL
;
130 } elseif ($sar[3] == 'SS') {
131 $loopid = '2000F'; // service
133 $svc_html .= "<tr class='" . attr($cls) . "'><td colspan=4><b>Service</b></td></tr>".PHP_EOL
;
140 if (strncmp('NM1'.$de, $seg, 4) === 0) {
141 $sar = explode($de, $seg);
143 $nm101 = ( isset($sar[1]) ) ?
$sar[1] : '';
144 $descr = ($nm101) ?
$cd27x->get_271_code('NM101', $nm101) : "";
146 $name = (isset($sar[3]) && $sar[3] ) ?
$sar[3] : "";
147 $name .= (isset($sar[7]) && $sar[7]) ?
" {$sar[7]}" : "";
148 $name .= (isset($sar[4]) && $sar[4]) ?
", {$sar[4]}" : "";
149 $name .= (isset($sar[5]) && $sar[5]) ?
" {$sar[5]}" : "";
150 $nm109 = (isset($sar[9]) && $sar[9]) ?
$sar[9] : "";
152 $idtype = (isset($sar[8]) && $sar[8] ) ?
$cd27x->get_271_code('NM108', $sar[8]) : "";
154 if ($loopid == '2000A') {
155 $src_html .= "<tr class='" . attr($cls) . "'><td title='" . attr($idtype) . "'>" . text($nm109) . "</td><td colspan=3 title='" . attr($descr) . "'>" . text($name) . "</td></tr>" .PHP_EOL
;
157 } elseif ($loopid == '2000B') {
158 $rcv_html .= "<tr class='" . attr($cls) . "'><td title='" . attr($idtype) . "'>" . text($nm109) . "</td><td colspan=3 title='" . attr($descr) . "'>" . text($name) . "</td></tr>" .PHP_EOL
;
160 } elseif ($loopid == '2000C') {
161 $sbr_nm1_html .= "<tr class='" . attr($cls) . "'><td title='" . attr($idtype) . "'>" . text($nm109) . "</td><td colspan=3 title='" . attr($descr) . "'>" . text($name) . "</td></tr>" .PHP_EOL
;
163 } elseif ($loopid == '2000D') {
164 $dep_nm1_html .= "<tr class='" . attr($cls) . "'><td title='" . attr($idtype) . "'>" . text($nm109) . "</td><td colspan=3 title='" . attr($descr) . "'>" . text($name) . "</td></tr>" .PHP_EOL
;
166 } elseif ($loopid == '2000E' ||
strpos($loopid, '010E')) {
167 $loopid = (strpos('|71|72|73|77|AAJ|DD|DK|DN|FA|G3|P3|QB|QV|SJ', $nm101) ) ?
'2010EA' : $loopid;
168 $loopid = (strpos('|45|FS|ND|PW|R3', $nm101) ) ?
'2010EB' : $loopid;
169 $loopid = ($nm101 == 'L5') ?
'2010EC' : $loopid;
170 $evt_html .= "<tr class='" . attr($cls) . "'><td title='" . attr($idtype) . "'>" . text($nm109) . "</td><td colspan=3 title='" . attr($descr) . "'>" . text($descr . " " . $name) . "</td></tr>" .PHP_EOL
;
171 } elseif ($loopid == '2000F' ||
strpos($loopid, '010F')) {
172 $loopid = (strpos('|71|72|73|77|AAJ|DD|DK|DN|FA|G3|P3|QB|QV|SJ', $nm101) ) ?
'2010FA' : $loopid;
173 $loopid = ($nm101 == 'L5') ?
'2010FB' : $loopid;
174 $svc_html .= "<tr class='" . attr($cls) . "'><td title='" . attr($idtype) . "'>" . text($nm109) . "</td><td colspan=3 title='" . attr($descr) . "'>" . text($descr . " " . $name) . "</td></tr>" .PHP_EOL
;
182 if (strncmp('N3'.$de, $seg, 3) === 0) {
183 $sar = explode($de, $seg);
184 $addr = (isset($sar[1])) ?
$sar[1] : "";
185 $addr .= (isset($sar[2])) ?
" {$sar[2]}" : "";
187 if ($loopid == '2010B') {
188 $rcv_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($addr) . "</td></tr>" .PHP_EOL
;
189 } elseif ($loopid == '2010C') {
190 $sbr_nm1_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($addr) . "</td></tr>" .PHP_EOL
;
191 } elseif ($loopid == '2010D') {
192 $dep_nm1_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($addr) . "</td></tr>" .PHP_EOL
;
193 } elseif ($loopid == '2010EA' ||
$loopid == '2010EC') {
194 $evt_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($addr) . "</td></tr>" .PHP_EOL
;
195 } elseif ($loopid == '2010FA') {
196 $svc_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($addr) . "</td></tr>" .PHP_EOL
;
203 if (strncmp('N4'.$de, $seg, 3) === 0) {
204 $sar = explode($de, $seg);
205 if ($loopid == '2010B') {
206 $rcv_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($sar[1] . " " . $sar[2] . " " . $sar[3]) . "</td></tr>" .PHP_EOL
;
207 } elseif ($loopid == '2010C') {
208 $sbr_nm1_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($sar[1] . " " . $sar[2] . " " . $sar[3]) . "</td></tr>" .PHP_EOL
;
209 } elseif ($loopid == '2010D') {
210 $dep_nm1_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($sar[1] . " " . $sar[2] . " " . $sar[3]) . "</td></tr>" .PHP_EOL
;
211 } elseif ($loopid == '2010EA' ||
$loopid == '2010EC') {
212 $evt_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($sar[1] . " " . $sar[2] . " " . $sar[3]) . "</td></tr>" .PHP_EOL
;
213 } elseif ($loopid == '2010FA' ||
$loopid == '2010FB') {
214 $svc_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($sar[1] . " " . $sar[2] . " " . $sar[3]) . "</td></tr>" .PHP_EOL
;
221 if (strncmp('PER'.$de, $seg, 4) === 0) {
222 $sar = explode($de, $seg);
223 $elem01 = (isset($sar[1])) ?
$sar[1] : '';
224 $elem02 = (isset($sar[2])) ?
$sar[2] : '';
225 $elem03 = (isset($sar[3])) ?
$cd27x->get_271_code('PER03', $sar[3]) : "";
226 $elem04 = (isset($sar[4])) ?
$sar[4] : '';
227 $elem05 = (isset($sar[5])) ?
$cd27x->get_271_code('PER03', $sar[5]) : "";
228 $elem06 = (isset($sar[6])) ?
$sar[6] : '';
229 $elem07 = (isset($sar[7])) ?
$cd27x->get_271_code('PER03', $sar[7]) : "";
230 $elem08 = (isset($sar[8])) ?
$sar[8] : '';
231 $elem09 = (isset($sar[9])) ?
$sar[9] : '';
233 $idtype = ($sar[3]) ?
$cd27x->get_271_code('PER03', $sar[3]) : "";
234 if ($loopid == '2010A') {
235 $src_html .= "<tr class='" . text($cls) . "'><td colspan=2>" . text($elem02) . "</td><td colspan=2 title='" . attr($elem03 . " " . $elem05 . " " . $elem07) . "'>" . text($elem04 . " " . $elem06 . " " . $elem08) . "</td></tr>" .PHP_EOL
;
236 } elseif ($loopid == '2010B') {
237 $rcv_html .= "<tr class='" . attr($cls) . "'><td colspan=2>" . text($elem02) . "</td><td colspan=2 title='" . attr($elem03 . " " . $elem05 . " " . $elem07) . "'>" . text($elem04 . " " . $elem06 . " " . $elem08) . "</td></tr>" .PHP_EOL
;
238 } elseif ($loopid == '2010EA') {
239 $evt_html .= "<tr class='" . attr($cls) . "'><td colspan=2>" . text($elem02) . "</td><td colspan=2 title='" . attr($elem03 . " " . $elem05 . " " . $elem07) . "'>" . text($elem04 . " " . $elem06 . " " . $elem08) . "</td></tr>" .PHP_EOL
;
240 } elseif ($loopid == '2010FA') {
241 $svc_html .="<tr class='" . attr($cls) . "'><td colspan=2>" . text($elem02) . "</td><td colspan=2 title='" . attr($elem03 . " " . $elem05 . " " . $elem07) . "'>" . text($elem04 . " " . $elem06 . " " . $elem08) . "</td></tr>" .PHP_EOL
;
249 if (strncmp('AAA'.$de, $seg, 4) === 0) {
251 $sar = explode($de, $seg);
252 $rej_reason = $cd27x->get_271_code('AAA03', $sar[3]);
253 $follow = $cd27x->get_271_code('AAA04', $sar[4]);
254 if ($loopid == '2000A') {
255 $src_html .= "<tr class='" . attr($cls) . "'><td><em><b>Rejection:</b></em></td><td colspan=3 title='" . attr($follow) . "'>" . text($rej_reason) . "</td></tr>" .PHP_EOL
;
256 } elseif ($loopid == '2010A') {
257 $src_html .= "<tr class='" . attr($cls) . "'><td><em><b>Rejection:</b></em></td><td colspan=3 title='" . attr($follow) . "'>" . text($rej_reason) . "</td></tr>" .PHP_EOL
;
258 } elseif ($loopid == '2000B') {
259 $rcv_html .= "<tr class='" . attr($cls) . "'><td><em><b>Rejection:</b></em></td><td colspan=3 title='" . attr($follow) . "'>" . text($rej_reason) . "</td></tr>" .PHP_EOL
;
260 } elseif ($loopid == '2010B') {
261 $sbr_eb_html .= "<tr class='" . attr($cls) . "'><td><em><b>Rejection:</b></em></td><td colspan=3 title='" . attr($follow) . "'>" . text($rej_reason) . "</td></tr>" .PHP_EOL
;
262 } elseif ($loopid == '2000C') {
263 $sbr_nm1_html .= "<tr class='" . attr($cls) . "'><td><em><b>Rejection:</b></em></td><td colspan=3 title='" . attr($follow) . "'>" . text($rej_reason) . "</td></tr>" .PHP_EOL
;
264 } elseif ($loopid == '2010C') {
265 $sbr_eb_html .= "<tr class='" . attr($cls) . "'><td><em><b>Rejection:</b></em></td><td colspan=3 title='" . attr($follow) . "'>" . text($rej_reason) . "</td></tr>" .PHP_EOL
;
266 } elseif ($loopid == '2000D') {
267 $dep_nm1_html .= "<tr class='" . attr($cls) . "'><td><em><b>Rejection:</b></em></td><td colspan=3 title='" . attr($follow) . "'>" . text($rej_reason) . "</td></tr>" .PHP_EOL
;
268 } elseif ($loopid == '2010D') {
269 $dep_eb_html .= "<tr class='" . attr($cls) . "'><td><em><b>Rejection:</b></em></td><td colspan=3 title='" . attr($follow) . "'>" . text($rej_reason) . "</td></tr>" .PHP_EOL
;
270 } elseif ($loopid == '2010EA' ||
$loopid == '2010EC') {
271 $evt_html .= "<tr class='" . attr($cls) . "'><td><em><b>Rejection:</b></em></td><td colspan=3 title='" . attr($follow) . "'>" . text($rej_reason) . "</td></tr>" .PHP_EOL
;
272 } elseif ($loopid == '2010FA') {
273 $svc_html .= "<tr class='" . attr($cls) . "'><td><em><b>Rejection:</b></em></td><td colspan=3 title='" . attr($follow) . "'>" . text($rej_reason) . "</td></tr>" .PHP_EOL
;
275 $hdr_html .= "<tr class='" . attr($cls) . "'><td>" . text($loopid) . " <em><b>Rejection:</b></em></td><td colspan=3 title='" . attr($follow) . "'>" . text($rej_reason) . "</td></tr>" .PHP_EOL
;
282 if (strncmp('TRN'.$de, $seg, 4) === 0) {
284 $sar = explode($de, $seg);
285 $elem01 = ( isset($sar[1]) ) ?
$sar[1] : '';
286 $elem02 = ( isset($sar[2]) ) ?
$sar[2] : '';
287 $elem03 = ( isset($sar[3]) ) ?
$sar[3] : '';
288 $elem04 = ( isset($sar[4]) ) ?
$sar[4] : '';
290 $trctp = ($elem01 == '2') ?
'Reference ' : 'Current ';
291 if ($loopid == '2000E') {
292 $evt_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=3><em>" . text($trctp) . " tracking no:</em> " . text($elem02) . " (by " . text($elem03 . " " . $elem04) . ")</td></tr>" .PHP_EOL
;
293 } elseif ($loopid == '2000F') {
294 $svc_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=3><em>" . text($trctp) . " tracking no:</em> " . text($elem02) . " (by " . text($elem03 . " " . $elem04) . ")</td></tr>" .PHP_EOL
;
302 if (strncmp('UM'.$de, $seg, 3) === 0) {
303 $sar = explode($de, $seg);
305 $elem01 = (isset($sar[1])) ?
$cd27x->get_271_code('UM01', $sar[1]) : '';
306 $elem02 = (isset($sar[2])) ?
$cd27x->get_271_code('UM02', $sar[2]) : '';
307 $elem03 = (isset($sar[3])) ?
$cd27x->get_271_code('EB03', $sar[3]) : '';
308 $elem04 = (isset($sar[4])) ?
$sar[4] : '';
310 if (strpos($elem04, $ds)) {
311 $elem04_ar = explode($ds, $elem04);
312 if (isset($elem04_ar[1]) && $elem04_ar[1] == 'B') {
313 $elem04a .= (isset($elem04_ar[0])) ?
$cd27x->get_271_code('POS', $elem04_ar[0]) : '';
320 $elem05 = (isset($sar[5])) ? $sar[5] : '';
322 if (strpos($elem05, $ds) {
323 $elem05_ar = explode($ds, $elem05);
324 $elem05a .= (isset($elem05_ar[0])) ? $cd27x->get_271_code('POS', $elem05_ar[0]) : '';
325 $elem05a .= (isset($elem05_ar[1])) ? $cd27x->get_271_code('POS', $elem05_ar[1]) : '';
326 $elem05a .= (isset($elem05_ar[2])) ? $cd27x->get_271_code('POS', $elem05_ar[2]) : '';
327 $elem05a .= (isset($elem05_ar[3])) ? 'State Code: '.$elem05_ar[3] : '';
328 $elem05a .= (isset($elem05_ar[3])) ? 'Country Code: '.$elem05_ar[4] : '';
334 $elem06 = (isset($sar[6])) ?
$cd27x->get_271_code('UM06', $sar[6]) : '';
335 // UM07 UM08 not used
336 //$elem07 = (isset($sar[7])) ? $cd27x->get_271_code('UM07', $sar[7]) : '';
337 //$elem08 = (isset($sar[8])) ? $cd27x->get_271_code('UM08', $sar[8]) : '';
339 if ($loopid == '2000E') {
340 $evt_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($elem01) . " <em>Certification Type:</em> " . text($elem02) . "</td></tr>".PHP_EOL
;
341 $evt_html .= ($elem03 ||
$elem04a ||
$elem06) ?
"<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($elem03 . " " . $elem04a) . " (" . text($elem06) . ")</td></tr>".PHP_EOL
: "";
342 } elseif ($loopid == '2000F') {
343 $svc_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($elem01) . " <em>Certification Type:</em> " . text($elem02) . "</td></tr>".PHP_EOL
;
344 $svc_html .= ($elem03 ||
$elem04a ||
$elem06) ?
"<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($elem03 . " " . $elem04a) . " (" . text($elem06) . ")</td></tr>".PHP_EOL
: "";
351 if (strncmp('HCR'.$de, $seg, 4) === 0) {
353 $sar = explode($de, $seg);
355 $elem01 = (isset($sar[1]) && $sar[1]) ?
$cd27x->get_271_code('HCR01', $sar[1]) : '';
356 $elem02 = (isset($sar[2]) && $sar[2]) ?
"<em>Reference: </em>".$sar[2] : '';
357 $elem03 = (isset($sar[3]) && $sar[3]) ?
$cd27x->get_271_code('HCR03', $sar[3]) : '';
358 $elem04 = (isset($sar[4]) && $sar[4]) ?
$cd27x->get_271_code('HCR04', $sar[4]) : ''; {
359 $elem04 = ($elem04) ?
"<em>2nd Surgical Opinion:</em> $elem04" : "";
362 if ($loopid == '2000E') {
363 $evt_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($elem01 . " " . $elem02) . "</td></tr>".PHP_EOL
;
364 $evt_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($elem03) . "</td></tr>".PHP_EOL
;
365 $evt_html .= ($elem04) ?
"<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($elem04) . "</td></tr>".PHP_EOL
: "";
366 } elseif ($loopid == '2000F') {
367 $svc_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($elem01 . " " . $elem02) . "</td></tr>".PHP_EOL
;
368 $svc_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($elem03) . "</td></tr>".PHP_EOL
;
369 $svc_html .= ($elem04) ?
"<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($elem04) . "</td></tr>".PHP_EOL
: "";
377 if (strncmp('REF'.$de, $seg, 4) === 0) {
379 $sar = explode($de, $seg);
381 $elem01 = (isset($sar[1])) ?
$cd27x->get_271_code('REF', $sar[1]) : '';
382 $elem02 = (isset($sar[2])) ?
$sar[2] : '';
383 $elem03 = (isset($sar[3])) ?
$sar[2] : '';
385 if ($loopid == '2010B') {
386 $rcv_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=2><em>" . text($elem01) . "</em> " . text($elem02) . "</td><td>" . text($elem03) . "</td></tr>".PHP_EOL
;
387 } elseif ($loopid == '2010C') {
388 $sbr_nm1_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=2><em>" . text($elem01) . "</em> " . text($elem02) . "</td><td>" . text($elem03) . "</td></tr>".PHP_EOL
;
389 } elseif ($loopid == '2010D') {
390 $dep_nm1_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=2><em>" . text($elem01) . "</em> " . text($elem02) . "</td><td>" . text($elem03) . "</td></tr>".PHP_EOL
;
391 } elseif ($loopid == '2000E') {
392 $evt_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=2><em>" . text($elem01) . "</em> " . text($elem02) . "</td><td>" . text($elem03) . "</td></tr>".PHP_EOL
;
393 } elseif ($loopid == '2010E') {
394 $evt_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=2><em>" . text($elem01) . "</em> " . text($elem02) . "</td><td>" . text($elem03) . "</td></tr>".PHP_EOL
;
395 } elseif ($loopid == '2000F') {
396 $svc_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=2><em>" . text($elem01) . "</em> " . text($elem02) . "</td><td>" . text($elem03) . "</td></tr>".PHP_EOL
;
397 } elseif ($loopid == '2010FA') {
398 $svc_html .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=2><em>" . text($elem01) . "</em> " . text($elem02) . "</td><td>" . text($elem03) . "</td></tr>".PHP_EOL
;
406 if (strncmp('DMG'.$de, $seg, 4) === 0) {
407 $sar = explode($de, $seg);
408 $elem02 = (isset($sar[2]) && $sar[2]) ?
edih_format_date($sar[2]) : "";
409 if (isset($sar[3]) && $sar[3]) {
410 if ($sar[3] == 'M') {
412 } elseif ($sar[3] == 'F') {
419 if ($loopid == '2010C') {
420 $sbr_nm1_html .= "<tr class='" . attr($cls) . "'><td>></td><td>" . text($elem03) . "</td><td colspan=2><em>Date of Birth</em> " . text($elem02) . "</td></tr>" .PHP_EOL
;
421 } elseif ($loopid == '2010D') {
422 $dep_nm1_html .= "<tr class='" . attr($cls) . "'><td>></td><td>" . text($elem03) . "</td><td colspan=2><em>Date of Birth</em> " . text($elem02) . "</td></tr>" .PHP_EOL
;
429 if (strncmp('INS'.$de, $seg, 4) === 0) {
430 $sar = explode($de, $seg);
431 $elem01 = (isset($sar[1]) && $sar[1] == 'Y') ?
"Subscriber" : "Dependent";
432 $elem02 = (isset($sar[2]) && $sar[2]) ?
$cd27x->get_271_code('INS02', $sar[2]) : "";
433 $elem03 = (isset($sar[3]) && $sar[3]) ?
$sar[3] : "";
434 $elem04 = (isset($sar[4]) && $sar[4] == '25') ?
"<b>Information changed</b>" : "";
435 $elem17 = (isset($sar[17]) && $sar[17]) ?
$sar[17] : "";
437 if ($loopid == '2010C') {
438 $sbr_nm1_html .= "<tr class='" . attr($cls) . "'><td>></td><td>" . text($elem01 . " " . $elem17) . "</td><td>" . text($elem02) . "</td><td>" . text($elem03 . " " . $elem04) . "</td></tr>" .PHP_EOL
;
439 } elseif ($loopid == '2010D') {
440 $dep_nm1_html .= "<tr class='" . attr($cls) . "'><td>></td><td>" . text($elem01 . " " . $elem17) . "</td><td>" . text($elem02) . "</td><td>" . text($elem03 . " " . $elem04) . "</td></tr>" .PHP_EOL
;
447 if (strncmp('DTP'.$de, $seg, 4) === 0) {
449 $sar = explode($de, $seg);
451 $elem01 = (isset($sar[1])) ?
$sar[1] : '';
452 $elem02 = (isset($sar[2])) ?
$sar[2] : '';
453 $elem03 = (isset($sar[3])) ?
$sar[3] : '';
455 $idtype = ($elem01) ?
$cd27x->get_271_code('DTP', $elem01) : "";
456 if ($elem02 == 'D8' && $elem03) {
457 $var = edih_format_date($elem03);
458 } elseif ($elem02 == 'RD8' && $elem03) {
459 $var = edih_format_date(substr($elem03, 0, 8));
460 $var .= ' - '.edih_format_date(substr($elem03, -8));
463 if ($loopid == '2000E') {
464 $evt_html .= "<tr class='" . attr($cls) . "'><td>></td><td>" . text($idtype) . "</td><td colspan=2>" . text($var) . "</td></tr>" .PHP_EOL
;
465 } elseif ($loopid == '2000F') {
466 $svc_html .= "<tr class='" . attr($cls) . "'><td>></td><td>" . text($idtype) . "</td><td colspan=2>" . text($var) . "</td></tr>" .PHP_EOL
;
473 if (strncmp('HI'.$de, $seg, 3) === 0) {
474 // This is the Health Care Information Codes segment
475 // -- to give all information in the segment, we need to
476 // lookup all the code values ICD-9, ICD-10, LOINC, DRG, etc.
477 // -- At this time, give the code source and code, with dates if any
479 $sar = explode($de, $seg);
483 foreach ($sar as $hi) {
484 if (strpos($hi, $ds)) {
485 $a = explode($ds, $hi);
486 $hi_str .= (isset($a[0]) && $a[0]) ?
$cd27x->get_271_code('HI01', $a[0]) : "";
487 $hi_str .= (isset($a[1]) && $a[1]) ?
'[ '.$a[1].' ]' : '[]';
488 if (isset($a[2]) && isset($a[3])) {
489 $hi_str .= ($a[2] == 'D8') ?
' '.edih_format_date($a[3]) : '';
490 $hi_str .= ($a[2] == 'RD8') ?
edih_format_date(substr($a[3], 0, 8)) : "";
491 $hi_str .= ($a[2] == 'RD8') ?
edih_format_date(substr($a[3], -8)) : "";
497 $tr_str .= "<tr class='" . attr($cls) . "'><td><em>Codes</em></td><td colspan=3>" . text($hi_str) . "</td></tr>".PHP_EOL
;
501 if ($loopid == '2000E') {
502 $evt_html .= $tr_str;
503 } elseif ($loopid == '2000F') {
504 $svc_html .= $tr_str;
512 if (strncmp('HSD'.$de, $seg, 4) === 0) {
513 // Health Care Services Delivery
514 $sar = explode($de, $seg);
516 $id = "Services Delivery";
518 $elem01 = (isset($sar[1]) && $sar[1]) ?
$cd27x->get_271_code('HSD01', $sar[1]) : ''; // quantity qualifier
519 $elem02 = (isset($sar[2]) && $sar[2]) ?
$sar[2] : ''; // numeric quantity
520 $elem03 = (isset($sar[3]) && $sar[3]) ?
$cd27x->get_271_code('HSD01', $sar[3]) : ''; // measurement unit
521 $elem04 = (isset($sar[4]) && $sar[4]) ?
$sar[4] : ''; // sample selection modulus
522 $elem05 = (isset($sar[5]) && $sar[5]) ?
$cd27x->get_271_code('EB06', $sar[5]) : ''; // time period qualifier
523 $elem06 = (isset($sar[6]) && $sar[6]) ?
$sar[6] : ''; // number of periods
524 $elem07 = (isset($sar[7]) && $sar[7]) ?
$cd27x->get_271_code('HSD07', $sar[7]) : ''; // delivery
525 $elem08 = (isset($sar[8]) && $sar[8]) ?
$cd27x->get_271_code('HSD08', $sar[8]) : ''; // delivery
527 if (($elem01 ||
$elem02) && !$elem08) {
528 $tr_str .= ($elem03 && $elem04 && $elem06) ?
"<tr class='" . attr($cls) . "'><td><em>" . text($id) . "</em></td><td colspan=3>" . text($elem02 . " " . $elem01) . " per every " . text($elem04 . " " . $elem03) . " for " . text($elem06 . " " . $elem05 . " " . $elem07) . "</td></tr>".PHP_EOL
: "";
529 $tr_str .= ($elem03 && $elem04 && !$elem06) ?
"<tr class='" . attr($cls) . "'><td><em>" . text($id) . "</em></td><td colspan=3>" . text($elem02 . " " . $elem01) . " per every " . text($elem04 . " " . $elem03 . " " . $elem07) . "</td></tr>".PHP_EOL
: "";
530 $tr_str .= ($elem03 && !$elem04 && $elem06) ?
"<tr class='" . attr($cls) . "'><td><em>" . text($id) . "</em></td><td colspan=3>" . text($elem02 . " " . $elem01) . " for " . text($elem06 . " " . $elem05 . " " . $elem07) . "</td></tr>".PHP_EOL
: "";
531 $tr_str .= ($elem03 && !$elem04 && !$elem06) ?
"<tr class='" . attr($cls) . "'><td><em>" . text($id) . "</em></td><td colspan=3>" . text($elem02 . " " . $elem01 . " " . $elem07) . "</td></tr>".PHP_EOL
: "";
533 $tr_str .= "<tr class='" . attr($cls) . "'><td><em>" . text($id) . "</em></td><td colspan=3>" . text($elem02 . " " . $elem01 . " " . $elem07 . " " . $elem08) . "</td></tr>" .PHP_EOL
;
537 if ($loopid == '2000E') {
538 $evt_html .= $tr_str;
539 } elseif ($loopid == '2000F') {
540 $svc_html .= $tr_str;
547 if (strncmp('CRC'.$de, $seg, 4) === 0) {
549 $sar = explode($de, $seg);
551 $elem01 = (isset($sar[1]) && $sar[1]) ?
$cd27x->get_271_code('CRC01', $sar[1]) : ''; // certification type code
552 $elem02 = (isset($sar[2]) && $sar[2]) ?
$cd27x->get_271_code('HCR04', $sar[2]) : ''; // condition indicater
553 $elem03 = (isset($sar[3]) && $sar[3]) ?
$cd27x->get_271_code('CRC03', $sar[3]) : ''; // condition descripter
554 $elem04 = (isset($sar[4]) && $sar[4]) ?
$cd27x->get_271_code('CRC03', $sar[4]) : ''; // condition descripter
555 $elem05 = (isset($sar[5]) && $sar[5]) ?
$cd27x->get_271_code('CRC03', $sar[5]) : ''; // condition descripter
556 $elem06 = (isset($sar[6]) && $sar[6]) ?
$cd27x->get_271_code('CRC03', $sar[6]) : ''; // condition descripter
557 $elem07 = (isset($sar[7]) && $sar[7]) ?
$cd27x->get_271_code('CRC03', $sar[7]) : ''; // condition descripter
559 $evt_html .= ($elem01) ?
"<tr class='" . attr($cls) . "'><td><em>" . text($elem01) . "</em></td><td colspan=3><em>Conditions Apply:</em> " . text($elem02) . "</td></tr>".PHP_EOL
: "";
560 $evt_html .= ($elem03) ?
"<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($elem03) . "</td></tr>".PHP_EOL
: "";
561 $evt_html .= ($elem04) ?
"<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($elem04) . "</td></tr>".PHP_EOL
: "";
562 $evt_html .= ($elem05) ?
"<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($elem05) . "</td></tr>".PHP_EOL
: "";
563 $evt_html .= ($elem06) ?
"<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($elem06) . "</td></tr>".PHP_EOL
: "";
564 $evt_html .= ($elem07) ?
"<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($elem07) . "</td></tr>".PHP_EOL
: "";
570 if (strncmp('CL1'.$de, $seg, 4) === 0) {
572 $sar = explode($de, $seg);
575 $elem01 = (isset($sar[1]) && $sar[1]) ?
$cd27x->get_271_code('CL101', $sar[1]) : ''; // admission type code
576 $elem02 = (isset($sar[2]) && $sar[2]) ?
$cd27x->get_271_code('CL102', $sar[2]) : ''; // admission source code
577 $elem03 = (isset($sar[3]) && $sar[3]) ?
$cd27x->get_271_code('CL103', $sar[3]) : ''; // patient status code
579 $tr_str .= "<tr class='" . attr($cls) . "'><td><em>Hospital</em> </td><td colspan=3>" . text($elem01 . " " . $elem02) . "</td></tr>".PHP_EOL
;
580 $tr_str .= ($elem03) ?
"<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($elem03) . "</td></tr>".PHP_EOL
: "";
582 if ($loopid == '2000E') {
583 $evt_html .= $tr_str;
584 } elseif ($loopid == '2000F') {
585 $svc_html .= $tr_str;
592 if (strncmp('CR1'.$de, $seg, 4) === 0) {
594 $sar = explode($de, $seg);
596 $elem03 = (isset($sar[3]) && $sar[3]) ?
$cd27x->get_271_code('CR103', $sar[3]) : ''; // ambulance transit code
597 if (isset($sar[5])) {
598 if ($sar[5] == 'DH') {
600 } elseif ($sar[5] == 'DK') {
601 $elem05 = "kilometers";
609 $elem06 = (isset($sar[6])) ?
$sar[6] : "";
611 $evt_html .= "<tr class='" . attr($cls) . "'><td><em>Ambulance:</em></td><td colspan=3>" . text($elem03 . " " . $elem06 . " " . $elem05) . "</td></tr>".PHP_EOL
;
617 if (strncmp('CR2'.$de, $seg, 4) === 0) {
618 // spinal manipulation
619 $sar = explode($de, $seg);
621 $elem01 = (isset($sar[1]) && $sar[1]) ?
$sar[1] : "";
622 $elem02 = (isset($sar[2]) && $sar[2]) ?
$sar[2] : "";
623 $elem03 = (isset($sar[3]) && $sar[3]) ?
$cd27x->get_271_code('CR203', $sar[3]) : ""; // spinal code
624 $elem04 = (isset($sar[4]) && $sar[4]) ?
$cd27x->get_271_code('CR203', $sar[4]) : ""; // spinal code
625 $elem04 = ($elem04) ?
"-- ".$elem04 : "";
626 // elem05 -- elem12 not used
628 $evt_html .= "<tr class='" . attr($cls) . "'><td><em>Spinal:</em></td><td colspan=3> " . text($elem01 . " " . $elem02 . " " . $elem03 . " " . $elem04) . "</td></tr>".PHP_EOL
;
634 if (strncmp('CR5'.$de, $seg, 4) === 0) {
636 $sar = explode($de, $seg);
639 $elem03 = (isset($sar[3]) && $sar[3]) ?
$cd27x->get_271_code('CR503', $sar[3]) : ""; // oxygen code
640 $elem04 = (isset($sar[4]) && $sar[4]) ?
$cd27x->get_271_code('CR503', $sar[4]) : ""; // oxygen code
641 $elem06 = (isset($sar[6]) && $sar[6]) ?
"Flow (lpm): ".$sar[6] : "";
642 $elem07 = (isset($sar[7]) && $sar[7]) ?
"Times/day: ".$sar[7] : "";
643 $elem08 = (isset($sar[8]) && $sar[8]) ?
"Hours: ".$sar[8] : "";
644 $elem09 = (isset($sar[9]) && $sar[9]) ?
$sar[9] : "";
645 $elem16 = (isset($sar[16]) && $sar[16]) ?
"Flow (lpm): ".$sar[16] : "";
646 $elem17 = (isset($sar[17]) && $sar[17]) ?
$cd27x->get_271_code('CR517', $sar[17]) : "";
647 $elem18 = (isset($sar[18]) && $sar[18]) ?
$cd27x->get_271_code('CR503', $sar[18]) : "";
649 $title = "Descriptors and Rates/times per edi guide. <b>Do not rely on these!</b>".PHP_EOL
;
650 $t2 = "Descriptors per edi companion guide. <b>Do not rely on these!</b>".PHP_EOL
;
652 $tr_str .= "<tr class='" . attr($cls) . "'><td><em>Oxygen</em></td><td colspan=3><b>You must independently verify this information!</b></td></tr>".PHP_EOL
;
653 $tr_str .= "<tr class='" . attr($cls) . "'><td>></td><td colspan=3>$title</td></tr>".PHP_EOL
;
654 $tr_str .= ($elem03 ||
$elem04 ) ?
"<tr class='" . attr($cls) . "'><td>></td><td colspan=3 title='$t2'><em>Equipment Type: </em>" . text($elem03 . " " . $elem04) . "</td></tr>".PHP_EOL
: "";
655 $tr_str .= ($elem06 ||
$elem07 ||
$elem08) ?
"<tr class='" . attr($cls) . "'><td>></td><td colspan=3 title='$title'>" . text($elem06 . " " . $elem07 . " " . $elem08) . "</td></tr>".PHP_EOL
: "";
656 $tr_str .= ($elem09) ?
"<tr class='" . attr($cls) . "'><td>></td><td colspan=3><em>Therapist: </em>" . text($elem09) . "</td></tr>".PHP_EOL
: "";
657 $tr_str .= ($elem16) ?
"<tr class='" . attr($cls) . "'><td>></td><td colspan=3 title='$title'>" . text($elem16) . "</td></tr>".PHP_EOL
: "";
658 $tr_str .= ($elem17) ?
"<tr class='" . attr($cls) . "'><td>></td><td colspan=3 title='$t2'><em>Delivery: </em>" . text($elem17) . "</td></tr>".PHP_EOL
: "";
659 $tr_str .= ($elem18) ?
"<tr class='" . attr($cls) . "'><td>></td><td colspan=3 title='$t2'><em>Equipment Type: </em>" . text($elem18) . "</td></tr>".PHP_EOL
: "";
661 $evt_html .= $tr_str;
667 if (strncmp('CR6'.$de, $seg, 4) === 0) {
669 $sar = explode($de, $seg);
671 $elem01 = (isset($sar[1]) && $sar[1]) ?
$cd27x->get_271_code('UM07', $sar[1]) : ""; // patient condition code
672 $elem02 = (isset($sar[2]) && $sar[2]) ?
edih_format_date($sar[2]) : ""; // HH start date
673 $elem03 = (isset($sar[3]) && $sar[3]) ?
$sar[3] : "";
674 $elem04 = (isset($sar[4]) && $sar[4]) ?
$sar[4] : "";
675 if ($elem03 == 'D8' && $elem04) {
676 $elem04 = edih_format_date($elem04);
677 } elseif ($elem03 == 'RD8' && $elem04) {
678 $var = edih_format_date(substr($dtp03, 0, 8));
679 $elem04 = $var.' - '.edih_format_date(substr($elem04, -8));
682 $elem07 = (isset($sar[7]) && $sar[7]) ?
$cd27x->get_271_code('HCR04', $sar[8]) : "";
683 $elem08 = (isset($sar[8]) && $sar[8]) ?
$cd27x->get_271_code('CR608', $sar[8]) : ""; // certification type code
685 $evt_html .= "<tr class='" . attr($cls) . "'><td><em>Home Health</em></td><td><em>HH Began</em> " . text($elem02) . "</td><td colspan=2>" . text($elem01) . "</td></tr>".PHP_EOL
;
686 $evt_html .= ($elem03 ||
$elem04) ?
"<tr class='" . attr($cls) . "'><td>></td><td colspan=2><em>Period</em> " . text($elem04) . "</td><td>(MCR) " . text($elem07) . "</td></tr>".PHP_EOL
: "";
687 $evt_html .= ($elem08) ?
"<tr class='" . attr($cls) . "'><td>></td><td colspan=2><em>Period</em> " . text($elem08) . "</td><td>(MCR) " . attr($elem05) . "</td></tr>".PHP_EOL
: "";
693 if (strncmp('PWK'.$de, $seg, 4) === 0) {
695 $sar = explode($de, $seg);
699 $elem01 = (isset($sar[1]) && $sar[1]) ?
$cd27x->get_271_code('PWK01', $sar[1]) : ""; // paperwork code
700 $elem02 = (isset($sar[2]) && $sar[2]) ?
$cd27x->get_271_code('PWK02', $sar[2]) : ""; // delivery code
701 $elem05 = (isset($sar[5]) && $sar[5] == 'AC') ?
"Attachment Control Number" : "";
702 $elem06 = (isset($sar[6]) && $sar[6]) ?
$sar[6] : "";
703 $elem07 = (isset($sar[7]) && $sar[7]) ?
$sar[7] : "";
705 $tr_str .= "<tr class='" . attr($cls) . "'><td><em>Paperwork</em></td><td colspan=3>" . text($elem01 . " " . $elem02) . "</td></tr>".PHP_EOL
;
706 $tr_str .= ($elem05) ?
"<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($elem05 . " " . $elem06) . "</td></tr>".PHP_EOL
: "";
707 $tr_str .= ($elem07) ?
"<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($elem07) . "</td></tr>".PHP_EOL
: "";
709 if ($loopid == '2000E') {
710 $evt_html .= $tr_str;
711 } elseif ($loopid == '2000F') {
712 $svc_html .= $tr_str;
719 if (strncmp('MSG'.$de, $seg, 4) === 0) {
721 $sar = explode($de, $seg);
723 $elem01 = (isset($sar[1]) && $sar[1]) ?
$sar[1] : "";
725 if ($loopid == '2000E') {
726 $evt_html .= ($elem01) ?
"<tr class='" . attr($cls) . "'><td><em>Message</em></td><td colspan=3>" . text($elem01) . "</td></tr>".PHP_EOL
: "";
727 } elseif ($loopid == '2000F') {
728 $svc_html .= ($elem01) ?
"<tr class='" . attr($cls) . "'><td><em>Message</em></td><td colspan=3>" . text($elem01) . "</td></tr>".PHP_EOL
: "";
735 if (strncmp('SV1'.$de, $seg, 4) === 0) {
736 // professional services
737 $sar = explode($de, $seg);
741 if (isset($sar[1]) && strpos($sar[1], $ds)) {
742 $ar01 = explode($ds, $sar[1]);
744 $elem01 = (isset($ar01[0]) && $ar01[0]) ?
$cd27x->get_271_code('SV101', $ar01[0]) : "";
748 $elem01 .= " ".$ar01[1]." -- ".$ar01[8];
750 $elem01 .= " ".$ar01[1];
753 if ($elem01 && $ct > 2) {
756 $elem01 .= ' '.$ar01[$i];
759 } elseif (isset($sar[1]) && $sar[1]) {
763 $elem02 = (isset($sar[2]) && $sar[2]) ?
edih_format_money($sar[2]) : "";
764 $elem03 = (isset($sar[3]) && $sar[3]) ?
$cd27x->get_271_code('SV103', $sar[3]) : "";
765 $elem04 = (isset($sar[4]) && $sar[4]) ?
$sar[4] : "";
766 $elem11 = (isset($sar[11]) && $sar[11]) ?
$cd27x->get_271_code('HCR04', $sar[11]) : "";
767 $elem20 = (isset($sar[20]) && $sar[20]) ?
$cd27x->get_271_code('SV120', $sar[20]) : "";
769 $elem11 = ($elem11) ?
"<em>EPSDT</em> ".$elem11 : "";
771 $svc_html .= ($elem01) ?
"<tr class='" . attr($cls) . "'><td><em>Professional Svc</em></td><td colspan=3>" . text($elem01 . " " . $elem02) . "</td></tr>".PHP_EOL
: "";
772 $svc_html .= ($elem03 ||
$elem04 ||
$elem11) ?
"<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($elem03 . " " . $elem04 . " " . $elem11) . "</td></tr>".PHP_EOL
: "";
773 $svc_html .= ($elem20) ?
"<tr class='$cls'><td>></td><td colspan=3>$elem20</td></tr>".PHP_EOL
: "";
779 if (strncmp('SV2'.$de, $seg, 4) === 0) {
781 $sar = explode($de, $seg);
785 if (isset($sar[1]) && strpos($sar[1], $ds)) {
786 $ar01 = explode($ds, $sar[1]);
788 $elem01 = (isset($ar01[0]) && $ar01[0]) ?
$cd27x->get_271_code('SV101', $ar01[0]) : "";
792 $elem01 .= " ".$ar01[1]." -- ".$ar01[8];
794 $elem01 .= " ".$ar01[1];
797 if ($elem01 && count($ar01) > 2) {
800 $elem01 .= ' '.$ar01[$i];
803 } elseif (isset($sar[1]) && $sar[1]) {
807 $elem02 = (isset($sar[2]) && $sar[2]) ?
edih_format_money($sar[2]) : "";
808 $elem03 = (isset($sar[3]) && $sar[3]) ?
$cd27x->get_271_code('SV103', $ar01[3]) : "";
809 $elem04 = (isset($sar[4]) && $sar[4]) ?
$sar[4] : "";
810 $elem05 = (isset($sar[5]) && $sar[5]) ?
$sar[5] : "";
811 $elem06 = (isset($sar[6]) && $sar[6]) ?
edih_format_money($sar[6]) : "";
812 $elem10 = (isset($sar[20]) && $sar[20]) ?
$cd27x->get_271_code('SV120', $ar01[20]) : "";
814 $svc_html .= ($elem01) ?
"<tr class='" . attr($cls) . "'><td><em>Inst Service</em></td><td colspan=3>" . text($elem01 . " " . $elem02) . "</td></tr>".PHP_EOL
: "";
815 $svc_html .= ($elem03 ||
$elem04) ?
"<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($elem03 . " " . $elem04 . " " . $elem05 . " " . $elem06) . "</td></tr>".PHP_EOL
: "";
816 $svc_html .= ($elem10) ?
"<tr class='" . attr($cls) . "'><td>></td><td colspan=3>" . text($elem10) . "</td></tr>".PHP_EOL
: "";
823 $str_html .= $hdr_html;
824 $str_html .= ($src_html) ?
$src_html : "";
825 $str_html .= ($rcv_html) ?
$rcv_html : "";
826 $str_html .= ($sbr_nm1_html) ?
$sbr_nm1_html : "";
827 $str_html .= ($dep_nm1_html) ?
$dep_nm1_html : "";
828 $str_html .= ($evt_html) ?
$evt_html : "";
829 $str_html .= ($svc_html) ?
$svc_html : "";
830 $str_html .= "<tr><td colspan=4> </td></tr>".PHP_EOL
;
831 $str_html .= "</tbody>".PHP_EOL
."</table>".PHP_EOL
;
839 * create a display for an individual authorization response
841 * @uses csv_check_x12_obj()
842 * @uses edih_278_transaction_html
844 * @param string $filename the filename
845 * @param string $bht03 identifier from 837 CLM or27 BHT segment
847 * @return string either an error message or an html table
849 function edih_278_html($filename, $bht03 = '')
851 // create a display for an individual 277 response
855 csv_edihist_log("edih_278_html: called with no file arguments");
856 $html_str .= "Error, no file given<br />".PHP_EOL
;
859 $obj278 = csv_check_x12_obj($filename, 'f278');
860 if ($obj278 && 'edih_x12_file' == get_class($obj278)) {
862 // particular transaction
863 $html_str .= edih_278_transaction_html($obj278, $bht03);
866 $env_ar = $obj278->edih_envelopes();
867 if (!isset($env_ar['ST'])) {
868 $html_str .= "<p>edih_278_html: file parse error, envelope error</p>".PHP_EOL
;
869 $html_str .= text($obj278->edih_message());
872 $html_str .= "<div id='accordion'>".PHP_EOL
;
875 foreach ($env_ar['ST'] as $st) {
876 foreach ($env_ar['GS'] as $gs) {
877 if ($gs['icn'] != $st['icn']) {
881 if ($gs['gsn'] == $st['gsn']) {
882 $gs_date = edih_format_date($gs['date']);
883 $gs_sender = $gs['sender'];
889 // get each transaction
890 foreach ($st['bht03'] as $bht) {
891 $html_str .= "<h3>" . text($bht) . " Services Review</h3>".PHP_EOL
;
892 $html_str .= "<div id='ac_" . attr($bht) . "'>".PHP_EOL
;
894 $html_str .= edih_278_transaction_html($obj278, $bht);
896 $html_str .= "</div>".PHP_EOL
;
899 $html_str .= "</div>".PHP_EOL
;
903 csv_edihist_log("edih_278_html: error in retreiving file object");
904 $html_str .= "<p>x12 278 file parse error</p>".PHP_EOL
;