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

PSODI.m

Go to the documentation of this file.
  1. PSODI ;BHM/AGV - API FOR FILEMAN CALLS ;04/19/06 10:30 am
  1. ;;7.0;OUTPATIENT PHARMACY;**245,267**;DEC 1997;Build 3
  1. ;
  1. DIQ(PSOFILE,DIC,DR,DA,DIQ) ;PROCESS FIELDS
  1. ;PSOFILE: FILE NUMBER USED FOR VALIDATION OF ACCESS
  1. ;DIC,DR,DA,DIQ: SEE VA FILEMAN PROGRAMMER MANUAL FOR EN^DIQ1 INPUT DEFINITIONS
  1. ;
  1. S PSODIY=""
  1. I +$G(PSOFILE)'>0 S PSODIY=-1 Q
  1. N PSOTEST S PSOTEST=$$VALID1(PSOFILE,DIC)
  1. I PSOTEST'>0 S PSODIY=-1 Q
  1. D EN^DIQ1
  1. Q
  1. ;
  1. GET1(PSOFILE,PSOIEN,PSOFIELD,PSOFLAGS,PSOWORD) ;RETRIEVE FIELD DATA
  1. ;PSOFILE: FILE OR SUBFILE NUMBER
  1. ;PSOIEN: IEN FOR DATA RETURN
  1. ;PSOFIELD: FIELD FOR DATA RETURN
  1. ;FLAGS: CONTROLS THE PROCESSING OF DATA RETURNED
  1. ;PSOWORD: REQUIRED FOR RETURN OF WORD PROCESSING FIELDS
  1. ;
  1. N PSORET,DIERR,DIRUT,DIROUT,DUOUT,DTOUT,DIHELP,DIMSG
  1. I $G(PSOFILE)="" S PSORET="0^FILEMAN UNABLE TO PROCESS REQUEST" Q PSORET
  1. I $G(PSOIEN)="" S PSOIEN=""
  1. I $G(PSOFIELD)="" S PSOFIELD=""
  1. I $G(PSOFLAGS)="" S PSOFLAGS=""
  1. I $G(PSOWORD)="" S PSOWORD=""
  1. N PSOTEST S PSOTEST=$$VALID3(PSOFILE)
  1. I PSOTEST'>0 S PSORET="0^FILE ACCESS ERROR" Q PSORET
  1. S PSORET=$$GET1^DIQ(PSOFILE,PSOIEN,PSOFIELD,PSOFLAGS,PSOWORD,"DIERR")
  1. I $D(DIERR) S PSORET="0^FILEMAN UNABLE TO PROCESS REQUEST" Q PSORET
  1. Q "1^"_PSORET
  1. ;
  1. STATUS(PSOFILE,PSOFIELD,LIST) ;PROCESS FIELDS
  1. ;PSOFILE: FILE NUMBER USED FOR VALIDATION OF ACCESS
  1. ;PSOFIELD: FIELD NUMBER FROM FILE
  1. ;LIST: SUBSCRIPT USED IN LOCAL ARRAY
  1. ;
  1. Q:'$G(PSOFILE) Q:'$G(PSOFIELD) Q:$G(LIST)=""
  1. S PSODIY=""
  1. N PSOTEST S PSOTEST=$$VALID2(PSOFILE,PSOFIELD)
  1. I PSOTEST'>0 S PSODIY=-1 Q
  1. D FIELD^DID(PSOFILE,PSOFIELD,"","POINTER",LIST)
  1. Q
  1. ;
  1. DIC(PSOFILE,DIC,X) ;
  1. ;PSOFILE: FILE NUMBER USED FOR VALIDATION OF ACCESS
  1. ;DIC,X: SEE VA FILEMAN PROGRAMMER MANUAL FOR ^DIC INPUT DEFINITIONS
  1. ;
  1. S PSODIY=""
  1. I +$G(PSOFILE)'>0 S PSODIY=-1 Q
  1. N PSOTEST S PSOTEST=$$VALID1(PSOFILE,DIC)
  1. I PSOTEST'>0 S PSODIY=-1 Q
  1. I $G(DIC(0))'="" S DIC(0)=$TR(DIC(0),"L","") I $G(DIC(0))="" S PSODIY=-1 Q
  1. D ^DIC
  1. Q
  1. ;
  1. VALID1(PSTFILE,PSTDIC) ;TEST FOR VALID DATA INPUT INTO PSOFILE AND DIC
  1. N PSVLOOP,PSVTEST,PSVALID S PSVALID=-1
  1. F PSVLOOP=1:1 S PSVTEST=$P($T(FILE1+PSVLOOP),";;",2)_";;"_$P($T(FILE1+PSVLOOP),";;",3) Q:$G(PSVTEST)'>0!(PSVALID=1) D
  1. .I PSTFILE=$P(PSVTEST,";;",1) D Q
  1. ..I '$G(PSTDIC) D Q
  1. ...I PSTDIC=$P(PSVTEST,";;",2) S PSVALID=1
  1. ..I PSTDIC=$P(PSVTEST,";;",1) S PSVALID=1
  1. Q PSVALID
  1. ;
  1. VALID2(PSTFILE,PSTFIELD) ;TEST FOR VALID DATA INPUT INTO PSOFILE AND PSOFIELD
  1. N PSVLOOP,PSVTEST,PSVALID S PSVALID=-1
  1. F PSVLOOP=1:1 S PSVTEST=$P($T(FILE2+PSVLOOP),";;",2)_";;"_$P($T(FILE2+PSVLOOP),";;",3) Q:$G(PSVTEST)'>0!(PSVALID=1) D
  1. .I PSTFILE=$P(PSVTEST,";;",1) D Q
  1. ..I PSTFIELD=$P(PSVTEST,";;",2) S PSVALID=1
  1. Q PSVALID
  1. ;
  1. VALID3(PSTFILE) ;TEST FOR VALID DATA INPUT INTO PSOFILE
  1. N PSVLOOP,PSVTEST,PSVALID S PSVALID=-1
  1. F PSVLOOP=1:1 S PSVTEST=$P($T(FILE3+PSVLOOP),";;",2) Q:$G(PSVTEST)'>0!(PSVALID=1) D
  1. .I PSTFILE=PSVTEST S PSVALID=1
  1. Q PSVALID
  1. ;
  1. FILE1 ;ACCESS FILE LIST FOR DIQ AND DIC
  1. ;;52;;^PSRX(
  1. ;;59;;^PS(59,
  1. Q
  1. ;
  1. FILE2 ;ACCESS FILE LIST FOR STATUS
  1. ;;52;;100
  1. Q
  1. ;
  1. FILE3 ;ACCESS FILE LIST FOR GET1
  1. ;;52
  1. ;;52.04
  1. ;;52.032
  1. ;;52.03
  1. ;;52.037
  1. ;;52.038
  1. ;;52.3
  1. ;;52.34
  1. ;;52.1
  1. ;;52.25
  1. ;;52.2
  1. ;;52.0107
  1. ;;52.0113
  1. ;;52.01
  1. ;;52.0401
  1. ;;52.052311
  1. Q