1 | TIUPXAPM ;SLC/RMO - CPT Modifier API(s) ;03/06/03@1500
|
---|
2 | ;;1.0;TEXT INTEGRATION UTILITIES;**82,161**;Jun 20, 1997
|
---|
3 | ;
|
---|
4 | ;Pass in encounter date for CSV **161**
|
---|
5 | MOD(CPT,TIUI,TIUVDT) ;Select CPT Modifiers for CPT Code
|
---|
6 | ; Input -- CPT CPT Selection Array
|
---|
7 | ; TIUI Item Number in CPT Selection Array
|
---|
8 | ; TIUVDT Encounter Date
|
---|
9 | ; Output -- CPT CPT Selection Array
|
---|
10 | N CPTIEN,I,MOD,MODATA,MODCNT
|
---|
11 | S CPTIEN=+CPT(TIUI)
|
---|
12 | ;
|
---|
13 | ;Check if there are any selectable CPT Modifiers for the CPT Code
|
---|
14 | ;Current date passed to ICPTCOD, changed to encounter date for CSV **161**
|
---|
15 | I +$$CODM^ICPTCOD(CPTIEN,,"",TIUVDT)'>0 G MODQ
|
---|
16 | ;
|
---|
17 | ;Set CPT Modifier Selection Array for pre-selected CPT Modifiers
|
---|
18 | S (I,MODCNT)=0
|
---|
19 | F S I=$O(CPT(TIUI,"MOD",I)) Q:'I D
|
---|
20 | . S MODCNT=MODCNT+1
|
---|
21 | . S MOD(+$G(CPT(TIUI,"MOD",MODCNT)))=""
|
---|
22 | ;
|
---|
23 | ;Display pre-selected CPT Modifiers
|
---|
24 | D DISMOD(.CPT,TIUI,1)
|
---|
25 | ;
|
---|
26 | ;Ask CPT Modifiers
|
---|
27 | S MODCNT=$S($G(MODCNT):MODCNT,1:0)
|
---|
28 | ;Pass encounter date to ASKMOD for CSV **161**
|
---|
29 | F Q:'$$ASKMOD(CPTIEN,.MOD,MODCNT,.MODATA,TIUVDT) D
|
---|
30 | . S MOD(+MODATA)=""
|
---|
31 | . S MODCNT=MODCNT+1
|
---|
32 | . S CPT(TIUI,"MOD",MODCNT)=MODATA
|
---|
33 | . S MODATA=""
|
---|
34 | MODQ Q
|
---|
35 | ;
|
---|
36 | ;Pass in encounter date for CSV **161**
|
---|
37 | ASKMOD(CPTIEN,MOD,MODCNT,MODATA,TIUVDT) ;Ask CPT Modifier
|
---|
38 | ; Input -- CPTIEN CPT file (#81) IEN
|
---|
39 | ; MOD CPT Modifier Selection Array
|
---|
40 | ; MODCNT Number of Modifiers Selected
|
---|
41 | ; TIUVDT Encounter Date
|
---|
42 | ; Output -- 1=Successful and 0=Failure
|
---|
43 | ; MODATA Modifier Data from Modifier file (#81.3)
|
---|
44 | ; 1st Piece=IEN
|
---|
45 | ; 2nd Piece=Modifier field (#.01)
|
---|
46 | ; 3rd Piece=Name field (#.02)
|
---|
47 | N DIR,DTOUT,DUOUT,Y
|
---|
48 | S DIR(0)="PAO^81.3:AEMQZ^K:'$$CHKMOD^TIUPXAPM(.MOD,+Y) X"
|
---|
49 | S DIR("A")="Select "_$S($G(MODCNT):"another ",1:"")_"CPT MODIFIER: "
|
---|
50 | ;Pass encounter date to ICPTMOD for CSV **161**
|
---|
51 | S DIR("S")="I +$$MODP^ICPTMOD(CPTIEN,+Y,""I"",TIUVDT)>0"
|
---|
52 | D ^DIR
|
---|
53 | I Y>0 S MODATA=+Y_U_$P(Y(0),U,1,2)
|
---|
54 | Q $S($G(MODATA)="":0,1:1)
|
---|
55 | ;
|
---|
56 | CHKMOD(MOD,MODIEN) ;Check Selected CPT Modifier
|
---|
57 | ; Input -- MOD CPT Modifier Selection Array
|
---|
58 | ; MODIEN Modifier file (#81.3) IEN
|
---|
59 | ; Output -- 1=Successful and 0=Failure
|
---|
60 | N Y
|
---|
61 | S Y=1
|
---|
62 | ;Check if CPT Modifier has already been selected
|
---|
63 | I $D(MOD(MODIEN)) D EN^DDIOL("This CPT Modifier has already been selected.","","!?5") S Y=0
|
---|
64 | Q +$G(Y)
|
---|
65 | ;
|
---|
66 | DISMOD(CPT,TIUI,TIUSELF) ;Display Selected CPT Modifiers
|
---|
67 | ; Input -- CPT CPT Selection Array
|
---|
68 | ; TIUI Item Number in CPT Selection Array
|
---|
69 | ; TIUSELF Selection Process Flag (Optional)
|
---|
70 | ; 1=Selection Process
|
---|
71 | ; Output -- None
|
---|
72 | N CAP,MODATA,MODCNT,TC
|
---|
73 | ;
|
---|
74 | ;Set caption and format parameter
|
---|
75 | I $G(TIUSELF) D
|
---|
76 | . S CAP="Current CPT Modifiers:",TC=0
|
---|
77 | ELSE D
|
---|
78 | . S CAP="CPT Modifier(s):",TC=8
|
---|
79 | S MODCNT=0
|
---|
80 | F S MODCNT=$O(CPT(TIUI,"MOD",MODCNT)) Q:'MODCNT D
|
---|
81 | . S MODATA=$G(CPT(TIUI,"MOD",MODCNT))
|
---|
82 | . W:MODCNT=1 !,?TC,CAP
|
---|
83 | . W !?12,"-",$P(MODATA,U,2),?19,$P(MODATA,U,3)
|
---|
84 | Q
|
---|