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

PSORPC01.m

Go to the documentation of this file.
  1. PSORPC01 ;INN/AA - PAPI INTERFACE ROUTINES ;Dec 06, 2021@15:55:23
  1. ;;7.0;OUTPATIENT PHARMACY;**441**;DEC 1997;Build 208
  1. ;
  1. ;Ref. ^PSDRUG( supp. DBIA 221
  1. ;Ref. GET^XPAR supp. DBIA 2263
  1. ;Ref. EDITPAR^XPAREDIT supp. DBIA 2336
  1. ;
  1. RPC(RESULTS,OPTION,P1,P2,P3,P4,P5,P6) ; [Procedure] Main RPC call
  1. ; based on MD* routines
  1. N ERR
  1. S RESULTS=$NA(^TMP("PSORPC01",$J)) K @RESULTS
  1. I '($T(@OPTION)]"") S @RESULTS@(0)="-1^Option '"_OPTION_"' not found in routine '"_$T(+0)_"'." Q
  1. D @OPTION
  1. D CLEAN^DILF
  1. Q
  1. ;
  1. ECHO ;
  1. ;
  1. S @RESULTS@(0)=OPTION
  1. S @RESULTS@(1)="P1:"_P1
  1. S @RESULTS@(2)="P2:"_P2
  1. S @RESULTS@(3)="P3:"_P3
  1. S @RESULTS@(4)="P4:"_P4
  1. S @RESULTS@(5)="P5:"_P5
  1. S @RESULTS@(6)="P6:"_P6
  1. Q
  1. ;
  1. GETPARK(PSOPRK) ; Check if parking is available for the site
  1. N PSOPARST S PSOPARST="SYS^PKG"
  1. I +$G(PSOPINST) S PSOPARST=PSOPINST_";DIC(4,^"_PSOPARST ; if outpatient site related institution is defined use it in parameter check
  1. I PSOPARST="SYS^PKG" S PSOPARST="DIV^SYS^PKG"
  1. S @RESULTS@(0)=$S($$GET^XPAR(PSOPARST,"PSO PARK ON",,"E")="YES":"YES",1:"NO")
  1. Q
  1. ;
  1. SETPARK ;TURN PARK A PRESCRIPTION ON OR OFF
  1. D EDITPAR^XPAREDIT("PSO PARK ON")
  1. Q
  1. ;
  1. PARK ;
  1. ;
  1. S PSODA=$O(^PSRX("APL",+P1,""))
  1. I PSODA D PARK^PSOPRKA(PSODA)
  1. K PSODA
  1. Q
  1. ;
  1. UNPARK ;
  1. ;
  1. S PSODA=$O(^PSRX("APL",+P1,"")) I PSODA="" Q
  1. D UNPARK^PSOPRKA(PSODA,+P3,.ERRMSG)
  1. I $G(ERRMSG(1))'="" S @RESULTS@(0)=ERRMSG(1)
  1. K ERRMSG,PSODA
  1. Q
  1. ;
  1. PARKDRG ; Check if drug is marked as not parkable (new CPRS order)
  1. S @RESULTS@(0)=1
  1. I '$G(P1) Q
  1. I ($P($G(^PSDRUG(P1,0)),"^",3)["D")!($P($G(^PSDRUG(P1,0)),"^",1)["CLOZAPINE") S @RESULTS@(0)="0^Drug is defined as not parkable"
  1. ;I $P($G(^PSDRUG(P1,0)),"^",1)["CLOZAPINE" S @RESULTS@(0)="0^"_$P($G(^PSDRUG(P1,0)),"^",1)_" is not a parkable medication"
  1. ;B Q
  1. Q
  1. ;
  1. PARKORD ; Check if drug belonging to order# is marked as not parkable (CPRS renewal)
  1. S @RESULTS@(0)=1
  1. I '$G(P1) Q
  1. N DRUG
  1. S PSODA=$O(^PSRX("APL",+P1,"")) I PSODA="" Q
  1. S DRUG=$P($G(^PSRX(PSODA,0)),"^",6) I 'DRUG Q
  1. I ($P($G(^PSDRUG(DRUG,0)),"^",3)["D")!($P($G(^PSDRUG(DRUG,0)),"^",1)["CLOZAPINE") S @RESULTS@(0)="0^Drug is defined as not parkable"
  1. Q
  1. ;
  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1. ;
  1. ;NAME: PSORPC TAG: RPC
  1. ; ROUTINE: PSORPC01 RETURN VALUE TYPE: GLOBAL ARRAY
  1. ; AVAILABILITY: PUBLIC INACTIVE: ACTIVE
  1. ; VERSION: 1
  1. ;INPUT PARAMETER: OPTION PARAMETER TYPE: LITERAL
  1. ; MAXIMUM DATA LENGTH: 8 REQUIRED: YES
  1. ; SEQUENCE NUMBER: 1
  1. ;
  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;