[613] | 1 | DGENUPA ;ALB/CJM - API FOR UPLOAD AUDIT ; 04-APR-94
|
---|
| 2 | ;;5.3;REGISTRATION;**147**;08/13/93
|
---|
| 3 | ;
|
---|
| 4 | STORE(AUDIT,ERROR) ;
|
---|
| 5 | ;Description: Creates a new entry in the ENROLLMENT/ELIGIBILITY UPLOAD
|
---|
| 6 | ;AUDIT file (#27.14).
|
---|
| 7 | ;
|
---|
| 8 | ;INPUT:
|
---|
| 9 | ; AUDIT: an array containing the record to be stored. (pass by reference)
|
---|
| 10 | ;Output:
|
---|
| 11 | ; Function Value: the ien of the entry created, or 0 on failure
|
---|
| 12 | ; ERROR: on failure, will return an error message (optional) (pass by reference)
|
---|
| 13 | ;
|
---|
| 14 | N DATA,ADD
|
---|
| 15 | S ADD=$$CHECK(.AUDIT,.ERROR)
|
---|
| 16 | I 'ADD G STEXIT
|
---|
| 17 | S DATA(.01)=AUDIT("MSGID")
|
---|
| 18 | S DATA(.02)=AUDIT("DATETIME")
|
---|
| 19 | S DATA(.03)=AUDIT("DFN")
|
---|
| 20 | S DATA(1)="AUDIT(""CHANGES"")"
|
---|
| 21 | S ADD=$$ADD^DGENDBS(27.14,,.DATA,.ERROR)
|
---|
| 22 | ;
|
---|
| 23 | STEXIT ;
|
---|
| 24 | Q +ADD
|
---|
| 25 | ;
|
---|
| 26 | CREATE(DFN,WHEN,MSGID,AUDIT) ;
|
---|
| 27 | ;Description: Creates an array containing the AUDIT object. There are
|
---|
| 28 | ;no changes initially in the AUDIT object.
|
---|
| 29 | ;
|
---|
| 30 | ;Input:
|
---|
| 31 | ; DFN - ien of record in the PATIENT file
|
---|
| 32 | ; WHEN - date & time when the upload occurred (uses current date/time if not provided)
|
---|
| 33 | K AUDIT
|
---|
| 34 | S AUDIT("DFN")=$G(DFN)
|
---|
| 35 | I '$G(WHEN) S WHEN=$$NOW^XLFDT
|
---|
| 36 | S AUDIT("DATETIME")=$G(WHEN)
|
---|
| 37 | S AUDIT("MSGID")=$G(MSGID)
|
---|
| 38 | D ADDCHNG(.AUDIT,">>No Change <<")
|
---|
| 39 | S AUDIT("CHANGES")=0
|
---|
| 40 | Q
|
---|
| 41 | ;
|
---|
| 42 | CHECK(AUDIT,ERROR) ;
|
---|
| 43 | ;Description: checks the validity of the AUDIT object
|
---|
| 44 | ;
|
---|
| 45 | ;Input:
|
---|
| 46 | ; AUDIT - an array containing the AUDIT object (pass by reference)
|
---|
| 47 | ;
|
---|
| 48 | ;Output:
|
---|
| 49 | ; Function Value - 1 if valid, 0 otherwise
|
---|
| 50 | ; ERROR - if not valid, returns an error message (optional) (pass by reference)
|
---|
| 51 | ;
|
---|
| 52 | N OK
|
---|
| 53 | S OK=1
|
---|
| 54 | I '$G(AUDIT("DFN")) S OK=0,ERROR="NO PATIENT"
|
---|
| 55 | I OK,'$D(^DPT(AUDIT("DFN"))) S OK=0,ERROR="PATIENT NOT FOUND"
|
---|
| 56 | I OK,'$D(AUDIT("DATETIME")) S OK=0,ERROR="DATE/TIME OF UPLOAD NOT SPECIFIED"
|
---|
| 57 | I OK,'$D(AUDIT("MSGID")) S OK=0,ERROR="MESSAGE ID NOT SPECIFIED"
|
---|
| 58 | Q OK
|
---|
| 59 | ;
|
---|
| 60 | ADDCHNG(AUDIT,LINE) ;
|
---|
| 61 | ;Description: Adds one line to the record of changes from an upload.
|
---|
| 62 | ;
|
---|
| 63 | ;Input:
|
---|
| 64 | ; AUDIT - an array containing the AUDIT object. (pass by reference)
|
---|
| 65 | ; LINE - the line to be added
|
---|
| 66 | ;
|
---|
| 67 | ;Output:
|
---|
| 68 | ; AUDIT - the updated array containing the AUDIT object (pass by reference)
|
---|
| 69 | ;
|
---|
| 70 | S AUDIT("CHANGES")=1+$G(AUDIT("CHANGES"))
|
---|
| 71 | S AUDIT("CHANGES",AUDIT("CHANGES"))=$G(LINE)
|
---|
| 72 | Q
|
---|
| 73 | AUDITID(IEN) ;
|
---|
| 74 | W "DT/TM UPLOADED: "_$P(^DGENA(27.14,IEN,0),"^",2)
|
---|
| 75 | W " MSG ID: "_$P(^DGENA(27.14,IEN,0),"^",2)
|
---|
| 76 | Q
|
---|