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

BAREDIT.m

Go to the documentation of this file.
  1. BAREDIT ; IHS/SD/LSL - CREATE ENTRY IN A/R EDI TRANSPORT FILE (1) ;
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;;OCT 26, 2005
  1. ;
  1. ; IHS/SD/LSL - 08/01/2002 - V1.7 Patch 4
  1. ; For HIPAA compliance. Make 835 v4010 entry in A/R EDI
  1. ; TRANSPORT FILE.
  1. ;
  1. ; *********************************************************************
  1. ;
  1. ; If running this routine for to create new transports, inside the
  1. ; code please change the initial values of the following variables:
  1. ;
  1. ; BARNAME Name of EDI transport adding
  1. ; BARSEPCD Line tag|routine containing code to determine
  1. ; seperators
  1. ; BARTABLE Data Type for table elements
  1. ; BARPRVST Provider Beginning segment
  1. ; BARPRVEN Provider Ending segment
  1. ; BARTRAIL Trailer beginning segment
  1. ;
  1. ; *********************************************************************
  1. START ; EP
  1. D INIT ; Initialize variables
  1. I $D(^BAREDI("1T","B","HIPAA 835 v4010")) D Q
  1. . W !!,"HIPAA 835 v4010 Transport already exists"
  1. . D XIT
  1. ; Create new entry ^BAREDI("1T",
  1. I '$D(^BAREDI("1T","B","HIPAA 835 v4010")) D ENTRY
  1. I '+$G(BAREDITR) D Q ; Entry creation failed
  1. . W !!,"EDI TRANSPORT ENTRY NOT CREATED"
  1. . D XIT
  1. . Q
  1. D SEGMENT^BAREDIT2 ; Create Segment Table (and element)
  1. D VARPROC ; Create Variable Processing Table
  1. D UPDTAB ; Update EDI table entries
  1. D XIT
  1. Q
  1. ; *********************************************************************
  1. INIT ;
  1. ; Initialize variables
  1. S BARNAME="HIPAA 835 v4010" ; Name of transport
  1. S BARSEPCD="SEP|BAREDPA1(IMPDA)" ; Code identifying seg,etc seperator
  1. S BARTABLE="ID" ; Data Type for table elements
  1. S BARPRVST="LX" ; Provider Beginning segment
  1. S BARPRVEN="CLP" ; Provider Ending segment
  1. S BARTRAIL="SE" ; Trailer beginning segment
  1. S BARDELIM=";;" ; Delimeter (FM doesn't like "" in DR string)
  1. Q
  1. ; *********************************************************************
  1. ENTRY ;
  1. ; Create entry in A/R EDI TRANSPORT File
  1. S DIC="^BAREDI(""1T"","
  1. S DIC(0)="LZ"
  1. S X=BARNAME
  1. S DIC("DR")=".02///^S X=BARSEPCD"
  1. S DIC("DR")=DIC("DR")_";.03///^S X=BARTABLE"
  1. S DIC("DR")=DIC("DR")_";.04///^S X=BARPRVST"
  1. S DIC("DR")=DIC("DR")_";.05///^S X=BARPRVEN"
  1. S DIC("DR")=DIC("DR")_";.06///^S X=BARTRAIL"
  1. K DD,DO
  1. D FILE^DICN
  1. Q:Y<0
  1. S BAREDITR=+Y
  1. Q
  1. ; *********************************************************************
  1. VARPROC ;
  1. ; Create entries in VARIABLE PROCESSING multiple of A/R EDI TRANSPORT
  1. S BARVCNT=0
  1. F D VARPROC2 Q:BARVP="END"
  1. Q
  1. ; *********************************************************************
  1. VARPROC2 ;
  1. S BARVCNT=BARVCNT+1
  1. S BARVP=$P($T(@1+BARVCNT),";;",2,3)
  1. Q:BARVP="END"
  1. D VARPROC3
  1. Q
  1. ; *********************************************************************
  1. VARPROC3 ;
  1. K DA,DIC,X,Y
  1. S DA(1)=BAREDITR
  1. S DIC="^BAREDI(""1T"","_DA(1)_",70,"
  1. S DIC(0)="LZ"
  1. S DIC("P")=$P(^DD(90056.01,70,0),U,2)
  1. S X=$P(BARVP,BARDELIM)
  1. S DIC("DR")=".02///^S X=$P(BARVP,BARDELIM,2)"
  1. K DD,DO
  1. D FILE^DICN
  1. Q
  1. ; *********************************************************************
  1. ;
  1. UPDTAB ;
  1. ; Update processing routine in A/R EDI TABLES
  1. K DIE,DR,DA
  1. S DIE="^BARETBL("
  1. S DA=33
  1. S DR=".03///D CLMADJCD|BAREDP02"
  1. D ^DIE
  1. K DA,DR
  1. S DA=34
  1. S DR=".03///D RMKCODE|BAREDP02"
  1. D ^DIE
  1. K DA,DR,DIE
  1. Q
  1. ; ********************************************************************
  1. XIT ;
  1. D ^BARVKL0
  1. Q
  1. ; *********************************************************************
  1. 1 ;;VARIABLE;;ROUTINE
  1. ;;VCLMDATE;;CLMDATE|BAREDPA1
  1. ;;VADJAMT;;ADJAMT|BAREDPA1
  1. ;;VBILNUM;;BILNUM|BAREDPA1
  1. ;;VPRCONBR;;VPRCNTCT|BAREDPA1
  1. ;;VCHECK;;HIPAACHK|BAREDPA1
  1. ;;VPAYEE;;PAY|BAREDPA1
  1. ;;VPATHIC;;PATIENT|BAREDPA1
  1. ;;END