1 | WVLABAD1 ;HCIOFO/FT-LAB/WOMEN'S HEALTH LINK (cont.) ;4/6/99 12:33
|
---|
2 | ;;1.0;WOMEN'S HEALTH;**6**;Sep 30, 1998
|
---|
3 | ;
|
---|
4 | FIND ; Try to associate an incoming lab test entry with an existing WH
|
---|
5 | ; procedure that has no link to a lab accession # to avoid duplicates.
|
---|
6 | ; Called from WVLABADD.
|
---|
7 | ; Input variables needed:
|
---|
8 | ; DFN - patient ien
|
---|
9 | ; WVPROC - ien of WV Procedure Type (790.2)
|
---|
10 | ; WVDATE - date portion of date of lab test
|
---|
11 | ;
|
---|
12 | ; First, loop through Date of Procedure x-ref
|
---|
13 | N WVDTECHK,WVDATE0,WVFLAG,WVIEN,WVLOOP,WVNODE0,WVNODE2
|
---|
14 | S WVDATE0=$P(WVDATE,".",1)
|
---|
15 | S WVDTECHK=WVDATE0_".999999",WVFLAG=0,WVLOOP=WVDATE0-.000001
|
---|
16 | F S WVLOOP=$O(^WV(790.1,"D",WVLOOP)) Q:'WVLOOP!(WVLOOP>WVDTECHK)!(WVFLAG) S WVIEN=0 F S WVIEN=$O(^WV(790.1,"D",WVLOOP,WVIEN)) Q:'WVIEN!(WVFLAG) D
|
---|
17 | .S WVNODE0=$G(^WV(790.1,WVIEN,0)) Q:WVNODE0=""
|
---|
18 | .S WVNODE2=$G(^WV(790.1,WVIEN,2))
|
---|
19 | .Q:$P(WVNODE2,U,17)]"" ;already has a lab test link
|
---|
20 | .Q:$P(WVNODE0,U,2)'=DFN ;not the same patient
|
---|
21 | .Q:$P(WVNODE0,U,4)'=WVPROC ;not the same procedure
|
---|
22 | .D LINK
|
---|
23 | .S WVFLAG=1 ;flag that link is made to an existing record, so quit loop
|
---|
24 | .Q
|
---|
25 | Q
|
---|
26 | LINK ; Update values in existing entry including lab accession# link.
|
---|
27 | ; Input variables needed:
|
---|
28 | ; WVNODE - zero node of a File 790.08 entry.
|
---|
29 | ; WVNODE0 - zero node of a File 790.1 entry
|
---|
30 | ; WVIEN - File 790.1 ien
|
---|
31 | Q:$G(WVNODE)="" Q:'$G(WVIEN)
|
---|
32 | N DIE,DA,DR
|
---|
33 | S DIE="^WV(790.1,",DA=WVIEN
|
---|
34 | ; fill in missing data where possible.
|
---|
35 | S DR="2.17////"_$P(WVNODE,U,1) ;lab accession#
|
---|
36 | S DR=DR_";2.18////"_$P(WVNODE,U,36) ;lab data file (#63) ien
|
---|
37 | S DR=DR_";2.19////"_$P(WVNODE,U,37) ;lab inverse date/time
|
---|
38 | S DR=DR_";2.2////"_$P(WVNODE,U,38) ;lab subscript (CY or SP)
|
---|
39 | I $P(WVNODE0,U,7)="",$P(WVNODE,U,7)]"" S DR=DR_";.07////"_$P(WVNODE,U,7) ;provider
|
---|
40 | I $P(WVNODE0,U,10)="",$G(DUZ(2))]"" S DR=DR_";.1////"_$G(DUZ(2)) ;facility
|
---|
41 | I $P(WVNODE0,U,11)="",$P(WVNODE,U,11)]"" S DR=DR_";.11////"_$P(WVNODE,U,11) ;location
|
---|
42 | D ^DIE
|
---|
43 | Q
|
---|