1 | SCDXFU02 ;ALB/JRP - AMB CARE FILE UTILITIES;03-MAY-1996 ; 17 Apr 2000 5:27 PM
|
---|
2 | ;;5.3;Scheduling;**44,110,128,66,215**;AUG 13, 1993
|
---|
3 | ;
|
---|
4 | CRTDEL(ENCDATE,DFN,DELDATE,ENCNODE) ;Create entry in DELETED OUTPATIENT
|
---|
5 | ; ENCOUNTER file (#409.74)
|
---|
6 | ;
|
---|
7 | ;Input : ENCDATE - Date/time Outpatient Encounter occurred in
|
---|
8 | ; FileMan format
|
---|
9 | ; DFN - Pointer to entry in PATIENT file (#2) that the
|
---|
10 | ; deleted Outpatient Encounter was for
|
---|
11 | ; DELDATE - FileMan date/time Outpatient Encounter was deleted
|
---|
12 | ; (Defaults to NOW)
|
---|
13 | ; ENCNODE - Zero node of entry in OUTPATIENT ENCOUNTER file
|
---|
14 | ; (#409.68) that was deleted
|
---|
15 | ;Output : DELPTR - Pointer to entry in DELETED OUTPATIENT ENCOUNTER
|
---|
16 | ; file (#409.74)
|
---|
17 | ; -1^Error - Unable to create entry / bad input
|
---|
18 | ;
|
---|
19 | ;Check input
|
---|
20 | S ENCDATE=+$G(ENCDATE)
|
---|
21 | Q:('ENCDATE) "-1^Did not pass date/time Outpatient Encounter occurred"
|
---|
22 | S DFN=+$G(DFN)
|
---|
23 | Q:('$D(^DPT(DFN,0))) "-1^Did not pass valid pointer to patient"
|
---|
24 | S DELDATE=+$G(DELDATE)
|
---|
25 | S:('DELDATE) DELDATE="NOW"
|
---|
26 | S ENCNODE=$G(ENCNODE)
|
---|
27 | ;Declare variables
|
---|
28 | N DIC,DA,DINUM,DLAYGO,DIDEL,DELPTR
|
---|
29 | ;Create entry
|
---|
30 | S DIC="^SD(409.74,"
|
---|
31 | S DIC(0)="L"
|
---|
32 | S X=ENCDATE
|
---|
33 | S DIC("DR")=".02////^S X=DFN;.03///^S X=DELDATE;11////^S X=ENCNODE"
|
---|
34 | S DLAYGO=409.74
|
---|
35 | K DD,DO D FILE^DICN
|
---|
36 | ;Get pointer to entry
|
---|
37 | S DELPTR=+Y
|
---|
38 | ;Error creating entry
|
---|
39 | S:(DELPTR<0) DELPTR="-1^Unable to create entry in Deleted Outpatient Encounter file"
|
---|
40 | ;Done
|
---|
41 | Q DELPTR
|
---|
42 | ;
|
---|
43 | DELDEL(DELPTR) ;Delete entry in DELETED OUTPATIENT ENCOUNTER file (#409.74)
|
---|
44 | ;
|
---|
45 | ;Input : DELDEL
|
---|
46 | ;Output : 0 - Success
|
---|
47 | ; -1 - Unable to delete entry
|
---|
48 | ;Note : Success (0) is returned when a valid pointer to the
|
---|
49 | ; DELETED OUTPATIENT ENCOUNTER ERROR file is not passed
|
---|
50 | ; (Deleting an entry that doesn't exist is successful)
|
---|
51 | ; : It is the calling application's responsibility to also
|
---|
52 | ; delete the related entry in the TRANSMITTED OUTPATIENT
|
---|
53 | ; ENCOUNTER file (#409.73)
|
---|
54 | ;
|
---|
55 | ;Check input
|
---|
56 | S DELPTR=+$G(DELPTR)
|
---|
57 | Q:('$D(^SD(409.74,DELPTR,0))) 0
|
---|
58 | ;Declare variables
|
---|
59 | N DIK,DA,X,Y,DIC
|
---|
60 | ;Delete entry
|
---|
61 | S DIK="^SD(409.74,"
|
---|
62 | S DA=DELPTR
|
---|
63 | D ^DIK
|
---|
64 | ;Done
|
---|
65 | Q 0
|
---|
66 | ;
|
---|
67 | PTR4MID(MID) ;Find entry in TRANSMITTED OUTPATIENT ENCOUNTER file (#409.73)
|
---|
68 | ; using Message Control ID
|
---|
69 | ;
|
---|
70 | ;Input : MID - Message Control ID used when entry was transmitted to
|
---|
71 | ; National Patient Care Database
|
---|
72 | ;Output : XMITPTR - Pointer to entry in TRANSMITTED OUTPATIENT
|
---|
73 | ; ENCOUNTER file (#409.73)
|
---|
74 | ; 0 - Entry in TRANSMITTED OUTPATIENT ENCOUNTER file with
|
---|
75 | ; given Message Control ID could not be found
|
---|
76 | ;
|
---|
77 | ;Check input
|
---|
78 | S MID=$G(MID)
|
---|
79 | Q:(MID="") 0
|
---|
80 | ;Find entry - done
|
---|
81 | Q +$O(^SD(409.73,"AACMID",MID,""))
|
---|
82 | ;
|
---|
83 | PTRS4BID(BID,ARRAY) ;Find all entries in TRANSMITTED OUTPATIENT ENCOUNTER
|
---|
84 | ; file (#409.73) with a specified Batch Control ID
|
---|
85 | ;
|
---|
86 | ;Input : BID - Batch Control ID used when entries were transmitted
|
---|
87 | ; to National Patient Care Database
|
---|
88 | ; ARRAY - Array to place pointers to TRANSMITTED OUTPATIENT
|
---|
89 | ; ENCOUNTER file (#409.73) into (Full global reference)
|
---|
90 | ; (Defaults to ^TMP("AMB-CARE",$J,"BID"))
|
---|
91 | ;Output : None
|
---|
92 | ; ARRAY(XMITPTR) - Array of pointers to TRANSMITTED OUTPATIENT
|
---|
93 | ; ENCOUNTER file (#409.73)
|
---|
94 | ;Note : It is the responsibility of the calling procedure to
|
---|
95 | ; initialize (i.e. KILL) ARRAY
|
---|
96 | ;
|
---|
97 | ;Check input
|
---|
98 | S BID=$G(BID)
|
---|
99 | Q:(BID="")
|
---|
100 | S ARRAY=$G(ARRAY)
|
---|
101 | S:(ARRAY="") ARRAY="^TMP(""AMB-CARE"","_$J_",""BID"")"
|
---|
102 | ;Build array of pointers (merge AACBID cross reference into ARRAY)
|
---|
103 | M @ARRAY=^SD(409.73,"AACBID",BID)
|
---|
104 | Q
|
---|
105 | ;
|
---|
106 | CRTERR(XMITPTR,ERRCODE,NPCD) ;Create entry in TRANSMITTED OUTPATIENT ENCOUNTER
|
---|
107 | ; ERROR file (#409.75)
|
---|
108 | ;
|
---|
109 | ;Input : XMITPTR - Pointer to entry in TRANSMITTED OUTPATIENT
|
---|
110 | ; ENCOUNTER file (#409.73)
|
---|
111 | ; ERRCODE - Error code (external format)
|
---|
112 | ; NPCD - '1' if filed by Austin acknowledgment (optional)
|
---|
113 | ;
|
---|
114 | ;Output : ERRPTR - Pointer to entry in TRANSMITTED OUTPATIENT ENCOUNTER
|
---|
115 | ; ERROR file (#409.75)
|
---|
116 | ; -1^Error - Unable to create entry / bad input
|
---|
117 | ;Notes : ERRCODE must be a valid entry in TRANSMITTED OUTPATIENT
|
---|
118 | ; ENCOUNTER ERROR CODE file (#409.76)
|
---|
119 | ;
|
---|
120 | ;Check input
|
---|
121 | ;Convert code to 'reason unknown' if necessary
|
---|
122 | I $G(NPCD) D
|
---|
123 | .I '$L(ERRCODE) S ERRCODE=999 Q
|
---|
124 | .I '$O(^SD(409.76,"B",ERRCODE,"")) S ERRCODE=999
|
---|
125 | .Q
|
---|
126 | S XMITPTR=+$G(XMITPTR)
|
---|
127 | Q:('$D(^SD(409.73,XMITPTR,0))) "-1^Did not pass valid pointer to Transmitted Outpatient Encounter"
|
---|
128 | S ERRCODE=$G(ERRCODE)
|
---|
129 | Q:(ERRCODE="") "-1^Did not pass valid error code"
|
---|
130 | Q:('$O(^SD(409.76,"B",ERRCODE,""))) "-1^Did not pass valid error code"
|
---|
131 | ;Declare variables
|
---|
132 | N DIC,DA,DINUM,DLAYGO,X,Y
|
---|
133 | ;Create entry
|
---|
134 | S DIC="^SD(409.75,"
|
---|
135 | S DIC(0)="L"
|
---|
136 | S DLAYGO=409.75
|
---|
137 | S X=XMITPTR
|
---|
138 | S DIC("DR")=".02///^S X=ERRCODE"
|
---|
139 | K DD,DO D FILE^DICN
|
---|
140 | ;Get pointer to entry
|
---|
141 | S ERRPTR=+Y
|
---|
142 | ;Error creating entry
|
---|
143 | S:(ERRPTR<0) ERRPTR="-1^Unable to create entry in Transmitted Outpatient Encounter Error file"
|
---|
144 | ;Done
|
---|
145 | Q ERRPTR
|
---|
146 | ;
|
---|
147 | DELERR(ERRPTR) ;Delete entry in TRANSMITTED OUTPATIENT ENCOUNTER ERROR
|
---|
148 | ; file (#409.75)
|
---|
149 | ;
|
---|
150 | ;Input : ERRPTR - Pointer to entry in TRANSMITTED OUTPATIENT ENCOUNTER
|
---|
151 | ; ERROR file (#409.75) to delete
|
---|
152 | ;Output : 0 - Success
|
---|
153 | ; -1 - Unable to delete entry
|
---|
154 | ;Note : Success (0) is returned when a valid pointer to the
|
---|
155 | ; TRANSMITTED OUTPATIENT ENCOUNTER ERROR file is not passed
|
---|
156 | ; (Deleting an entry that doesn't exist is successful)
|
---|
157 | ;
|
---|
158 | ;Check input
|
---|
159 | S ERRPTR=+$G(ERRPTR)
|
---|
160 | Q:('$D(^SD(409.75,ERRPTR,0))) 0
|
---|
161 | ;Declare variables
|
---|
162 | N DIK,DA,X,Y,DIC
|
---|
163 | ;Delete entry
|
---|
164 | S DIK="^SD(409.75,"
|
---|
165 | S DA=ERRPTR
|
---|
166 | D ^DIK
|
---|
167 | ;Done
|
---|
168 | Q 0
|
---|
169 | ;
|
---|
170 | DELAERR(XMITPTR,ERR) ;Delete all entries in TRANSMITTED OUTPATIENT ENCOUNTER
|
---|
171 | ; ERROR file (#409.75) for a Transmitted Outpatient Encounter
|
---|
172 | ;
|
---|
173 | ;Input : XMITPTR - Pointer to entry in TRANSMITTED OUTPATIENT
|
---|
174 | ; ENCOUNTER file (#409.73) to delete errors for
|
---|
175 | ; ERR - Which error to delete.
|
---|
176 | ; 0 OR NOTHING - delete ALL errors
|
---|
177 | ; 1 - VISTA errors
|
---|
178 | ; 2 - NPCDB errors
|
---|
179 | ; 3 - HL7 errors
|
---|
180 | ;
|
---|
181 | ;Output : None
|
---|
182 | ;
|
---|
183 | ;Check input
|
---|
184 | S XMITPTR=+$G(XMITPTR)
|
---|
185 | S ERR=+$G(ERR)
|
---|
186 | ;Declare variables
|
---|
187 | N ERRPTR,TMP
|
---|
188 | ;Find all entries in Transmitted Outpatient Encounter Error file that
|
---|
189 | ; point to the Transmitted Outpatient Encounter and delete
|
---|
190 | S ERRPTR=""
|
---|
191 | F S ERRPTR=+$O(^SD(409.75,"B",XMITPTR,ERRPTR)) Q:('ERRPTR) DO
|
---|
192 | .I '+ERR S TMP=$$DELERR(ERRPTR) ;default and all
|
---|
193 | .N ERTYPE
|
---|
194 | .S ERTYPE=+$P($G(^SD(409.75,ERRPTR,0)),U,2)
|
---|
195 | .Q:'ERTYPE
|
---|
196 | .S ERTYPE=$P($G(^SD(409.76,ERTYPE,0)),U,2)
|
---|
197 | .I ERR=1,ERTYPE="V" S TMP=$$DELERR(ERRPTR) ;delete vista errors
|
---|
198 | .I ERR=2,ERTYPE="N" S TMP=$$DELERR(ERRPTR) ;delete NPCDB errors
|
---|
199 | .I ERR=3,ERTYPE="T" S TMP=$$DELERR(ERRPTR) ;delete HL7 errors
|
---|
200 | .Q
|
---|
201 | ;Done
|
---|
202 | Q
|
---|