1 | SDPFSS2 ;ALD/SCK - Patient Financial Services System cont. ; 22-April-2005
|
---|
2 | ;;5.3;Scheduling;**430**;Aug 13, 1993
|
---|
3 | ;
|
---|
4 | Q
|
---|
5 | ;
|
---|
6 | GETARN(SDT,DFN,SDCL) ; Get the PFSS Account Number Reference from file #409.55 for the matching Appt. D/T,
|
---|
7 | ; patient DFN, and clinic location.
|
---|
8 | ; Input
|
---|
9 | ; SDT - Appointment Date/Time
|
---|
10 | ; DFN - Patient IEN to File #2
|
---|
11 | ; SDCL - Clinic IEN to File #44
|
---|
12 | ;
|
---|
13 | ; Output
|
---|
14 | ; If an error occurred : -1^Error message
|
---|
15 | ; 0 if no match found
|
---|
16 | ; SDANR if a match is found
|
---|
17 | ;
|
---|
18 | N SDANR,SDIEN
|
---|
19 | ;
|
---|
20 | S DFN=$G(DFN) I 'DFN S SDANR="-1^No DFN was provided" G ARNQ
|
---|
21 | S SDT=$G(SDT) I 'SDT S SDANR="-1^No Appointment Date/Time provided" G ARNQ
|
---|
22 | S SDCL=$G(SDCL) I 'SDCL S SDANR="-1^No Clinic information was provided" G ARNQ
|
---|
23 | ;
|
---|
24 | S SDIEN=0
|
---|
25 | S SDIEN=$O(^SD(409.55,"D",SDT,DFN,SDCL,0))
|
---|
26 | I SDIEN>0 D
|
---|
27 | . S SDANR=$$GET1^DIQ(409.55,SDIEN,.04)
|
---|
28 | E D
|
---|
29 | . S SDANR=0
|
---|
30 | ARNQ Q $G(SDANR)
|
---|
31 | ;
|
---|
32 | ENCPRV(DFN,SDVSIT) ; Returns the encounter provider associated with the visit.
|
---|
33 | ; Input
|
---|
34 | ; DFN - Patient IEN from the PATIENT File (#2)
|
---|
35 | ; SDVSIT - Visit IEN from the VISIT File (#9000010)
|
---|
36 | ; DFN and SDVSIT are references to global variables which are available as part
|
---|
37 | ; of the SD application.
|
---|
38 | ;
|
---|
39 | ; Output
|
---|
40 | ; Visit Provider from the NEW PERSON File (#200)
|
---|
41 | ; IEN^Provider Name or Null
|
---|
42 | ;
|
---|
43 | N PRVIEN,SDX,PRVNAME,RSLT
|
---|
44 | ;
|
---|
45 | I $G(SDVSIT)>0 S SDX=$O(^AUPNVPRV("AD",SDVSIT,0))
|
---|
46 | I +$G(SDX)>0 D
|
---|
47 | . S PRVIEN=$P($G(^AUPNVPRV(SDX,0)),U)
|
---|
48 | . I PRVIEN>0,$P($G(^AUPNVPRV(SDX,0)),U,2)=DFN S PRVNAME=$$GET1^DIQ(200,PRVIEN,.01)
|
---|
49 | . S RSLT=$G(PRVIEN)_"^"_$G(PRVNAME)
|
---|
50 | Q $G(RSLT)
|
---|
51 | ;
|
---|
52 | DEFPRV(SDCLN) ; Return the default provider for a clinic if one is specified
|
---|
53 | ; Input
|
---|
54 | ; SDCLN - Clinic IEN for HOSPITAL LOCATION File (#44)
|
---|
55 | ; Output
|
---|
56 | ; Provider from NEW PERSON File (#200):
|
---|
57 | ; IEN^Provider Name or Null
|
---|
58 | ;
|
---|
59 | N SDX,PRVIEN,PRVNAME,RSLT
|
---|
60 | ;
|
---|
61 | S SDX=0
|
---|
62 | F S SDX=$O(^SC(SDCLN,"PR",SDX)) Q:'SDX D
|
---|
63 | . Q:'$P($G(^SC(SDCLN,"PR",SDX,0)),U,2)
|
---|
64 | . S PRVIEN=$P($G(^SC(SDCLN,"PR",SDX,0)),U)
|
---|
65 | . S PRVNAME=$$GET1^DIQ(200,PRVIEN,.01)
|
---|
66 | . S RSLT=$G(PRVIEN)_"^"_$G(PRVNAME)
|
---|
67 | Q $G(RSLT)
|
---|
68 | ;
|
---|
69 | ERRMSG(ERRCODE) ; Generate bulletin when an error condition is processed
|
---|
70 | ; Bulletins will be sent only if the receiving mail group SD RSA API ERRORS
|
---|
71 | ; contains at least 1 member
|
---|
72 | ;
|
---|
73 | N XMDUZ,XMSUB,XMTEXT,XMB,X,Y,MSG,SDMG,XMY
|
---|
74 | ;
|
---|
75 | S SDMG=$O(^XMB(3.8,"B","SD RSA API ERRORS",0))
|
---|
76 | Q:'SDMG
|
---|
77 | ; Check mail group for members. Quit if there are no members assigned to the group
|
---|
78 | Q:'$D(^XMB(3.8,SDMG,1,"B"))
|
---|
79 | ;
|
---|
80 | ; Get the error message, or set a generic message
|
---|
81 | S MSG=$P($G(ERRCODE),U,2)
|
---|
82 | I MSG']"" S MSG="A general error condition occurred during the PFSS Event Driver processing"
|
---|
83 | ;
|
---|
84 | S XMDUZ="PFSS EVENT DRIVER"
|
---|
85 | S XMY("G.SD RSA API ERRORS")=""
|
---|
86 | S XMB="SD API ERROR NOTICE"
|
---|
87 | S XMB(1)=$$GET1^DIQ(2,DFN,.01)
|
---|
88 | S XMB(2)=$$FMTE^XLFDT(SDT)
|
---|
89 | S XMB(3)=$$GET1^DIQ(44,SDCL,.01)
|
---|
90 | S XMB(4)=IBBEVENT
|
---|
91 | S XMB(5)=MSG
|
---|
92 | D ^XMB
|
---|
93 | Q
|
---|
94 | ;
|
---|
95 | GETEVT(EVT) ; Return message type for appointment event
|
---|
96 | ; The following appoint events will return the indicated message type
|
---|
97 | ; MAKE A05
|
---|
98 | ; CHECK-IN A04
|
---|
99 | ; CHECK-OUT A03
|
---|
100 | ; NO-SHOW A38
|
---|
101 | ;
|
---|
102 | ; CANCEL APPT. A38
|
---|
103 | ; CANCEL CHECK-IN A11
|
---|
104 | ; CANCEL CHECK-OUT A13
|
---|
105 | ; CANCEL NO-SHOW A05
|
---|
106 | ;
|
---|
107 | Q $S(EVT="MAKE":"A05",EVT="CHECK-IN":"A04",EVT="CHECK-OUT":"A03",EVT="NO-SHOW":"A38",EVT="CANCEL":"A38",EVT="DELETE CO":"A13",EVT="DELETE CI":"A11",EVT="DELETE NS":"A05",1:"")
|
---|