1 | TIUPUTA ; SLC/JER - Utilities for C & P Look-up, etc. ;26-MAY-1999 16:38:37
|
---|
2 | ;;1.0;TEXT INTEGRATION UTILITIES;**68**;Jun 20, 1997
|
---|
3 | LOOKUP ; Look-up code used by router/filer
|
---|
4 | ; Required: TIUCPFN, TIUSSN
|
---|
5 | N CPDFN,DFN,TIU2507R,TIU25070
|
---|
6 | I $S('$D(TIUSSN):1,$G(TIUCPFN)']"":1,$G(TIUSSN)?4N:1,$G(TIUSSN)']"":1,1:0) S Y=-1 G LOOKUPX
|
---|
7 | I TIUSSN?3N1P2N1P4N.E S TIUSSN=$TR(TIUSSN,"-/","")
|
---|
8 | I TIUSSN["?" S Y=-1 G LOOKUPX
|
---|
9 | K TIUHDR(.02)
|
---|
10 | ;Confirm that exam is for correct patient
|
---|
11 | S DFN=+$$PATIENT^TIULA(TIUSSN)
|
---|
12 | S TIU25070=$G(^DVB(396.4,TIUCPFN,0)),TIU2507R=+$P(TIU25070,U,2)
|
---|
13 | I TIU2507R'>0 S Y=-1 G LOOKUPX
|
---|
14 | S CPDFN=+$G(^DVB(396.3,TIU2507R,0))
|
---|
15 | I CPDFN'=DFN S Y=-1 G LOOKUPX
|
---|
16 | S Y=$$CALLDIC(TIUCPFN)
|
---|
17 | LOOKUPX Q
|
---|
18 | CALLDIC(TIUX) ; Call ^DIC
|
---|
19 | N DA,DIC,X,Y
|
---|
20 | S DIC=396.4,DIC(0)="NX",X="`"_TIUX D ^DIC
|
---|
21 | Q Y
|
---|
22 | FOLLOWUP(TIUDA) ; Post-filing code for C&P's
|
---|
23 | N FDA,FDARR,IENS,FLAGS,TIUMSG,TIU
|
---|
24 | S IENS=""""_TIUDA_",""",FDARR="FDA(396.4,"_IENS_")",FLAGS="K"
|
---|
25 | S @FDARR@(.04)="C"
|
---|
26 | D FILE^DIE(FLAGS,"FDA","TIUMSG")
|
---|
27 | Q
|
---|
28 | FIX ; Filing error resolution code for C&P's
|
---|
29 | N %,TIUOUT,AMIEDA,TIUX,TIUPRM0,TIUPRM1,SUCCESS,TIUBUF
|
---|
30 | ; -- first, determine the correct 2507 exam record --
|
---|
31 | F D Q:$D(DUOUT)!$D(DIROUT)!+$G(TIUOUT)
|
---|
32 | . N D0,DK,DL,DIC,X,Y,DA,DX,A,S
|
---|
33 | . W ! S DIC=396.4,DIC(0)="AEMQ"
|
---|
34 | . S DIC("W")="D DICW^TIUPUTA(+Y)"
|
---|
35 | . S DIC("A")="Select 2507 EXAM REFERENCE NUMBER: "
|
---|
36 | . D ^DIC I +Y'>0 S TIUOUT=1 Q
|
---|
37 | . W ! S (DA,AMIEDA)=+Y D EN^DIQ
|
---|
38 | . S TIUOUT=$$READ^TIUU("Y","... OK","YES")
|
---|
39 | Q:$D(DUOUT)!$D(DIROUT)!+$G(DTOUT)!'+$G(AMIEDA)
|
---|
40 | ; -- next, load fields from upload buffer entry --
|
---|
41 | S TIUBUF=$S(+$G(XQADATA):+$G(XQADATA),+$G(BUFDA):+$G(BUFDA),1:"")
|
---|
42 | D LOADTIUX(.TIUX,TIUBUF)
|
---|
43 | ; -- finally, file data in 2507 exam file --
|
---|
44 | D ADDTEXT(AMIEDA,.TIUX)
|
---|
45 | K TIUX("TEXT")
|
---|
46 | D FILE(.SUCCESS,AMIEDA,.TIUX,TIUTYPE)
|
---|
47 | S TIUPOST=$$POSTFILE^TIULC1(TIUTYPE)
|
---|
48 | S TIUREC("#")=AMIEDA
|
---|
49 | I TIUPOST]"" X TIUPOST
|
---|
50 | FIXX D ALERTDEL^TIUPEVNT(+TIUBUF)
|
---|
51 | D RESOLVE^TIUPEVNT($S($D(XQADATA):+$P(XQADATA,";",3),1:$G(ERRDA)),1)
|
---|
52 | D BUFPURGE^TIUPUTC(+TIUBUF)
|
---|
53 | W "Done."
|
---|
54 | I +SUCCESS S TIUDONE=1
|
---|
55 | Q
|
---|
56 | DICW(TIUDA) ; Write identifiers
|
---|
57 | N X,Y,VADM,VA,VAERR,DVBCP0,DVBCPR0
|
---|
58 | S DVBCP0=^DVB(396.4,+TIUDA,0),DVBCPR0=$G(^DVB(396.3,+$P(DVBCP0,U,2),0))
|
---|
59 | W ?10,$$NAME^TIULS($$NAME^TIULO(+DVBCPR0),"LAST,FIRST MI")," ",?37,$$SSN^TIULO(+DVBCPR0)," ",?52,$P(^DVB(396.6,+$P(DVBCP0,U,3),0),U,2)
|
---|
60 | Q
|
---|
61 | LOADTIUX(TIUARR,TIUBUF) ; Load TIUX array with header and text
|
---|
62 | N TIUI,TIUHSIG,TIUBGN,TIULINE,X,Y,TYPE I '$D(TIUPRM0) D SETPARM^TIULE
|
---|
63 | S TIUHSIG=$P(TIUPRM0,U,10),TIUBGN=$P(TIUPRM0,U,12)
|
---|
64 | S TIUI=0 F S TIUI=$O(^TIU(8925.2,+TIUBUF,"TEXT",TIUI)) Q:+TIUI'>0 D
|
---|
65 | . S TIULINE=$G(^TIU(8925.2,+TIUBUF,"TEXT",TIUI,0))
|
---|
66 | . I TIULINE[TIUHSIG D
|
---|
67 | . . N TIUD1,TIUD4
|
---|
68 | . . S X=$$STRIP^TIULS($P(TIULINE,":",2)),Y=$$WHATYPE^TIUPUTU(X)
|
---|
69 | . . I +Y'>0 D MAIN^TIUPEVNT(TIUBUF,1,3,X) Q
|
---|
70 | . . S TIUD1=$G(^TIU(8925.1,+Y,1)),TIUD4=$G(^TIU(8925.1,+Y,4))
|
---|
71 | . . S TYPE=+Y
|
---|
72 | . . F D Q:TIULINE[TIUBGN!(+TIUI'>0)
|
---|
73 | . . . N TIUN,TIUCAP,TIUFLD,TIUREQ S TIUREQ=0
|
---|
74 | . . . S TIUI=$O(^TIU(8925.2,+TIUBUF,"TEXT",TIUI)) Q:+TIUI'>0
|
---|
75 | . . . S TIULINE=$G(^TIU(8925.2,+TIUBUF,"TEXT",TIUI,0)) Q:TIULINE[TIUBGN
|
---|
76 | . . . S TIUCAP=$P(TIULINE,":") Q:TIUCAP']""
|
---|
77 | . . . S TIUN=$O(^TIU(8925.1,+TYPE,"HEAD","B",TIUCAP,0))
|
---|
78 | . . . Q:+TIUN'>0
|
---|
79 | . . . S TIUFLD=$P(^TIU(8925.1,+TYPE,"HEAD",+TIUN,0),U,3)
|
---|
80 | . . . Q:TIUFLD']""
|
---|
81 | . . . S TIUREQ=$P(^TIU(8925.1,+TYPE,"HEAD",+TIUN,0),U,7)
|
---|
82 | . . . S TIUARR(TIUFLD)=$$STRIP^TIULS($P(TIULINE,":",2,99))
|
---|
83 | . . . S:TIUFLD'=.001 TIUARR(TIUFLD)=$$TRNSFRM^TIUPEFIX(+TYPE,TIUFLD,TIUARR(TIUFLD))
|
---|
84 | . . . I +TIUREQ,TIUARR(TIUFLD)="" S TIUARR(TIUFLD)="** REQUIRED FIELD MISSING FROM UPLOAD **"
|
---|
85 | . . . I $S(TIUFLD=.001:1,TIUFLD=.02:1,1:0) K TIUARR(TIUFLD)
|
---|
86 | . . I TIULINE[TIUBGN D
|
---|
87 | . . . N TIUJ S TIUJ=0
|
---|
88 | . . . F D Q:+TIUI'>0
|
---|
89 | . . . . S TIUI=$O(^TIU(8925.2,+TIUBUF,"TEXT",TIUI)) Q:+TIUI'>0
|
---|
90 | . . . . S TIUJ=TIUJ+1
|
---|
91 | . . . . S TIUARR("TEXT",TIUJ,0)=$G(^TIU(8925.2,+TIUBUF,"TEXT",TIUI,0))
|
---|
92 | . . . . S TIUARR("TEXT",0)="^^"_TIUJ_U_TIUJ_U_DT_"^^"
|
---|
93 | Q
|
---|
94 | ADDTEXT(AMIEDA,TIUX) ; File Text
|
---|
95 | N TIUI,TIUJ S TIUI=0,TIUJ=+$P($G(^DVB(396.4,+AMIEDA,"RES",0)),U,3)
|
---|
96 | F S TIUI=$O(TIUX("TEXT",TIUI)) Q:+TIUI'>0 D
|
---|
97 | . S TIUJ=TIUJ+1,^DVB(396.4,+AMIEDA,"RES",TIUJ,0)=$G(TIUX("TEXT",TIUI,0))
|
---|
98 | . S ^DVB(396.4,+AMIEDA,"RES",0)="^^"_TIUJ_U_TIUJ_U_DT_"^^"
|
---|
99 | Q
|
---|
100 | FILE(SUCCESS,AMIEDA,TIUX,RTYPE) ; Call FM Filer to commit updates to DB
|
---|
101 | N FDA,FDARR,IENS,FLAGS,TIUMSG
|
---|
102 | S IENS=""""_AMIEDA_",""",FDARR="FDA(396.4,"_IENS_")",FLAGS="KE"
|
---|
103 | M @FDARR=TIUX
|
---|
104 | D FILE^DIE(FLAGS,"FDA","TIUMSG") ; File record
|
---|
105 | I $D(TIUMSG)>9 D
|
---|
106 | . S SUCCESS=0_U_$G(TIUMSG(1,"TEXT",1))
|
---|
107 | . D MAIN^TIUPEVNT(TIUBUF,2,"",$P($G(^TIU(8925.1,+RTYPE,0)),U),.FDA,.TIUMSG)
|
---|
108 | S SUCCESS=AMIEDA
|
---|
109 | Q
|
---|