[628] | 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
|
---|