PXRM7API ;SLC/JVS Clinical Reminders HL7 API; 09/21/2006
;;2.0;CLINICAL REMINDERS;**4**;Feb 04, 2005;Build 21
;This is the beginning of the HL7 API's
;
;VARIABLE LIST
;IEN = IEN OF ENTRY IN EXTRACT FILE 810.3
Q
;======================================================
HL7(IEN,SEE,ID) ;AllRequiredParameters
;IEN= The Ien of the entry in file 810.3 (Extract File)
;SEE=If you want to view the HL7 message, set to 1
;.ID= ID of the message.
;MODE=A or I A=from archive I=initial Load
D EXTRACT^PXRM7XT(IEN,SEE,.ID)
Q
;=======================================================
STATUS(ID) ;
;RETURNS THE STATUS OF THE MESSAGE
;ID= MESSAGE ID WHICH IS THE IEN IN FILE #772
D STORE
N IEND0,IEND1,STATUS
S STATUS=""
Q:'$D(^PXRMXT(810.3,"AHLID"))
S IEND0=$O(^PXRMXT(810.3,"AHLID",ID,0))
S IEND1=$O(^PXRMXT(810.3,"AHLID",ID,IEND0,0))
S STATUS=$P($G(^PXRMXT(810.3,IEND0,5,IEND1,0)),"^",3)
Q STATUS
;=======================================================
STATUS2(ID) ;
;RETURNS THE STATUS OF THE MESSAGE
;ID= MESSAGE ID WHICH IS THE IEN IN FILE #772
N IDD,ID1,ID2,STATUS
S STATUS=""
S ID1=$O(^HL(772,"C",ID,0))
S ID2=$O(^HL(772,"C",ID,ID1))
D GETS^DIQ(772,ID2,20,"E","STATUS")
S IDD=ID2_","
S STATUS=$G(STATUS(772,IDD,20,"E"))
Q STATUS
;======================================================
STORE ;
N IEND0,IEND1,HL7ID,STATHL,STATX
S HL7ID=""
S IEND0=0 F S IEND0=$O(^PXRMXT(810.3,IEND0)) Q:IEND0="" D
.S IEND1=0 F S IEND1=$O(^PXRMXT(810.3,IEND0,5,IEND1)) Q:IEND1="" D
..S HL7ID=$P($G(^PXRMXT(810.3,IEND0,5,IEND1,0)),"^",1)
..Q:HL7ID=""
..S STATHL=$$STATUS2^PXRM7API(HL7ID)
..S STATX=$P(^PXRMXT(810.3,IEND0,5,IEND1,0),"^",3)
..I STATHL'="" D
...S $P(^PXRMXT(810.3,IEND0,5,IEND1,0),"^",3)=STATHL
..I STATHL="",STATX="" D
...S $P(^PXRMXT(810.3,IEND0,5,IEND1,0),"^",3)="Successfully Completed"
Q
;
PXRM7API ;SLC/JVS Clinical Reminders HL7 API; 09/21/2006
+1 ;;2.0;CLINICAL REMINDERS;**4**;Feb 04, 2005;Build 21
+2 ;This is the beginning of the HL7 API's
+3 ;
+4 ;VARIABLE LIST
+5 ;IEN = IEN OF ENTRY IN EXTRACT FILE 810.3
+6 QUIT
+7 ;======================================================
HL7(IEN,SEE,ID) ;AllRequiredParameters
+1 ;IEN= The Ien of the entry in file 810.3 (Extract File)
+2 ;SEE=If you want to view the HL7 message, set to 1
+3 ;.ID= ID of the message.
+4 ;MODE=A or I A=from archive I=initial Load
+5 DO EXTRACT^PXRM7XT(IEN,SEE,.ID)
+6 QUIT
+7 ;=======================================================
STATUS(ID) ;
+1 ;RETURNS THE STATUS OF THE MESSAGE
+2 ;ID= MESSAGE ID WHICH IS THE IEN IN FILE #772
+3 DO STORE
+4 NEW IEND0,IEND1,STATUS
+5 SET STATUS=""
+6 IF '$DATA(^PXRMXT(810.3,"AHLID"))
QUIT
+7 SET IEND0=$ORDER(^PXRMXT(810.3,"AHLID",ID,0))
+8 SET IEND1=$ORDER(^PXRMXT(810.3,"AHLID",ID,IEND0,0))
+9 SET STATUS=$PIECE($GET(^PXRMXT(810.3,IEND0,5,IEND1,0)),"^",3)
+10 QUIT STATUS
+11 ;=======================================================
STATUS2(ID) ;
+1 ;RETURNS THE STATUS OF THE MESSAGE
+2 ;ID= MESSAGE ID WHICH IS THE IEN IN FILE #772
+3 NEW IDD,ID1,ID2,STATUS
+4 SET STATUS=""
+5 SET ID1=$ORDER(^HL(772,"C",ID,0))
+6 SET ID2=$ORDER(^HL(772,"C",ID,ID1))
+7 DO GETS^DIQ(772,ID2,20,"E","STATUS")
+8 SET IDD=ID2_","
+9 SET STATUS=$GET(STATUS(772,IDD,20,"E"))
+10 QUIT STATUS
+11 ;======================================================
STORE ;
+1 NEW IEND0,IEND1,HL7ID,STATHL,STATX
+2 SET HL7ID=""
+3 SET IEND0=0
FOR
SET IEND0=$ORDER(^PXRMXT(810.3,IEND0))
IF IEND0=""
QUIT
Begin DoDot:1
+4 SET IEND1=0
FOR
SET IEND1=$ORDER(^PXRMXT(810.3,IEND0,5,IEND1))
IF IEND1=""
QUIT
Begin DoDot:2
+5 SET HL7ID=$PIECE($GET(^PXRMXT(810.3,IEND0,5,IEND1,0)),"^",1)
+6 IF HL7ID=""
QUIT
+7 SET STATHL=$$STATUS2^PXRM7API(HL7ID)
+8 SET STATX=$PIECE(^PXRMXT(810.3,IEND0,5,IEND1,0),"^",3)
+9 IF STATHL'=""
Begin DoDot:3
+10 SET $PIECE(^PXRMXT(810.3,IEND0,5,IEND1,0),"^",3)=STATHL
End DoDot:3
+11 IF STATHL=""
IF STATX=""
Begin DoDot:3
+12 SET $PIECE(^PXRMXT(810.3,IEND0,5,IEND1,0),"^",3)="Successfully Completed"
End DoDot:3
End DoDot:2
End DoDot:1
+13 QUIT
+14 ;