ABSPOSSG ; IHS/SD/lwj - Special gets for formats ; [ 12/23/2002 8:10 AM ]
;;1.0;PHARMACY POINT OF SALE;**1,2,3,4,5,42**;JUN 21, 2001;Build 38
;----------------------------------------------------------------------
; IHS/SD/lwj 07/31/02
; If version 3.2 there were several fields that were defined - when
; 5.1 came along, the fields had to be duplicated because of repeating
; values - as such, new logic was added into this program to
; set the fields ^ABSPC entry based on the claim version used.
;
; FMT416 is now obsolete - remove with next patch or release
;----------------------------------------------------------------------
;IHS/SD/lwj 10/28/02 - added code for Idaho medicaid state license #
;
;IHS/SD/lwj 11/29/02 - fixed made to the STATE subroutine to referenece
; ABSP(9002313.0201 instead of typo ABSP(9002313.02
; (error reported by Tawaoc and Ignacio)
;
;IHS/SD/lwj 12/12/02 - fix made for loading of duel fields (i.e. fields
; stored in the 3.2 header and 5.1 detail)
;
Q
;*******************************************************************
; IHS/SD/lwj 10/28/02
; The COLSTATE routine is now OBSOLETE - it can be removed in
; any patch following Patch 3 of V1.0 of POS
COLSTATE() ;EP entry point frm clm frmt for Colorado State Lic
; This entry point is only called from within a claim format
; that requires the retrieval of the Colorado State License
; number.
;
N ABSPST,ABSPFND,ABSPLIC,ABSPPRO ;state IEN, fnd ind, state lic
S (ABSPST,ABSPFND,ABSPLIC,ABSPPRO)=""
;
; Retrieve the IEN for file 200
; Retrieve provider IEN into file 16 from 200
; Loop through file 16 State licenses until we locate a Colorado
; state license.
; If Colorado state license not found - return the default Medicaid
; number - this will fail the claim, but alert them to a missing
; state license number.
;
S ABSPPRO=$G(ABSP("RX",ABSP(9002313.0201),"Prescriber IEN")) ;for 200
I ABSPPRO S ABSPPRO=$P($G(^VA(200,ABSPPRO,0)),U,16) ;get prov
;
I ABSPPRO'="" D
. F S ABSPST=$O(^DIC(6,ABSPPRO,999999921,ABSPST)) Q:ABSPST="" D
.. I $P($G(^DIC(5,ABSPST,0)),U)["COLORADO" D
... S ABSPLIC=$P($G(^DIC(6,ABSPPRO,999999921,ABSPST,0)),U,2)
... S ABSPFND=1
... S ABSPST=99999999
;
I 'ABSPFND S ABSPLIC=ABSP("Site","Default CAID #")
;
Q ABSPLIC
;
;*******************************************************************
STATE(STATE) ;EP IHS/SD/lwj 10/28/02 retrieve the state license number
; This code will replace the COLSTATE code.
; Incoming - the two character state abbreviation for the state
; license we need
; Outgoing - the licence number if found, or the default Medicaid #
;
N STPOINT,DRPOINT,LIPOINT,LICENSE
S (STPOINT,DRPOINT,LIPOINT,LICENSE)=""
S STPOINT=$O(^DIC(5,"C",STATE,0)) ;state pointer
;
;IHS/SD/lwj 11/29/02 next line remarked out, following line added
;S DRPOINT=$G(ABSP("RX",ABSP(9002313.02),"Prescriber IEN")) ;prsc pntr
S DRPOINT=$G(ABSP("RX",ABSP(9002313.0201),"Prescriber IEN")) ;prsc pntr
;
; get the license pointer
S:STPOINT&DRPOINT LIPOINT=$O(^VA(200,DRPOINT,"PS1","B",STPOINT,0))
S:LIPOINT LICENSE=$P($G(^VA(200,DRPOINT,"PS1",LIPOINT,0)),U,2)
;
S:LICENSE="" LICENSE=$G(ABSP("Site","Default CAID #"))
;
Q LICENSE
;
NEW416() ; IHS/SD/lwj 8/30/02 NCPDP 5.1
; Field 416 is obsolete in version 5.1 - BUT - the logic that
; is used in 5.1 is similiar for populating 3.2 claims that
; use field 416. So - we will use this routine only until
; 3.2 is obsolete.
;
N PATYPE,PANUM,PA
;
S PATYPE=$E($G(ABSP("X")),1,1)
S PANUM=$E($G(ABSP("X")),2,12)
S PA="DG"_$G(PATYPE)_$$NFF^ABSPECFM($G(PANUM),11)
;
Q PA
FMT416() ;----------------------------------------------------------------
;| *** OBSOLETE *** OBSOLETE *** OBSOLETE *** OBSOLETE |
;| With the addition of the 5.1 fields, this routine is no |
;| longer needed or used. We will keep in around only until |
;| the next full release of Pharmacy Point of Sale |
;----------------------------------------------------------------
;
N ABSPPA,ABSPCD,ABSPPC
;
; IHS/SD/lwj 6/19/02 chged to add 4 exemption from copay
; S ABSPCD=$S(ABSP("X")=5:5,1:$S(ABSP("X"):"1",1:"0"))
; S ABSPCD=$S(ABSP("X")=2:2,ABSP("X")=5:5,1:$S(ABSP("X"):"1",1:"0"))
S ABSPCD=$S(ABSP("X")=2:2,ABSP("X")=4:4,ABSP("X")=5:5,1:$S(ABSP("X"):"1",1:"0"))
;
; IHS/SD/lwj 6/19/02 chged to add 4 exemption from copay
; I ABSP("X")=5 D ;exemptions from prescription limits
; I (ABSP("X")=5)!(ABSP("X")=2) D ;exempt frm pres lmts/med cert
I (ABSP("X")=5)!(ABSP("X")=2)!(ABSP("X")=4) D ;prs lmt/med cert/cpy
. S ABSPPA=$$NFF^ABSPECFM("",11)
;
; IHS/SD/lwj 6/19/02 chged to add 4 exemption from copay
;I ABSP("X")'=5 D ;prior authorization
;I (ABSP("X")'=5)&(ABSP("X")'=2) D ;prior authorization
I (ABSP("X")'=5)&(ABSP("X")'=2)&(ABSP("X")'=4) D ;prior authorization
. S ABSPPA=$$NFF^ABSPECFM($G(ABSP("X")),11)
;
S ABSPPC="DG"_ABSPCD_ABSPPA
;
Q ABSPPC
;
;-------------------------------------------------------------------
; All of the following fields were placed in here as part of the
; restructuring involved in NCPDP 5.1.
; For fields 308, 315, 316, 317, 318, 319, 320, and 327 the set
; code for 3.2 will remain exactly as it was - for 5.1 we will
; update the "newer" location for those fields as well.
;-------------------------------------------------------------------
FLD308 ;Other Coverage Code
; 3.2/5.1 Set code - called by set command in ABSP NCPDP Field Defs
;
; 3.2 SET
S $P(^ABSPC(ABSP(9002313.02),300),U,8)=ABSP("X")
;
; 5.1 Set
;IHS/SD/lwj 12/20/02 nxt line remarked out, following line added
;I $D(ABSP(9002313.0201)) D
I $G(ABSP(9002313.0201))'="" D
. S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),300),U,8)=ABSP("X")
;
Q
;
FLD315 ;Employer Name
; 3.2/5.1 Set Code - called by set command in ABSP NCPDP Field Defs
;
; 3.2 Set
S $P(^ABSPC(ABSP(9002313.02),300),U,15)=ABSP("X")
;
;5.1 Set
;IHS/SD/lwj 12/20/02 nxt line remarked out, following line added
;I $D(ABSP(9002313.0201)) D
I $G(ABSP(9002313.0201))'="" D
. S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),310),U,5)=ABSP("X")
;
Q
;
FLD316 ;Employer Street Address
; 3.2/5.1 Set Code - called by set command in ABSP NCPDP Field DEfs
;
;3.2 Set
S $P(^ABSPC(ABSP(9002313.02),300),U,16)=ABSP("X")
;
;5.1 Set
;IHS/SD/lwj 12/20/02 nxt line remarked out, following line added
;I $D(ABSP(9002313.0201)) D
I $G(ABSP(9002313.0201))'="" D
. S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),310),U,6)=ABSP("X")
;
Q
;
FLD317 ;Employer City Address
;3.2/5.1 Set Code - called by set command in ABSP NCPDP Field Defs
;
;3.2 Set
S $P(^ABSPC(ABSP(9002313.02),300),U,17)=ABSP("X")
;
;5.1 Set
;IHS/SD/lwj 12/20/02 nxt line remarked out, following line added
;I $D(ABSP(9002313.0201)) D
I $G(ABSP(9002313.0201))'="" D
. S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),310),U,7)=ABSP("X")
;
Q
;
FLD318 ;Employer State/Prov Address
;3.2/5.1 Set Code - called by set command in ABSP NCPDP Field Defs
;
;3.2 Set
S $P(^ABSPC(ABSP(9002313.02),300),U,18)=ABSP("X")
;
;5.1 Set
;IHS/SD/lwj 12/20/02 nxt line remarked out, following line added
;I $D(ABSP(9002313.0201)) D
I $G(ABSP(9002313.0201))'="" D
. S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),310),U,8)=ABSP("X")
;
Q
;
FLD319 ;Employer Zip/Postal Zip
;3.2/5.1 Set Code - called by set command in ABSP NCPDP Field Defs
;
;3.2 Set
S $P(^ABSPC(ABSP(9002313.02),300),U,19)=ABSP("X")
;
;5.1 Set
;IHS/SD/lwj 12/20/02 nxt line remarked out, following line added
;I $D(ABSP(9002313.0201)) D
I $G(ABSP(9002313.0201))'="" D
. S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),310),U,9)=ABSP("X")
;
Q
;
FLD320 ;Employer Phone Number
;3.2/5.1 Set Code - called by set command in ABSP NCPDP Field Defs
;
;3.2 Set
S $P(^ABSPC(ABSP(9002313.02),320),U,20)=ABSP("X")
;
;5.1 Set
;IHS/SD/lwj 12/20/02 nxt line remarked out, following line added
;I $D(ABSP(9002313.0201)) D
I $G(ABSP(9002313.0201))'="" D
. S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),310),U,10)=ABSP("X")
;
Q
;
FLD327 ;Carrier ID
;3.2/5.1 Set Code - called by set command in ABSP NCPDP Field Defs
;
;3.2 Set
S $P(^ABSPC(ABSP(9002313.02),320),U,27)=ABSP("X")
;
;5.1 Set
;IHS/SD/lwj 12/20/02 nxt line remarked out, following line added
;I $D(ABSP(9002313.0201)) D
I $G(ABSP(9002313.0201))'="" D
. S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),320),U,7)=ABSP("X")
;
Q
;
;----------------------------------------------------------------
;For subroutines FLD439, FLD440, FLD441:
; These field were single entry fields in 3.2, but are now
; a part of the NCPDP 5.1 DUR/PPS repeating segment. The
; calls to these subroutines are initiated by their respective
; fields in the set logic of the ABSP NCPDP Field Def entry.
; ABSP51 and DUR will be set in ABSPOSHF subroutine DURPPS
;----------------------------------------------------------------
FLD439 ;Reason for service code
;IHS/OIT/CASSEVERN/PIERAN/RAN 4/22/2011 patch 42 3.2 NO LONGER USED ABSP51 flag not needed.
;3.2 Set
;I '$G(ABSP51) S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),430),U,9)=ABSP("X")
;
;5.1 Set
S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),473.01,DUR,0),U,2)=ABSP("X")
;
Q
;
FLD440 ;Professional Service Code
;IHS/OIT/CASSEVERN/PIERAN/RAN 4/22/2011 patch 42 3.2 NO LONGER USED ABSP51 flag not needed.
;3.2 Set
;I '$G(ABSP51) S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),430),U,10)=ABSP("X")
;
;5.1 Set
S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),473.01,DUR,0),U,3)=ABSP("X")
;
Q
;
FLD441 ;Result of Service Code
;IHS/OIT/CASSEVERN/PIERAN/RAN 4/22/2011 patch 42 3.2 NO LONGER USED ABSP51 flag not needed.
;3.2 Set
;I '$G(ABSP51) S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),440),U,1)=ABSP("X")
;
;5.1 Set
S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),473.01,DUR,0),U,4)=ABSP("X")
;
Q
;
FLD473 ;DUR/PPS code counter - called from set logic in ABSP NCPDP Field Defs
; repeating field on the DUR/PPS 5.1 segment -
; Since this is the .01 field - we also need to set the cross ref
; here as well
;
S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),473.01,DUR,0),U,1)=ABSP("X")
S ^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),473.01,"B",ABSP("X"),DUR)=""
;
Q
;
;------------------------------------------------------------------
; Set logic for flds 474, 475 and 476 move to this routine to
; avoid the wrapping within the global which has been known to
; split when installed on certain systems.
;------------------------------------------------------------------
FLD474 ;DUR/PPS level of effort - called from set logic in ABSP NCPDP Field
; Defs repeating field on the DUR/PPS 5.1 segment
;
S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),473.01,DUR,0),U,5)=ABSP("X")
;
Q
;
FLD475 ;DUR Co-agent ID Qualifier - called from set logic in ABSP NCPDP Field
; Defs repeating field on the DUR/PPS 5.1 segment
;
S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),473.01,DUR,0),U,6)=ABSP("X")
;
Q
;
FLD476 ;DUR Co-agent ID - called from set logic in ABSP NCPDP Field
; Defs repeating field on the DUR/PPS 5.1 segment
;
S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),473.01,DUR,0),U,7)=ABSP("X")
;
Q
ABSPOSSG ; IHS/SD/lwj - Special gets for formats ; [ 12/23/2002 8:10 AM ]
+1 ;;1.0;PHARMACY POINT OF SALE;**1,2,3,4,5,42**;JUN 21, 2001;Build 38
+2 ;----------------------------------------------------------------------
+3 ; IHS/SD/lwj 07/31/02
+4 ; If version 3.2 there were several fields that were defined - when
+5 ; 5.1 came along, the fields had to be duplicated because of repeating
+6 ; values - as such, new logic was added into this program to
+7 ; set the fields ^ABSPC entry based on the claim version used.
+8 ;
+9 ; FMT416 is now obsolete - remove with next patch or release
+10 ;----------------------------------------------------------------------
+11 ;IHS/SD/lwj 10/28/02 - added code for Idaho medicaid state license #
+12 ;
+13 ;IHS/SD/lwj 11/29/02 - fixed made to the STATE subroutine to referenece
+14 ; ABSP(9002313.0201 instead of typo ABSP(9002313.02
+15 ; (error reported by Tawaoc and Ignacio)
+16 ;
+17 ;IHS/SD/lwj 12/12/02 - fix made for loading of duel fields (i.e. fields
+18 ; stored in the 3.2 header and 5.1 detail)
+19 ;
+20 QUIT
+21 ;*******************************************************************
+22 ; IHS/SD/lwj 10/28/02
+23 ; The COLSTATE routine is now OBSOLETE - it can be removed in
+24 ; any patch following Patch 3 of V1.0 of POS
COLSTATE() ;EP entry point frm clm frmt for Colorado State Lic
+1 ; This entry point is only called from within a claim format
+2 ; that requires the retrieval of the Colorado State License
+3 ; number.
+4 ;
+5 ;state IEN, fnd ind, state lic
NEW ABSPST,ABSPFND,ABSPLIC,ABSPPRO
+6 SET (ABSPST,ABSPFND,ABSPLIC,ABSPPRO)=""
+7 ;
+8 ; Retrieve the IEN for file 200
+9 ; Retrieve provider IEN into file 16 from 200
+10 ; Loop through file 16 State licenses until we locate a Colorado
+11 ; state license.
+12 ; If Colorado state license not found - return the default Medicaid
+13 ; number - this will fail the claim, but alert them to a missing
+14 ; state license number.
+15 ;
+16 ;for 200
SET ABSPPRO=$GET(ABSP("RX",ABSP(9002313.0201),"Prescriber IEN"))
+17 ;get prov
IF ABSPPRO
SET ABSPPRO=$PIECE($GET(^VA(200,ABSPPRO,0)),U,16)
+18 ;
+19 IF ABSPPRO'=""
Begin DoDot:1
+20 FOR
SET ABSPST=$ORDER(^DIC(6,ABSPPRO,999999921,ABSPST))
IF ABSPST=""
QUIT
Begin DoDot:2
+21 IF $PIECE($GET(^DIC(5,ABSPST,0)),U)["COLORADO"
Begin DoDot:3
+22 SET ABSPLIC=$PIECE($GET(^DIC(6,ABSPPRO,999999921,ABSPST,0)),U,2)
+23 SET ABSPFND=1
+24 SET ABSPST=99999999
End DoDot:3
End DoDot:2
End DoDot:1
+25 ;
+26 IF 'ABSPFND
SET ABSPLIC=ABSP("Site","Default CAID #")
+27 ;
+28 QUIT ABSPLIC
+29 ;
+30 ;*******************************************************************
STATE(STATE) ;EP IHS/SD/lwj 10/28/02 retrieve the state license number
+1 ; This code will replace the COLSTATE code.
+2 ; Incoming - the two character state abbreviation for the state
+3 ; license we need
+4 ; Outgoing - the licence number if found, or the default Medicaid #
+5 ;
+6 NEW STPOINT,DRPOINT,LIPOINT,LICENSE
+7 SET (STPOINT,DRPOINT,LIPOINT,LICENSE)=""
+8 ;state pointer
SET STPOINT=$ORDER(^DIC(5,"C",STATE,0))
+9 ;
+10 ;IHS/SD/lwj 11/29/02 next line remarked out, following line added
+11 ;S DRPOINT=$G(ABSP("RX",ABSP(9002313.02),"Prescriber IEN")) ;prsc pntr
+12 ;prsc pntr
SET DRPOINT=$GET(ABSP("RX",ABSP(9002313.0201),"Prescriber IEN"))
+13 ;
+14 ; get the license pointer
+15 IF STPOINT&DRPOINT
SET LIPOINT=$ORDER(^VA(200,DRPOINT,"PS1","B",STPOINT,0))
+16 IF LIPOINT
SET LICENSE=$PIECE($GET(^VA(200,DRPOINT,"PS1",LIPOINT,0)),U,2)
+17 ;
+18 IF LICENSE=""
SET LICENSE=$GET(ABSP("Site","Default CAID #"))
+19 ;
+20 QUIT LICENSE
+21 ;
NEW416() ; IHS/SD/lwj 8/30/02 NCPDP 5.1
+1 ; Field 416 is obsolete in version 5.1 - BUT - the logic that
+2 ; is used in 5.1 is similiar for populating 3.2 claims that
+3 ; use field 416. So - we will use this routine only until
+4 ; 3.2 is obsolete.
+5 ;
+6 NEW PATYPE,PANUM,PA
+7 ;
+8 SET PATYPE=$EXTRACT($GET(ABSP("X")),1,1)
+9 SET PANUM=$EXTRACT($GET(ABSP("X")),2,12)
+10 SET PA="DG"_$GET(PATYPE)_$$NFF^ABSPECFM($GET(PANUM),11)
+11 ;
+12 QUIT PA
FMT416() ;----------------------------------------------------------------
+1 ;| *** OBSOLETE *** OBSOLETE *** OBSOLETE *** OBSOLETE |
+2 ;| With the addition of the 5.1 fields, this routine is no |
+3 ;| longer needed or used. We will keep in around only until |
+4 ;| the next full release of Pharmacy Point of Sale |
+5 ;----------------------------------------------------------------
+6 ;
+7 NEW ABSPPA,ABSPCD,ABSPPC
+8 ;
+9 ; IHS/SD/lwj 6/19/02 chged to add 4 exemption from copay
+10 ; S ABSPCD=$S(ABSP("X")=5:5,1:$S(ABSP("X"):"1",1:"0"))
+11 ; S ABSPCD=$S(ABSP("X")=2:2,ABSP("X")=5:5,1:$S(ABSP("X"):"1",1:"0"))
+12 SET ABSPCD=$SELECT(ABSP("X")=2:2,ABSP("X")=4:4,ABSP("X")=5:5,1:$SELECT(ABSP("X"):"1",1:"0"))
+13 ;
+14 ; IHS/SD/lwj 6/19/02 chged to add 4 exemption from copay
+15 ; I ABSP("X")=5 D ;exemptions from prescription limits
+16 ; I (ABSP("X")=5)!(ABSP("X")=2) D ;exempt frm pres lmts/med cert
+17 ;prs lmt/med cert/cpy
IF (ABSP("X")=5)!(ABSP("X")=2)!(ABSP("X")=4)
Begin DoDot:1
+18 SET ABSPPA=$$NFF^ABSPECFM("",11)
End DoDot:1
+19 ;
+20 ; IHS/SD/lwj 6/19/02 chged to add 4 exemption from copay
+21 ;I ABSP("X")'=5 D ;prior authorization
+22 ;I (ABSP("X")'=5)&(ABSP("X")'=2) D ;prior authorization
+23 ;prior authorization
IF (ABSP("X")'=5)&(ABSP("X")'=2)&(ABSP("X")'=4)
Begin DoDot:1
+24 SET ABSPPA=$$NFF^ABSPECFM($GET(ABSP("X")),11)
End DoDot:1
+25 ;
+26 SET ABSPPC="DG"_ABSPCD_ABSPPA
+27 ;
+28 QUIT ABSPPC
+29 ;
+30 ;-------------------------------------------------------------------
+31 ; All of the following fields were placed in here as part of the
+32 ; restructuring involved in NCPDP 5.1.
+33 ; For fields 308, 315, 316, 317, 318, 319, 320, and 327 the set
+34 ; code for 3.2 will remain exactly as it was - for 5.1 we will
+35 ; update the "newer" location for those fields as well.
+36 ;-------------------------------------------------------------------
FLD308 ;Other Coverage Code
+1 ; 3.2/5.1 Set code - called by set command in ABSP NCPDP Field Defs
+2 ;
+3 ; 3.2 SET
+4 SET $PIECE(^ABSPC(ABSP(9002313.02),300),U,8)=ABSP("X")
+5 ;
+6 ; 5.1 Set
+7 ;IHS/SD/lwj 12/20/02 nxt line remarked out, following line added
+8 ;I $D(ABSP(9002313.0201)) D
+9 IF $GET(ABSP(9002313.0201))'=""
Begin DoDot:1
+10 SET $PIECE(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),300),U,8)=ABSP("X")
End DoDot:1
+11 ;
+12 QUIT
+13 ;
FLD315 ;Employer Name
+1 ; 3.2/5.1 Set Code - called by set command in ABSP NCPDP Field Defs
+2 ;
+3 ; 3.2 Set
+4 SET $PIECE(^ABSPC(ABSP(9002313.02),300),U,15)=ABSP("X")
+5 ;
+6 ;5.1 Set
+7 ;IHS/SD/lwj 12/20/02 nxt line remarked out, following line added
+8 ;I $D(ABSP(9002313.0201)) D
+9 IF $GET(ABSP(9002313.0201))'=""
Begin DoDot:1
+10 SET $PIECE(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),310),U,5)=ABSP("X")
End DoDot:1
+11 ;
+12 QUIT
+13 ;
FLD316 ;Employer Street Address
+1 ; 3.2/5.1 Set Code - called by set command in ABSP NCPDP Field DEfs
+2 ;
+3 ;3.2 Set
+4 SET $PIECE(^ABSPC(ABSP(9002313.02),300),U,16)=ABSP("X")
+5 ;
+6 ;5.1 Set
+7 ;IHS/SD/lwj 12/20/02 nxt line remarked out, following line added
+8 ;I $D(ABSP(9002313.0201)) D
+9 IF $GET(ABSP(9002313.0201))'=""
Begin DoDot:1
+10 SET $PIECE(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),310),U,6)=ABSP("X")
End DoDot:1
+11 ;
+12 QUIT
+13 ;
FLD317 ;Employer City Address
+1 ;3.2/5.1 Set Code - called by set command in ABSP NCPDP Field Defs
+2 ;
+3 ;3.2 Set
+4 SET $PIECE(^ABSPC(ABSP(9002313.02),300),U,17)=ABSP("X")
+5 ;
+6 ;5.1 Set
+7 ;IHS/SD/lwj 12/20/02 nxt line remarked out, following line added
+8 ;I $D(ABSP(9002313.0201)) D
+9 IF $GET(ABSP(9002313.0201))'=""
Begin DoDot:1
+10 SET $PIECE(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),310),U,7)=ABSP("X")
End DoDot:1
+11 ;
+12 QUIT
+13 ;
FLD318 ;Employer State/Prov Address
+1 ;3.2/5.1 Set Code - called by set command in ABSP NCPDP Field Defs
+2 ;
+3 ;3.2 Set
+4 SET $PIECE(^ABSPC(ABSP(9002313.02),300),U,18)=ABSP("X")
+5 ;
+6 ;5.1 Set
+7 ;IHS/SD/lwj 12/20/02 nxt line remarked out, following line added
+8 ;I $D(ABSP(9002313.0201)) D
+9 IF $GET(ABSP(9002313.0201))'=""
Begin DoDot:1
+10 SET $PIECE(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),310),U,8)=ABSP("X")
End DoDot:1
+11 ;
+12 QUIT
+13 ;
FLD319 ;Employer Zip/Postal Zip
+1 ;3.2/5.1 Set Code - called by set command in ABSP NCPDP Field Defs
+2 ;
+3 ;3.2 Set
+4 SET $PIECE(^ABSPC(ABSP(9002313.02),300),U,19)=ABSP("X")
+5 ;
+6 ;5.1 Set
+7 ;IHS/SD/lwj 12/20/02 nxt line remarked out, following line added
+8 ;I $D(ABSP(9002313.0201)) D
+9 IF $GET(ABSP(9002313.0201))'=""
Begin DoDot:1
+10 SET $PIECE(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),310),U,9)=ABSP("X")
End DoDot:1
+11 ;
+12 QUIT
+13 ;
FLD320 ;Employer Phone Number
+1 ;3.2/5.1 Set Code - called by set command in ABSP NCPDP Field Defs
+2 ;
+3 ;3.2 Set
+4 SET $PIECE(^ABSPC(ABSP(9002313.02),320),U,20)=ABSP("X")
+5 ;
+6 ;5.1 Set
+7 ;IHS/SD/lwj 12/20/02 nxt line remarked out, following line added
+8 ;I $D(ABSP(9002313.0201)) D
+9 IF $GET(ABSP(9002313.0201))'=""
Begin DoDot:1
+10 SET $PIECE(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),310),U,10)=ABSP("X")
End DoDot:1
+11 ;
+12 QUIT
+13 ;
FLD327 ;Carrier ID
+1 ;3.2/5.1 Set Code - called by set command in ABSP NCPDP Field Defs
+2 ;
+3 ;3.2 Set
+4 SET $PIECE(^ABSPC(ABSP(9002313.02),320),U,27)=ABSP("X")
+5 ;
+6 ;5.1 Set
+7 ;IHS/SD/lwj 12/20/02 nxt line remarked out, following line added
+8 ;I $D(ABSP(9002313.0201)) D
+9 IF $GET(ABSP(9002313.0201))'=""
Begin DoDot:1
+10 SET $PIECE(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),320),U,7)=ABSP("X")
End DoDot:1
+11 ;
+12 QUIT
+13 ;
+14 ;----------------------------------------------------------------
+15 ;For subroutines FLD439, FLD440, FLD441:
+16 ; These field were single entry fields in 3.2, but are now
+17 ; a part of the NCPDP 5.1 DUR/PPS repeating segment. The
+18 ; calls to these subroutines are initiated by their respective
+19 ; fields in the set logic of the ABSP NCPDP Field Def entry.
+20 ; ABSP51 and DUR will be set in ABSPOSHF subroutine DURPPS
+21 ;----------------------------------------------------------------
FLD439 ;Reason for service code
+1 ;IHS/OIT/CASSEVERN/PIERAN/RAN 4/22/2011 patch 42 3.2 NO LONGER USED ABSP51 flag not needed.
+2 ;3.2 Set
+3 ;I '$G(ABSP51) S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),430),U,9)=ABSP("X")
+4 ;
+5 ;5.1 Set
+6 SET $PIECE(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),473.01,DUR,0),U,2)=ABSP("X")
+7 ;
+8 QUIT
+9 ;
FLD440 ;Professional Service Code
+1 ;IHS/OIT/CASSEVERN/PIERAN/RAN 4/22/2011 patch 42 3.2 NO LONGER USED ABSP51 flag not needed.
+2 ;3.2 Set
+3 ;I '$G(ABSP51) S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),430),U,10)=ABSP("X")
+4 ;
+5 ;5.1 Set
+6 SET $PIECE(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),473.01,DUR,0),U,3)=ABSP("X")
+7 ;
+8 QUIT
+9 ;
FLD441 ;Result of Service Code
+1 ;IHS/OIT/CASSEVERN/PIERAN/RAN 4/22/2011 patch 42 3.2 NO LONGER USED ABSP51 flag not needed.
+2 ;3.2 Set
+3 ;I '$G(ABSP51) S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),440),U,1)=ABSP("X")
+4 ;
+5 ;5.1 Set
+6 SET $PIECE(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),473.01,DUR,0),U,4)=ABSP("X")
+7 ;
+8 QUIT
+9 ;
FLD473 ;DUR/PPS code counter - called from set logic in ABSP NCPDP Field Defs
+1 ; repeating field on the DUR/PPS 5.1 segment -
+2 ; Since this is the .01 field - we also need to set the cross ref
+3 ; here as well
+4 ;
+5 SET $PIECE(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),473.01,DUR,0),U,1)=ABSP("X")
+6 SET ^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),473.01,"B",ABSP("X"),DUR)=""
+7 ;
+8 QUIT
+9 ;
+10 ;------------------------------------------------------------------
+11 ; Set logic for flds 474, 475 and 476 move to this routine to
+12 ; avoid the wrapping within the global which has been known to
+13 ; split when installed on certain systems.
+14 ;------------------------------------------------------------------
FLD474 ;DUR/PPS level of effort - called from set logic in ABSP NCPDP Field
+1 ; Defs repeating field on the DUR/PPS 5.1 segment
+2 ;
+3 SET $PIECE(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),473.01,DUR,0),U,5)=ABSP("X")
+4 ;
+5 QUIT
+6 ;
FLD475 ;DUR Co-agent ID Qualifier - called from set logic in ABSP NCPDP Field
+1 ; Defs repeating field on the DUR/PPS 5.1 segment
+2 ;
+3 SET $PIECE(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),473.01,DUR,0),U,6)=ABSP("X")
+4 ;
+5 QUIT
+6 ;
FLD476 ;DUR Co-agent ID - called from set logic in ABSP NCPDP Field
+1 ; Defs repeating field on the DUR/PPS 5.1 segment
+2 ;
+3 SET $PIECE(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),473.01,DUR,0),U,7)=ABSP("X")
+4 ;
+5 QUIT