1 | SCDXUTL3 ;ALB/JRP - ACRP ERROR CODE UTILITIES;08-OCT-1996
|
---|
2 | ;;5.3;Scheduling;**68**;AUG 13, 1993
|
---|
3 | DEMOCODE(PTRCODE) ;Determine if NPCDB error code is related to a
|
---|
4 | ; patient's demographic data or if it is related to the encounter data
|
---|
5 | ;
|
---|
6 | ;Input : PTRCODE - Pointer to entry in TRANSMITTED OUTPATIENT
|
---|
7 | ; ENCOUNTER ERROR CODE file (#409.76)
|
---|
8 | ;Output : 1 - Error is related to patient's demographic data
|
---|
9 | ; 0 - Error is related to the encounter data
|
---|
10 | ; 0 - Bad input
|
---|
11 | ;
|
---|
12 | ;Check input
|
---|
13 | S PTRCODE=+$G(PTRCODE)
|
---|
14 | Q:('$D(^SD(409.76,PTRCODE,0))) 0
|
---|
15 | ;Declare variables
|
---|
16 | N ERRCODE,TMP,DEMOCODE,DEMOGRP
|
---|
17 | ;Convert pointer to error code
|
---|
18 | S ERRCODE=$P($G(^SD(409.76,PTRCODE,0)),"^",1)
|
---|
19 | Q:(ERRCODE="") 0
|
---|
20 | ;Establish series of codes that relate to patient demographic data
|
---|
21 | F TMP=200,300,400,700,800,"000","B00","C00" S DEMOGRP(TMP)=1
|
---|
22 | ;Convert error code to it's series range and determine if that range
|
---|
23 | ;relates to patient demographic data
|
---|
24 | S TMP=$E(ERRCODE,1)_"00"
|
---|
25 | S DEMOCODE=+$G(DEMOGRP(TMP))
|
---|
26 | ;Done
|
---|
27 | Q DEMOCODE
|
---|
28 | ;
|
---|
29 | DEMOERR(PTRERR) ;Determine if error is related to a patient's demographic
|
---|
30 | ; data or if it is related to the encounter data
|
---|
31 | ;
|
---|
32 | ;Input : PTRERR - Pointer to entry in TRANSMITTED OUTPATIENT
|
---|
33 | ; ENCOUNTER ERROR file (#409.75)
|
---|
34 | ;Output : 1 - Error is related to patient's demographic data
|
---|
35 | ; 0 - Error is related to the encounter data
|
---|
36 | ; 0 - Bad input
|
---|
37 | ;
|
---|
38 | ;Check input
|
---|
39 | S PTRERR=+$G(PTRERR)
|
---|
40 | Q:('$D(^SD(409.75,PTRERR,0))) 0
|
---|
41 | ;Declare variables
|
---|
42 | N PTRCODE,NODE
|
---|
43 | ;Get pointer to TRANSMITTED OUTPATIENT ENCOUNTER ERROR CODE file
|
---|
44 | S NODE=$G(^SD(409.75,PTRERR,0))
|
---|
45 | S PTRCODE=+$P(NODE,"^",2)
|
---|
46 | ;Return whether or not error code is related to demographic data
|
---|
47 | Q $$DEMOCODE(PTRCODE)
|
---|
48 | ;
|
---|
49 | REJ4DEMO(XMITPTR) ;Determine if encounter was rejected due to a
|
---|
50 | ; demographic error
|
---|
51 | ;
|
---|
52 | ;Input : XMITPTR - Pointer to TRANSMITTED OUTPATIENT ENCOUNTER
|
---|
53 | ; file (#409.73)
|
---|
54 | ;Output : 1 - At least one of the error codes listed for the
|
---|
55 | ; encounter is related to the patient's demographic data
|
---|
56 | ; 0 - None of the error codes listed for the encounter are
|
---|
57 | ; related to the patient's demographic data
|
---|
58 | ; 0 - Bad input/no error codes listed
|
---|
59 | ;
|
---|
60 | ;Check input
|
---|
61 | S XMITPTR=+$G(XMITPTR)
|
---|
62 | Q:('$D(^SD(409.73,XMITPTR,0))) 0
|
---|
63 | ;Declare variables
|
---|
64 | N PTRERR,PTRCODE,NODE,REJ4DEMO
|
---|
65 | S REJ4DEMO=0
|
---|
66 | ;Loop through TRANSMITTED OUTPATIENT ENCOUNTER ERROR file (#409.75)
|
---|
67 | S PTRERR=""
|
---|
68 | F S PTRERR=+$O(^SD(409.75,"B",XMITPTR,PTRERR)) Q:('PTRERR) D Q:(REJ4DEMO)
|
---|
69 | .;Get pointer to error code
|
---|
70 | .S NODE=$G(^SD(409.75,PTRERR,0))
|
---|
71 | .S PTRCODE=+$P(NODE,"^",2)
|
---|
72 | .Q:('PTRCODE)
|
---|
73 | .;Determine if code is based on demographic data
|
---|
74 | .S REJ4DEMO=+$$DEMOCODE(PTRCODE)
|
---|
75 | ;Done
|
---|
76 | Q REJ4DEMO
|
---|