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

ABSPDB1E.m

Go to the documentation of this file.
  1. ABSPDB1E ; IHS/OIT/CASSevern/Pieran ran 1/19/2011 - Handling of outgoing NCPDP Billing "B1" Claims for D.0 (APPEND, FACILITY and NARRATIVE segments)
  1. ;;1.0;PHARMACY POINT OF SALE;**42**;JUN 21, 2001;Build 38
  1. ;These are the new segments added in D.0 that never existed before.
  1. ADDDOC ;EP CALLED FROM ABSPDB1 to set up ADDITIONAL DOCUMENTATION SEGMENT
  1. Q:$D(SUPRESSG("Additional Doc"))
  1. N FIELD
  1. S RECORD=$G(RECORD)
  1. F FIELD="111",369,374,375,373,371,370,372,376,377,378,379,380,381,382,383 D
  1. . Q:$D(SUPRESF(FIELD))
  1. . I (ACTION["CLAIM"),(FIELD'=111) D
  1. . . D @(FIELD_"GET")
  1. . . D @(FIELD_"FMT")
  1. . . D @(FIELD_"SET")
  1. . ELSE D APPEND(FIELD)
  1. Q
  1. ;Segment identifier
  1. 111GET S ABSP("X")=14
  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. ;Additioinal Documentation Type ID
  1. 369GET I '$D(SPECIAL(369)) S ABSP("X")=""
  1. ELSE X SPECIAL(369)
  1. Q
  1. 369FMT S:ABSP("X")'="" ABSP("X")="2Q"_$$ANFF^ABSPECFM($G(ABSP("X")),3)
  1. Q
  1. 369SET ;Not Yet Implemented
  1. Q
  1. ;Request Period Begin Date
  1. 374GET I '$D(SPECIAL(374)) S ABSP("X")=""
  1. ELSE X SPECIAL(374)
  1. Q
  1. 374FMT S:ABSP("X")'="" ABSP("X")="2V"_$$ANFF^ABSPECFM($G(ABSP("X")),8)
  1. Q
  1. 374SET ;Not Yet Implemented
  1. Q
  1. ;Request Period Recert/Revised Date
  1. 375GET I '$D(SPECIAL(375)) S ABSP("X")=""
  1. ELSE X SPECIAL(375)
  1. Q
  1. 375FMT S:ABSP("X")'="" ABSP("X")="2W"_$$ANFF^ABSPECFM($G(ABSP("X")),8)
  1. Q
  1. 375SET ;Not Yet Implemented
  1. Q
  1. ;Request Status
  1. 373GET I '$D(SPECIAL(373)) S ABSP("X")=""
  1. ELSE X SPECIAL(373)
  1. Q
  1. 373FMT S:ABSP("X")'="" ABSP("X")="2U"_$$ANFF^ABSPECFM($G(ABSP("X")),1)
  1. Q
  1. 373SET ;Not Yet Implemented
  1. Q
  1. ;Length of Need Qualifier
  1. 371GET I '$D(SPECIAL(371)) S ABSP("X")=""
  1. ELSE X SPECIAL(371)
  1. Q
  1. 371FMT S:ABSP("X")'="" ABSP("X")="2S"_$$ANFF^ABSPECFM($G(ABSP("X")),2)
  1. Q
  1. 371SET ;Not Yet Implemented
  1. Q
  1. ;Length of Need
  1. 370GET I '$D(SPECIAL(370)) S ABSP("X")=""
  1. ELSE X SPECIAL(370)
  1. Q
  1. 370FMT S:ABSP("X")'="" ABSP("X")="2R"_$$ANFF^ABSPECFM($G(ABSP("X")),3)
  1. Q
  1. 370SET ;Not Yet Implemented
  1. Q
  1. ;Prescriber/Supplier Date Signed
  1. 372GET I '$D(SPECIAL(372)) S ABSP("X")=""
  1. ELSE X SPECIAL(372)
  1. Q
  1. 372FMT S:ABSP("X")'="" ABSP("X")="2T"_$$ANFF^ABSPECFM($G(ABSP("X")),8)
  1. Q
  1. 372SET ;Not Yet Implemented
  1. Q
  1. ;Supporting Documentation
  1. 376GET I '$D(SPECIAL(376)) S ABSP("X")=""
  1. ELSE X SPECIAL(376)
  1. Q
  1. 376FMT S:ABSP("X")'="" ABSP("X")="2X"_$$ANFF^ABSPECFM($G(ABSP("X")),65)
  1. Q
  1. 376SET ;Not Yet Implemented
  1. Q
  1. ;Question Number/Letter Count
  1. 377GET I '$D(SPECIAL(377)) S ABSP("X")=""
  1. ELSE X SPECIAL(377)
  1. Q
  1. 377FMT S:ABSP("X")'="" ABSP("X")="2Z"_$$ANFF^ABSPECFM($G(ABSP("X")),2)
  1. Q
  1. 377SET ;Not Yet Implemented
  1. Q
  1. ;Question Number/Letter
  1. 378GET I '$D(SPECIAL(378)) S ABSP("X")=""
  1. ELSE X SPECIAL(378)
  1. Q
  1. 378FMT S:ABSP("X")'="" ABSP("X")="4B"_$$ANFF^ABSPECFM($G(ABSP("X")),3)
  1. Q
  1. 378SET ;Not Yet Implemented
  1. Q
  1. ;Question Percent Response
  1. 379GET I '$D(SPECIAL(379)) S ABSP("X")=""
  1. ELSE X SPECIAL(379)
  1. Q
  1. 379FMT S:ABSP("X")'="" ABSP("X")="4D"_$$ANFF^ABSPECFM($G(ABSP("X")),3)
  1. Q
  1. 379SET ;Not Yet Implemented
  1. Q
  1. ;Question Date Response
  1. 380GET I '$D(SPECIAL(380)) S ABSP("X")=""
  1. ELSE X SPECIAL(380)
  1. Q
  1. 380FMT S:ABSP("X")'="" ABSP("X")="4G"_$$ANFF^ABSPECFM($G(ABSP("X")),8)
  1. Q
  1. 380SET ;Not Yet Implemented
  1. Q
  1. ;Question Dollar Amount
  1. 381GET I '$D(SPECIAL(381)) S ABSP("X")=""
  1. ELSE X SPECIAL(381)
  1. Q
  1. 381FMT S:ABSP("X")'="" ABSP("X")="4H"_$$ANFF^ABSPECFM($G(ABSP("X")),9)
  1. Q
  1. 381SET ;Not Yet Implemented
  1. Q
  1. ;Question Numeric Response
  1. 382GET I '$D(SPECIAL(382)) S ABSP("X")=""
  1. ELSE X SPECIAL(382)
  1. Q
  1. 382FMT S:ABSP("X")'="" ABSP("X")="4J"_$$ANFF^ABSPECFM($G(ABSP("X")),11)
  1. Q
  1. 382SET ;Not Yet Implemented
  1. Q
  1. ;Question Alphanumeric Response
  1. 383GET I '$D(SPECIAL(383)) S ABSP("X")=""
  1. ELSE X SPECIAL(383)
  1. Q
  1. 383FMT S:ABSP("X")'="" ABSP("X")="4K"_$$ANFF^ABSPECFM($G(ABSP("X")),30)
  1. Q
  1. 383SET ;Not Yet Implemented
  1. Q
  1. FACILITY ;EP CALLED FROM ABSPDB1 to set up FACILITY SEGMENT
  1. Q:$D(SUPRESSG("Facility"))
  1. N FIELD
  1. S RECORD=$G(RECORD)
  1. F FIELD="111A",336,385,386,388,387,389 D
  1. . Q:$D(SUPRESF(FIELD))
  1. . I (ACTION["CLAIM"),(FIELD'=111) D
  1. . . D @(FIELD_"GET")
  1. . . D @(FIELD_"FMT")
  1. . . D @(FIELD_"SET")
  1. . ELSE D APPEND(FIELD)
  1. Q
  1. ;Segment identifier
  1. 111AGET S ABSP("X")=15
  1. Q
  1. 111AFMT S ABSP("X")=$$ANFF^ABSPECFM(ABSP("X"),2)
  1. Q
  1. 111ASET ;This isn't used for the 111 Field
  1. Q
  1. ;Facility ID
  1. 336GET I '$D(SPECIAL(336)) S ABSP("X")=""
  1. ELSE X SPECIAL(336)
  1. Q
  1. 336FMT S:ABSP("X")'="" ABSP("X")="8C"_$$ANFF^ABSPECFM($G(ABSP("X")),10)
  1. Q
  1. 336SET ;Not Yet Implemented
  1. Q
  1. ;Facility Name
  1. 385GET I '$D(SPECIAL(385)) S ABSP("X")=""
  1. ELSE X SPECIAL(385)
  1. Q
  1. 385FMT S:ABSP("X")'="" ABSP("X")="3Q"_$$ANFF^ABSPECFM($G(ABSP("X")),30)
  1. Q
  1. 385SET ;Not Yet Implemented
  1. Q
  1. ;Facility Street Address
  1. 386GET I '$D(SPECIAL(386)) S ABSP("X")=""
  1. ELSE X SPECIAL(386)
  1. Q
  1. 386FMT S:ABSP("X")'="" ABSP("X")="3U"_$$ANFF^ABSPECFM($G(ABSP("X")),30)
  1. Q
  1. 386SET ;Not Yet Implemented
  1. Q
  1. ;Facility City Address
  1. 388GET I '$D(SPECIAL(388)) S ABSP("X")=""
  1. ELSE X SPECIAL(388)
  1. Q
  1. 388FMT S:ABSP("X")'="" ABSP("X")="5J"_$$ANFF^ABSPECFM($G(ABSP("X")),20)
  1. Q
  1. 388SET S $P(^ABSPC(ABSP(9002313.02),388),U,1)=ABSP("X")
  1. Q
  1. ;Facility State/Province Address
  1. 387GET I '$D(SPECIAL(387)) S ABSP("X")=""
  1. ELSE X SPECIAL(387)
  1. Q
  1. 387FMT S:ABSP("X")'="" ABSP("X")="3V"_$$ANFF^ABSPECFM($G(ABSP("X")),2)
  1. Q
  1. 387SET ;Not Yet Implemented
  1. Q
  1. ;Facility Zip
  1. 389GET I '$D(SPECIAL(389)) S ABSP("X")=""
  1. ELSE X SPECIAL(389)
  1. Q
  1. 389FMT S:ABSP("X")'="" ABSP("X")="6D"_$$ANFF^ABSPECFM($G(ABSP("X")),15)
  1. Q
  1. 389SET ;Not Yet Implemented
  1. Q
  1. NARRATIVE ;EP CALLED FROM ABSPDB1 to set up NARRATIVE SEGMENT
  1. Q:$D(SUPRESSG("Narrative"))
  1. N FIELD
  1. S RECORD=$G(RECORD)
  1. F FIELD="111B",390 D
  1. . Q:$D(SUPRESF(FIELD))
  1. . I (ACTION["CLAIM"),(FIELD'=111) D
  1. . . D @(FIELD_"GET")
  1. . . D @(FIELD_"FMT")
  1. . . D @(FIELD_"SET")
  1. . ELSE D APPEND(FIELD)
  1. Q
  1. ;Segment identifier
  1. 111BGET S ABSP("X")=16
  1. Q
  1. 111BFMT S ABSP("X")=$$ANFF^ABSPECFM(ABSP("X"),2)
  1. Q
  1. 111BSET ;This isn't used for the 111 Field
  1. Q
  1. ;Narrative Message
  1. 390GET I '$D(SPECIAL(390)) S ABSP("X")=""
  1. ELSE X SPECIAL(390)
  1. Q
  1. 390FMT S:ABSP("X")'="" ABSP("X")="BM"_$$ANFF^ABSPECFM($G(ABSP("X")),200)
  1. Q
  1. 390SET S $P(^ABSPC(ABSP(9002313.02),390),U,1)=ABSP("X")
  1. Q
  1. APPEND(FIELD) ;This is where the 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 @(FIELD_"FMT")
  1. . . S RECORD=RECORD_$C(28)_ABSP("X")
  1. Q