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

ABSPES00.m

Go to the documentation of this file.
  1. ABSPES00 ; IHS/FCS/DRS - JWS 03:02 PM 12 Jun 1995 ; [ 09/12/2002 10:03 AM ]
  1. ;;1.0;PHARMACY POINT OF SALE;**3**;JUN 21, 2001;Build 38
  1. ;----------------------------------------------------------------------
  1. ;----------------------------------------------------------------------
  1. ;Claims Submission File (9002313.02) - Billing Item Search
  1. ;
  1. ;Parameters: ROOT -
  1. ; MAX -
  1. ; GROOT - Global root of resulting list (eg: "^LIST($J")
  1. ;
  1. ;Returns: Fmatted list
  1. ;----------------------------------------------------------------------
  1. Q
  1. EN1(ROOT,MAX,GROOT) ;EP - from ABSPECZ2
  1. ;
  1. ;Search 'Patient Name' cross-reference
  1. D BITEM1(ROOT,"C",MAX,GROOT)
  1. Q:$G(@(GROOT_",0)"))>0
  1. ;
  1. ;Search 'Billing Item PCN #' cross-reference
  1. D BITEM1(ROOT,"D",MAX,GROOT)
  1. Q:$G(@(GROOT_",0)"))>0
  1. ;
  1. ;Search 'Billing Item VCN #' cross-reference
  1. D BITEM1(ROOT,"E",MAX,GROOT)
  1. Q
  1. ;----------------------------------------------------------------------
  1. ;Build list of Billing Item records
  1. BITEM1(ROOT,XREF,MAX,GROOT) ;
  1. N ROOTL,NEXT,DA,COUNT,PCN,VCN,PAT,BAL,DATA,BITEMIEN,NCLAIMS
  1. ;
  1. Q:$G(ROOT)=""
  1. Q:$G(XREF)=""
  1. Q:$G(MAX)=""
  1. Q:$G(GROOT)=""
  1. S ROOTL=$L(ROOT)
  1. Q:ROOTL<2
  1. ;
  1. K @(GROOT_")")
  1. S COUNT=0
  1. S NEXT=$S(XREF="E"&'($E(ROOT,$L(ROOT))?1A):ROOT_" ",1:ROOT)
  1. S:$DATA(^ABSPC(XREF,NEXT)) NEXT=$O(^ABSPC(XREF,NEXT),-1)
  1. F D Q:$E(NEXT,1,ROOTL)'=ROOT!(COUNT=MAX)
  1. .S NEXT=$O(^ABSPC(XREF,NEXT))
  1. .Q:$E(NEXT,1,ROOTL)'=ROOT
  1. .S DA=""
  1. .F D Q:'+DA
  1. ..S DA=$O(^ABSPC(XREF,NEXT,DA))
  1. ..Q:'+DA
  1. ..Q:'$DATA(^ABSPC(DA,0))
  1. ..S BITEMIEN=$P($G(^ABSPC(DA,0)),U,3)
  1. ..Q:'+BITEMIEN
  1. ..Q:$DATA(@(GROOT_",""B"",BITEMIEN)"))
  1. ..S @(GROOT_",""B"",BITEMIEN)")=""
  1. ..S COUNT=COUNT+1
  1. ..S @(GROOT_",COUNT,""I"")")=BITEMIEN
  1. ..S DATA=$G(^ABSPC(DA,1))
  1. ..S PAT=$$LJBF^ABSPOSU9($P(DATA,U,1),30)
  1. ..S PCN=$$LJBF^ABSPOSU9($P(DATA,U,2),12)
  1. ..S VCN=$$LJBF^ABSPOSU9($P(DATA,U,3),10)
  1. ..S NCLAIMS=$$RJBF^ABSPOSU9($$NCLAIMS(BITEMIEN),7)
  1. ..S @(GROOT_",COUNT,""E"")")=PAT_" "_PCN_" "_VCN_" "_NCLAIMS
  1. S @(GROOT_",""Column Headers"")")="2|Patient Name:30,PCN #:12,VCN #:10,# Claims:7"
  1. S @(GROOT_",0)")=COUNT
  1. Q
  1. ;---------------------------------------------------------------------
  1. ;Returns the number of electronic claims for a billing item record
  1. NCLAIMS(BITEMIEN) ;
  1. N COUNT,NEXT
  1. Q:BITEMIEN="" 0
  1. S (NEXT,COUNT)=0
  1. F D Q:'+NEXT
  1. .S NEXT=$O(^ABSPC("AC",BITEMIEN,NEXT))
  1. .Q:'+NEXT
  1. .S COUNT=COUNT+1
  1. Q COUNT