[613] | 1 | PPPEDT14 ;ALB/JFP - EDIT FF XREF ROUTINE ;5/19/92
|
---|
| 2 | ;;V1.0;PHARMACY PRESCRIPTION PRACTICE;;APR 7,1995
|
---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | ;
|
---|
| 5 | ; These routines control the adding of foreign facility
|
---|
| 6 | ; data to the FFX file (Add Entry).
|
---|
| 7 | ;
|
---|
| 8 | ADD ; -- Adds new entry to FFX file
|
---|
| 9 | ;
|
---|
| 10 | N SNIFN,STATION,STANO,ERR,NEWENTRY,PATNAME,LOCKERR,STANAME
|
---|
| 11 | ;
|
---|
| 12 | S LOCKERR=-9004
|
---|
| 13 | S NEWENTRY=1001
|
---|
| 14 | ;
|
---|
| 15 | I $P(XQORNOD(0),"^",4)["=" D
|
---|
| 16 | . W !," - Add Entry action doesn't allow for numeric selection..."
|
---|
| 17 | ADD1 S SNIFN=$$GETINST^PPPGET3()
|
---|
| 18 | I SNIFN<0 S VALMBCK="R" Q
|
---|
| 19 | S STATION=$$GETSNIFN^PPPGET3(SNIFN,1)
|
---|
| 20 | S SNIFN=$P(STATION,"^")
|
---|
| 21 | I SNIFN=-1001 Q ; -- user abort
|
---|
| 22 | I SNIFN<0 D G ADD1
|
---|
| 23 | .W ?35,"...No entry found"
|
---|
| 24 | S STANAME=$P(STATION,"^",2)
|
---|
| 25 | S STANO=$$GETSTANO^PPPGET1(SNIFN)
|
---|
| 26 | ;
|
---|
| 27 | D PATDATA(PATDFN) S PATNAME=$G(PPPTMP(2,PATDFN,.01)) K PPPTMP
|
---|
| 28 | S ERR=$$NEWFFX(PATDFN,SNIFN,1)
|
---|
| 29 | I ERR=-1001 D Q
|
---|
| 30 | .N DIK,DA
|
---|
| 31 | .S DIK="^PPP(1020.2,"
|
---|
| 32 | .S DA=FFIFN
|
---|
| 33 | .D ^DIK
|
---|
| 34 | ;
|
---|
| 35 | I ERR<0 D Q
|
---|
| 36 | .W !,*7,"An unexpected error occurred"
|
---|
| 37 | .S TMP=$$STATUPDT^PPPMSC1(5,1)
|
---|
| 38 | .S TMP=$$LOGEVNT^PPPMSC1(ERR,"ADD_PPPEDT14",PATNAME)
|
---|
| 39 | .R !,"Press <RETURN> to continue...",TMP:DTIME
|
---|
| 40 | ;
|
---|
| 41 | I ERR=LOCKERR D
|
---|
| 42 | .W !,"File in use. Please try again later."
|
---|
| 43 | .R !,"Press <RETURN> to continue...",TMP:DTIME
|
---|
| 44 | E D
|
---|
| 45 | .S TMP=$$LOGEVNT^PPPMSC1(NEWENTRY,"ADD_PPPEDT14",PATNAME_", "_STANO)
|
---|
| 46 | .;W !,"New entry added."
|
---|
| 47 | .;R !,"Press <RETURN> to continue...",TMP:DTIME
|
---|
| 48 | D INIT^PPPEDT12
|
---|
| 49 | S VALMBCK="R"
|
---|
| 50 | K FFIFN
|
---|
| 51 | Q
|
---|
| 52 | ;
|
---|
| 53 | NEWFFX(PATDFN,SNIFN,SRC) ; Create a new FFX entry
|
---|
| 54 | ;
|
---|
| 55 | N PARMERR,FINDERR,LOCLERR,DIC,X,Y,TMP,ERR,DTOUT,DUOUT
|
---|
| 56 | ;
|
---|
| 57 | S PARMERR=-9001
|
---|
| 58 | S FINDERR=-9003
|
---|
| 59 | S LOCKERR=-9004
|
---|
| 60 | S ERR=0
|
---|
| 61 | ;
|
---|
| 62 | ; Check Input Parameters
|
---|
| 63 | ;
|
---|
| 64 | I '$D(PATDFN) Q PARMERR
|
---|
| 65 | I '$D(SNIFN) Q PARMERR
|
---|
| 66 | I '$D(SRC) Q PARMERR
|
---|
| 67 | I SRC<0!(SRC>1) Q PARMERR
|
---|
| 68 | ;
|
---|
| 69 | ; Set up FileMan For New Entry
|
---|
| 70 | ;
|
---|
| 71 | S DIC="^PPP(1020.2,"
|
---|
| 72 | S DIC(0)=""
|
---|
| 73 | S X=PATDFN
|
---|
| 74 | S DIC("DR")="1////"_SNIFN_";7////"_SRC
|
---|
| 75 | L +(^PPP(1020.2)):5
|
---|
| 76 | I '$T D
|
---|
| 77 | .S ERR=LOCKERR
|
---|
| 78 | E D
|
---|
| 79 | .K DD,DO D FILE^DICN
|
---|
| 80 | .L -(^PPP(1020.2)):5
|
---|
| 81 | ;
|
---|
| 82 | ; If the entry was added successfully, add the remaining fields
|
---|
| 83 | ;
|
---|
| 84 | I 'ERR D
|
---|
| 85 | .I $P(Y,"^",3)=1 D
|
---|
| 86 | ..S FFIFN=$P(Y,"^",1)
|
---|
| 87 | ..S TMP=$$EDTFFX^PPPEDT1(FFIFN)
|
---|
| 88 | ..I TMP<0 S ERR=TMP
|
---|
| 89 | .E S ERR=FINDERR
|
---|
| 90 | Q ERR
|
---|
| 91 | ;
|
---|
| 92 | PATDATA(PATDFN) ; Pulls data from patient file
|
---|
| 93 | ;
|
---|
| 94 | ; Note: Calling routine must kill PPPTMP
|
---|
| 95 | ;
|
---|
| 96 | N DIC,DA,DR,DIQ,DUOUT,DTOUT
|
---|
| 97 | ;
|
---|
| 98 | S DIC="^DPT(",DA=PATDFN,DR=".01",DIQ="PPPTMP" D EN^DIQ1
|
---|
| 99 | Q
|
---|
| 100 | ;
|
---|