| 1 | TIUPXAP3 ;SLC/RMO - Link Document to Visit API ;10/24/03@1000
 | 
|---|
| 2 |  ;;1.0;TEXT INTEGRATION UTILITIES;**179**;Jun 20, 1997
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | LNKVST(TIUDA,TIUVSIT) ;Entry point to link a document to an existing visit
 | 
|---|
| 5 |  ; Input  -- TIUDA    TIU Document file (#8925) IEN
 | 
|---|
| 6 |  ; Output -- 1=Successful and 0=Failure
 | 
|---|
| 7 |  ;           TIUVSIT  Visit file (#9000010) IEN
 | 
|---|
| 8 |  N OKF,TIUMVSTF
 | 
|---|
| 9 |  ;
 | 
|---|
| 10 |  ;Check if document needs to be linked to a visit
 | 
|---|
| 11 |  I $D(^TIU(8925,TIUDA,0)),$P(^(0),U,3)'>0 D
 | 
|---|
| 12 |  . ;Get existing visit to associate with document
 | 
|---|
| 13 |  . D GETVST(TIUDA,.TIUVSIT,.TIUMVSTF)
 | 
|---|
| 14 |  . ;If only one visit update the document with the visit
 | 
|---|
| 15 |  . I $G(TIUVSIT)>0,'$G(TIUMVSTF) D
 | 
|---|
| 16 |  . . I $$UPDVST^TIUPXAP2(TIUDA,TIUVSIT) S OKF=1
 | 
|---|
| 17 |  Q +$G(OKF)
 | 
|---|
| 18 |  ;
 | 
|---|
| 19 | GETVST(TIUDA,TIUVSIT,TIUMVSTF) ;Get visit to associate with document
 | 
|---|
| 20 |  ; Input  -- TIUDA    TIU Document file (#8925) IEN
 | 
|---|
| 21 |  ; Output -- TIUVSIT  Visit file (#9000010) IEN
 | 
|---|
| 22 |  ;           TIUMVSTF Multiple Visit Flag
 | 
|---|
| 23 |  ;                    1=Multiple Visits
 | 
|---|
| 24 |  ;
 | 
|---|
| 25 |  N TIUD0,TIUDFN,TIUEDT,TIUHL,TIUVSITS,TIUVSTR
 | 
|---|
| 26 |  ;
 | 
|---|
| 27 |  ;Set variables
 | 
|---|
| 28 |  S TIUD0=$G(^TIU(8925,TIUDA,0))
 | 
|---|
| 29 |  S TIUDFN=$P(TIUD0,U,2),TIUEDT=$P(TIUD0,U,7)
 | 
|---|
| 30 |  S TIUHL=$P($G(^TIU(8925,TIUDA,12)),U,11)
 | 
|---|
| 31 |  S TIUVSTR=TIUHL_";"_TIUEDT_";"_$P(TIUD0,U,13)
 | 
|---|
| 32 |  ;
 | 
|---|
| 33 |  ;Check if document is an addendum, if it is use visit of parent
 | 
|---|
| 34 |  I +$$ISADDNDM^TIULC1(TIUDA) D  G GETVSTQ
 | 
|---|
| 35 |  . I $D(^TIU(8925,+$P(TIUD0,U,6),0)),$P(^(0),U,3)>0 S TIUVSIT=$P(^(0),U,3)
 | 
|---|
| 36 |  ;
 | 
|---|
| 37 |  ;Check if a document has already been entered for the Vstring,
 | 
|---|
| 38 |  ;if it has use the visit in the AVSTRV cross-reference
 | 
|---|
| 39 |  I +$G(TIUVSTR),+$O(^TIU(8925,"AVSTRV",+TIUDFN,TIUVSTR,0))>0 D  G GETVSTQ:$G(TIUVSIT)>0
 | 
|---|
| 40 |  . S TIUVSIT=+$O(^TIU(8925,"AVSTRV",+TIUDFN,TIUVSTR,0))
 | 
|---|
| 41 |  . I $P($G(^AUPNVSIT(+TIUVSIT,0)),U,5)'=TIUDFN S TIUVSIT=""
 | 
|---|
| 42 |  ;
 | 
|---|
| 43 |  ;Check PCE for a visit
 | 
|---|
| 44 |  S TIUVSITS=$$GETENC^PXAPI(TIUDFN,TIUEDT,TIUHL)
 | 
|---|
| 45 |  I TIUVSITS>0 S TIUVSIT=+TIUVSITS
 | 
|---|
| 46 |  ;
 | 
|---|
| 47 |  ;Set a flag if multiple visits
 | 
|---|
| 48 |  I $P(TIUVSITS,U,2)'="" S TIUMVSTF=1
 | 
|---|
| 49 | GETVSTQ K ^TMP("PXKENC",$J)
 | 
|---|
| 50 |  Q
 | 
|---|