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

AFJXPNHT.m

Go to the documentation of this file.
  1. AFJXPNHT ;FO-OAKLAND/GMB-PROC SERVER MSG TO ADD PTS TO DB ;1/26/96 10:09
  1. ;;5.1;Network Health Exchange;**1,2,31**;Jan 23, 1996
  1. ; Totally rewritten 11/2001. (Previously FJ/CWS.)
  1. ; Entry points:
  1. ; ENTER - Invoked by server option AFJXNETP
  1. ; (Messages are created in ^AFJXPNHA)
  1. ENTER ; Process incoming message
  1. ; XQMSG has XMZ, XQSUB has msg subject, & XQSND has msg sender (from)
  1. N XMSER,XMZ
  1. D PROCESS(XQMSG,XQSUB,XQSND)
  1. S XMSER="S.AFJXNETP",XMZ=XQMSG D REMSBMSG^XMA1C
  1. Q
  1. PROCESS(AXMZ,AXSUB,AXFROM) ;
  1. N AXSITE,AX25IEN,AX25REC,AXUPDF,AXUPDN,AXNICK,AXI,AXDOMIEN,AXREC
  1. S DUZ=.5,DUZ(0)="@"
  1. S AXSITE=$S(AXFROM["@":$P($P(AXFROM,"@",2),">"),1:^XMB("NETNAME"))
  1. Q:AXSITE=""
  1. D DOMLKUP(AXSITE,.AXDOMIEN,.AX25IEN) Q:'AX25IEN
  1. S AX25REC=$G(^AFJ(537025,AX25IEN,0))
  1. S AXUPDF=$P(AX25REC,U,6) Q:'AXUPDF ; Accept network file update? 0=no; 1=yes
  1. S AXUPDN=$P(AX25REC,U,8) ; Update network identifier? 0=no; 1=yes
  1. S AXNICK=$S(AXUPDN:$P(AX25REC,U,7),1:"") ; Nickname
  1. S AXI=$S($E(^XMB(3.9,AXMZ,2,1,0),1,1)="@":5,1:.99999999)
  1. F S AXI=$O(^XMB(3.9,AXMZ,2,AXI)) Q:'AXI S AXREC=^(AXI,0) D CHKADDPT
  1. Q
  1. DOMLKUP(AXSITE,AXDOMIEN,AX25IEN) ;
  1. N AXDOMREC
  1. S AX25IEN=0
  1. S AXDOMIEN=$$FIND1^DIC(4.2,"","MX",AXSITE,"B^C") Q:'AXDOMIEN
  1. S AX25IEN=$O(^AFJ(537025,"B",AXDOMIEN,0)) Q:'AX25IEN
  1. S AXDOMREC=$G(^DIC(4.2,AXDOMIEN,0))
  1. I AXDOMREC'="",$P(AXDOMREC,U,2)'["C" Q
  1. ;N DIK,DA ; Domain is closed, so delete it from the authorized sites
  1. ;S DIK="^AFJ(537025,",DA=AX25IEN D ^DIK
  1. S AX25IEN=0
  1. Q
  1. CHKADDPT ; ADD/EDIT Patient
  1. N AXSSN,AXDOB,AXNAME,DIC,X,Y,AX10IEN,AX25IEN
  1. Q:AXREC["S.AFJXNETP" ; Why is this here?
  1. S AXSSN=$P(AXREC,U,1),AXDOB=$P(AXREC,U,2),AXNAME=$P(AXREC,U,3)
  1. Q:$G(AXSSN)=""
  1. Q:$E(AXSSN,1,9)'?9N
  1. S X=AXSSN,DIC="^AFJ(537010,",DIC(0)="X"
  1. D ^DIC
  1. S AX10IEN=+Y
  1. I AX10IEN>0 D
  1. . N DIE,DA,DR
  1. . S DIE="^AFJ(537010,",DA=AX10IEN,DR="4////"_DT
  1. . D ^DIE
  1. E D Q:AX10IEN<0
  1. . N DIC,X,Y,DD,DO,DA,DINUM,DLAYGO
  1. . S DIC="^AFJ(537010,",DIC(0)="LX",X=AXSSN,DLAYGO=537010
  1. . S DIC("DR")="1////"_AXDOB_";2////"_AXNAME_";4////"_DT
  1. . D FILE^DICN
  1. . S AX10IEN=+Y
  1. I '$D(^AFJ(537010,AX10IEN,1,"B",AXDOMIEN)) D
  1. . N AXFDA
  1. . S AXFDA(537010.04,"+1,"_AX10IEN_",",.01)=AXDOMIEN
  1. . D UPDATE^DIE("","AXFDA")
  1. Q:AXNICK=""
  1. ADDNICK ; Add network identifier
  1. N AXDFN,AXDOMIEN,AXNWI,AXNWI2,AX25IEN
  1. S AXDFN=$$FIND1^DIC(2,"","X",AXSSN,"SSN") Q:'AXDFN
  1. S (AXNWI,AXNWI2)=$G(^DPT(AXDFN,537025))
  1. S AXDOMIEN=0
  1. F S AXDOMIEN=$O(^AFJ(537010,AX10IEN,1,"B",AXDOMIEN)) Q:'AXDOMIEN D
  1. . S AX25IEN=$O(^AFJ(537025,"B",AXDOMIEN,0)) Q:'AX25IEN
  1. . S AXNICK=$P($G(^AFJ(537025,AX25IEN,0)),U,7) Q:AXNICK=""
  1. . I AXNWI'[AXNICK S AXNWI=AXNWI_AXNICK
  1. I AXNWI'=AXNWI2 S ^DPT(AXDFN,537025)=AXNWI
  1. Q