| 1 | ACKQPCE3 ;HCIOFO/AG - Quasar/PCE Interface; August 1999.
 | 
|---|
| 2 |  ;;3.0;QUASAR;;Feb 11, 2000
 | 
|---|
| 3 |  ;;
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 | KILLPCE(ACKVIEN) ; kill a visit from PCE 
 | 
|---|
| 6 |  ; see KILLPCE^ACKQPCE for comments. this routine should not be
 | 
|---|
| 7 |  ; called directly, only from ^ACKQPCE (this routine assumes that
 | 
|---|
| 8 |  ; ACKVIEN exists).
 | 
|---|
| 9 |  N ACKDEAD,ACKLOCK,ACKPCE,ACKE,ACKARR,ACKMSG,ACKRSN
 | 
|---|
| 10 |  S ACKDEAD=1,ACKLOCK=0
 | 
|---|
| 11 |  ;
 | 
|---|
| 12 |  ; get the PCE VISIT IEN from the visit file
 | 
|---|
| 13 |  S ACKPCE=$$GET1^DIQ(509850.6,ACKVIEN_",",125,"I")
 | 
|---|
| 14 |  ;
 | 
|---|
| 15 |  ; if no PCE Visit Ien then nothing to do.
 | 
|---|
| 16 |  I 'ACKPCE G KILLPCEX
 | 
|---|
| 17 |  ;
 | 
|---|
| 18 |  ; lock the visit
 | 
|---|
| 19 |  L +^ACK(509850.6,ACKVIEN):0 I $T S ACKLOCK=1
 | 
|---|
| 20 |  ;
 | 
|---|
| 21 |  ; clear any existing PCE Errors for this visit
 | 
|---|
| 22 |  D CLEAR^ACKQPCE(ACKVIEN)
 | 
|---|
| 23 |  ;
 | 
|---|
| 24 |  ; call PCE to delete the visit
 | 
|---|
| 25 |  S ACKE=$$DELVFILE^PXAPI("ALL",ACKPCE,"","",0,0,"")
 | 
|---|
| 26 |  ;
 | 
|---|
| 27 |  ; if deletion not completed then record error and set flag
 | 
|---|
| 28 |  I ACKE'=1 D
 | 
|---|
| 29 |  . K ACKRSN S ACKRSN=0
 | 
|---|
| 30 |  . S ACKMSG="Unable to Delete PCE Visit (error code="_ACKE_")"
 | 
|---|
| 31 |  . D ADDRSN^ACKQPCE2("PCE VISIT",ACKPCE,"",ACKMSG,.ACKRSN)
 | 
|---|
| 32 |  . D FILERSN^ACKQPCE(ACKVIEN,.ACKRSN)
 | 
|---|
| 33 |  .  ; file last edited in Quasar date to create exception entry
 | 
|---|
| 34 |  . K ACKARR D NOW^%DTC
 | 
|---|
| 35 |  . S ACKARR(509850.6,ACKVIEN_",",140)=%
 | 
|---|
| 36 |  . D FILE^DIE("","ACKARR","")
 | 
|---|
| 37 |  . S ACKDEAD=0
 | 
|---|
| 38 |  ;
 | 
|---|
| 39 |  ; if deleted ok then update fields and set flag
 | 
|---|
| 40 |  I ACKE=1 D
 | 
|---|
| 41 |  . K ACKARR D NOW^%DTC
 | 
|---|
| 42 |  . S ACKARR(509850.6,ACKVIEN_",",125)="@"  ; remove PCE Visit ien
 | 
|---|
| 43 |  . S ACKARR(509850.6,ACKVIEN_",",135)=%    ; last sent to pce
 | 
|---|
| 44 |  . D FILE^DIE("","ACKARR","")
 | 
|---|
| 45 |  . S ACKDEAD=1
 | 
|---|
| 46 |  ;
 | 
|---|
| 47 | KILLPCEX ; exit point from KILLPCE
 | 
|---|
| 48 |  ;
 | 
|---|
| 49 |  ; if visit was locked then unlock it
 | 
|---|
| 50 |  I ACKLOCK L -^ACK(509850.6,ACKVIEN)
 | 
|---|
| 51 |  ;
 | 
|---|
| 52 |  ; return whether the PCe visit was killed
 | 
|---|
| 53 |  Q ACKDEAD
 | 
|---|
| 54 |  ;
 | 
|---|