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

AGMPHL01.m

Go to the documentation of this file.
  1. AGMPHL01 ; IHS/SD/TPF - MPI ADT-A01 ACK PROCESSOR FOR HLO ; 12/15/2007
  1. ;;7.2;IHS PATIENT REGISTRATION;**1,6**;JAN 07, 2011;Build 23
  1. Q
  1. ;
  1. PROC(HLMSGIEN) ;EP - CALLED FROM AGMPIBGP
  1. N DATA,HLMSTATE,MSGID,MSGSEG,ICNEUID,RETCODE,NEXTSEG,RESEND,ORGHLMSG
  1. D PARSE(.DATA,HLMSGIEN,.HLMSTATE)
  1. D MSGCMPLT^AGMPIBGP(HLMSGIEN) ;SET THE ACK SUCCESSFUL
  1. ;NOW DO THE ORIGINATING MESSAGE
  1. S ORGHLMSG=HLMSGIEN ;PRESERVE HLMSGIEN THAT WAS PASSED
  1. S HLMSGIEN=$P($G(DATA(1,3,1,1,1))," ",2) ;MSG ID OF THE MSG THIS ACK IS RESPONDING TO
  1. I HLMSGIEN="" D Q
  1. .S ERROR="NO ORIGINATING MSG ID FOUND FOR HLMSGIEN '"_ORGHLMSG_"'"
  1. .D NOTIF^AGMPIHLO(ORGHLMSG,ERROR)
  1. S HLMSGIEN=$P($G(^HLB(HLMSGIEN,0)),U,2) ;GET THE CORRECT ORIGINATING MESSAGE
  1. D MSGCMPLT^AGMPIBGP(HLMSGIEN)
  1. Q
  1. PARSE(DATA,MIEN,HLMSTATE) ;EP
  1. N SEG,CNT
  1. Q:'$$STARTMSG^HLOPRS(.HLMSTATE,MIEN)
  1. M DATA("HDR")=HLMSTATE("HDR")
  1. S CNT=0
  1. F Q:'$$NEXTSEG^HLOPRS(.HLMSTATE,.SEG) D
  1. .S CNT=CNT+1
  1. .M DATA(CNT)=SEG
  1. Q
  1. ;THIS CALL HANDLES CHECKINS (A01) AND CHECKOUTS (A03)
  1. CREATE(SDAMEVT,DFN,SDT,SUCCESS) ;EP - CREATE AND PLACE IN OUTGOING QUEUE
  1. ;CALLED BY PROTOCOL 'AGMP MPI CHECKIN CHECKOUT' WHICH SUBSCRIBES
  1. ;TO PROTOCOL 'BSDAM APPOINTMENT EVENTS' FOR CHECK INS AND CHECK OUTS
  1. ;DFN
  1. ;SDT = APPOINTMENT DATE
  1. ;SDAMEVT = EVENT
  1. ; 1 = make appt
  1. ; 2 = cancel appt
  1. ; 3 = no-show
  1. ; 4 = check-in
  1. ; 5 = check-out
  1. ;
  1. Q:(U_4_U_5_U)'[(U_SDAMEVT_U) ;ONLY CARE ABOUT CHECKINS AND CHECKOUTS
  1. ;
  1. I $$DEMOPAT^AGMPHLU($G(DFN)) Q ; 9/13/2017 - GCD - CR 7713 - Don't upload demo patients.
  1. ;
  1. S SDT=$$CONDT^AGMPHLU(SDT) ;CONVERT DATE FOR MPI
  1. I SDAMEVT=4 D CREATMSG^AGMPIHLO(DFN,"A01",,.SUCCESS) I 1 ;I 1 USED TO RESTORE THE VALUE OF $T AFTER THE CALL
  1. E D CREATMSG^AGMPIHLO(DFN,"A03",,.SUCCESS)
  1. I 'SUCCESS D
  1. .S AGERROR="MPI DFN="_DFN_" :: "_"ERROR WHEN CREATING "_$S(SDAMEVT=4:"A01",1:"A03")
  1. .D NOTIF^AGMPIHLO(DFN,AGERROR)
  1. Q