- DGENUPA ;ALB/CJM - API FOR UPLOAD AUDIT ; 04-APR-94
- ;;5.3;REGISTRATION;**147,1015**;08/13/93;Build 21
- ;
- 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
- DGENUPA ;ALB/CJM - API FOR UPLOAD AUDIT ; 04-APR-94
- +1 ;;5.3;REGISTRATION;**147,1015**;08/13/93;Build 21
- +2 ;
- STORE(AUDIT,ERROR) ;
- +1 ;Description: Creates a new entry in the ENROLLMENT/ELIGIBILITY UPLOAD
- +2 ;AUDIT file (#27.14).
- +3 ;
- +4 ;INPUT:
- +5 ; AUDIT: an array containing the record to be stored. (pass by reference)
- +6 ;Output:
- +7 ; Function Value: the ien of the entry created, or 0 on failure
- +8 ; ERROR: on failure, will return an error message (optional) (pass by reference)
- +9 ;
- +10 NEW DATA,ADD
- +11 SET ADD=$$CHECK(.AUDIT,.ERROR)
- +12 IF 'ADD
- GOTO STEXIT
- +13 SET DATA(.01)=AUDIT("MSGID")
- +14 SET DATA(.02)=AUDIT("DATETIME")
- +15 SET DATA(.03)=AUDIT("DFN")
- +16 SET DATA(1)="AUDIT(""CHANGES"")"
- +17 SET ADD=$$ADD^DGENDBS(27.14,,.DATA,.ERROR)
- +18 ;
- STEXIT ;
- +1 QUIT +ADD
- +2 ;
- CREATE(DFN,WHEN,MSGID,AUDIT) ;
- +1 ;Description: Creates an array containing the AUDIT object. There are
- +2 ;no changes initially in the AUDIT object.
- +3 ;
- +4 ;Input:
- +5 ; DFN - ien of record in the PATIENT file
- +6 ; WHEN - date & time when the upload occurred (uses current date/time if not provided)
- +7 KILL AUDIT
- +8 SET AUDIT("DFN")=$GET(DFN)
- +9 IF '$GET(WHEN)
- SET WHEN=$$NOW^XLFDT
- +10 SET AUDIT("DATETIME")=$GET(WHEN)
- +11 SET AUDIT("MSGID")=$GET(MSGID)
- +12 DO ADDCHNG(.AUDIT,">>No Change <<")
- +13 SET AUDIT("CHANGES")=0
- +14 QUIT
- +15 ;
- CHECK(AUDIT,ERROR) ;
- +1 ;Description: checks the validity of the AUDIT object
- +2 ;
- +3 ;Input:
- +4 ; AUDIT - an array containing the AUDIT object (pass by reference)
- +5 ;
- +6 ;Output:
- +7 ; Function Value - 1 if valid, 0 otherwise
- +8 ; ERROR - if not valid, returns an error message (optional) (pass by reference)
- +9 ;
- +10 NEW OK
- +11 SET OK=1
- +12 IF '$GET(AUDIT("DFN"))
- SET OK=0
- SET ERROR="NO PATIENT"
- +13 IF OK
- IF '$DATA(^DPT(AUDIT("DFN")))
- SET OK=0
- SET ERROR="PATIENT NOT FOUND"
- +14 IF OK
- IF '$DATA(AUDIT("DATETIME"))
- SET OK=0
- SET ERROR="DATE/TIME OF UPLOAD NOT SPECIFIED"
- +15 IF OK
- IF '$DATA(AUDIT("MSGID"))
- SET OK=0
- SET ERROR="MESSAGE ID NOT SPECIFIED"
- +16 QUIT OK
- +17 ;
- ADDCHNG(AUDIT,LINE) ;
- +1 ;Description: Adds one line to the record of changes from an upload.
- +2 ;
- +3 ;Input:
- +4 ; AUDIT - an array containing the AUDIT object. (pass by reference)
- +5 ; LINE - the line to be added
- +6 ;
- +7 ;Output:
- +8 ; AUDIT - the updated array containing the AUDIT object (pass by reference)
- +9 ;
- +10 SET AUDIT("CHANGES")=1+$GET(AUDIT("CHANGES"))
- +11 SET AUDIT("CHANGES",AUDIT("CHANGES"))=$GET(LINE)
- +12 QUIT
- AUDITID(IEN) ;
- +1 WRITE "DT/TM UPLOADED: "_$PIECE(^DGENA(27.14,IEN,0),"^",2)
- +2 WRITE " MSG ID: "_$PIECE(^DGENA(27.14,IEN,0),"^",2)
- +3 QUIT