77 lines
2.2 KiB
Mathematica
77 lines
2.2 KiB
Mathematica
DGENUPA ;ALB/CJM - API FOR UPLOAD AUDIT ; 04-APR-94
|
|
;;5.3;REGISTRATION;**147**;08/13/93
|
|
;
|
|
STORE(AUDIT,ERROR) ;
|
|
;Description: Creates a new entry in the ENROLLMENT/ELIGIBILITY UPLOAD
|
|
;AUDIT file (#27.14).
|
|
;
|
|
;INPUT:
|
|
; AUDIT: an array containing the record to be stored. (pass by reference)
|
|
;Output:
|
|
; Function Value: the ien of the entry created, or 0 on failure
|
|
; ERROR: on failure, will return an error message (optional) (pass by reference)
|
|
;
|
|
N DATA,ADD
|
|
S ADD=$$CHECK(.AUDIT,.ERROR)
|
|
I 'ADD G STEXIT
|
|
S DATA(.01)=AUDIT("MSGID")
|
|
S DATA(.02)=AUDIT("DATETIME")
|
|
S DATA(.03)=AUDIT("DFN")
|
|
S DATA(1)="AUDIT(""CHANGES"")"
|
|
S ADD=$$ADD^DGENDBS(27.14,,.DATA,.ERROR)
|
|
;
|
|
STEXIT ;
|
|
Q +ADD
|
|
;
|
|
CREATE(DFN,WHEN,MSGID,AUDIT) ;
|
|
;Description: Creates an array containing the AUDIT object. There are
|
|
;no changes initially in the AUDIT object.
|
|
;
|
|
;Input:
|
|
; DFN - ien of record in the PATIENT file
|
|
; WHEN - date & time when the upload occurred (uses current date/time if not provided)
|
|
K AUDIT
|
|
S AUDIT("DFN")=$G(DFN)
|
|
I '$G(WHEN) S WHEN=$$NOW^XLFDT
|
|
S AUDIT("DATETIME")=$G(WHEN)
|
|
S AUDIT("MSGID")=$G(MSGID)
|
|
D ADDCHNG(.AUDIT,">>No Change <<")
|
|
S AUDIT("CHANGES")=0
|
|
Q
|
|
;
|
|
CHECK(AUDIT,ERROR) ;
|
|
;Description: checks the validity of the AUDIT object
|
|
;
|
|
;Input:
|
|
; AUDIT - an array containing the AUDIT object (pass by reference)
|
|
;
|
|
;Output:
|
|
; Function Value - 1 if valid, 0 otherwise
|
|
; ERROR - if not valid, returns an error message (optional) (pass by reference)
|
|
;
|
|
N OK
|
|
S OK=1
|
|
I '$G(AUDIT("DFN")) S OK=0,ERROR="NO PATIENT"
|
|
I OK,'$D(^DPT(AUDIT("DFN"))) S OK=0,ERROR="PATIENT NOT FOUND"
|
|
I OK,'$D(AUDIT("DATETIME")) S OK=0,ERROR="DATE/TIME OF UPLOAD NOT SPECIFIED"
|
|
I OK,'$D(AUDIT("MSGID")) S OK=0,ERROR="MESSAGE ID NOT SPECIFIED"
|
|
Q OK
|
|
;
|
|
ADDCHNG(AUDIT,LINE) ;
|
|
;Description: Adds one line to the record of changes from an upload.
|
|
;
|
|
;Input:
|
|
; AUDIT - an array containing the AUDIT object. (pass by reference)
|
|
; LINE - the line to be added
|
|
;
|
|
;Output:
|
|
; AUDIT - the updated array containing the AUDIT object (pass by reference)
|
|
;
|
|
S AUDIT("CHANGES")=1+$G(AUDIT("CHANGES"))
|
|
S AUDIT("CHANGES",AUDIT("CHANGES"))=$G(LINE)
|
|
Q
|
|
AUDITID(IEN) ;
|
|
W "DT/TM UPLOADED: "_$P(^DGENA(27.14,IEN,0),"^",2)
|
|
W " MSG ID: "_$P(^DGENA(27.14,IEN,0),"^",2)
|
|
Q
|