1 | MCARAM6 ;WASH ISC/JKL-MUSE LOOKUP IN DHCP ;5/2/96 12:49
|
---|
2 | ;;2.3;Medicine;;09/13/1996
|
---|
3 | ;
|
---|
4 | ;
|
---|
5 | ;Lookup for last record in EKG file given a date/time and SSN
|
---|
6 | ;USAGE: S X=$$LSSN^MCARAM6(A,B,.C)
|
---|
7 | ;WHERE: A=Date/time of record in FileMan format
|
---|
8 | ; B=Social Security Number in consecutive digits
|
---|
9 | ; .C=Array into which data is placed
|
---|
10 | ; if unsuccessful, returns an error message
|
---|
11 | ; if successful, returns a function value of 0 and a value array:
|
---|
12 | ; C("EKG") = IEN of existing EKG record
|
---|
13 | ; C(1) = PID of patient, field 1, Medical Patient
|
---|
14 | ; C("NAME") = name of patient
|
---|
15 | ;
|
---|
16 | ;variables
|
---|
17 | ;MCERR = error message
|
---|
18 | ;
|
---|
19 | LSSN(MCDT,MCSS,MCP) ;
|
---|
20 | ; Where MCDT is Date/time of record in FileMan format
|
---|
21 | ; MCSS is Social Security Number in consecutive digits
|
---|
22 | ; MCP is array into which data is placed
|
---|
23 | ;
|
---|
24 | ; Retrieves PID from SSN X-ref of Patient file
|
---|
25 | N MCI,DIC,D,X,Y S MCP("EKG")=""
|
---|
26 | S DIC="^DPT(",DIC(0)="XZ",D="SSN",X=MCSS D IX^DIC
|
---|
27 | I +Y'>0 S MCERR=$$EMPSSN(MCSS,.Y) I +MCERR=55 Q MCERR
|
---|
28 | S MCP(1)=+Y,MCP("NAME")=$P(Y(0),U)
|
---|
29 | I '$D(^MCAR(691.5,"B",MCDT)) S MCERR="12-Date/Time not in EKG file" Q $$LOG^MCARAM7(MCERR)
|
---|
30 | S MCI=0 F S MCI=$O(^MCAR(691.5,"B",MCDT,MCI)) Q:MCI="" I $D(^MCAR(691.5,"C",MCP(1),MCI)) S MCP("EKG")=MCI
|
---|
31 | I MCP("EKG")="" S MCERR="15-PID does not exist for Date/Time" Q $$LOG^MCARAM7(MCERR)
|
---|
32 | Q 0
|
---|
33 | ;
|
---|
34 | ERR ;Error return
|
---|
35 | Q MCERR
|
---|
36 | ;
|
---|
37 | EMPSSN(MCSS,Y) ;Determine if unretrievable SSN belongs to an employee
|
---|
38 | ;USAGE: S X=$$EMPSSN^MCARAM6(A,.B)
|
---|
39 | ;WHERE: A=Social Security Number
|
---|
40 | ; if unsuccessful, returns an error message
|
---|
41 | ; if successful, returns a function value of 0 and an array:
|
---|
42 | ; B = patient id , B(0) = patient name
|
---|
43 | ;
|
---|
44 | N MCEPID,MCEMP,DIC,D,X,Y
|
---|
45 | S MCERR="55-Social Security Number not in Patient file"
|
---|
46 | I '$D(^DPT("SSN",MCSS)) Q MCERR
|
---|
47 | S MCEPID=$O(^DPT("SSN",MCSS,0))
|
---|
48 | I '$D(^DPT(MCEPID,.36)) G STYPE
|
---|
49 | ; Retrieves Employee entry from Eligibility Code file
|
---|
50 | SELIG S DIC="^DIC(8,",DIC(0)="XZ",D="B",X="EMPLOYEE" D IX^DIC
|
---|
51 | I +Y'>0 G STYPE
|
---|
52 | S MCEMP=+Y
|
---|
53 | I ^DPT(MCEPID,.36)=MCEMP,$D(^DPT(MCEPID,0)) S Y=MCEPID,Y(0)=$P(^DPT(MCEPID,0),"^") Q 0
|
---|
54 | STYPE I '$D(^DPT(MCEPID,"TYPE")) Q MCERR
|
---|
55 | ; Retrieves Employee entry from Type of Patient file
|
---|
56 | S DIC="^DG(391,",DIC(0)="XZ",D="B",X="EMPLOYEE" D IX^DIC
|
---|
57 | I +Y'>0 Q MCERR
|
---|
58 | S MCEMP=+Y
|
---|
59 | I ^DPT(MCEPID,"TYPE")=MCEMP,$D(^DPT(MCEPID,0)) S Y=MCEPID,Y(0)=$P(^DPT(MCEPID,0),"^") Q 0
|
---|
60 | Q MCERR
|
---|
61 | ;
|
---|
62 | ;Lookup for last record in EKG file given a date/time and full name
|
---|
63 | ;USAGE: S X=$$LNAME^MCARAM6(A,B,.C)
|
---|
64 | ;WHERE: A=Date/time of record in FileMan format
|
---|
65 | ; B=Full Name in DHCP format
|
---|
66 | ; .C=Array into which data is placed
|
---|
67 | ; if unsuccessful, returns an error message
|
---|
68 | ; if successful, returns a function value of 0 and a value array:
|
---|
69 | ; C("EKG") = IEN of existing EKG record
|
---|
70 | ; C(1) = PID of patient, field 1, Medical Patient
|
---|
71 | ; C("NAME") = name of patient
|
---|
72 | ;
|
---|
73 | ;variables
|
---|
74 | ;MCERR = error message
|
---|
75 | ;
|
---|
76 | LNAME(MCDT,MCNAME,MCP) ;
|
---|
77 | ; Where MCDT is Date/time of record in FileMan format
|
---|
78 | ; MCNAME is Full Name in DHCP format
|
---|
79 | ; MCP is array into which data is placed
|
---|
80 | ;
|
---|
81 | ; Retrieves PID from Name X-ref of Patient file
|
---|
82 | N MCI,DIC,D,X,Y S MCP("EKG")=""
|
---|
83 | S DIC="^DPT(",DIC(0)="XZ",D="B",X=MCNAME D IX^DIC
|
---|
84 | I +Y'>0 S MCERR=$$EMPNAME(MCNAME,.Y) I +MCERR=56 Q MCERR
|
---|
85 | S MCP(1)=+Y,MCP("NAME")=$P(Y(0),U)
|
---|
86 | I '$D(^MCAR(691.5,"B",MCDT)) S MCERR="12-Date/Time not in EKG file" Q $$LOG^MCARAM7(MCERR)
|
---|
87 | S MCI=0 F S MCI=$O(^MCAR(691.5,"B",MCDT,MCI)) Q:MCI="" I $D(^MCAR(691.5,"C",MCP(1),MCI)) S MCP("EKG")=MCI
|
---|
88 | I MCP("EKG")="" S MCERR="15-PID does not exist for Date/Time" Q $$LOG^MCARAM7(MCERR)
|
---|
89 | Q 0
|
---|
90 | ;
|
---|
91 | EMPNAME(MCNAME,Y) ;Determine if unretrievable name belongs to an employee
|
---|
92 | ;USAGE: S X=$$EMPNAME^MCARAM6(A,.B)
|
---|
93 | ;WHERE: A = Name
|
---|
94 | ; if unsuccessful, returns an error message
|
---|
95 | ; if successful, returns a function value of 0 and an array:
|
---|
96 | ; B = patient id , B(0) = patient name
|
---|
97 | ;
|
---|
98 | N MCEPID,MCEMP,DIC,D,X,Y
|
---|
99 | S MCERR="56-Name does not match Patient file"
|
---|
100 | I '$D(^DPT("B",MCNAME)) Q MCERR
|
---|
101 | S MCEPID=$O(^DPT("B",MCNAME,0))
|
---|
102 | I '$D(^DPT(MCEPID,.36)) G NTYPE
|
---|
103 | ; Retrieves Employee entry from Eligibility Code file
|
---|
104 | NELIG S DIC="^DIC(8,",DIC(0)="XZ",D="B",X="EMPLOYEE" D IX^DIC
|
---|
105 | I +Y'>0 G NTYPE
|
---|
106 | S MCEMP=+Y
|
---|
107 | I ^DPT(MCEPID,.36)=MCEMP,$D(^DPT(MCEPID,0)) S Y=MCEPID,Y(0)=$P(^DPT(MCEPID,0),"^") Q 0
|
---|
108 | NTYPE I '$D(^DPT(MCEPID,"TYPE")) Q MCERR
|
---|
109 | ; Retrieves Employee entry from Type of Patient file
|
---|
110 | S DIC="^DG(391,",DIC(0)="XZ",D="B",X="EMPLOYEE" D IX^DIC
|
---|
111 | I +Y'>0 Q MCERR
|
---|
112 | S MCEMP=+Y
|
---|
113 | I ^DPT(MCEPID,"TYPE")=MCEMP,$D(^DPT(MCEPID,0)) S Y=MCEPID,Y(0)=$P(^DPT(MCEPID,0),"^") Q 0
|
---|
114 | Q MCERR
|
---|