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

ALPBUTL3.m

Go to the documentation of this file.
  1. ALPBUTL3 ;OIFO-DALLAS MW,SED,KC-BCBU BACKUP REPORT FUNCTIONS AND UTILITIES ;01/01/03
  1. ;;3.0;BAR CODE MED ADMIN;**8**;Mar 2004
  1. START(DAY) ;Get current date
  1. D NOW^%DTC
  1. S Y=X
  1. S STARD=%I(2)
  1. D DD^%DT
  1. S MON=$E(Y,1,3)
  1. S LD=$S(MON="JAN":31,MON="FEB":29,MON="MAR":31,MON="APR":30,MON="MAY":31,MON="JUN":30,MON="JUL":31,MON="AUG":31,MON="SEP":30,MON="OCT":31,MON="NOV":30,MON="DEC":31)
  1. S LDD=LD+1
  1. S SP=69,CNT=0
  1. S SS=STARD+DAY
  1. I SS>LDD S SS=LDD
  1. I SS<LDD S LDD=SS
  1. F J=STARD:0 DO Q:J=LDD
  1. .S SP=SP+6,CNT=CNT+1
  1. .W ?SP,J
  1. .S J=J+1
  1. .I J=SS Q
  1. I CNT'=DAY F J=1:1 DO Q:CNT=DAY
  1. .S SP=SP+6,CNT=CNT+1
  1. .W ?SP,J
  1. Q
  1. MON(DAY) ;Get the month
  1. D NOW^%DTC
  1. S Y=X
  1. S STARD=%I(2)
  1. D DD^%DT
  1. S MON=$E(Y,1,3)
  1. S LD=$S(MON="JAN":31,MON="FEB":29,MON="MAR":31,MON="APR":30,MON="MAY":31,MON="JUN":30,MON="JUL":31,MON="AUG":31,MON="SEP":30,MON="OCT":31,MON="NOV":30,MON="DEC":31)
  1. Q
  1. ARRAY(DAY) ;BUILD ARRAY FOR TO FIND NEXT MONTH
  1. S MONT("JAN")="FEB"
  1. S MONT("FEB")="MAR"
  1. S MONT("MAR")="APR"
  1. S MONT("APR")="MAY"
  1. S MONT("MAY")="JUN"
  1. S MONT("JUN")="JUL"
  1. S MONT("JUL")="AUG"
  1. S MONT("AUG")="SEP"
  1. S MONT("SEP")="OCT"
  1. S MONT("OCT")="NO"
  1. S MONT("NOV")="DEC"
  1. S MONT("DEC")="JAN"
  1. D NOW^%DTC
  1. S Y=X
  1. S STARD=%I(2)
  1. D DD^%DT
  1. S MON=$E(Y,1,3)
  1. S LD=$S(MON="JAN":31,MON="FEB":29,MON="MAR":31,MON="APR":30,MON="MAY":31,MON="JUN":30,MON="JUL":31,MON="AUG":31,MON="SEP":30,MON="OCT":31,MON="NOV":30,MON="DEC":31)
  1. S LDD=LD+1
  1. S SP=69,CNT=0
  1. S SS=STARD+DAY
  1. I SS>LDD S SS=LDD
  1. I SS<LDD S LDD=SS
  1. F J=STARD:0 DO Q:J=LDD
  1. .S SP=SP+6,CNT=CNT+1
  1. .S J=J+1
  1. .I J=SS Q
  1. I CNT'=DAY W ?SP+6,$P(MONT(MON),"^",1)
  1. Q
  1. DEFML() ; fetch and return default med log print...
  1. ; returns default number of med log entries to print based on entry in
  1. ; MED-LOG NUMBER field in BCMA BACKUP PARAMETERS file (53.71)
  1. N X
  1. S X=$S(+$P($G(^ALPB(53.71,1,2)),U,4)>0:+$P(^ALPB(53.71,1,2),U,4),1:1)
  1. Q X
  1. DEFOR() ; fetch and return purge order flag...
  1. ; returns the number of day to hold a patient order after
  1. ; the Stop Date. Default is 7
  1. ; Based on entry in PURGE ORDER DAYS field in BCMA BACKUP
  1. ; PARAMETERS file (53.71)
  1. N X
  1. S X=$S(+$P($G(^ALPB(53.71,1,2)),U,2)>0:+$P(^ALPB(53.71,1,2),U,2),1:7)
  1. Q X
  1. DEFPR() ; fetch and return purge patient flag...
  1. ; returns the number of days to hold the patient record
  1. ; with no orders. Default is 30
  1. ; Based on entry in PURGE PATIENT field in BCMA BACKUP
  1. ; PARAMETERS file (53.71)
  1. N X
  1. S X=$S(+$P($G(^ALPB(53.71,1,2)),U,3)>0:+$P(^ALPB(53.71,1,2),U,3),1:30)
  1. Q X
  1. LSTACT ; Build a cross reference by patient by drug to keep up
  1. ; with the last action of the drug. The x-ref is built but stays
  1. ; even if order is purged. The x-ref gets removed when the patient
  1. ; is purged.
  1. ; ^ALPB(53.1,DFN,"LSTACT",DRUG,ACTION DATE)=PERSON^ACTION
  1. N ALP,DRUG,DATE
  1. ;Q:+$G(DA(2))'>0!(+$G(DA(1))'>0)!(+$G(DA)'>0)
  1. ; get drug info - can be multiple
  1. S ALP=0 F ALP=$O(^ALPB(53.7,DA(2),2,DA(1),7,ALP)) Q:+ALP'>0 D
  1. . S DRUG=$P($G(^ALPB(53.7,DA(2),2,DA(1),7,ALP,0)),U,1)
  1. . Q:+DRUG'>0
  1. . S DATE=$P($G(^ALPB(53.7,DA(2),2,DA(1),10,DA,0)),U,1)
  1. . S ^ALPB(53.7,DA(2),"LSTACT",DRUG,(9999999-DATE))=$G(^ALPB(53.7,DA(2),2,DA(1),10,DA,0))
  1. Q
  1. LACT(ALPDFN,ALPDRUG) ; Retrieve the last action infor for a patient
  1. ; for a certian drug
  1. ; ALPDFN = Patient DFN
  1. ; ALPDRUG = Drug Ordable Item IEN
  1. N DATA,ALP
  1. Q:+$G(ALPDFN)'>0 ""
  1. Q:+$G(ALPDRUG)'>0 ""
  1. I '$D(^ALPB(53.7,ALPDFN,"LSTACT",ALPDRUG)) Q ""
  1. S ALP=$O(^ALPB(53.7,ALPDFN,"LSTACT",ALPDRUG,0))
  1. S DATA=$G(^ALPB(53.7,ALPDFN,"LSTACT",ALPDRUG,ALP))
  1. Q DATA