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

HMP0311Q.m

Go to the documentation of this file.
  1. HMP0311Q ;ASMR/MAT - HMP Subscribe Client Protocols to VAFC;10/1/2015 12:49pm
  1. ;;2.0;ENTERPRISE HEALTH MANAGEMENT PLATFORM;**;November 30,2015;Build 63
  1. ;Per VA Directive 6402, this routine should not be modified.
  1. ;
  1. ; DE2393 - MAT - Subscribe HMP ADT-A0# CLIENT Protocol to VAFC ADT-A0# SERVER
  1. ;
  1. ; Called from POST^HMPP3I.
  1. Q
  1. ;
  1. POST ;
  1. D MES^XPDUTL($T(+0)_" post-init routine started "_$$HTE^XLFDT($H))
  1. D MES^XPDUTL($$HMPA04())
  1. D MES^XPDUTL($$HMPA08())
  1. D MES^XPDUTL("HMP ADT-A0# CLIENT protocols subscribed "_$$HTE^XLFDT($H))
  1. Q
  1. ;
  1. HMPA04() ;
  1. N HMPSUBS
  1. S HMPSUBS=$$PROTSUBS("HMP ADT-A04 CLIENT","VAFC ADT-A04 SERVER")
  1. Q HMPSUBS
  1. ;
  1. HMPA08() ;
  1. N HMPSUBS
  1. S HMPSUBS=$$PROTSUBS("HMP ADT-A08 CLIENT","VAFC ADT-A08 SERVER")
  1. Q HMPSUBS
  1. ;
  1. ;=== Subscribe PROTSRC to PROTARG.
  1. ;
  1. PROTSUBS(PROTSRC,PROTARG) ;
  1. ;
  1. ;--- Validate SOURCE and TARGET exist.
  1. N IENPSRC S IENPSRC=$$YNPROTO(PROTSRC)
  1. Q:IENPSRC=-1 "SOURCE PROTOCOL "_PROTSRC_" NOT FOUND."
  1. ;
  1. N IENPTRG S IENPTRG=$$YNPROTO(PROTARG)
  1. Q:IENPTRG=-1 "TARGET PROTOCOL "_PROTARG_" NOT FOUND."
  1. ;
  1. ;--- Validate SOURCE is not a subscriber of TARGET.
  1. N IENPSUB S IENPSUB=$$YNSUBSCR(PROTSRC,IENPTRG)
  1. Q:IENPSUB>0 "PROTOCOL "_PROTSRC_" ALREADY SUBSCRIBED TO "_PROTARG_"."
  1. ;
  1. ;--- Subscribe SOURCE to TARGET.
  1. N FDA S FDA(1,101.0775,"+1,"_IENPTRG_",",.01)=PROTSRC
  1. D UPDATE^DIE("E","FDA(1)")
  1. Q "PROTOCOL "_PROTSRC_" IS NOW SUBSCRIBED TO "_PROTARG_"."
  1. ;
  1. ;=== Return the PROTOCOL File IEN or -1 if not exist.
  1. ;
  1. YNPROTO(PROTO) ;
  1. N DIC,X,Y S X=PROTO,DIC="^ORD(101," D ^DIC
  1. Q +Y
  1. ;
  1. ;=== Return the SUBSCRIBER Sub-File IEN or -1 if not exist.
  1. ;
  1. YNSUBSCR(PROTSRC,IENPTRG) ;
  1. N DIC,X,Y S X=PROTSRC,DIC="^ORD(101,"_IENPTRG_",775," D ^DIC
  1. Q +Y
  1. ;
  1. ; HMP0311Q