1 | AFJXWCP1 ;FO-OAKLAND/GMB-REQUEST PATIENT INFORMATION ;4/11/96 05:36
|
---|
2 | ;;5.1;Network Health Exchange;**1,31,34**;Jan 23, 1996
|
---|
3 | ; Totally rewritten 11/2001. (Previously FJ/CWS.)
|
---|
4 | ; Called from ^AFJXWCPM
|
---|
5 | REQUEST(AXTYPE) ; Request data
|
---|
6 | N AXFINIS,AXABORT,AXPARM,AXSSN,I
|
---|
7 | S (AXFINIS,AXABORT)=0
|
---|
8 | D INIT(AXTYPE,.AXPARM,.AXABORT) Q:AXABORT
|
---|
9 | W @IOF,!! F I=1:1:80 W "@"
|
---|
10 | W !,?8,"This option will request ",AXPARM("U")," DATA from another VAMC."
|
---|
11 | W ! F I=1:1:80 W "@"
|
---|
12 | W !!,?5,"You can't request information if the patient is not already on file.",!
|
---|
13 | F D Q:AXFINIS!AXABORT
|
---|
14 | . N DIC,X,Y,AXTO
|
---|
15 | . W !!
|
---|
16 | . S DIC("A")="SOCIAL SECURITY # or NAME: "
|
---|
17 | . S DIC="^DPT("
|
---|
18 | . S DIC(0)="AEMOQZ"
|
---|
19 | . D ^DIC I Y<1 S AXFINIS=1 Q
|
---|
20 | . S AXSSN=$P(Y(0),U,9)
|
---|
21 | . I $G(AXSSN)["P" W !,?5,$C(7),"SORRY, You can't request Pseudo SSNs." Q
|
---|
22 | . D SITES(.AXTO,.AXABORT) Q:AXABORT
|
---|
23 | . I '$D(AXTO) D Q
|
---|
24 | . . W !,$C(7),"No valid sites chosen. No request sent."
|
---|
25 | . D MESSAGE(.AXTO,AXSSN)
|
---|
26 | Q
|
---|
27 | INIT(AXTYPE,AXPARM,AXABORT) ;
|
---|
28 | I AXTYPE="R" S AXPARM("U")="PATIENT PHARMACY",AXPARM("S")="PHARMACY DATA",AXPARM("L")="PHARM"
|
---|
29 | E I AXTYPE="RB" S AXPARM("U")="BRIEF PHARMACY",AXPARM("S")="BRIEF PHARMACY",AXPARM("L")="NHBP"
|
---|
30 | E I AXTYPE="P" S AXPARM("U")="PATIENT",AXPARM("S")="TOTAL DATA",AXPARM("L")="TOTAL"
|
---|
31 | E I AXTYPE="PB" S AXPARM("U")="BRIEF PATIENT",AXPARM("S")="BRIEF DATA",AXPARM("L")="BRIEF"
|
---|
32 | E D Q
|
---|
33 | . W !,"Routine ^AFJXWCP1 called with incorrect TYPE parameter: ",AXTYPE
|
---|
34 | . S AXABORT=1
|
---|
35 | N DIR,X,Y
|
---|
36 | W !
|
---|
37 | S DIR(0)="Y"
|
---|
38 | S DIR("A")="Would you like to look for any previous requests on file"
|
---|
39 | S DIR("B")="NO"
|
---|
40 | D ^DIR I $D(DTOUT)!$D(DUOUT) S AXABORT=1 Q
|
---|
41 | D:Y ENTER^AFJXMBOX
|
---|
42 | Q
|
---|
43 | SITES(AXTO,AXABORT) ; Choose station(s)
|
---|
44 | N AXFINIS,AXDOMIEN,AX25IEN,DIR,X,Y,DIRUT
|
---|
45 | S DIR(0)="S^A:ALL Local Area Sites;S:Selected Sites"
|
---|
46 | S DIR("A")="Request patient information from"
|
---|
47 | D ^DIR I $D(DIRUT) S AXABORT=1 Q
|
---|
48 | I Y="A" D CHKALL(.AXTO) Q
|
---|
49 | K DIR,X,Y
|
---|
50 | S AXFINIS=0
|
---|
51 | F D Q:AXFINIS!AXABORT
|
---|
52 | . N DIC,X,Y,DUOUT,DTOUT
|
---|
53 | . W !
|
---|
54 | . S DIC=537025,DIC(0)="AEMOQ"
|
---|
55 | . S DIC("A")=$S($D(AXTO):"Another site: ",1:"Select a site: ")
|
---|
56 | . S DIC("S")="I $P($G(^DIC(4.2,+^(0),0)),U,2)'[""C"""
|
---|
57 | . D ^DIC I $D(DUOUT)!$D(DTOUT) S AXABORT=1 Q
|
---|
58 | . I Y<1 S AXFINIS=1 Q
|
---|
59 | . S AXDOMIEN=$P(Y,U,2),AX25IEN=+Y
|
---|
60 | . D CHKSITE(AXDOMIEN,AX25IEN,.AXTO)
|
---|
61 | Q
|
---|
62 | CHKALL(AXTO) ; "ALL LOCAL AREA SITES"
|
---|
63 | N AX25IEN,AX25REC
|
---|
64 | W !,"Network Area Recipients:"
|
---|
65 | S AX25IEN=0
|
---|
66 | F S AX25IEN=$O(^AFJ(537025,AX25IEN)) Q:'AX25IEN D
|
---|
67 | . S AX25REC=$G(^AFJ(537025,AX25IEN,0))
|
---|
68 | . I $P(AX25REC,U,3) D CHKSITE($P(AX25REC,U),AX25IEN,.AXTO)
|
---|
69 | Q
|
---|
70 | CHKSITE(AXDOMIEN,AX25IEN,AXTO) ;
|
---|
71 | N AXBAD,AXDOMREC
|
---|
72 | S AXBAD=0
|
---|
73 | I AXDOMIEN=^XMB("NUM") D
|
---|
74 | . ;S AXBAD=1
|
---|
75 | . S AXTO("S.AFJXSERVER")=""
|
---|
76 | . W !,^XMB("NETNAME")," FYI: That's this domain."
|
---|
77 | . S AXTO("S.AFJXSERVER")=""
|
---|
78 | E D
|
---|
79 | . S AXDOMREC=$P(^DIC(4.2,AXDOMIEN,0),U,1,2)
|
---|
80 | . I AXDOMREC="" D Q
|
---|
81 | . . S AXBAD=1
|
---|
82 | . . ;W !!,$C(7),"Broken pointer to the DOMAIN file."
|
---|
83 | . I $P(AXDOMREC,U,2)'["C" D Q
|
---|
84 | . . S AXTO("S.AFJXSERVER@"_$P(AXDOMREC,U,1))=""
|
---|
85 | . . W !,$P(AXDOMREC,U,1)
|
---|
86 | . S AXBAD=1
|
---|
87 | . ;W !!,$C(7),"Domain ",DOMNAME," is closed."
|
---|
88 | Q:'AXBAD
|
---|
89 | ;W !," Ignoring it."
|
---|
90 | Q
|
---|
91 | ;W !," Deleting it from the Authorized Sites file."
|
---|
92 | ;N DIK,DA S DIK="^AFJ(537025,",DA=AX25IEN D ^DIK
|
---|
93 | ;Q
|
---|
94 | MESSAGE(XMY,AXSSN) ; Build message and transmit
|
---|
95 | N XMSUB,XMDUZ,XMTEXT,XMZ,AXRQST,AXREC,DIC,DLAYGO,X,Y,DA,DINUM,DD,DO
|
---|
96 | W !!,"Sending Patient Data Request..."
|
---|
97 | S XMDUZ=DUZ,XMTEXT="AXRQST("
|
---|
98 | S XMSUB="NETWORK HEALTH EXCHANGE "_AXPARM("S")_" REQUEST FOR "_AXSSN
|
---|
99 | S AXRQST(1)=AXSSN_U_DUZ_U_$P($G(^VA(200,+DUZ,0)),U)_U_$$NOW^XLFDT_U_^XMB("NETNAME")_U_AXPARM("L")
|
---|
100 | D ^XMD W !,"Local Message ID: "_XMZ
|
---|
101 | ; Audit
|
---|
102 | S AXREC=AXRQST(1)
|
---|
103 | S DIC="^AFJ(537000,",DLAYGO=537000
|
---|
104 | S DIC(0)="L",X=XMZ
|
---|
105 | S DIC("DR")="1////"_$P(AXREC,U,4)_";2////"_AXPARM("L")_";3////"_AXSSN_";6////"_DUZ_";7////"_$P(AXREC,U,3)_";8////"_^XMB("NUM")_";11////Y"
|
---|
106 | D FILE^DICN
|
---|
107 | W !!,"Your request has been submitted for completion."
|
---|
108 | Q
|
---|