Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: ABSP5B1E

ABSP5B1E.m

Go to the documentation of this file.
  1. ABSP5B1E ; IHS/OIT/CASSevern/Pieran ran 1/19/2011 - Handling of outgoing NCPDP Billing "B1" Claims for 5.1 (Prior Authorization segment)
  1. ;;1.0;PHARMACY POINT OF SALE;**42**;JUN 21, 2001;Build 38
  1. PRIORAUTH ;EP CALLED FROM ABSP5B1 to set up Prior Authorization Segment
  1. Q:$D(SUPRESSG("Prior Auth"))
  1. N FIELD,NFIELD
  1. S RECORD=$G(RECORD)
  1. F FIELD="111",498.01,498.02,498.03,498.04,498.05,498.06,498.07,498.08,498.09,498.11,498.13,498.14,503 D
  1. . Q:$D(SUPRESF(FIELD))
  1. . S NFIELD=$TR(FIELD,".","")
  1. . I (ACTION["CLAIM"),(FIELD'=111) D
  1. . . D @(NFIELD_"GET")
  1. . . D @(NFIELD_"FMT")
  1. . . D @(NFIELD_"SET")
  1. . ELSE D APPEND(FIELD,NFIELD)
  1. Q
  1. ;Segment identifier
  1. 111GET S ABSP("X")=12
  1. Q
  1. 111FMT S ABSP("X")=$$ANFF^ABSPECFM(ABSP("X"),2)
  1. Q
  1. 111SET ;This isn't used for the 111 Field
  1. Q
  1. ;Add Prior Auth field GET,SET, FMT Code here:
  1. ;Request Type
  1. 49801GET I '$D(SPECIAL(498.01)) S ABSP("X")=$G(ABSP("Prior Auth",ABSP(9002313.0201),"Request Type"))
  1. ELSE X SPECIAL(498.01)
  1. Q
  1. 49801FMT S ABSP("X")="PA"_$$ANFF^ABSPECFM(ABSP("X"),1)
  1. Q
  1. 49801SET S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),498),U,1)=ABSP("X")
  1. Q
  1. ;Request Period Date Begin
  1. 49802GET I '$D(SPECIAL(498.02)) S ABSP("X")=$G(ABSP("Prior Auth",ABSP(9002313.0201),"Req Per Date Begin"))
  1. ELSE X SPECIAL(498.02)
  1. Q
  1. 49802FMT S ABSP("X")="PB"_$$NFF^ABSPECFM(ABSP("X"),8)
  1. Q
  1. 49802SET S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),498),U,2)=ABSP("X")
  1. Q
  1. ;Request Period Date End
  1. 49803GET I '$D(SPECIAL(498.03)) S ABSP("X")=$G(ABSP("Prior Auth",ABSP(9002313.0201),"Req Per Date End"))
  1. ELSE X SPECIAL(498.03)
  1. Q
  1. 49803FMT S ABSP("X")="PC"_$$NFF^ABSPECFM(ABSP("X"),8)
  1. Q
  1. 49803SET S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),498),U,3)=ABSP("X")
  1. Q
  1. ;Basis of Request
  1. 49804GET I '$D(SPECIAL(498.04)) S ABSP("X")=$G(ABSP("Prior Auth",ABSP(9002313.0201),"Basis of Request"))
  1. ELSE X SPECIAL(498.04)
  1. Q
  1. 49804FMT S ABSP("X")="PD"_$$ANFF^ABSPECFM(ABSP("X"),2)
  1. Q
  1. 49804SET S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),498),U,4)=ABSP("X")
  1. Q
  1. ;Authorized Rep First Name
  1. 49805GET I '$D(SPECIAL(498.05)) S ABSP("X")=$G(ABSP("Prior Auth",ABSP(9002313.0201),"Auth Rep Frst Nm"))
  1. ELSE X SPECIAL(498.05)
  1. Q
  1. 49805FMT S ABSP("X")="PE"_$$ANFF^ABSPECFM(ABSP("X"),12)
  1. Q
  1. 49805SET S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),498),U,5)=ABSP("X")
  1. Q
  1. ;Authorized Rep Last Name
  1. 49806GET I '$D(SPECIAL(498.06)) S ABSP("X")=$G(ABSP("Prior Auth",ABSP(9002313.0201),"Auth Rep Last Nm"))
  1. ELSE X SPECIAL(498.06)
  1. Q
  1. 49806FMT S ABSP("X")="PF"_$$ANFF^ABSPECFM(ABSP("X"),15)
  1. Q
  1. 49806SET S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),498),U,6)=ABSP("X")
  1. Q
  1. ;Authorized Rep Street Address
  1. 49807GET I '$D(SPECIAL(498.07)) S ABSP("X")=$G(ABSP("Prior Auth",ABSP(9002313.0201),"Auth Rep Street"))
  1. ELSE X SPECIAL(498.07)
  1. Q
  1. 49807FMT S ABSP("X")="PG"_$$ANFF^ABSPECFM(ABSP("X"),30)
  1. Q
  1. 49807SET S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),498),U,7)=ABSP("X")
  1. Q
  1. ;Authorized Rep City Address
  1. 49808GET I '$D(SPECIAL(498.08)) S ABSP("X")=$G(ABSP("Prior Auth",ABSP(9002313.0201),"Auth Rep City"))
  1. ELSE X SPECIAL(498.08)
  1. Q
  1. 49808FMT S ABSP("X")="PH"_$$ANFF^ABSPECFM(ABSP("X"),20)
  1. Q
  1. 49808SET S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),498),U,8)=ABSP("X")
  1. Q
  1. ;Authorized Rep State/Prov
  1. 49809GET I '$D(SPECIAL(498.09)) S ABSP("X")=$G(ABSP("Prior Auth",ABSP(9002313.0201),"Auth Rep State"))
  1. ELSE X SPECIAL(498.09)
  1. Q
  1. 49809FMT S ABSP("X")="PJ"_$$ANFF^ABSPECFM(ABSP("X"),2)
  1. Q
  1. 49809SET S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),498),U,9)=ABSP("X")
  1. Q
  1. ;Authorized Rep Zip/Postal Zone
  1. 49811GET I '$D(SPECIAL(498.11)) S ABSP("X")=$G(ABSP("Prior Auth",ABSP(9002313.0201),"Auth Rep Zip"))
  1. ELSE X SPECIAL(498.11)
  1. Q
  1. 49811FMT S ABSP("X")="PK"_$$ANFF^ABSPECFM(ABSP("X"),15)
  1. Q
  1. 49811SET S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),498),U,11)=ABSP("X")
  1. Q
  1. ;Prior Auth Supporting Doc NOT IMPLEMENTED YET
  1. 49813GET I '$D(SPECIAL(498.13)) S ABSP("X")=""
  1. ELSE X SPECIAL(498.13)
  1. Q
  1. 49813FMT S ABSP("X")="PP"_$$ANFF^ABSPECFM(ABSP("X"),80)
  1. Q
  1. 49813SET ;Not implemented yet
  1. Q
  1. ;Prior Auth Number Assigned
  1. 49814GET I '$D(SPECIAL(498.14)) S ABSP("X")=$G(ABSP("Prior Auth",ABSP(9002313.0201),"Number Assigned"))
  1. ELSE X SPECIAL(498.14)
  1. Q
  1. 49814FMT S ABSP("X")="PY"_$$NFF^ABSPECFM(ABSP("X"),11)
  1. Q
  1. 49814SET S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),498),U,14)=ABSP("X")
  1. Q
  1. ;Authorization Number
  1. 503GET I '$D(SPECIAL(503)) S ABSP("X")=$G(ABSP("Prior Auth","Authorization Number"))
  1. ELSE X SPECIAL(503)
  1. Q
  1. 503FMT S ABSP("X")="F3"_$$ANFF^ABSPECFM(ABSP("X"),20)
  1. Q
  1. 503SET S $P(^ABSPC(ABSP(9002313.02),400,ABSP(9002313.0201),500),U,3)=ABSP("X")
  1. Q
  1. APPEND(FIELD,NFIELD) ;This is where the outgoing record is built field by field
  1. I FIELD["111" D
  1. . D @(FIELD_"GET")
  1. . D @(FIELD_"FMT")
  1. . S RECORD=RECORD_$C(30,28)_"AM"_ABSP("X")
  1. ELSE D
  1. . I $G(ABSP(9002313.0201,IEN(9002313.01),FIELD,"I"))'="" S RECORD=RECORD_$C(28)_$G(ABSP(9002313.0201,IEN(9002313.01),FIELD,"I"))
  1. . ELSE I $D(SPECIAL(FIELD)) D
  1. . . X SPECIAL(FIELD)
  1. . . D @(NFIELD_"FMT")
  1. . . S RECORD=RECORD_$C(28)_ABSP("X")
  1. Q