Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: DGQEHLL

DGQEHLL.m

Go to the documentation of this file.
  1. DGQEHLL ;ALB/RPM - VIC REPLACEMENT VIC HL7 TRAN LOG FILE ACCESS API'S ; 12/09/03
  1. ;;5.3;Registration;**571,1015**;Aug 13, 1993;Build 21
  1. ;
  1. ; This routine contains the functions and procedures used to access
  1. ; and manipulate the VIC HL7 TRANSMISSION LOG (#39.7) file.
  1. ;
  1. ; $$FINDMID - locate transmission record for a given HL7 message ID
  1. ; $$FINDLST - locate last transmission record for a given request
  1. ; $$GETLOG - retrieve a single VIC HL7 TRANSMISSION LOG record
  1. ; STOXMIT - store a new VIC HL7 TRANSMISSION LOG record
  1. ; STOACK - store acknowledgment status and date
  1. ; $$DELXMIT - delete a single VIC HL7 TRANSMISSION LOG record
  1. ;
  1. Q ;no direct entry
  1. ;
  1. FINDMID(DGMID) ;locate record for a given HL7 message ID
  1. ; This function performs a lookup of the VIC HL7 TRANSMISSION LOG
  1. ; (#39.7) file for a given HL7 Message ID.
  1. ;
  1. ; Input:
  1. ; DGMID - HL7 message ID
  1. ;
  1. ; Output:
  1. ; Function value - IEN of VIC HL7 TRANSMISSION LOG (#39.7) on success;
  1. ; 0 on failure
  1. ;
  1. S DGMID=+$G(DGMID)
  1. Q +$O(^DGQE(39.7,"B",DGMID,""))
  1. ;
  1. ;
  1. FINDLST(DGREQ) ;locate the last transmission record for a given request
  1. ;
  1. ; Input:
  1. ; DGIEN - pointer to VIC REQUEST (#39.6) file
  1. ;
  1. ; Output:
  1. ; Function value - IEN of VIC HL7 TRANSMISSION LOG (#39.7) on success,
  1. ; 0 on failure
  1. ;
  1. N DGDAT
  1. ;
  1. S DGDAT=+$O(^DGQE(39.7,"ADATE",DGREQ,""),-1)
  1. Q +$O(^DGQE(39.7,"ADATE",DGREQ,DGDAT,0))
  1. ;
  1. ;
  1. GETLOG(DGIEN,DGLOG) ;retrieve a single record
  1. ; This function retrieves all fields belonging to a single record
  1. ; in the VIC HL7 TRANSMISSION LOG (#39.7) file for a given IEN.
  1. ; The field data is placed in an array format.
  1. ;
  1. ; Input:
  1. ; DGIEN - VIC HL7 TRANSMISSION LOG (#39.7) file record number
  1. ;
  1. ; Output:
  1. ; Function value - 1 on success, 0 on failure
  1. ; DGLOG - array of field data
  1. ; Array subscripts are:
  1. ; "HLMID" - HL7 Message ID
  1. ; "REQIEN" - pointer to request in VIC REQUEST (#39.6) file
  1. ; "XMITDT" - HL7 Transmission date/time
  1. ; "XMSTAT" - Transmission status
  1. ; "ACKDT" - ACK received date/time
  1. ;
  1. N DGERR ;FM result error message
  1. N DGFIL ;FM file number
  1. N DGFLD ;FM result field array
  1. N DGIENS ;FM IENS value
  1. N DGRSLT ;function value
  1. ;
  1. S DGRSLT=0
  1. S DGFIL=39.7
  1. ;
  1. I $G(DGIEN),$D(^DGQE(DGFIL,DGIEN)) D
  1. . S DGIENS=DGIEN_","
  1. . D GETS^DIQ(DGFIL,DGIENS,"*","I","DGFLD","DGERR")
  1. . Q:$D(DGERR)
  1. . S DGLOG("HLMID")=$G(DGFLD(DGFIL,DGIENS,.01,"I"))
  1. . S DGLOG("REQIEN")=$G(DGFLD(DGFIL,DGIENS,.02,"I"))
  1. . S DGLOG("XMITDT")=$G(DGFLD(DGFIL,DGIENS,.03,"I"))
  1. . S DGLOG("XMSTAT")=$G(DGFLD(DGFIL,DGIENS,.04,"I"))
  1. . S DGLOG("ACKDT")=$G(DGFLD(DGFIL,DGIENS,.05,"I"))
  1. . S DGRSLT=1 ;success
  1. ;
  1. Q DGRSLT
  1. ;
  1. ;
  1. STOXMIT(DGMID,DGRIEN) ;create a transmit record
  1. ; This procedure creates a record in the VIC HL7 TRANSMISSION LOG
  1. ; (#39.7) file.
  1. ;
  1. ; Input:
  1. ; DGMID - HL7 Message Control ID
  1. ; DGRIEN - IEN of record in VIC REQUEST (#39.6) file
  1. ;
  1. ; Output:
  1. ; none
  1. ;
  1. N DGERR
  1. N DGFDA
  1. N DGFIL
  1. N DGIEN
  1. N DGIENS
  1. ;
  1. ;validate input params
  1. Q:$G(DGMID)'>0
  1. Q:'$G(DGRIEN)
  1. Q:'$D(^DGQE(39.6,DGRIEN))
  1. ;
  1. S DGFIL=39.7
  1. S DGIEN=$$FINDMID(DGMID)
  1. S DGIENS=$S('DGIEN:"+1,",1:DGIEN_",")
  1. ;
  1. S DGFDA(DGFIL,DGIENS,.01)=DGMID
  1. S DGFDA(DGFIL,DGIENS,.02)=DGRIEN
  1. S DGFDA(DGFIL,DGIENS,.03)=$$NOW^XLFDT()
  1. S DGFDA(DGFIL,DGIENS,.04)="T" ;transmitted
  1. D UPDATE^DIE("","DGFDA","","DGERR")
  1. ;
  1. Q
  1. ;
  1. ;
  1. STOACK(DGIEN,DGSTAT) ;update STATUS
  1. ; This procedure updates the STATUS (#.04) field of the VIC HL7
  1. ; TRANSMISSION LOG (#39.7) file
  1. ;
  1. ; Input:
  1. ; DGIEN - IEN of record in VIC HL7 TRANSMISSION LOG (#39.7) file
  1. ; DGSTAT - transmission status ("A":Accepted,"RJ":Rejected)
  1. ;
  1. ; Output:
  1. ; none
  1. ;
  1. N DGERR
  1. N DGFDA
  1. N DGIENS
  1. ;
  1. ;validate input params
  1. Q:'$G(DGIEN)
  1. Q:$G(DGSTAT)']""
  1. Q:$$EXTERNAL^DILFD(39.7,.04,"F",DGSTAT,"")']""
  1. ;
  1. S DGIENS=DGIEN_","
  1. S DGFDA(39.7,DGIENS,.04)=DGSTAT
  1. S DGFDA(39.7,DGIENS,.05)=$$NOW^XLFDT()
  1. D FILE^DIE("","DGFDA","DGERR")
  1. Q
  1. ;
  1. ;
  1. DELXMIT(DGIEN) ;delete a single VIC HL7 TRANSMISSION LOG record
  1. ;
  1. ; Input:
  1. ; DGIEN - IEN of record in VIC HL7 TRANSMISSION LOG (#39.7) file
  1. ;
  1. ; Output:
  1. ; Function value - 1 on success, 0 on failure
  1. ;
  1. N DGERR
  1. N DGFDA
  1. N DGRSLT ;function value
  1. ;
  1. S DGRSLT=0
  1. I $G(DGIEN) D
  1. . S DGFDA(39.7,DGIEN_",",.01)="@"
  1. . D FILE^DIE("","DGFDA","DGERR")
  1. . Q:$D(DGERR)
  1. . S DGRSLT=1 ;success
  1. ;
  1. Q DGRSLT