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 |