ABSPOSQ4 ; IHS/FCS/DRS - Process responses ; [ 10/07/2002 10:36 AM ]
Source file <ABSPOSQ4.m>
| Package | Total | Call Graph | 
|---|---|---|
| Pharmacy Point of Sale | 6 | TASK^ABSPOSIZ (INIT,LOG,RELSLOT)^ABSPOSL (TASK,TASKAT)^ABSPOSQ1 TASKAT^ABSPOSQ3 RESPONSE^ABSPOSQL ($$TADDNOW,$$TADDNOWS)^ABSPOSUD | 
| VA Fileman | 1 | NOW^%DTC | 
| Name | Comments | DBIA/ICR reference | 
|---|---|---|
| REJCOUNT(RESP,POS,FMT) | ; returns rejection count | |
| RESP1000(RESP,POS,FMT) | ;EP - ABSPOSP2,ABSPOSUC ; returns the prescription response status ; Note! Could be DP or DC for duplicates | |
| PAID(IEN59) | ;EP - ABSPOSQS ;quick query to see if it's paid | |
| EN | ; the task from ABSPOSQ3 starts here ; for a specific DIALOUT ; Q4WAIT might be defined, too | |
| RESP500(RESP,FMT) | ;EP - ABSPOS57,ABSPOSP2,ABSPOSUC ; returns the response header status | |
| REJSLEEP(RESP,POS) | ;EP - ABSPOSQL ; return TRUE if this claim was rejected because the ; insurer is sleeping ; Reject codes we look for depend on which switch. ; Envoy's: | |
| RESPINFO(RXI,DST) | ;EP - ABSPOS6B,ABSPOSNC,ABSPOSUA ; quick way to get all the response info for a given RXI ; IMPORTANT!! D not change spelling, case, wording, or spacing!!! ; Callers such as ABSPOSNC are depending on the exact DST("RSP") ; If a reversal was attempted, it complicates things. ; fills DST array as follows: ; DST("HDR")=Response Status (header) ; DST("RSP")=Response Status (prescription) ; This could be: "Payable" "Rejected" "Captured" "Duplicate" ; or "Accepted reversal" or "Rejected reversal" ; or "null" or "null reversal" (no response or corrupt response ; or maybe someone without insurance, so no request was sent) ; DST("REJ",0)=count of reject codes ; DST("REJ",n)=each reject code ; DST("MSG")=message with the response ; All of these are defined, even if originals were '$D. ; The external forms are returned. | |
| INCSLEEP(INS) | ;EP - ABSPOSQL ; Increment sleep time for this insurer, if necessary. ; Return the scheduled retry time | |
| NOW() | ||
| LOG(X) | ||
| ANYRESPS(DIALOUT) | ;EP - ABSPOS2D ; ; are there any responses waiting to be processed? ; Also called from POKE^ABSPOSUD | |
| CLRSLEEP(INS,WHY) | ;EP - ABSPOSQL ; clear insurer sleeping condition ; also called from CANCEL^ABSPOSUD ; WHY = 1 - we know for sure they're awake now | |
| LOOP9 | ||
| RESPMSG(RESP,POS,FMT) | ||
| REJCODE(RESP,POS,N,FMT) | ||
| LOOP1 | ; | |
| LOOP7 | ||
| LOOP | ; ; The task may have been started before the responses were ready yet. ; For example, it may have been started before dialing - figure up ; to a minute before something might be available. | 
| Name | Line Occurrences (* Changed, ! Killed) | 
|---|---|
| ^ABSP(9002313.55 - [#9002313.55] | ANYRESPS+8 | 
| ^ABSPC - [#9002313.02] | REJSLEEP+29 | 
| ^ABSPECX("POS" | EN+3, LOOP+5, ANYRESPS+3 | 
| ^ABSPEI - [#9002313.4] | CLRSLEEP+5, CLRSLEEP+6*, REJSLEEP+31, INCSLEEP+3, INCSLEEP+13* | 
| ^ABSPF(9002313.93 - [#9002313.93] | REJCODE+5, REJCODE+6 | 
| ^ABSPR - [#9002313.03] | RESP500+2, RESP1000+3, REJCOUNT+1, REJCODE+2, RESPMSG+4, RESPMSG+5, REJSLEEP+5, REJSLEEP+6, REJSLEEP+7, REJSLEEP+8 , REJSLEEP+10, REJSLEEP+15, REJSLEEP+17, REJSLEEP+27 | 
| ^ABSPT - [#9002313.59] | RESPINFO+17, RESPINFO+19, RESPINFO+20, RESPINFO+22 | 
| ^ABSPT("AD" | LOOP9+3, CLRSLEEP+7 | 
| ^TMP("ABSPOSQ4" | LOOP1+2, LOOP1+6 | 
| Name | Line Occurrences | 
|---|---|
| $$ANYRESPS | LOOP7, ANYRESPS+8 | 
| $$NOW | INCSLEEP+4 | 
| $$REJCODE | RESPINFO+28 | 
| $$REJCOUNT | RESPINFO+26 | 
| $$RESP1000 | RESPINFO+25 | 
| $$RESP500 | RESPINFO+24 | 
| $$RESPMSG | RESPINFO+29 | 
| LOG | EN+7, LOOP1+1, LOOP1+7, LOOP1+9, LOOP9 | 
| LOOP | LOOP7+2 | 
| LOOP1 | LOOP7+1 | 
| LOOP7 | LOOP+7 | 
| LOOP9 | LOOP1+8 | 
| RESPINFO | PAID+1 | 
| >> | Not killed explicitly | 
| * | Changed | 
| ! | Killed | 
| ~ | Newed | 
| Name | Field # of Occurrence | 
|---|---|
| % | NOW~ | 
| %H | NOW~ | 
| %I | NOW~ | 
| A | EN+4~, LOOP+4* | 
| ABSPCID | REJSLEEP+25~, REJSLEEP+26*, REJSLEEP+27*, REJSLEEP+28, REJSLEEP+29 | 
| ABSPIID | REJSLEEP+25~, REJSLEEP+26*, REJSLEEP+29*, REJSLEEP+30, REJSLEEP+31 | 
| ABSPSLP | REJSLEEP+25~, REJSLEEP+26*, REJSLEEP+31*, REJSLEEP+32 | 
| B | EN+4~, LOOP+4*, LOOP+5*, LOOP+7, LOOP7+2 | 
| BLIMIT | EN+4~, EN+5*, LOOP+4, LOOP7+2* | 
| CODE | REJCODE+2~*, REJCODE+3*, REJCODE+4, REJCODE+5, REJCODE+6*, REJCODE+7*, REJCODE+8 | 
| DIALOUT | EN+3, EN+5, LOOP+5, LOOP1+1, LOOP1+2, LOOP1+5, LOOP1+6, LOOP1+7, LOOP7*, LOOP7+1 , LOOP7+2*, ANYRESPS~, ANYRESPS+3 | 
| DST | RESPINFO~ | 
| DST("HDR" | RESPINFO+24*, RESPINFO+32 | 
| DST("MSG" | RESPINFO+29* | 
| DST("REJ" | RESPINFO+26*, RESPINFO+27, RESPINFO+28* | 
| DST("RSP" | RESPINFO+25*, RESPINFO+31, RESPINFO+32* | 
| FMT | RESPINFO+23~*, RESPINFO+24, RESPINFO+25, RESPINFO+26, RESPINFO+28, RESPINFO+29, RESP500~, RESP500+3, RESP1000~, RESP1000+4 , REJCOUNT~, REJCODE~, REJCODE+4, RESPMSG~ | 
| GOTLOCK | EN+4~, LOOP1+3*, LOOP1+4 | 
| I | RESPINFO+28~*, REJSLEEP+14~*, REJSLEEP+15, REJSLEEP+16, REJSLEEP+17 | 
| IEN59 | PAID~, PAID+1 | 
| INS | CLRSLEEP~, CLRSLEEP+4, CLRSLEEP+5, CLRSLEEP+6, INCSLEEP~ | 
| >> INSURER | INCSLEEP+3, INCSLEEP+13 | 
| MSG | RESPMSG+2~, RESPMSG+3*, RESPMSG+4*, RESPMSG+5*, RESPMSG+7 | 
| N | REJCODE~, REJCODE+2 | 
| ODIALOUT | EN+4~, EN+5*, LOOP7+2 | 
| POS | RESPINFO+22~*, RESPINFO+25, RESPINFO+26, RESPINFO+28, RESPINFO+29, RESP1000~, RESP1000+3, REJCOUNT~, REJCOUNT+1, REJCODE~ , REJCODE+2, RESPMSG~, RESPMSG+4, RESPMSG+5, REJSLEEP~, REJSLEEP+5, REJSLEEP+6, REJSLEEP+7, REJSLEEP+8, REJSLEEP+10 , REJSLEEP+15, REJSLEEP+17 | 
| >> Q4WAIT | EN+3, EN+5 | 
| RESP | RESPINFO+18~, RESPINFO+19*, RESPINFO+20*, RESPINFO+21, RESPINFO+24, RESPINFO+25, RESPINFO+26, RESPINFO+28, RESPINFO+29, RESP500~ , RESP500+2, RESP1000~, RESP1000+3, REJCOUNT~, REJCOUNT+1, REJCODE~, REJCODE+2, RESPMSG~, RESPMSG+4, RESPMSG+5 , REJSLEEP~, REJSLEEP+5, REJSLEEP+6, REJSLEEP+7, REJSLEEP+8, REJSLEEP+10, REJSLEEP+15, REJSLEEP+17, REJSLEEP+27 | 
| RET | ANYRESPS+7~*, ANYRESPS+8*, ANYRESPS+9, REJSLEEP+14~*, REJSLEEP+15*, REJSLEEP+16, REJSLEEP+17*, REJSLEEP+24, REJSLEEP+32*, REJSLEEP+36 | 
| REVERSAL | RESPINFO+17~*, RESPINFO+19, RESPINFO+31 | 
| RXI | RESPINFO~, RESPINFO+17, RESPINFO+19, RESPINFO+20, RESPINFO+22 | 
| SET | ANYRESPS+7~*, ANYRESPS+8* | 
| TMP | PAID+1~ | 
| TMP("RSP" | PAID+1, PAID+2 | 
| U | RESPINFO+19, RESPINFO+20, RESPINFO+22, RESP500+2, RESP1000+3, REJCOUNT+1, REJCODE+2, REJCODE+6, CLRSLEEP+6, REJSLEEP+27 , REJSLEEP+29, REJSLEEP+31, INCSLEEP+4, INCSLEEP+5, INCSLEEP+6, INCSLEEP+7, INCSLEEP+8, INCSLEEP+9, INCSLEEP+10, INCSLEEP+11 , INCSLEEP+12, INCSLEEP+14, INCSLEEP+16 | 
| WHY | CLRSLEEP~ | 
| X | LOG~, PAID+2~*, PAID+3, RESP500+2~*, RESP500+3, RESP500+4*, RESP500+5*, RESP500+6, RESP1000+3~*, RESP1000+4 , RESP1000+5*, RESP1000+12*, RESP1000+13, REJCODE+5~*, REJCODE+6, NOW~, CLRSLEEP+5~*, CLRSLEEP+6*, INCSLEEP+3~*, INCSLEEP+4 , INCSLEEP+5*, INCSLEEP+6*, INCSLEEP+7*, INCSLEEP+8*, INCSLEEP+9*, INCSLEEP+10*, INCSLEEP+11*, INCSLEEP+12*, INCSLEEP+13, INCSLEEP+14 , INCSLEEP+16 | 
| Name | Field # of Occurrence | 
|---|---|
| $T( | EN+7, LOOP1+1, LOOP1+7, LOOP1+9, LOOP9 |