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

BARUP1.m

Go to the documentation of this file.
  1. BARUP1 ; IHS/SD/LSL - 3P UPLOAD CONTINUED DEC 5,1996 ;
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**1,19,21,24**;OCT 26, 2005;Build 69
  1. ;
  1. ; IHS/ASDS/LSL - 9/11/01 - Version 1.5 Patch 2 - Modified to
  1. ; accomodate Pharmacy POS. Passes RX through to Other Bill
  1. ; Identifier field.
  1. ;
  1. ; IHS/SD/LSL - 11/27/02 - V1.7 - QAA-1200-130051
  1. ; Modified to insert quit logic if error in creating a new
  1. ; transaction. Also inserted documentation.
  1. ;
  1. ; IHS/SD/LSL - 06/09/03 - V1.7 Patch 1
  1. ; If uploading bill (not created through 3P Claim Approval),
  1. ; create BILL NEW transaction with 3P Approval Date and populate
  1. ; Message and Text fields of transaction.
  1. ;
  1. ; IHS/SD/LSL - 08/21/03 - V1.7 Patch 2 - IM11348
  1. ; Allow for checking of existing manually entered bill. Avoid
  1. ; duplicate bills in AR.
  1. ;
  1. ; IHS/SD/LSL - 09/10/03 - V1.7 Patch 3 - IM11459
  1. ; Resolve creation of multiple bills in AR when print or reprint
  1. ; from 3P.
  1. ;
  1. ; IHS/SD/RTL - 04/28/05 - V1.8 Patch 1 - IM17271
  1. ; Dupilcate bills
  1. ;
  1. ; ************************
  1. ;
  1. ; Global changes for indirection global - ABMA to @BAR3PUP@
  1. ;
  1. ;** Upload from 3P BILL file to A/R BILL/IHS file
  1. ; ---- continuation from ^BARUP
  1. ;
  1. ;** This routine is intended to be called from the 3p billing module
  1. ; at the time an item is created in the 3P BILL file.
  1. ;
  1. ;** Calling this routine at the entry point TPB^BARUP(ABMA ARRAY)
  1. ; will create an entry in the A/R BILL/IHS file.
  1. ;
  1. ; *************************
  1. ; IHS/SD/SDR HEAT118656 belcourt JUNE 2013 - BAR*1.8*.24
  1. ; IHS/SD/SDR 10/10/13 HEAT135708 - BAR*1.8*.24
  1. ; *************************
  1. Q
  1. UPLOAD ; EP
  1. ; Create a new in A/R Bill File based on 3P data
  1. I '$D(BAR3PUP) D S3PUP
  1. D LK2 ; See if bill already exists for this parent in A/R
  1. I +BARBLDA>0 D
  1. . D UPDATE
  1. . I BARXX,$G(^TMP("BAR",$J,"BARUPCHK",$J)) D Q ; Already uploaded
  1. . . S BARACT=$$CMP^BARUPCHK(BARBLDA)
  1. . . S ^TMP($J,"BARXX")=BARXX
  1. . D BILLOAD
  1. I +BARBLDA<1 D ADD ; Bill not found, try adding it
  1. I +BARBLDA<1 D NOT ; Could not find/add bill in A/R
  1. Q
  1. ; *************************
  1. ;
  1. S3PUP ;set BAR3PUP variable
  1. S BAR3PUP="^TMP($J,""ABMPASS"")"
  1. Q
  1. ; *************************
  1. ;
  1. LK2 ;
  1. ; Try to find the 3PB bill under this parent in A/R
  1. N BARTMP
  1. S BARBLDA=-1
  1. S BARSNM=$P(@BAR3PUP@("BLNM"),"-",1)
  1. S BARNNM=+BARSNM_" "
  1. ;F S BARNNM=$O(^BARBL(DUZ(2),"B",BARNNM)) Q:((+$P(BARNNM,"-")'=+BARSNM)!(BARBLDA>0)) D
  1. F S BARNNM=$O(^BARBL(DUZ(2),"B",BARNNM)) Q:(($E(BARNNM,1,$L(+BARSNM))'=(+BARSNM))!(BARBLDA>0)) D ;IM17271
  1. . I $P(BARNNM,"-")'=BARSNM Q
  1. . S BARTMP=0
  1. . F S BARTMP=$O(^BARBL(DUZ(2),"B",BARNNM,BARTMP)) Q:('+BARTMP!(BARBLDA>0)) D
  1. . . Q:$P($G(^BARBL(DUZ(2),BARTMP,0)),U,17)'=@BAR3PUP@("BLDA") ;3P IEN (DA)
  1. . . Q:$P($G(^BARBL(DUZ(2),BARTMP,1)),U)'=@BAR3PUP@("PTNM") ;PATIENT DFN
  1. . . S BARBLDA=BARTMP
  1. Q
  1. ; *************************
  1. ADD ;
  1. ; Create entry in A/R Bill file
  1. S DIC="^BARBL(DUZ(2),"
  1. S DIC(0)="LX"
  1. S X=@BAR3PUP@("BLNM")
  1. S DLAYGO=90050
  1. K DD,DO
  1. D FILE^DICN
  1. K DLAYGO
  1. I +Y<1 Q
  1. S BARBLDA=+Y
  1. ; Tell 3P where A/R put the bill
  1. S ^TMP($J,"ABMPASS","ARLOC")=DUZ(2)_","_BARBLDA
  1. D BILLOAD ;Add items from 3P to AR
  1. D SETTX ; Create BILL NEW transaction
  1. Q
  1. ; *************************
  1. ;
  1. NOT ;
  1. ; Write message
  1. Q:$D(ZTQUEUED)
  1. U IO(0)
  1. W !,@BAR3PUP@("BLNM"),?10,"BILL NOT FOUND NOR ADDED ???"
  1. U IO
  1. Q
  1. ; *************************
  1. ;
  1. UPDATE ;EP
  1. ; Update .01 field of A/R Bill
  1. K DR
  1. S DIE="^BARBL(DUZ(2),"
  1. S DA=BARBLDA
  1. I @BAR3PUP@("BLNM")'=$P(^BARBL(DUZ(2),DA,0),U) D
  1. . S DR=".01///"_@BAR3PUP@("BLNM")
  1. .D ^DIE
  1. S BARXX=$$GET1^DIQ(90050.01,BARBLDA,13) ;check if previously loaded
  1. Q
  1. ; *************************
  1. ;
  1. BILLOAD ;EP - called by barupchk
  1. ; add/reload item from 3P to A/R everytime
  1. I '$D(BARXX) D
  1. .I '$D(^TMP($J,"BARXX")) Q
  1. .I $D(^TMP($J,"BARXX")) D
  1. . . S BARXX=^TMP($J,"BARXX")
  1. . . K ^TMP($J,"BARXX")
  1. I '$D(BAR3PUP) D S3PUP
  1. I $G(BARXX) D ITMRLOAD Q ; Previously loaded
  1. D BILLOAD2 ; Add top level A/R Bill data
  1. D SETITM
  1. D SETCOLL ;IHS/SD/AR 1.8*19 07182010
  1. Q
  1. ; *************************
  1. ;
  1. ITMRLOAD ;
  1. ; Bill previously loaded into A/R, delete old items and create new ones
  1. D DELITM ; Delete Items
  1. D SETITM ; Create Items
  1. ; -------------------------------
  1. ;
  1. ; Update 3P IEN, 3P DUZ(2), and export date on A/R Bill
  1. K DA,DIC,DIE,X,Y,DR
  1. S DA=BARBLDA
  1. S DIE="^BARBL(DUZ(2),"
  1. I $L(@BAR3PUP@("BLDA")) D
  1. . S DR="17////^S X=@BAR3PUP@(""BLDA"")"
  1. . S DR=DR_";22////^S X=BARDUZ2"
  1. . I $L(@BAR3PUP@("DTBILL")) S DR=DR_";19////^S X=@BAR3PUP@(""DTBILL"")"
  1. . S DIE=$$DIC^XBDIQ1(90050.01)
  1. . D ^DIE
  1. ; -------------------------------
  1. ;
  1. ; Write message
  1. Q:$E(IOST)'="C"
  1. Q:IOT'["TRM"
  1. Q:$D(ZTQUEUED)
  1. W !,@BAR3PUP@("BLNM")
  1. W " Previously loaded .. deleting existing A/R Bill items",!
  1. W !,@BAR3PUP@("BLNM")," Now adding 3P Bill items to A/R Bill",!
  1. Q
  1. ; *************************
  1. ;
  1. BILLOAD2 ;
  1. ; Populate top level A/R Bill data
  1. S @BAR3PUP@("BLAMT")=@BAR3PUP@("BLAMT")*100+.5\1/100
  1. ;S @BAR3PUP@("CURTOT")=@BAR3PUP@("BLAMT")-$G(@BAR3PUP@("CREDIT")) ;IHS/SD/SDR HEAT118656 belcourt
  1. S @BAR3PUP@("CURTOT")=@BAR3PUP@("BLAMT") ;IHS/SD/SDR HEAT118656 belcourt
  1. Q:'$D(BARPAR)
  1. S DIE="^BARBL(DUZ(2),"
  1. S DA=BARBLDA
  1. S DIDEL=90050
  1. ; -------------------------------
  1. DR01 ;
  1. ; Populate 1st half zero node
  1. S DR=""
  1. S DR=DR_"3////^S X=BARACEIN"
  1. S DR=DR_";4////^S X=BARBLTYP"
  1. S DR=DR_";8////^S X=BARPAR"
  1. S DR=DR_";10////^S X=BARSERV"
  1. S DR=DR_";11////3PU"
  1. S DR=DR_";13////^S X=$G(@BAR3PUP@(""BLAMT""))"
  1. S DR=DR_";15////^S X=$G(@BAR3PUP@(""CURTOT""))"
  1. S DR=DR_";1001////^S X=$G(@BAR3PUP@(""LICN""))" ;IHS/SD/TPF BAR*1.8*21 5010 SPECS PAGE 16
  1. D ^DIE
  1. ; -------------------------------
  1. DR02 ;
  1. ; Popolate 2nd half zero node
  1. S DR=""
  1. S DR=DR_"16////^S X=BARSTAT"
  1. S DR=DR_";17///^S X=$G(@BAR3PUP@(""BLDA""))"
  1. S DR=DR_";18////^S X=@BAR3PUP@(""DTAP"")"
  1. ;S DR=DR_";18////^S X=@BAR3PUP@(""DTAP"");Q"
  1. S DR=DR_";19////^S X=@BAR3PUP@(""DTBILL"")"
  1. S DR=DR_";20///^S X=@BAR3PUP@(""CREDIT"")"
  1. S DR=DR_";22////^S X=BARDUZ2"
  1. D ^DIE
  1. ; -------------------------------
  1. DR11 ;
  1. ; Populate 1st half one node
  1. S DR=""
  1. S DR=DR_"101////^S X=$G(@BAR3PUP@(""PTNM""))"
  1. S DR=DR_";102////^S X=$G(@BAR3PUP@(""DOSB""))"
  1. S DR=DR_";103////^S X=$G(@BAR3PUP@(""DOSE""))"
  1. S DR=DR_";105////^S X=BARSSN"
  1. S DR=DR_";106////^S X=BARPTYP"
  1. S DR=DR_";107////^S X=BARHRN"
  1. D ^DIE
  1. ; -------------------------------
  1. DR12 ;
  1. ; Populate 2nd half one node
  1. S DR=""
  1. S DR=DR_"108////^S X=BARSAT"
  1. S DR=DR_";112////^S X=$G(@BAR3PUP@(""CLNC""))"
  1. S DR=DR_";113////^S X=BARPRV"
  1. S DR=DR_";114////^S X=$G(@BAR3PUP@(""VSTP""))"
  1. S DR=DR_";115////^S X=BARPBEN"
  1. D ^DIE
  1. ; -------------------------------
  1. DR278 ;
  1. ; Popolate two, seven, and eight nodes
  1. S DR=""
  1. S DR=DR_"205////^S X=BARTMP1(205)"
  1. S DR=DR_";206////^S X=BARTMP1(206)"
  1. S DR=DR_";207////^S X=BARTMP1(207)"
  1. S DR=DR_";702///^S X=@BAR3PUP@(""POLN"")"
  1. S DR=DR_";701///^S X=@BAR3PUP@(""POLH"")"
  1. I $G(@BAR3PUP@("OTHIDENT")) S DR=DR_";801////^S X=@BAR3PUP@(""OTHIDENT"")"
  1. D ^DIE
  1. K DIDEL
  1. Q
  1. ; ************************
  1. ;
  1. SETITM ;EP
  1. ; Create ITEM multiple for A/R Bill
  1. N BARCNT,DR,DA,DIC,J,I
  1. I '$D(BAR3PUP) D S3PUP
  1. S DA(1)=BARBLDA
  1. S DIC="^BARBL(DUZ(2),"_DA(1)_",3,"
  1. S DIC(0)="LX"
  1. S DIC("P")=$P(^DD(90050.01,301,0),U,2)
  1. S DIC("DR")=""
  1. ;F I=1:1 S J=$T(TXT+I) Q:J="" S $P(DIC("DR"),";",I)=$P(J,"~",2)
  1. ;IHS/SD/TPF FIX ERROR IN CODE WHEN MSGTXT WAS ADDED IN PATCH 19
  1. ;ALSO ADDED ;;END TO END OF TXT TAG BAR*1.8*21
  1. F I=1:1 S J=$T(TXT+I) Q:J[("END") S $P(DIC("DR"),";",I)=$P(J,"~",2)
  1. S BARCNT=0
  1. F S BARCNT=$O(@BAR3PUP@(BARCNT)) Q:'+BARCNT D
  1. .S X=$G(@BAR3PUP@(BARCNT,"ITNM"))
  1. .I '$L(X),$G(@BAR3PUP@(BARCNT,"BLSRV"))="REVENUE CODE" S (X,@BAR3PUP@(BARCNT,"ITNM"))="REVENUE CODE"
  1. .Q:'$L(X)
  1. .S X=""""_X_""""
  1. .S @BAR3PUP@(BARCNT,"DOS")=$S(@BAR3PUP@(BARCNT,"DOS"):@BAR3PUP@(BARCNT,"DOS"),1:@BAR3PUP@("DOSB"))
  1. .S Y=$G(@BAR3PUP@(BARCNT,"BLSRV"))
  1. .S BARBLSRV=89 ; Default
  1. .S:Y="PHARMARCY" BARBLSRV=83
  1. .S:Y="ROOM & BOARD" BARBLSRV=84
  1. .S:Y="REVENUE CODE" BARBLSRV=84
  1. .S:Y="MED/SURG PROCEDURE" BARBLSRV=82
  1. .S:Y="MEDICAL PROCEDURES" BARBLSRV=85
  1. .S:Y="DENTAL" BARBLSRV=86
  1. .S:Y="RADIOLOGY" BARBLSRV=87
  1. .S:Y="LABORATORY" BARBLSRV=91
  1. .S:Y="ANESTHESIA" BARBLSRV=88
  1. .K DD,DO
  1. .D FILE^DICN ;;;I DUZ=838 W !,"--> SETITM FILE^DICN"
  1. .K BARBLSRV
  1. K DLAYGO
  1. Q
  1. ; ************************
  1. SETCOLL ;EP
  1. ; Create COLLECTION STATUS multiple for A/R Bill
  1. N DR,DA,DIC,J,I
  1. S DA(1)=BARBLDA
  1. S DIC="^BARBL(DUZ(2),"_DA(1)_",9,"
  1. S DIC(0)="LX"
  1. S DIC("P")=$P(^DD(90050.01,901,0),U,2)
  1. S DIC("DR")=""
  1. S X=$G(@BAR3PUP@("DTAP"))_U_$G(@BAR3PUP@("BLAMT"))_U_"INITIAL BILL"_U_"0"
  1. K DD,DO
  1. D FILE^DICN
  1. K DLAYGO
  1. Q
  1. ; ************************
  1. DELITM ;EP - For the reload of an A/R Bill from the 3P Bill,
  1. ;deleting all existing items
  1. N DIK,DA
  1. S DA(1)=BARBLDA
  1. S DA=0
  1. S DIK=$$DIC^XBDIQ1(90050.01)
  1. S DIK=DIK_DA(1)_",3,"
  1. F S DA=$O(^BARBL(DUZ(2),DA(1),"3",DA)) Q:'+DA D ^DIK ;;;I DUZ=838 W !,"--> ^DIK"
  1. Q
  1. ; ************************
  1. ;
  1. SETTX ;** create transaction
  1. K DR
  1. N DIC
  1. S BARTT=$O(^BARTBL("B","BILL NEW",""))
  1. I '+BARTT D NOTX(BARBLDA,"BILL NEW")
  1. I +BARTT D
  1. . S DR="3////^S X=@BAR3PUP@(""BLAMT"")"
  1. . D NEWTX
  1. ;start old code IHS/SD/SDR HEAT118656 belcourt
  1. ;I @BAR3PUP@("CREDIT") D
  1. ;. S BARTT=$O(^BARTBL("B","3P CREDIT",""))
  1. ;. I '+BARTT D NOTX(BARBLDA,"3P CREDIT")
  1. ;. I +BARTT D
  1. ;. . S DR="2////^S X=$G(@BAR3PUP@(""CREDIT""))"
  1. ;. . D NEWTX
  1. ;end old code start new code HEAT118656
  1. I @BAR3PUP@("CREDIT")&'$D(@BAR3PUP@("TRNS")) D
  1. .S BARTT=$O(^BARTBL("B","3P CREDIT",""))
  1. .I '+BARTT D NOTX(BARBLDA,"3P CREDIT")
  1. .I +BARTT D
  1. ..S DR="2////^S X=$G(@BAR3PUP@(""CREDIT""))"
  1. ..D NEWTX
  1. ;
  1. I $P($G(BAROPT)," ")="Upload" D
  1. .K BARTT
  1. .S DR="7////^S X=1"
  1. .S DR=DR_";1001///^S X=BAROPT_"" ""_DT"
  1. .D NEWTX
  1. I $D(@BAR3PUP@("TRNS")) D
  1. .K BARTT
  1. .S BARTTYP=""
  1. .F S BARTTYP=$O(@BAR3PUP@("TRNS",BARTTYP)) Q:$G(BARTTYP)="" D
  1. ..S BARTCNT=0
  1. ..F S BARTCNT=$O(@BAR3PUP@("TRNS",BARTTYP,BARTCNT)) Q:'BARTCNT D
  1. ...S BARTAC=$O(^BAR(90052.01,"B",BARTTYP,0))
  1. ...I '+BARTAC D NOTX(BARBLDA,BARTTYP)
  1. ...I +BARTAC D
  1. ....;I BARTTYP'="PAYMENT CREDIT"&(BARTTYP'="GROUPER ALLOWANCE") S BARTT=$O(^BARTBL("B",BARTTYP,0))
  1. ....S BARAMT=+$G(@BAR3PUP@("TRNS",BARTTYP,BARTCNT))
  1. ....S (BARTRTYP,BARTT)=43
  1. ....S DR="2////^S X=+$G(@BAR3PUP@(""TRNS"",BARTTYP,BARTCNT))"
  1. ....S DR=DR_";101////^S X=BARTRTYP"
  1. ....S DR=DR_";102////^S X=BARTAC"
  1. ....I $P($G(@BAR3PUP@("TRNS",BARTTYP,BARTCNT)),U,5)'="" S DR=DR_";109////^S X=$P(@BAR3PUP@(""TRNS"",BARTTYP,BARTCNT),U,5)"
  1. ....I $P($G(@BAR3PUP@("TRNS",BARTTYP,BARTCNT)),U,4)'="" S DR=DR_";103////^S X=$P(@BAR3PUP@(""TRNS"",BARTTYP,BARTCNT),U,4)"
  1. ....D NEWTX
  1. ....;D 43^BARTDO
  1. ;end new code HEAT118656 belcourt
  1. Q
  1. ; *************************
  1. ;
  1. NEWTX ;
  1. ; Create A/R transaction
  1. S BARTRIEN=$$NEW^BARTR()
  1. S BARTT=$G(BARTT) ;
  1. ;I BARTRIEN<1 D NOTX(BARBLDA,BARTT) Q ;IHS/SD/SDR 10/10/13 HEAT135708
  1. I BARTRIEN<1 D NOTX(BARBLDA,"") Q ;IHS/SD/SDR 10/10/13 HEAT135708
  1. S DIE="^BARTR(DUZ(2),"
  1. S DA=BARTRIEN
  1. S DR=DR_";4////^S X=BARBLDA"
  1. S DR=DR_";5////^S X=@BAR3PUP@(""PTNM"")"
  1. S DR=DR_";6////^S X=BARACEIN"
  1. S DR=DR_";8////^S X=BARPAR"
  1. S DR=DR_";10////^S X=BARSERV"
  1. S DR=DR_";11////^S X=BARSAT"
  1. S DR=DR_";12////^S X=$P(BARTRIEN,""."")"
  1. S DR=DR_";101////^S X=BARTT"
  1. ;start old code IHS/SD/SDR belcourt HEAT118656
  1. ;I $P($G(BAROPT)," ")="Upload" D
  1. ;. S DR=DR_";7////^S X=1"
  1. ;. S DR=DR_";1001///^S X=BAROPT_"" ""_DT"
  1. ;new old code HEAT118656
  1. S DIDEL=90050
  1. D ^DIE
  1. K DIDEL
  1. D TR^BARTDO(BARTRIEN) ;Update other files
  1. Q
  1. ; *************************
  1. ;
  1. NOTX(X,BARTYP) ;
  1. ; Couldn't create transaction.
  1. N XVAL
  1. I BARTYP="" S BARTYP="<UNK MSG>" ; P.OTT
  1. S XVAL=$$GET1^DIQ(900501.01,X,.01)
  1. W *7,$$CJ^XLFSTR("Could not create a "_BARTYP_" transaction.",IOM)
  1. W $$CJ^XLFSTR("Please contact IT support.",IOM)
  1. Q
  1. ; ************************
  1. ;
  1. ; This is a new section to build the DIC("DR") string
  1. ;BAR/SD/TPF BAR*1.8*21 ADDED LICN FOR 5010 SPEC PAGE 16
  1. TXT ;
  1. ;;~2////^S X=$G(@BAR3PUP@(BARCNT,"DOS"))
  1. ;;~3////^S X=$G(@BAR3PUP@(BARCNT,"ITCODE"))
  1. ;;~4////^S X=$G(@BAR3PUP@(BARCNT,"OTIT"))
  1. ;;~5////^S X=$G(@BAR3PUP@(BARCNT,"OTUC"))
  1. ;;~6////^S X=$G(BARBLSRV)
  1. ;;~7////^S X=$G(@BAR3PUP@(BARCNT,"ITQT"))
  1. ;;~8////^S X=$G(@BAR3PUP@(BARCNT,"ITUI"))
  1. ;;~9////^S X=$G(@BAR3PUP@(BARCNT,"ITUC"))
  1. ;;~11////^S X=$G(BARCNT)
  1. ;;~12////^S X=$G(@BAR3PUP@(BARCNT,"LICN"))
  1. ;;~Q;10////^S X=$G(@BAR3PUP@(BARCNT,"ITTOT"))
  1. ;;END
  1. ;IHS/SD/AR BAR*1.8*19 06.17.2010
  1. MSGTX ;
  1. ; Create A/R message transaction
  1. N BARSCODE,BARGCN,BARSAT,BARCKEX,BARDATE
  1. S BARGCN=$G(@BAR3PUP@(74,BARMIEN,"GCN"))
  1. S BARSAT=$G(@BAR3PUP@("VSLC"))
  1. S BARSCODE=$G(@BAR3PUP@(74,BARMIEN,"STAT"))
  1. S BARUSER=$G(@BAR3PUP@(74,BARMIEN,"USR"))
  1. S BARDATE=$G(@BAR3PUP@(74,BARMIEN,"DT"))
  1. S BARRSN=$S($D(@BAR3PUP@(74,BARMIEN,"RSN")):@BAR3PUP@(74,BARMIEN,"RSN"),1:"NO MESSAGE")
  1. D CKEXIST
  1. Q:$G(BARCKEX)=1
  1. D STATCODE
  1. S BARTRIEN=$$NEW^BARTR()
  1. I BARTRIEN<1 D NOTX(BARBLDA,BARTT) Q
  1. S DIE="^BARTR(DUZ(2),"
  1. S DA=BARTRIEN
  1. S DR=DR_";7////^S X=1"
  1. S DR=DR_";4////^S X=BARBLDA"
  1. S DR=DR_";10////^S X=""BUSINESS OFFICE"""
  1. S DR=DR_";11////^S X=BARSAT"
  1. S DR=DR_";12////^S X=$P(BARTRIEN,""."")"
  1. S DR=DR_";13////^S X=BARUSER"
  1. S DR=DR_";16////^S X=""PRIMARY"""
  1. S Y=BARTRIEN X ^DD("DD")
  1. K ^TMP($J,"WP")
  1. S ^TMP($J,"WP",1)=BARSCODE_" ON "_BARDATE_", GCN: "_BARGCN
  1. S ^TMP($J,"WP",2)="REASON: "_BARRSN
  1. S DIDEL=90050
  1. D ^DIE
  1. K DIDEL
  1. D WP^DIE(90050.03,BARTRIEN_",",1001,"","^TMP($J,""WP"")")
  1. K ^TMP($J,"WP")
  1. D TR^BARTDO(BARTRIEN) ; Update other files
  1. Q
  1. ; *************************
  1. ;
  1. STATCODE ;
  1. ; TRANSLATE STATUS CODE TO VALUE
  1. S:BARSCODE="O" BARSCODE="ORIGINAL"
  1. S:BARSCODE="S" BARSCODE="RESENT"
  1. S:BARSCODE="F" BARSCODE="REFILE"
  1. S:BARSCODE="C" BARSCODE="RECREATED"
  1. Q
  1. RSTATCOD ;
  1. ; TRANSLATE STATUS CODE TO VALUE
  1. S:BARSCODE="ORIGINAL" BARSCODE="O"
  1. S:BARSCODE="RESENT" BARSCODE="S"
  1. S:BARSCODE="REFILE" BARSCODE="F"
  1. S:BARSCODE="RECREATED" BARSCODE="C"
  1. Q
  1. CKEXIST ;
  1. ; LOOK FOR EXISTING ENTRIES
  1. N BARWP,BARWP2
  1. S BARWP="",BARCKEX=0,BARTRIEN=0,BARWP2=""
  1. F S BARTRIEN=$O(^BARTR(DUZ(2),"AM4",BARBLDA,BARTRIEN)) Q:('+BARTRIEN)!(BARCKEX) D
  1. . S BARWP=$$GET1^DIQ(90050.03,BARTRIEN,1001,,"BARWP")
  1. . S:$D(BARWP(1))&($G(BARWP(1))["GCN") BARWP2=$P(BARWP(1)," ",5)
  1. . S:$D(BARWP2)&(BARWP2?1.N)&(BARWP2=BARGCN) BARCKEX=1
  1. Q ;-EOR-