1 | PSOHLSN2 ;BIR/LE - Utilities for PSOHLSN1 ;02/27/04
|
---|
2 | ;;7.0;OUTPATIENT PHARMACY;**143,226,239**;DEC 1997
|
---|
3 | ;
|
---|
4 | DG1 ;this section builds both DG1 segments
|
---|
5 | Q:'$D(^PSRX(PSRXIEN,"ICD",1,0))
|
---|
6 | N LP,DG,DXDESC,I
|
---|
7 | S LIMIT=4,FIELD(0)="DG1",FIELD(4)=""
|
---|
8 | ;I '$D(^PSRX(PSRXIEN,"ICD",1,0)) S FIELD(1)=1,FIELD(2)="",FIELD(3)="^^^^^" D SEG^PSOHLSN1 Q
|
---|
9 | I $P(^PSRX(PSRXIEN,"ICD",1,0),"^",1)="" Q ;S FIELD(1)=1,FIELD(2)="",FIELD(3)="^^^^^" D SEG^PSOHLSN1 Q
|
---|
10 | F I=1:1:8 D
|
---|
11 | . Q:'$D(^PSRX(PSRXIEN,"ICD",I,0))
|
---|
12 | . S PSOICD="",PSOICD=^PSRX(PSRXIEN,"ICD",I,0) Q:$P(PSOICD,U,1)=""
|
---|
13 | . S (DG,DXDESC)=""
|
---|
14 | . I $P(PSOICD,U,1)'="" D
|
---|
15 | .. S DXDESC=$$GET1^DIQ(80,$P(PSOICD,U,1)_",",10),FIELD(1)=I,FIELD(2)=""
|
---|
16 | .. S FIELD(3)=$P(PSOICD,U,1)_U_DXDESC_U_"80"_U_$$GET1^DIQ(80,$P(PSOICD,U,1)_",",.01)_U_DXDESC_U_"ICD9"
|
---|
17 | .. D SEG^PSOHLSN1
|
---|
18 | K PSOICD("K")
|
---|
19 | Q
|
---|
20 | ZCL N STOP,IBQ,ICD,I,JJJ,EI
|
---|
21 | S LIMIT=3,FIELD(0)="ZCL"
|
---|
22 | I '$D(^PSRX(PSRXIEN,"ICD"))&($D(^PSRX(PSRXIEN,"IBQ"))) D ;For edits; currently CPRS doesn't update SC/EI for edits, but just in case they start
|
---|
23 | . S FIELD(1)=1,FIELD(2)=3
|
---|
24 | . S EI="",EI=^PSRX(PSRXIEN,"IBQ")
|
---|
25 | . S JJJ=0 F I=3,4,1,5,2,6,7 S JJJ=JJJ+1,FIELD(3)=$P(EI,U,I) S FIELD(1)=1,FIELD(2)=JJJ D SEG^PSOHLSN1
|
---|
26 | E F I=1:1:8 D
|
---|
27 | . Q:'$D(^PSRX(PSRXIEN,"ICD",I,0))
|
---|
28 | . S PSOICD=^PSRX(PSRXIEN,"ICD",I,0),ICD=$P(PSOICD,"^",1)
|
---|
29 | . Q:ICD=""&(I>1)
|
---|
30 | . F JJJ=2:1:8 S EI=$P(PSOICD,U,JJJ),FIELD(2)=JJJ-1 D
|
---|
31 | .. S FIELD(1)=$S(ICD="":1,1:I)
|
---|
32 | .. ;S FIELD(3)=$S(EI=1:EI,1:0)
|
---|
33 | .. S FIELD(3)=$S(EI=1:EI,EI=0:EI,1:"")
|
---|
34 | .. D SEG^PSOHLSN1
|
---|
35 | K PSOICD
|
---|
36 | Q
|
---|
37 | ;CPRS doesn't look at the ZCL segment when thier CIDC switch is off. Always send both ZCL and ZSC for consistency
|
---|
38 | ZSC S PSOCPS=$$DT^PSOMLLDT S LIMIT=$S($G(PSOCPS):7,1:1) X NULLFLDS
|
---|
39 | S FIELD(0)="ZSC"
|
---|
40 | I '$D(^PSRX(PSRXIEN,"ICD",1,0)) D
|
---|
41 | . I '$G(PSOCPS) S FIELD(1)=$S($P($G(^PSRX(PSRXIEN,"IB")),"^"):"NSC",1:"SC")
|
---|
42 | . I $G(PSOCPS) D
|
---|
43 | .. S FIELD(1)=$P($G(^PSRX(PSRXIEN,"IBQ")),"^"),FIELD(2)=$P($G(^("IBQ")),"^",2),FIELD(3)=$P($G(^("IBQ")),"^",3),FIELD(4)=$P($G(^("IBQ")),"^",4),FIELD(5)=$P($G(^("IBQ")),"^",5),FIELD(6)=$P($G(^("IBQ")),"^",6),FIELD(7)=$P($G(^("IBQ")),"^",7)
|
---|
44 | .D SEG^PSOHLSN1
|
---|
45 | N JJJ,PSOICD
|
---|
46 | I $D(^PSRX(PSRXIEN,"ICD",1,0)) D
|
---|
47 | . S PSOICD=$G(^PSRX(PSRXIEN,"ICD",1,0))
|
---|
48 | . F JJJ=2:1:8 D
|
---|
49 | .. I JJJ=2 S FIELD(3)=$P(PSOICD,"^",JJJ) ;AO
|
---|
50 | .. I JJJ=3 S FIELD(4)=$P(PSOICD,"^",JJJ) ;IR
|
---|
51 | .. I JJJ=4 S FIELD(1)=$P(PSOICD,"^",JJJ) ;SC
|
---|
52 | .. I JJJ=5 S FIELD(5)=$P(PSOICD,"^",JJJ) ;EC
|
---|
53 | .. I JJJ=6 S FIELD(2)=$P(PSOICD,"^",JJJ) ;MST
|
---|
54 | .. I JJJ=7 S FIELD(6)=$P(PSOICD,"^",JJJ) ;HNC
|
---|
55 | .. I JJJ=8 S FIELD(7)=$P(PSOICD,"^",JJJ) ;CV
|
---|
56 | . D SEG^PSOHLSN1
|
---|
57 | Q
|
---|