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

BWFMAN.m

Go to the documentation of this file.
  1. BWFMAN ;IHS/ANMC/MWR - FILEMAN CALLS;15-Feb-2003 22:35;PLS
  1. ;;2.0;WOMEN'S HEALTH;**8,13**;APR 19, 1996;Build 9
  1. ;;* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
  1. ;; CALLS TO FILEMAN WITH PRE- AND POST-CALL VARIABLE SETTING.
  1. ;
  1. ;
  1. DIC(DIC,DIC0,Y,DICA,DICB,DICS,X,BWPOP) ;EP
  1. ;---> CALL TO ^DIC
  1. ;---> PARAMETERS:
  1. ; 1 - DIC=DIC (REQUIRED)
  1. ; 2 - DIC0=DIC(0) (REQUIRED)
  1. ; 3 - Y (RETURNED) FROM CALL TO ^DIC
  1. ; 4 - DICA=DIC("A") (OPTIONAL) PROMPT
  1. ; 5 - DICB=DIC("B") (OPTIONAL) DEFAULT
  1. ; 6 - DICS=DIC("S") (OPTIONAL) SCREEN
  1. ; 7 - X (OPTIONAL) IF DIC(0)'["A"
  1. ; 8 - BWPOP (OPTIONAL) BWPOP=1 IF DTOUT OR DUOUT
  1. ;
  1. ;---> EXAMPLE: D DIC^BWFMAN(9002086,"QEMAL",.Y," Select PATIENT: ")
  1. ;
  1. I $G(DIC)']""!($G(DIC0)']"") S BWPOP=1 Q
  1. S BWPOP=0 S:DIC DLAYGO=$P(DIC,".")
  1. S DIC(0)=DIC0
  1. S:$G(DICA)]"" DIC("A")=DICA
  1. S:$G(DICB)]"" DIC("B")=DICB
  1. S:$G(DICS)]"" DIC("S")=DICS
  1. D ^DIC
  1. S:($D(DTOUT))!($D(DUOUT)) BWPOP=1
  1. D DKILLS
  1. Q
  1. ;
  1. DDS(DDSFILE,DR,DA,DDSPARM,DDSCHANG,BWPOP) ;EP
  1. ;---> CALL TO ^DDS
  1. ;---> NOTE: SCREENMAN AUTOMATICALLY USES INCREMENTAL LOCKS.
  1. ;---> PARAMETERS:
  1. ; 1 - DDSFILE=FILE# (REQUIRED)
  1. ; 2 - DR=FORM (REQUIRED)
  1. ; 3 - DA=RECORD (REQUIRED)
  1. ; 4 - DDSPARM (C/E) (OPTIONAL) C=REGISTER CHANGE IN DDSCHANG
  1. ; 5 - DDSCHANG (RETURNED) DDSCHANG=1 IF CHANGE TO DATABASE
  1. ; 6 - BWPOP (RETURNED) FAIL/QUIT/TIMEOUT
  1. ;
  1. ;---> EXAMPLES:
  1. ; D DDS^BWFMAN(9002086.02,"[BW SITE PARAMS-FORM-1]",+Y)
  1. ; D DDS^BWFMAN(9002086.1,"[BW PROC-FORM-LAB]",DA,"C",.BWCHG,.BWPOP)
  1. ;
  1. N BWDA S BWDA=DA,BWPOP=0
  1. I DDSFILE S DDSFILE=^DIC(DDSFILE,0,"GL")
  1. L +@(DDSFILE_BWDA_")"):5 I '$T S BWPOP=1 D LOCKED^BWUTL3 Q
  1. K ^TMP("DDS",$J)
  1. D:'$D(IOST(0)) HOME^%ZIS D ENS^%ZISS
  1. D ^DDS
  1. S:$D(DTOUT) BWPOP=1
  1. I $D(DIMSG)!($D(DIERR)) D S BWPOP=1
  1. .W !?5,"* The Screen Manager could not edit this record."
  1. .W !?7,"Please contact your Site Manager." D DIRZ^BWUTL3
  1. L -@(DDSFILE_BWDA_")")
  1. D DKILLS
  1. Q
  1. ;
  1. DIE(DIE,DR,DA,BWPOP,Z) ;EP
  1. ;---> CALL TO ^DIE
  1. ;---> PARAMETERS:
  1. ; 1 - DIE=DIE (REQUIRED)
  1. ; 2 - DR=DR (REQUIRED)
  1. ; 3 - DA=DA (REQUIRED)
  1. ; 4 - BWPOP (RETURNED) BWPOP=1 INDICATES FAILURE/QUIT
  1. ; 5 - Z (OPTIONAL) Z=1 IF USER SHOULD *NOT* BE NOTIFIED
  1. ; RECORD WAS LOCKED.
  1. ;
  1. ;---> EXAMPLE: D DIE^BWFMAN(9002086,DR,+Y,.BWPOP)
  1. ; (+Y FROM DIC CALL, DR COULD BE LITERAL IF SHORT.)
  1. ;
  1. N BWDA S BWDA=DA,BWPOP=0
  1. I DIE S DIE=^DIC(DIE,0,"GL")
  1. L +@(DIE_BWDA_")"):5 I '$T S BWPOP=1 D:'$G(Z) LOCKED^BWUTL3 Q
  1. D ^DIE
  1. I $D(DTOUT) S BWPOP=1
  1. L -@(DIE_BWDA_")")
  1. D DKILLS
  1. Q
  1. ;
  1. FILE(DIC,DICDR,DIC0,X,DLAYGO,Y) ; EP - CALL FILE^DICN
  1. K DD,DO
  1. I DIC S DIC=^DIC(DIC,0,"GL")
  1. S:$G(DICDR)]"" DIC("DR")=DICDR S DIC(0)=DIC0
  1. D FILE^DICN
  1. D DKILLS
  1. Q
  1. ;
  1. DIK ; EP - CALL ^DIK
  1. D ^DIK
  1. D DKILLS
  1. Q
  1. ;
  1. DIQ ; EP - CALL ^DIQ
  1. D EN^DIQ
  1. D DKILLS
  1. Q
  1. ;
  1. DIQ1 ; EP - CALL ^DIQ1
  1. D EN^DIQ1
  1. D DKILLS
  1. Q
  1. ;
  1. DKILLS ;EP
  1. K D,D0,D1,DA,DD,DDH,DI,DIADD,DIC,DIC1,DICR,DIE,DIG,DIH,DIK,DILC
  1. K DINUM,DIRUT,DIQ,DIQ2,DIR,DIU,DIW,DIWF,DIWL,DIWR,DIWT,DK,DL
  1. K DLAYGO,DN,DQ,DR,DTOUT,DUOUT,DX
  1. Q
  1. ;
  1. SCRN(BN) ;EP
  1. NEW CMN,TN,TAX,REF,BWTAX
  1. S CMN=$O(^BTPW(90621,"AP",BN,"")) I CMN="" Q 0
  1. S TN=0 F S TN=$O(^BTPW(90621,CMN,1,TN)) Q:'TN D
  1. . I $P(^BTPW(90621,CMN,1,TN,0),U,3)'=5 Q
  1. . S TAX=$P(^BTPW(90621,CMN,1,TN,0),U,1),REF="BWTAX" K @REF
  1. . D BLD^BQITUTL(TAX,.REF)
  1. I $P(^ICPT(Y,0),U,4) Q 0
  1. I '$D(BWTAX(Y)) Q 0
  1. Q 1