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

DGPFHLL1.m

Go to the documentation of this file.
  1. DGPFHLL1 ;ALB/RPM - PRF HL7 EVENT LOG API'S ; 2/23/06
  1. ;;5.3;Registration;**650**;Aug 13, 1993;Build 3
  1. ;
  1. Q
  1. ;
  1. GETEVNT(DGLIEN,DGPFL) ;retrieve a given record from PRF HL7 EVENT LOG (#26.21)
  1. ;
  1. ; Input:
  1. ; DGLIEN - IEN of PRF HL7 EVENT (#26.21)
  1. ;
  1. ; Output:
  1. ; Function value - 1 on success; 0 on failure
  1. ; DGPFL - array of event data fields
  1. ; Subscript Field#
  1. ; --------- ------
  1. ; "DFN" .01
  1. ; "EDT" .02
  1. ; "STAT" .03
  1. ;
  1. N DGERR ;error array
  1. N DGFLDS ;field result array
  1. N DGIENS ;FM IENS string
  1. N DGRSLT ;function value
  1. ;
  1. S DGRSLT=0
  1. I $G(DGLIEN),$D(^DGPF(26.21,DGLIEN)) D
  1. . S DGIENS=DGLIEN_","
  1. . D GETS^DIQ(26.21,DGIENS,"**","IEZ","DGFLDS","DGERR")
  1. . Q:$D(DGERR)
  1. . S DGRSLT=1
  1. . S DGPFL("DFN")=$G(DGFLDS(26.21,DGIENS,.01,"I"))_U_$G(DGFLDS(26.21,DGIENS,.01,"E"))
  1. . S DGPFL("EDT")=$G(DGFLDS(26.21,DGIENS,.02,"I"))_U_$G(DGFLDS(26.21,DGIENS,.02,"E"))
  1. . S DGPFL("STAT")=$G(DGFLDS(26.21,DGIENS,.03,"I"))_U_$G(DGFLDS(26.21,DGIENS,.03,"E"))
  1. ;
  1. Q DGRSLT
  1. ;
  1. GETSTAT(DGDFN) ;retrieve event status for a given patient
  1. ;This function retrieves the internal value of the CURRENT STATUS
  1. ;(#.03) field in the PRF HL7 EVENT (#26.21) file and returns it as the
  1. ;function value.
  1. ;
  1. ; Input:
  1. ; DGDFN - pointer to patient in PATIENT (#2) file
  1. ;
  1. ; Output:
  1. ; Function value - returns CURRENT STATUS field value in Internal
  1. ; format on success; otherwise returns ""
  1. ;
  1. N DGERR ;DIQ error array
  1. ;
  1. Q:'+$G(DGDFN) ""
  1. Q $$GET1^DIQ(26.21,$$FNDEVNT(DGDFN)_",",.03,"I","","DGERR")
  1. ;
  1. FNDEVNT(DGDFN) ;find PRF HL7 EVENT (#26.21) file record number
  1. ;This function finds and returns the PRF HL7 EVENT (#26.21) file record
  1. ;number for a given patient.
  1. ;
  1. ; Input:
  1. ; DGDFN - pointer to patient in PATIENT (#2) file
  1. ;
  1. ; Output:
  1. ; Function value - IEN of PRF HL7 EVENT (#26.21) file on success;
  1. ; 0 on failure
  1. ;
  1. N DGIEN ;function value
  1. ;
  1. I +$G(DGDFN) D
  1. . S DGIEN=$O(^DGPF(26.21,"B",DGDFN,0))
  1. Q $S($G(DGIEN)>0:DGIEN,1:0)
  1. ;
  1. STOEVNT(DGDFN,DGSTAT,DGERR) ;store event in PRF HL7 EVENT (#26.21) file
  1. ;
  1. ; Input:
  1. ; DGDFN - (required) pointer to patient in PATIENT (#2) file
  1. ; DGSTAT - (optional) event status [default = INCOMPLETE]
  1. ; DGERR - (optional) passed by reference to hold any FM errors
  1. ;
  1. ; Output:
  1. ; DGERR - only defined when FM call fails
  1. ;
  1. N DGFDA ;FM FDA array
  1. N DGFDAIEN ;UPDATE^DIE result
  1. N DGLIEN ;PRF HL7 EVENT (#26.21) file IEN
  1. N DGRSLT ;CHK^DIE result
  1. ;
  1. S DGSTAT=$S($G(DGSTAT)]"":DGSTAT,1:"I")
  1. I $G(DGDFN),$D(^DPT(DGDFN,0)) D
  1. . S DGLIEN=$$FNDEVNT(DGDFN)
  1. . D CHK^DIE(26.21,.03,,DGSTAT,.DGRSLT,"DGERR")
  1. . Q:$D(DGERR)
  1. . I DGLIEN D
  1. . . S DGFDA(26.21,DGLIEN_",",.03)=DGSTAT
  1. . . D FILE^DIE("","DGFDA","DGERR")
  1. . E D
  1. . . S DGFDA(26.21,"+1,",.01)=DGDFN
  1. . . S DGFDA(26.21,"+1,",.02)=$$NOW^XLFDT()
  1. . . S DGFDA(26.21,"+1,",.03)=DGSTAT
  1. . . D UPDATE^DIE("","DGFDA","DGFDAIEN","DGERR")
  1. ;
  1. Q
  1. ;
  1. LOCK(DGIEN) ;lock HL7 event record
  1. ;This function locks a single PRF HL7 EVENT (#26.21) file record
  1. ;to prevent more than one PRF query being run at a time.
  1. ;
  1. ; Input:
  1. ; DGIEN - IEN of PRF HL7 EVENT (#26.21) file record
  1. ;
  1. ; Output:
  1. ; Function value - 1 on success; 0 on failure
  1. ;
  1. I $G(DGIEN) L +^DGPF(26.21,DGIEN):2
  1. ;
  1. Q $T
  1. ;
  1. UNLOCK(DGIEN) ;unlock HL7 event record
  1. ;This procedure releases a lock on a PRF HL7 EVENT (#26.21) file record
  1. ;created by $$LOCK.
  1. ;
  1. ; Input:
  1. ; DGIEN - IEN of PRF HL7 EVENT (#26.21) file record
  1. ;
  1. ; Output:
  1. ;
  1. I $G(DGIEN) L -^DGPF(26.21,DGIEN)
  1. Q
  1. ;
  1. ISINCOMP(DGIEN) ;is the HL7 event status INCOMPLETE?
  1. ;
  1. ; Input:
  1. ; DGIEN - IEN of PRF HL7 EVENT (#26.21) file record
  1. ;
  1. ; Output:
  1. ; Function value - return "1" when status is INCOMPLETE;
  1. ; otherwise return "0".
  1. ;
  1. Q $D(^DGPF(26.21,"ASTAT","I",+$G(DGIEN)))