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

APSPESIB.m

Go to the documentation of this file.
  1. APSPESIB ;IHS/MSC/PLS - SureScripts HL7 interface - con't;01-Aug-2013 11:37;PLS
  1. ;;7.0;IHS PHARMACY MODIFICATIONS;**1009,1016**;Sep 23, 2004;Build 74
  1. Q
  1. TSK ;EP - Entry point for APSPES INBOUND PROCESSOR
  1. N MSGDT,MSGTYP,MSGEVT,MSGIEN,QNM,QIEN
  1. S QNM="APSP RPMS"
  1. Q:'$$GETIEN^HLOAPP(QNM) ;The APSP RPMS entry in HLO APPLICATION REGISTRY is missing.
  1. S MSGDT=""
  1. F S MSGDT=$O(^HLB("QUEUE","IN",MSGDT)) Q:MSGDT="" D
  1. .S MSGTYP=""
  1. .F S MSGTYP=$O(^HLB("QUEUE","IN",MSGDT,QNM,MSGTYP)) Q:MSGTYP="" D
  1. ..S MSGEVT=""
  1. ..F S MSGEVT=$O(^HLB("QUEUE","IN",MSGDT,QNM,MSGTYP,MSGEVT)) Q:MSGEVT="" D
  1. ...S MSGIEN=""
  1. ...F S MSGIEN=$O(^HLB("QUEUE","IN",MSGDT,QNM,MSGTYP,MSGEVT,MSGIEN)) Q:MSGIEN="" D
  1. ....D PROC(MSGIEN)
  1. Q
  1. ; Process a single message
  1. PROC(MSGIEN) ;EP
  1. N PDAYS
  1. S PDAYS=+$$GET^XPAR("ALL","APSP SS HLO RETENTION DAYS")
  1. S:'PDAYS PDAYS=7 ;Set default of 7 days
  1. D PROCNOW^HLOAPI3(MSGIEN,$$FMADD^XLFDT($$NOW^XLFDT,PDAYS))
  1. K ^HLB("QUEUE","IN",MSGDT,QNM,MSGTYP,MSGEVT,MSGIEN) ;Remove from "IN" queue
  1. Q
  1. ;
  1. PURG ;EP - Entry point for APSPES HLO PURGE
  1. N PURDT,MSGIEN,PURNOW,QNM
  1. S QNM="APSP RPMS"
  1. S PURNOW=$$NOW^XLFDT
  1. S PURDT=""
  1. F S PURDT=$O(^HLB("AD","IN",PURDT)) Q:'PURDT!(PURDT>PURNOW) D
  1. .S MSGIEN=""
  1. .F S MSGIEN=$O(^HLB("AD","IN",PURDT,MSGIEN)) Q:'MSGIEN D
  1. ..Q:'$$VALIDMSG(MSGIEN)
  1. ..D DELETE^HLOPURGE(MSGIEN)
  1. Q
  1. ; Verifies that message is for APSP RPMS
  1. VALIDMSG(MSGIEN) ;EP-
  1. N MSG,RES
  1. S RES=$$STARTMSG^HLOPRS(.MSG,MSGIEN)
  1. Q:'RES RES
  1. Q MSG("HDR","RECEIVING APPLICATION")=QNM