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

BAREDLA1.m

Go to the documentation of this file.
  1. BAREDLA1 ; IHS/SD/LSL - AR TOP LEVEL FILE STRUCTURE ;
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;;OCT 26, 2005
  1. ;
  1. D CLEAR^VALM1
  1. ;
  1. EN(DLFL) ;EP -- for the file type
  1. ;Called from BAREDLA1
  1. S FILE=DLFL
  1. D EN^VALM("BAR TOP LEVEL FILES")
  1. Q
  1. ; *********************************************************************
  1. ;
  1. HDR ;EP -- header code
  1. S VALMSG=$$VALMSG^AMCOUT
  1. S VALMHDR(1)=$P($G(^BAREDI("1T",FILE,0)),"^")
  1. Q
  1. ; *********************************************************************
  1. ;
  1. INIT ;EP -- init variables and list array
  1. D GATHER
  1. S VALMCNT=20
  1. Q
  1. ; *********************************************************************
  1. ;
  1. HELP ;EP -- help code
  1. S X="?"
  1. D DISP^XQORM1
  1. D MSG^AMCOUT("",2,0,0)
  1. Q
  1. ; *********************************************************************
  1. ;
  1. EXIT ;EP -- exit code
  1. D CLEAR^VALM1
  1. Q
  1. ; *********************************************************************
  1. ;
  1. EXPND ;EP -- expand code
  1. Q
  1. ; *********************************************************************
  1. ;
  1. RESET ;EP; -- rebuilds array after action
  1. D TERM^VALM0
  1. S VALMBCK="R"
  1. D INIT,HDR
  1. Q
  1. ; *********************************************************************
  1. ;
  1. GATHER ; -- SUBRTN to set data into array
  1. ;
  1. ;Created in BAREDLA1, specific to each FILE#
  1. ;S LST=$G(^TMP($J,"FILE"))
  1. ;
  1. ; List of Files to be accessed
  1. ;
  1. S FLST="0101^0103^0105^0107"
  1. S FLD="Segment^Data Types^Tables^Claim Level Reason Codes"
  1. K ^TMP($J,"LVL0")
  1. K LVL0
  1. S RECNM=0
  1. S (LN,COUNT)=1
  1. ;
  1. ;Get file details
  1. S (SFL,LNC)=1
  1. F S SFL=$O(^BAREDI("1T",FILE,SFL)) Q:SFL="" D
  1. . S CURRENT=0
  1. . S FLN=$P($G(^BAREDI("1T",FILE,SFL,0)),U,2)
  1. . F I=1:1:4 I FLN[($P(FLST,U,I)) S FD=$P(FLD,U,I),CURRENT=1
  1. . Q:'CURRENT
  1. . S LVL0($J,SFL,I)=FD
  1. . S ^TMP($J,"L0",LNC)=FLN_U_FD
  1. . S LNC=LNC+1
  1. ;
  1. S RN=""
  1. F S RN=$O(LVL0($J,RN)) Q:RN="" D
  1. . S (RECORD,DI)=""
  1. . F S DI=$O(LVL0($J,RN,DI)) Q:DI="" D
  1. ..S FLEN=40
  1. ..S FIELD=$G(LVL0($J,RN,DI))
  1. ..S RECORD=RECORD_$$PAD(FIELD,FLEN)
  1. .S ^TMP($J,"LVL0",LN,0)=$$PAD(LN,3)_RECORD
  1. .S ^TMP($J,"LVL0","IDX",LN,LN)=""
  1. .S LN=LN+1,COUNT=COUNT+1
  1. Q
  1. ; *********************************************************************
  1. ;
  1. GETITEM ;
  1. ;
  1. K HDR
  1. S VALMLST=""
  1. S VALMLST=$O(^TMP($J,"LVL0","IDX",VALMLST),-1)
  1. D EN^VALM2(XQORNOD(0),"O")
  1. I '$D(VALMY) Q
  1. NEW X,Y
  1. S X=0
  1. F S X=$O(VALMY(X)) Q:X="" D
  1. . S HDR=$E($P($G(^TMP($J,"L0",X)),U),1,10)
  1. . S FD=$P($G(^TMP($J,"L0",X)),U,2)
  1. Q
  1. ; *********************************************************************
  1. ;
  1. BROWSE ; Get specifc details for SEGMENTS, DATA TYPES etc.
  1. ;
  1. D GETITEM I '$D(HDR) Q
  1. D EN^BAREDL01(HDR,FD)
  1. Q
  1. ; *********************************************************************
  1. ;
  1. PAD(D,L) ; -- SUBRTN to pad length of data
  1. ; -- D=data L=length
  1. Q $E(D_$$REPEAT^XLFSTR(" ",L),1,L)
  1. ; *********************************************************************
  1. ;
  1. SP(N) ; -- SUBRTN to pad N number of spaces
  1. Q $$PAD(" ",N)