1 | ALPBUTL2 ;OIFO-DALLAS MW,SED,KC-BCBU BACKUP REPORT FUNCTIONS AND UTILITIES ;01/01/03
|
---|
2 | ;;3.0;BAR CODE MED ADMIN;**8**;Mar 2004
|
---|
3 | ;
|
---|
4 | DELALG(IEN) ; delete allergies...
|
---|
5 | ; IEN = the patient's record number in file 53.7
|
---|
6 | ; deletes any allergies in the patient's record -- returns nothing
|
---|
7 | I +$G(IEN)=0 Q
|
---|
8 | I +$O(^ALPB(53.7,IEN,1,0))=0 Q
|
---|
9 | N ALPBX,DA,DIK,X,Y
|
---|
10 | S ALPBX=0
|
---|
11 | F S ALPBX=$O(^ALPB(53.7,IEN,1,ALPBX)) Q:'ALPBX D
|
---|
12 | .S DA=ALPBX
|
---|
13 | .S DA(1)=IEN
|
---|
14 | .S DIK="^ALPB(53.7,"_DA(1)_",1,"
|
---|
15 | .D ^DIK
|
---|
16 | .K DA,DIK
|
---|
17 | Q
|
---|
18 | ;
|
---|
19 | GETPID(DATA,FS,CS,ECH,RESULTS) ; retrieve specific patient ID data from
|
---|
20 | ; PID segment...
|
---|
21 | ; DATA = HL7 data string
|
---|
22 | ; FS = HL7 field separator character
|
---|
23 | ; CS = HL7 component separator character
|
---|
24 | ; ECH = HL7 separators string
|
---|
25 | ; RESULTS = an array passed by reference into which retrieved data
|
---|
26 | ; is returned patient's DFN
|
---|
27 | S RESULTS(1)=$P($P(DATA,FS,4),CS,1)
|
---|
28 | ; name...
|
---|
29 | S RESULTS(2)=$$FMNAME^HLFNC($P(DATA,FS,6),ECH)
|
---|
30 | ; ssn (strip any dashes)...
|
---|
31 | S RESULTS(3)=$$STRIP^XLFSTR($P($P(DATA,FS,3),CS,1),"-")
|
---|
32 | ; dob...
|
---|
33 | S RESULTS(4)=$$FMDATE^HLFNC($P(DATA,FS,8))
|
---|
34 | ; gender...
|
---|
35 | S RESULTS(5)=$P(DATA,FS,9)
|
---|
36 | Q
|
---|
37 | ;
|
---|
38 | GETORC(DATA,FS,CS,RESULTS) ; retrieve order number, date, type, and
|
---|
39 | ; CPRS order number from ORC segment...
|
---|
40 | ; DATA = HL7 data string
|
---|
41 | ; FS = HL7 field separator character
|
---|
42 | ; CS = HL7 component separator character
|
---|
43 | ; RESULTS = an array passed by reference into which retrieved data
|
---|
44 | ; is returned order action
|
---|
45 | S RESULTS(0)=$P(DATA,FS,2)
|
---|
46 | ; order number...
|
---|
47 | S RESULTS(1)=$P($P(DATA,FS,4),CS,1)
|
---|
48 | ; order date/time...
|
---|
49 | S RESULTS(2)=$S($P(DATA,FS,16)'="":$$FMDATE^HLFNC($P(DATA,FS,16)),$P(DATA,FS,10)'="":$$FMDATE^HLFNC($P(DATA,FS,10)),1:"")
|
---|
50 | ; CPRS order number...
|
---|
51 | S RESULTS(3)=+$P(DATA,FS,3)
|
---|
52 | ; order type...
|
---|
53 | S RESULTS(4)=$E(RESULTS(1),$L(RESULTS(1)))
|
---|
54 | Q
|
---|
55 | ;
|
---|
56 | DELERR(IEN) ; delete an entry from the Error Log...
|
---|
57 | ; IEN = the Error Log record number
|
---|
58 | N ALPBPARM,DA,DIK,X,Y
|
---|
59 | S ALPBPARM=+$O(^ALPB(53.71,0))
|
---|
60 | I ALPBPARM'>0 Q
|
---|
61 | S DA=IEN
|
---|
62 | S DA(1)=ALPBPARM
|
---|
63 | S DIK="^ALPB(53.71,"_DA(1)_",1,"
|
---|
64 | D ^DIK
|
---|
65 | Q
|
---|
66 | ;
|
---|
67 | ERRCT() ; fetch and return count of errors in the log in BCMA BACKUP PARAMETERS
|
---|
68 | ; file...
|
---|
69 | ; returns count of errors
|
---|
70 | N ALPBPARM,ALPBCNT,ALPBX
|
---|
71 | S ALPBPARM=+$O(^ALPB(53.71,0))
|
---|
72 | I ALPBPARM'>0 Q 0
|
---|
73 | S (ALPBCNT,ALPBX)=0
|
---|
74 | F S ALPBX=$O(^ALPB(53.71,ALPBPARM,1,"B",ALPBX)) Q:'ALPBX S ALPBCNT=ALPBCNT+1
|
---|
75 | Q ALPBCNT
|
---|
76 | ;
|
---|
77 | REPL(X,Y) ; replace non-alpha and non-numeric characters...
|
---|
78 | ; X = a string to examine
|
---|
79 | ; Y = a character to use as the replacment
|
---|
80 | ; returns a string with any non-alpha and non-numeric characters
|
---|
81 | ; converted to the character passed in Y
|
---|
82 | I $G(X)=""!($G(Y)="") Q X
|
---|
83 | N I,NEWSTR,NEWX,Z
|
---|
84 | S NEWSTR=""
|
---|
85 | F I=1:1:$L(X) D
|
---|
86 | .S (NEWX,Z)=$E(X,I)
|
---|
87 | .I $A(Z)<48&($A(Z)'=44) S NEWX=Y
|
---|
88 | .I $A(Z)>57&($A(Z)<65) S NEWX=Y
|
---|
89 | .I $A(Z)>90&($A(Z)<97) S NEWX=Y
|
---|
90 | .I $A(Z)>122 S NEWX=Y
|
---|
91 | .S NEWSTR=NEWSTR_NEWX
|
---|
92 | Q NEWSTR
|
---|
93 | ;
|
---|
94 | CLORD(IEN,OIEN) ; delete drug(s), additive(s) and/or solution(s) entries
|
---|
95 | ; for a specified order...
|
---|
96 | ; IEN = patient's record number in file 53.7
|
---|
97 | ; OIEN = order's sub-record number in file 53.7
|
---|
98 | ; returns nothing
|
---|
99 | I +$G(IEN)=0!(+$G(OIEN)=0) Q
|
---|
100 | N DA,DIK,SUB,X,XIEN,Y
|
---|
101 | F SUB=7,8,9 D
|
---|
102 | .S XIEN=0
|
---|
103 | .F S XIEN=$O(^ALPB(53.7,IEN,2,OIEN,SUB,XIEN)) Q:'XIEN D
|
---|
104 | ..S DA=XIEN
|
---|
105 | ..S DA(1)=OIEN
|
---|
106 | ..S DA(2)=IEN
|
---|
107 | ..S DIK="^ALPB(53.7,"_DA(2)_",2,"_DA(1)_","_SUB_","
|
---|
108 | ..D ^DIK
|
---|
109 | ..K DA,DIK
|
---|
110 | .K XIEN
|
---|
111 | Q
|
---|