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

ALPBOP.m

Go to the documentation of this file.
  1. ALPBOP ;OIFO-DALLAS/SED/KC/FOXK BCMA-BCBU PURGE OLD ORDERS ;5/2/2002
  1. ;;3.0;BAR CODE MED ADMIN;**8**;Mar 2004
  1. ;
  1. ST ;Start here. Purge Order information based of stop date first
  1. ;Get the parameter setting for number of days to hold patient
  1. ;orders. Default is 7 days
  1. D NOW^%DTC
  1. S X1=X
  1. S X2="-"_$$DEFOR^ALPBUTL3()
  1. D C^%DTC S ALPPUR=X K X1,X2
  1. S ALPPUR=X
  1. D WAIT^DICD
  1. S ALPDFN=0
  1. F S ALPDFN=$O(^ALPB(53.7,ALPDFN)) Q:+ALPDFN'>0 D
  1. . S ALPBIEN=0
  1. . F S ALPBIEN=$O(^ALPB(53.7,ALPDFN,2,ALPBIEN)) Q:+ALPBIEN'>0 D
  1. . . ;First look for Stop Date
  1. . . S ALPBDATE=+$P($G(^ALPB(53.7,ALPDFN,2,ALPBIEN,1)),U,2)
  1. . . ;If stop date is not there then use last updated date
  1. . . S:+ALPBDATE'>0 ALPBDATE=+$P(^ALPB(53.7,ALPDFN,2,ALPBIEN,0),U,4)
  1. . . Q:ALPBDATE>ALPPUR
  1. . . K DIK,DA
  1. . . S DA(1)=ALPDFN,DA=ALPBIEN
  1. . . S DIK="^ALPB(53.7,"_DA(1)_",2," D ^DIK
  1. . ;Now check to see if I need to remove the patient record
  1. . D NOW^%DTC
  1. . S X1=X
  1. . ;Get the parameter setting for number of days to hold patient record
  1. . ;Default is 30 days with no order information
  1. . S X2="-"_$$DEFPR^ALPBUTL3()
  1. . D C^%DTC S ALPPUR=X K X1,X2
  1. . S ALPPUR=X
  1. . S ALPBDATE=+$P(^ALPB(53.7,ALPDFN,0),U,8)
  1. . ;Quit if record had been updated within time frame
  1. . Q:ALPBDATE>ALPPUR
  1. . I '$D(^ALPB(53.7,ALPDFN,2)) D RPAT Q
  1. . I +$O(^ALPB(53.7,ALPDFN,2,0))'>0 D RPAT
  1. STOP K ALPBIEN,ALPDFN,DA,ALPBDATE,ALPPUR,DR,DIE,X,DIK,X1,X2
  1. Q
  1. RPAT ;Remove patient
  1. K DIK
  1. S DA=ALPDFN
  1. S DIK="^ALPB(53.7," D ^DIK
  1. Q