| 1 | PXRM7API ;SLC/JVS Clinical Reminders HL7 API; 09/21/2006
 | 
|---|
| 2 |  ;;2.0;CLINICAL REMINDERS;**4**;Feb 04, 2005;Build 21
 | 
|---|
| 3 |  ;This is the beginning of the HL7 API's
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 |  ;VARIABLE LIST
 | 
|---|
| 6 |  ;IEN = IEN OF ENTRY IN EXTRACT FILE 810.3
 | 
|---|
| 7 |  Q
 | 
|---|
| 8 |  ;======================================================
 | 
|---|
| 9 | HL7(IEN,SEE,ID) ;AllRequiredParameters
 | 
|---|
| 10 |  ;IEN= The Ien of the entry in file 810.3 (Extract File)
 | 
|---|
| 11 |  ;SEE=If you want to view the HL7 message, set to 1
 | 
|---|
| 12 |  ;.ID= ID of the message.
 | 
|---|
| 13 |  ;MODE=A or I A=from archive I=initial Load
 | 
|---|
| 14 |  D EXTRACT^PXRM7XT(IEN,SEE,.ID)
 | 
|---|
| 15 |  Q
 | 
|---|
| 16 |  ;=======================================================
 | 
|---|
| 17 | STATUS(ID) ;
 | 
|---|
| 18 |  ;RETURNS THE STATUS OF THE MESSAGE
 | 
|---|
| 19 |  ;ID= MESSAGE ID WHICH IS THE IEN IN FILE #772
 | 
|---|
| 20 |  D STORE
 | 
|---|
| 21 |  N IEND0,IEND1,STATUS
 | 
|---|
| 22 |  S STATUS=""
 | 
|---|
| 23 |  Q:'$D(^PXRMXT(810.3,"AHLID"))
 | 
|---|
| 24 |  S IEND0=$O(^PXRMXT(810.3,"AHLID",ID,0))
 | 
|---|
| 25 |  S IEND1=$O(^PXRMXT(810.3,"AHLID",ID,IEND0,0))
 | 
|---|
| 26 |  S STATUS=$P($G(^PXRMXT(810.3,IEND0,5,IEND1,0)),"^",3)
 | 
|---|
| 27 |  Q STATUS
 | 
|---|
| 28 |  ;=======================================================
 | 
|---|
| 29 | STATUS2(ID) ;
 | 
|---|
| 30 |  ;RETURNS THE STATUS OF THE MESSAGE
 | 
|---|
| 31 |  ;ID= MESSAGE ID WHICH IS THE IEN IN FILE #772
 | 
|---|
| 32 |  N IDD,ID1,ID2,STATUS
 | 
|---|
| 33 |  S STATUS=""
 | 
|---|
| 34 |  S ID1=$O(^HL(772,"C",ID,0))
 | 
|---|
| 35 |  S ID2=$O(^HL(772,"C",ID,ID1))
 | 
|---|
| 36 |  D GETS^DIQ(772,ID2,20,"E","STATUS")
 | 
|---|
| 37 |  S IDD=ID2_","
 | 
|---|
| 38 |  S STATUS=$G(STATUS(772,IDD,20,"E"))
 | 
|---|
| 39 |  Q STATUS
 | 
|---|
| 40 |  ;======================================================
 | 
|---|
| 41 | STORE ;
 | 
|---|
| 42 |  N IEND0,IEND1,HL7ID,STATHL,STATX
 | 
|---|
| 43 |  S HL7ID=""
 | 
|---|
| 44 |  S IEND0=0 F  S IEND0=$O(^PXRMXT(810.3,IEND0)) Q:IEND0=""  D
 | 
|---|
| 45 |  .S IEND1=0 F  S IEND1=$O(^PXRMXT(810.3,IEND0,5,IEND1)) Q:IEND1=""  D
 | 
|---|
| 46 |  ..S HL7ID=$P($G(^PXRMXT(810.3,IEND0,5,IEND1,0)),"^",1)
 | 
|---|
| 47 |  ..Q:HL7ID=""
 | 
|---|
| 48 |  ..S STATHL=$$STATUS2^PXRM7API(HL7ID)
 | 
|---|
| 49 |  ..S STATX=$P(^PXRMXT(810.3,IEND0,5,IEND1,0),"^",3)
 | 
|---|
| 50 |  ..I STATHL'="" D
 | 
|---|
| 51 |  ...S $P(^PXRMXT(810.3,IEND0,5,IEND1,0),"^",3)=STATHL
 | 
|---|
| 52 |  ..I STATHL="",STATX="" D
 | 
|---|
| 53 |  ...S $P(^PXRMXT(810.3,IEND0,5,IEND1,0),"^",3)="Successfully Completed"
 | 
|---|
| 54 |  Q
 | 
|---|
| 55 |  ;
 | 
|---|