| 1 | PSODI ;BHM/AGV - API FOR FILEMAN CALLS ;04/19/06 10:30 am
|
---|
| 2 | ;;7.0;OUTPATIENT PHARMACY;**245,267**;DEC 1997;Build 3
|
---|
| 3 | ;
|
---|
| 4 | DIQ(PSOFILE,DIC,DR,DA,DIQ) ;PROCESS FIELDS
|
---|
| 5 | ;PSOFILE: FILE NUMBER USED FOR VALIDATION OF ACCESS
|
---|
| 6 | ;DIC,DR,DA,DIQ: SEE VA FILEMAN PROGRAMMER MANUAL FOR EN^DIQ1 INPUT DEFINITIONS
|
---|
| 7 | ;
|
---|
| 8 | S PSODIY=""
|
---|
| 9 | I +$G(PSOFILE)'>0 S PSODIY=-1 Q
|
---|
| 10 | N PSOTEST S PSOTEST=$$VALID1(PSOFILE,DIC)
|
---|
| 11 | I PSOTEST'>0 S PSODIY=-1 Q
|
---|
| 12 | D EN^DIQ1
|
---|
| 13 | Q
|
---|
| 14 | ;
|
---|
| 15 | GET1(PSOFILE,PSOIEN,PSOFIELD,PSOFLAGS,PSOWORD) ;RETRIEVE FIELD DATA
|
---|
| 16 | ;PSOFILE: FILE OR SUBFILE NUMBER
|
---|
| 17 | ;PSOIEN: IEN FOR DATA RETURN
|
---|
| 18 | ;PSOFIELD: FIELD FOR DATA RETURN
|
---|
| 19 | ;FLAGS: CONTROLS THE PROCESSING OF DATA RETURNED
|
---|
| 20 | ;PSOWORD: REQUIRED FOR RETURN OF WORD PROCESSING FIELDS
|
---|
| 21 | ;
|
---|
| 22 | N PSORET,DIERR,DIRUT,DIROUT,DUOUT,DTOUT,DIHELP,DIMSG
|
---|
| 23 | I $G(PSOFILE)="" S PSORET="0^FILEMAN UNABLE TO PROCESS REQUEST" Q PSORET
|
---|
| 24 | I $G(PSOIEN)="" S PSOIEN=""
|
---|
| 25 | I $G(PSOFIELD)="" S PSOFIELD=""
|
---|
| 26 | I $G(PSOFLAGS)="" S PSOFLAGS=""
|
---|
| 27 | I $G(PSOWORD)="" S PSOWORD=""
|
---|
| 28 | N PSOTEST S PSOTEST=$$VALID3(PSOFILE)
|
---|
| 29 | I PSOTEST'>0 S PSORET="0^FILE ACCESS ERROR" Q PSORET
|
---|
| 30 | S PSORET=$$GET1^DIQ(PSOFILE,PSOIEN,PSOFIELD,PSOFLAGS,PSOWORD,"DIERR")
|
---|
| 31 | I $D(DIERR) S PSORET="0^FILEMAN UNABLE TO PROCESS REQUEST" Q PSORET
|
---|
| 32 | Q "1^"_PSORET
|
---|
| 33 | ;
|
---|
| 34 | STATUS(PSOFILE,PSOFIELD,LIST) ;PROCESS FIELDS
|
---|
| 35 | ;PSOFILE: FILE NUMBER USED FOR VALIDATION OF ACCESS
|
---|
| 36 | ;PSOFIELD: FIELD NUMBER FROM FILE
|
---|
| 37 | ;LIST: SUBSCRIPT USED IN LOCAL ARRAY
|
---|
| 38 | ;
|
---|
| 39 | Q:'$G(PSOFILE) Q:'$G(PSOFIELD) Q:$G(LIST)=""
|
---|
| 40 | S PSODIY=""
|
---|
| 41 | N PSOTEST S PSOTEST=$$VALID2(PSOFILE,PSOFIELD)
|
---|
| 42 | I PSOTEST'>0 S PSODIY=-1 Q
|
---|
| 43 | D FIELD^DID(PSOFILE,PSOFIELD,"","POINTER",LIST)
|
---|
| 44 | Q
|
---|
| 45 | ;
|
---|
| 46 | DIC(PSOFILE,DIC,X) ;
|
---|
| 47 | ;PSOFILE: FILE NUMBER USED FOR VALIDATION OF ACCESS
|
---|
| 48 | ;DIC,X: SEE VA FILEMAN PROGRAMMER MANUAL FOR ^DIC INPUT DEFINITIONS
|
---|
| 49 | ;
|
---|
| 50 | S PSODIY=""
|
---|
| 51 | I +$G(PSOFILE)'>0 S PSODIY=-1 Q
|
---|
| 52 | N PSOTEST S PSOTEST=$$VALID1(PSOFILE,DIC)
|
---|
| 53 | I PSOTEST'>0 S PSODIY=-1 Q
|
---|
| 54 | I $G(DIC(0))'="" S DIC(0)=$TR(DIC(0),"L","") I $G(DIC(0))="" S PSODIY=-1 Q
|
---|
| 55 | D ^DIC
|
---|
| 56 | Q
|
---|
| 57 | ;
|
---|
| 58 | VALID1(PSTFILE,PSTDIC) ;TEST FOR VALID DATA INPUT INTO PSOFILE AND DIC
|
---|
| 59 | N PSVLOOP,PSVTEST,PSVALID S PSVALID=-1
|
---|
| 60 | F PSVLOOP=1:1 S PSVTEST=$P($T(FILE1+PSVLOOP),";;",2)_";;"_$P($T(FILE1+PSVLOOP),";;",3) Q:$G(PSVTEST)'>0!(PSVALID=1) D
|
---|
| 61 | .I PSTFILE=$P(PSVTEST,";;",1) D Q
|
---|
| 62 | ..I '$G(PSTDIC) D Q
|
---|
| 63 | ...I PSTDIC=$P(PSVTEST,";;",2) S PSVALID=1
|
---|
| 64 | ..I PSTDIC=$P(PSVTEST,";;",1) S PSVALID=1
|
---|
| 65 | Q PSVALID
|
---|
| 66 | ;
|
---|
| 67 | VALID2(PSTFILE,PSTFIELD) ;TEST FOR VALID DATA INPUT INTO PSOFILE AND PSOFIELD
|
---|
| 68 | N PSVLOOP,PSVTEST,PSVALID S PSVALID=-1
|
---|
| 69 | F PSVLOOP=1:1 S PSVTEST=$P($T(FILE2+PSVLOOP),";;",2)_";;"_$P($T(FILE2+PSVLOOP),";;",3) Q:$G(PSVTEST)'>0!(PSVALID=1) D
|
---|
| 70 | .I PSTFILE=$P(PSVTEST,";;",1) D Q
|
---|
| 71 | ..I PSTFIELD=$P(PSVTEST,";;",2) S PSVALID=1
|
---|
| 72 | Q PSVALID
|
---|
| 73 | ;
|
---|
| 74 | VALID3(PSTFILE) ;TEST FOR VALID DATA INPUT INTO PSOFILE
|
---|
| 75 | N PSVLOOP,PSVTEST,PSVALID S PSVALID=-1
|
---|
| 76 | F PSVLOOP=1:1 S PSVTEST=$P($T(FILE3+PSVLOOP),";;",2) Q:$G(PSVTEST)'>0!(PSVALID=1) D
|
---|
| 77 | .I PSTFILE=PSVTEST S PSVALID=1
|
---|
| 78 | Q PSVALID
|
---|
| 79 | ;
|
---|
| 80 | FILE1 ;ACCESS FILE LIST FOR DIQ AND DIC
|
---|
| 81 | ;;52;;^PSRX(
|
---|
| 82 | ;;59;;^PS(59,
|
---|
| 83 | Q
|
---|
| 84 | ;
|
---|
| 85 | FILE2 ;ACCESS FILE LIST FOR STATUS
|
---|
| 86 | ;;52;;100
|
---|
| 87 | Q
|
---|
| 88 | ;
|
---|
| 89 | FILE3 ;ACCESS FILE LIST FOR GET1
|
---|
| 90 | ;;52
|
---|
| 91 | ;;52.04
|
---|
| 92 | ;;52.032
|
---|
| 93 | ;;52.03
|
---|
| 94 | ;;52.037
|
---|
| 95 | ;;52.038
|
---|
| 96 | ;;52.3
|
---|
| 97 | ;;52.34
|
---|
| 98 | ;;52.1
|
---|
| 99 | ;;52.25
|
---|
| 100 | ;;52.2
|
---|
| 101 | ;;52.0107
|
---|
| 102 | ;;52.0113
|
---|
| 103 | ;;52.01
|
---|
| 104 | ;;52.0401
|
---|
| 105 | ;;52.052311
|
---|
| 106 | Q
|
---|