1 | SROCDX2 ;BIR/ADM - ASSOCIATED DIAGNOSIS CODING UTILITIES ;07/27/05
|
---|
2 | ;;3.0; Surgery ;**142**;24 Jun 93
|
---|
3 | PRLOOP(SRCHK) N SRDX,SRMATCH,SRXX S (SRDX,SRMATCH)=0,SRXX=X
|
---|
4 | F SRI=1:1 S SRDX=$O(^SRO(136,SRTN,2,SRDX)) Q:'SRDX D
|
---|
5 | .I X=^SRO(136,SRTN,2,SRDX,0) D
|
---|
6 | ..I 'SRCHK D KPADX(SRTN,SRDX) S X=SRXX
|
---|
7 | ..S:$G(SRNEW) ^SRO(136,SRTN,2,SRDX,0)=SRNEW
|
---|
8 | ..S SRMATCH=1
|
---|
9 | Q SRMATCH
|
---|
10 | OTLOOP(SRCHK) N SRDA,OTH,SRMATCH,SRXX S (OTH,SRMATCH)=0,SRXX=X
|
---|
11 | F S OTH=$O(^SRO(136,SRTN,3,OTH)) Q:'OTH D
|
---|
12 | .S SRDA=0 F S SRDA=$O(^SRO(136,SRTN,3,OTH,2,SRDA)) Q:'+SRDA D
|
---|
13 | ..I X=^SRO(136,SRTN,3,OTH,2,SRDA,0) D Q
|
---|
14 | ...I 'SRCHK D KOADX(SRTN,OTH,SRDA) S X=SRXX
|
---|
15 | ...S:$G(SRNEW) ^SRO(136,SRTN,3,OTH,2,SRDA,0)=SRNEW
|
---|
16 | ...S SRMATCH=1
|
---|
17 | Q SRMATCH
|
---|
18 | DELASOC N DIR,Y,SRPR,SROT,SRXBAK
|
---|
19 | Q:$G(X)="" S SRXBAK=X
|
---|
20 | S:'$D(SRTN)&$D(DA(1)) SRTN=DA(1) S:'$D(SRTN)&'$D(DA(1)) SRTN=DA
|
---|
21 | S SRPR=$$PRLOOP(1),SROT=$$OTLOOP(1)
|
---|
22 | I 'SRPR,'SROT Q
|
---|
23 | S X=SRXBAK,SRPR=$$PRLOOP(0),SROT=$$OTLOOP(0)
|
---|
24 | Q
|
---|
25 | PRINASOD Q:$G(SRTN)=""!($G(X)="")
|
---|
26 | N D0 S D0=0 D DELASOC
|
---|
27 | Q
|
---|
28 | SCOND(X1,X2) ; set condition for ADXP x-ref
|
---|
29 | N SRDO S SRDO=0
|
---|
30 | I X1(1)'="",X1(1)'=X2(1) S SRDO=1
|
---|
31 | Q SRDO
|
---|
32 | KCOND(X1,X2) ; kill condition for ADXP x-ref
|
---|
33 | N SRDO S SRDO=0
|
---|
34 | I X2(1)="" S SRDO=1
|
---|
35 | Q SRDO
|
---|
36 | SADXP ; ADXP x-ref set logic
|
---|
37 | N DIR,Y
|
---|
38 | I '$O(^SRO(136,DA,2,0)) Q
|
---|
39 | S DIR("A",1)="",DIR("A",2)="The Diagnosis to Procedure Associations may no longer be correct.",DIR("A")="Delete all Principal Associated Diagnoses"
|
---|
40 | S DIR(0)="Y",DIR("B")="NO" D ^DIR I $D(DTOUT)!$D(DUOUT)!'Y Q
|
---|
41 | I Y D KADXP
|
---|
42 | Q
|
---|
43 | KADXP ; ADXP x-ref kill logic
|
---|
44 | N SRASSD,SRFDA,SRIENU,SRIENF,SRTN
|
---|
45 | S SRTN=DA D AT2 I $P(^SRO(136,SRTN,0),U,3) D
|
---|
46 | .S SRASSD=$P(^SRO(136,SRTN,0),U,3),SRFDA="136.02",SRIENU="+1"_","_SRTN_",",SRIENF=0_","_SRTN_"," D UPDATE^SROCDX1,FILE^SROCDX1
|
---|
47 | Q
|
---|
48 | AT2 ; delete principal associated diagnoses
|
---|
49 | N SRDA,SRJ,SRY
|
---|
50 | S SRDA=DA,SRJ=0 F S SRJ=$O(^SRO(136,SRDA,2,SRJ)) Q:'SRJ D
|
---|
51 | .S SRY(136.02,SRJ_","_SRDA_",",.01)="@" D FILE^DIE("","SRY")
|
---|
52 | Q
|
---|
53 | SADXO ; ADXO x-ref set logic
|
---|
54 | N DIR,Y
|
---|
55 | I '$O(^SRO(136,DA(1),3,DA,2,0)) Q
|
---|
56 | S DIR("A",1)="",DIR("A",2)="The Diagnosis to Procedure Associations may no longer be correct.",DIR("A")="Delete all Other Associated Diagnoses"
|
---|
57 | S DIR(0)="Y",DIR("B")="NO" D ^DIR I $D(DTOUT)!$D(DUOUT)!'Y Q
|
---|
58 | I Y D KADXO
|
---|
59 | Q
|
---|
60 | KADXO ; ADXO x-ref kill logic
|
---|
61 | N SRDA,SRJ,SRY
|
---|
62 | S SRDA=DA,SRDA(1)=DA(1),SRJ=0 F S SRJ=$O(^SRO(136,SRDA(1),3,SRDA,2,SRJ)) Q:'SRJ D
|
---|
63 | .S SRY(136.32,SRJ_","_SRDA_","_SRDA(1)_",",.01)="@" D FILE^DIE("","SRY")
|
---|
64 | Q
|
---|
65 | KPADX(SRCN,SRPDA) ; kill all the principal cpt associated diagnosis codes
|
---|
66 | N DA,DIK,SRX1,Y
|
---|
67 | S SRX1=0,DA(1)=SRCN
|
---|
68 | I '$G(SRPDA) F S SRX1=$O(^SRO(136,DA(1),2,SRX1)) Q:'SRX1 D
|
---|
69 | .S DA=SRX1,DA(1)=SRCN,DIK="^SRO(136,"_DA(1)_",2," D ^DIK
|
---|
70 | Q:'$G(SRPDA)
|
---|
71 | S DA=SRPDA,DA(1)=SRCN,DIK="^SRO(136,"_DA(1)_",2," D ^DIK
|
---|
72 | Q
|
---|
73 | KOADX(SRCN,SRREC,SRPDA) ; kill other cpt associated diagnosis codes
|
---|
74 | N DA,DIK,SRX1,Y
|
---|
75 | S SRX1=0,DA(2)=SRCN
|
---|
76 | I '$G(SRPDA) F S SRX1=$O(^SRO(136,DA(2),3,SRREC,2,SRX1)) Q:'SRX1 D
|
---|
77 | .S DA=SRX1,DA(1)=SRREC,DA(2)=SRCN,DIK="^SRO(136,"_DA(2)_",3,"_DA(1)_",2," D ^DIK
|
---|
78 | Q:'$G(SRPDA)
|
---|
79 | S DA=SRPDA,DA(1)=SRREC,DA(2)=SRCN,DIK="^SRO(136,"_DA(2)_",3,"_DA(1)_",2," D ^DIK
|
---|
80 | Q
|
---|
81 | DELWRN N SRC
|
---|
82 | S SRC(1)="This case cannot be sent to PCE until all procedures have at",SRC(1,"F")="!!?3"
|
---|
83 | S SRC(2)="least one associated diagnosis code entered.",SRC(2,"F")="!?3"
|
---|
84 | D EN^DDIOL(.SRC)
|
---|
85 | Q
|
---|