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

ALPBSP1.m

Go to the documentation of this file.
  1. ALPBSP1 ;OIFO-DALLAS MW,SED,KC-LIST AND SELECT PATIENT'S ORDERS ;01/01/03
  1. ;;3.0;BAR CODE MED ADMIN;**8**;Mar 2004
  1. ;
  1. ; **NOTE: THIS ROUTINE IS CALLED BY A LIST MANAGER
  1. ; PROTOCOL IN WHICH A PATIENT HAS ALREADY BEEN
  1. ; SELECTED -- THIS ROUTINE SHOULD NOT BE RUN
  1. ; DIRECTLY.
  1. ;
  1. EN ; -- main entry point for ALPB PATIENT ORDERS
  1. D EN^VALM("PSB SELECT ORDERS")
  1. Q
  1. ;
  1. HDR ; -- header code
  1. I +$G(ALPBIEN)'>0 Q
  1. S ALPBPT(0)=$G(^ALPB(53.7,ALPBIEN,0))
  1. M ALPBPT(1)=^ALPB(53.7,ALPBIEN,1)
  1. D HDR^ALPBFRM2(.ALPBPT,"A",0,.ALPBHDR)
  1. S ALPBX=1
  1. F S ALPBX=$O(ALPBHDR(ALPBX)) Q:'ALPBX D
  1. .S VALMHDR(ALPBX-1)=ALPBHDR(ALPBX)
  1. K ALPBHDR,ALPBPT,ALPBX
  1. Q
  1. ;
  1. INIT ; -- init variables and list array
  1. I +$G(ALPBIEN)'>0 Q
  1. K ALPBORDS,^TMP("ALPBORDS",$J)
  1. D ORDS^ALPBUTL(ALPBIEN,"",.ALPBORDS)
  1. K ALPBORDS("B")
  1. I $G(ALPBLTYP)="" S ALPBLTYP="Active"
  1. S ALPBX=0
  1. F S ALPBX=$O(ALPBORDS(ALPBX)) Q:'ALPBX D
  1. .I $G(ALPBORDS(ALPBX,2))="" S ALPBORDS(ALPBX,2)="XX"
  1. .S ALPBORDS("B",ALPBORDS(ALPBX,2),ALPBORDS(ALPBX),ALPBX)=""
  1. S ALPBLINE=0
  1. S ALPBSTAT=""
  1. F S ALPBSTAT=$O(ALPBORDS("B",ALPBSTAT)) Q:ALPBSTAT="" D
  1. .S ALPBSTN=$$STAT2^ALPBUTL1(ALPBSTAT)
  1. .I ALPBLTYP'="ALL"&(ALPBSTN'="Active") K ALPBSTN Q
  1. .S ALPBORDN=""
  1. .F S ALPBORDN=$O(ALPBORDS("B",ALPBSTAT,ALPBORDN)) Q:ALPBORDN="" D
  1. ..S ALPBX=0
  1. ..F S ALPBX=$O(ALPBORDS("B",ALPBSTAT,ALPBORDN,ALPBX)) Q:'ALPBX D
  1. ...S ^TMP("ALPBORDS",$J,"B",ALPBORDN)=ALPBX
  1. ...S ALPBLINE=ALPBLINE+1
  1. ...S ALPBDATA=" "_ALPBORDN
  1. ...S ALPBDATA=$$PAD^ALPBUTL(ALPBDATA,12)_ALPBSTN
  1. ...S ALPBDATA=$$PAD^ALPBUTL(ALPBDATA,21)_ALPBORDS(ALPBX,1)
  1. ...I +$G(ALPBORDS(ALPBX,3,0)) D
  1. ....S ALPBDATA=$$PAD^ALPBUTL(ALPBDATA,26)_ALPBORDS(ALPBX,3,1)
  1. ...I $G(ALPBORDS(ALPBX,4))'="" D
  1. ....S ALPBY=$P(ALPBORDS(ALPBX,4),"^",1,3)
  1. ....S ALPBY=$TR(ALPBY,"^"," ")
  1. ....S ALPBDATA=ALPBDATA_" ("_ALPBY_")"
  1. ....K ALPBY
  1. ...S ^TMP("ALPBORDS",$J,ALPBLINE,0)=ALPBDATA
  1. ...K ALPBDATA
  1. ...S ALPBY=1
  1. ...F S ALPBY=$O(ALPBORDS(ALPBX,3,ALPBY)) Q:'ALPBY D
  1. ....S ALPBDATA=$$PAD^ALPBUTL($G(ALPBDATA),27)_ALPBORDS(ALPBX,3,ALPBY)
  1. ....S ALPBLINE=ALPBLINE+1
  1. ....S ^TMP("ALPBORDS",$J,ALPBLINE,0)=ALPBDATA
  1. ....K ALPBDATA
  1. ...K ALPBY
  1. ..K ALPBX
  1. .K ALPBORDN,ALPBSTN
  1. S VALMCNT=ALPBLINE
  1. I +$O(^TMP("ALPBORDS",$J,0))=0&(ALPBLTYP="Active") D
  1. .S ALPBLTYP="ALL"
  1. .S VALM("TITLE")="BCMAbu ALL Orders List"
  1. .D INIT
  1. .S VALMBCK="R"
  1. K ALPBLINE,ALPBLTYP,ALPBORDS,ALPBSTAT
  1. Q
  1. ;
  1. HELP ; -- help code
  1. S X="?" D DISP^XQORM1 W !!
  1. Q
  1. ;
  1. EXIT ; -- exit code
  1. K ^TMP("ALPBORDS",$J)
  1. Q
  1. ;
  1. EXPND ; -- expand code
  1. Q
  1. ;
  1. SELORD ; select an order...
  1. I '$D(^TMP("ALPBORDS",$J)) Q
  1. S DIR(0)="FAO^1:45"
  1. S DIR("A")="Select ORDER#: "
  1. S DIR("A",1)="Select order number, more than one separated by a comma, or 'ALL': "
  1. S DIR("B")="ALL"
  1. S DIR("?")="Select order numbers from the list or 'ALL'."
  1. S DIR("?",1)="Separate multiple order numbers with a comma."
  1. D ^DIR K DIR
  1. I $D(DIRUT) K DIRUT,DTOUT,X,Y Q
  1. S ALPBOSEL=$$UP^XLFSTR($$STRIP^XLFSTR(Y," "))
  1. I ALPBOSEL="ALL" D
  1. .S I=0
  1. .S ALPBOSEL=""
  1. .F S ALPBOSEL=$O(^TMP("ALPBORDS",$J,"B",ALPBOSEL)) Q:ALPBOSEL="" D
  1. ..S I=I+1
  1. ..S ALPBOSEL(I)=^TMP("ALPBORDS",$J,"B",ALPBOSEL)
  1. .S ALPBOSEL(0)=I
  1. I ALPBOSEL'="ALL" D
  1. .; make sure the input is separated by a comma...
  1. .S ALPBOSEL=$$REPL^ALPBUTL2(ALPBOSEL,",")
  1. .; parse out the user's input...
  1. .F I=1:1 Q:$P(ALPBOSEL,",",I)="" D
  1. ..I $G(^TMP("ALPBORDS",$J,"B",$P(ALPBOSEL,",",I)))="" Q
  1. ..S ALPBOSEL(I)=^TMP("ALPBORDS",$J,"B",$P(ALPBOSEL,",",I))
  1. I +$O(ALPBOSEL(0))=0 D Q
  1. .W $C(7)
  1. .W !,"Invalid selection."
  1. .S DIR(0)="EA"
  1. .S DIR("A")="Press <enter> to continue..."
  1. .D ^DIR K DIR,DIRUT,DTOUT,X,Y
  1. D EN^ALPBSP2
  1. K ALPBOSEL
  1. Q
  1. ;
  1. SELALL ; set list type to ALL orders...
  1. S ALPBLTYP="ALL"
  1. S VALM("TITLE")="BCMAbu ALL Orders List"
  1. D INIT
  1. Q
  1. ;
  1. SELACT ; set list type to Active orders...
  1. S ALPBLTYP="Active"
  1. S VALM("TITLE")="BCMAbu ACTIVE Orders List"
  1. D INIT
  1. Q