1 | PXAICPTV ;ISL/JVS,ISA/KWP - VALADATE PROCEDURES(CPT) ;11/14/96 12:46
|
---|
2 | ;;1.0;PCE PATIENT CARE ENCOUNTER;**15,73,74,111,121,130**;Aug 12, 1996
|
---|
3 | ;
|
---|
4 | VAL ;--VALIDATE ENOUGH DATA
|
---|
5 | ;----Missing a pointer to PROCEDURE(CPT) name
|
---|
6 | I $G(PXAA("PROCEDURE"))']"" D Q:$G(STOP)
|
---|
7 | .S STOP=1 ;--USED TO STOP DO LOOP
|
---|
8 | .S PXAERRF=1 ;--FLAG INDICATES THERE IS AN ERR
|
---|
9 | .S PXADI("DIALOG")=8390001.001
|
---|
10 | .S PXAERR(9)="PROCEDURE"
|
---|
11 | .S PXAERR(11)=$G(PXAA("PROCEDURE"))
|
---|
12 | .S PXAERR(12)="You are missing a pointer to the PROCEDURE CPT FILE#81 that represents the procedure's name"
|
---|
13 | ;
|
---|
14 | ;----NOT a pointer to PROCEDURE CPT FILE#81
|
---|
15 | I '$D(^ICPT($G(PXAA("PROCEDURE")),0)) D Q:$G(STOP)
|
---|
16 | .S STOP=1
|
---|
17 | .S PXAERRF=1
|
---|
18 | .S PXADI("DIALOG")=8390001.001
|
---|
19 | .S PXAERR(9)="PROCEDURE"
|
---|
20 | .S PXAERR(11)=$G(PXAA("PROCEDURE"))
|
---|
21 | .S PXAERR(12)=PXAERR(11)_" is NOT a pointer value to the CPT FILE #81"
|
---|
22 | ;
|
---|
23 | ;----Not a valid CPT
|
---|
24 | I '$P($$CPT^ICPTCOD(PXAA("PROCEDURE"),+^AUPNVSIT(PXAVISIT,0)),"^",7) D Q:$G(STOP)
|
---|
25 | .S STOP=1
|
---|
26 | .S PXAERRF=1
|
---|
27 | .S PXADI("DIALOG")=8390001.001
|
---|
28 | .S PXAERR(9)="PROCEDURE"
|
---|
29 | .S PXAERR(11)=$G(PXAA("PROCEDURE"))
|
---|
30 | .S PXAERR(12)=PXAERR(11)_" is NOT a valid CPT code"
|
---|
31 | ;
|
---|
32 | ;----Not a valid modifier
|
---|
33 | N SUB,MODIEN
|
---|
34 | S SUB=""
|
---|
35 | F S SUB=$O(PXAA("MODIFIERS",SUB)) Q:SUB=""!($G(STOP)) D
|
---|
36 | .;S MODIEN=$$MODP^ICPTMOD(PXAA("PROCEDURE"),SUB,"E","",0)
|
---|
37 | .S MODIEN=$$MODP^ICPTMOD(PXAA("PROCEDURE"),SUB,"E",+^AUPNVSIT(PXAVISIT,0),0)
|
---|
38 | .I $P(MODIEN,"^")>0 Q
|
---|
39 | .S STOP=1
|
---|
40 | .S PXAERRF=1
|
---|
41 | .S PXADI("DIALOG")=8390001.001
|
---|
42 | .S PXAERR(9)="MODIFIERS"_","_SUB
|
---|
43 | .S PXAERR(11)=""
|
---|
44 | .S PXAERR(12)=SUB_" is NOT a valid modifier for procedure "_$G(PXAA("PROCEDURE"))
|
---|
45 | ;----"Missing the number of times the procedure was performed.
|
---|
46 | I $G(PXAA("QTY"))<1 D
|
---|
47 | .S STOP=0
|
---|
48 | .S PXAERRF=1
|
---|
49 | .S PXADI("DIALOG")=8390001.002
|
---|
50 | .S PXAERR(9)="QTY"
|
---|
51 | .S PXAERR(11)=$G(PXAA("QTY"))
|
---|
52 | .S PXAERR(12)="If this node is empty we will assume it should be '1'. If it is a less than '1' we will delete any reference to it in the data base."
|
---|
53 | ;
|
---|
54 | ;
|
---|
55 | Q
|
---|
56 | VAL04 ;---PROVIDER NARRATIVE
|
---|
57 | S STOP=1
|
---|
58 | S PXAERRF=1
|
---|
59 | S PXADI("DIALOG")=8390001.001
|
---|
60 | S PXAERR(9)="NARRATIVE"
|
---|
61 | S PXAERR(11)=$G(PXAA("NARRATIVE"))
|
---|
62 | S PXAERR(12)="We are unable to retrive a narrative from the PROVIDER NARRATIVE file #9999999.27"
|
---|
63 | Q
|
---|
64 | VAL45 ;---PROVIDER NARRATIVE CATEGORY
|
---|
65 | S STOP=0
|
---|
66 | S PXAERRF=1
|
---|
67 | S PXADI("DIALOG")=8390001.002
|
---|
68 | S PXAERR(9)="CATEGORY"
|
---|
69 | S PXAERR(11)=$G(PXAA("CATEGORY"))
|
---|
70 | S PXAERR(12)="We are unable to retrieve a narrative from the PROVIDER NARRATIVE file #9999999.27"
|
---|
71 | Q
|
---|
72 | ;---------------------SUBROUTINE------------------------------
|
---|
73 | ARRAY ;--SET ERRORS AND WARNINGS INTO AN ARRAY TO RETURN TO CALLER
|
---|
74 | I PXADI("DIALOG")=8390001.001 D
|
---|
75 | .S PXASUB=PXASUB+1
|
---|
76 | .S PXAPROB($J,PXASUB,"ERROR1",PXAERR(7),PXAERR(9),PXAK)=$G(PXAERR(12))
|
---|
77 | I PXADI("DIALOG")=8390001.002 D
|
---|
78 | .S PXASUB=PXASUB+1
|
---|
79 | .S PXAPROB($J,PXASUB,"WARNING2",PXAERR(7),PXAERR(9),PXAK)=$G(PXAERR(12))
|
---|
80 | I PXADI("DIALOG")=8390001.003 D
|
---|
81 | .S PXASUB=PXASUB+1
|
---|
82 | .S PXAPROB($J,PXASUB,"WARNING3","ENCOUNTER",1,"SC")=$G(PXAERR("6W"))
|
---|
83 | .S PXAPROB($J,PXASUB,"WARNING3","ENCOUNTER",1,"AO")=$G(PXAERR("7W"))
|
---|
84 | .S PXAPROB($J,PXASUB,"WARNING3","ENCOUNTER",1,"IR")=$G(PXAERR("8W"))
|
---|
85 | .S PXAPROB($J,PXASUB,"WARNING3","ENCOUNTER",1,"EC")=$G(PXAERR("9W"))
|
---|
86 | .S PXAPROB($J,PXASUB,"WARNING3","ENCOUNTER",1,"MST")=$G(PXAERR("10W"))
|
---|
87 | .;PX*1*111 - Add HNC
|
---|
88 | .S PXAPROB($J,PXASUB,"WARNING3","ENCOUNTER",1,"HNC")=$G(PXAERR("17W"))
|
---|
89 | .S PXAPROB($J,PXASUB,"WARNING3","ENCOUNTER",1,"CV")=$G(PXAERR("18W"))
|
---|
90 | I PXADI("DIALOG")=8390001.004 D
|
---|
91 | .S PXASUB=PXASUB+1
|
---|
92 | .S PXAPROB($J,PXASUB,"ERROR4","PX/DL",PXAK)=$G(PXAERR("PL1"))
|
---|
93 | Q
|
---|