1 | IBCEP9A ;ALB/CXW - PROVIDER EXTRACT ;26-SEP-00
|
---|
2 | ;;2.0;INTEGRATED BILLING;**137**;21-MAR-94
|
---|
3 | ; This routine is to build an extract file with provider information
|
---|
4 | ; by looking at different file sources
|
---|
5 | ; DBIA's used: DBIA418, DBIA419, 2546
|
---|
6 | ;
|
---|
7 | START(IBRAW) ; Extract a list of providers from existing VistA data
|
---|
8 | ; IBRAW = 0 or "" if display format
|
---|
9 | ; = 1 if raw data format
|
---|
10 | ; Variables:
|
---|
11 | ; IBYR1/IBYR3 - the first date of next year
|
---|
12 | ; IBYR2 - the last date two years ago
|
---|
13 | ; IBPID - provider entry number
|
---|
14 | ; HFLE - host file name
|
---|
15 | ;
|
---|
16 | N IBCONT,IBYR1,IBYR2,IBYR3,IBPTF,IBPID,IBPINT,IBDFN,IBDT,IBIEN
|
---|
17 | S IBCONT=0,IBRAW=$G(IBRAW)
|
---|
18 | D NOW^%DTC
|
---|
19 | S (IBYR1,IBYR3)=$E(X,1,3)+1_"0101"
|
---|
20 | S IBYR2=$E(X,1,3)-2_"1230"
|
---|
21 | K ^TMP("IBPID",$J)
|
---|
22 | D PTF,VST
|
---|
23 | Q:IBRAW
|
---|
24 | D DATA
|
---|
25 | I '$D(^TMP("IBPID",$J)) W "No data found"
|
---|
26 | Q
|
---|
27 | ;
|
---|
28 | PTF ;PTF (file 45/field 50) with admission within last two years DBIA419
|
---|
29 | F S IBYR1=$O(^DGPM("AMV1",IBYR1),-1) Q:'IBYR1!(IBYR1\1<IBYR2) S IBDFN=0 F S IBDFN=$O(^DGPM("AMV1",IBYR1,IBDFN)) Q:'IBDFN S IBIEN=0 F S IBIEN=$O(^DGPM("AMV1",IBYR1,IBDFN,IBIEN)) Q:'IBIEN D
|
---|
30 | . ; DBIA418
|
---|
31 | . S IBPTF=+$P($G(^DGPM(IBIEN,0)),U,16)
|
---|
32 | . Q:'IBPTF
|
---|
33 | . S IBPID=$G(^DGPT(IBPTF,70)),IBPID=$P(IBPID,"^",15)
|
---|
34 | . I IBPID S ^TMP("IBPID",$J,IBPID)=""
|
---|
35 | . ;501 movement (file 45.02)
|
---|
36 | . S IBDT=0 F S IBDT=$O(^DGPT(IBPTF,"M","AM",IBDT)) Q:'IBDT S IBPINT=0 F S IBPINT=$O(^DGPT(IBPTF,"M","AM",IBDT,IBPINT)) Q:'IBPINT D
|
---|
37 | .. S IBPID=$G(^DGPT(IBPTF,"M",IBPINT,"P")),IBPID=$P(IBPID,"^",5)
|
---|
38 | .. I IBPID S ^TMP("IBPID",$J,IBPID)=""
|
---|
39 | Q
|
---|
40 | ;
|
---|
41 | VST ; get providers associated with outpatient encntrs within the last 2 yrs
|
---|
42 | ;
|
---|
43 | N IBVAL,IBCBK
|
---|
44 | S IBVAL("BDT")=IBYR2,IBVAL("EDT")=IBYR3
|
---|
45 | S IBCBK="D VSTPRV^IBCEP9A(Y)"
|
---|
46 | D SCAN^IBSDU("DATE/TIME",.IBVAL,"",IBCBK,1) ; Get all encntrs in dt rnge
|
---|
47 | Q
|
---|
48 | ;
|
---|
49 | VSTPRV(IBOE) ; Get all providers for an encounter IBOE
|
---|
50 | N IBPID,Z
|
---|
51 | D GETPRV^SDOE(IBOE,"IBPID")
|
---|
52 | S Z=0 F S Z=$O(IBPID(Z)) Q:'Z I +IBPID(Z) S ^TMP("IBPID",$J,+IBPID(Z))=""
|
---|
53 | Q
|
---|
54 | ;
|
---|
55 | DATA ;store data in file
|
---|
56 | N IBNAM,IBSSN,IBDGE
|
---|
57 | S IBPID=0
|
---|
58 | F S IBPID=$O(^TMP("IBPID",$J,IBPID)) Q:'IBPID D
|
---|
59 | . S IBNAM=$P($G(^VA(200,IBPID,0)),"^")
|
---|
60 | . S IBSSN=$P($G(^VA(200,IBPID,1)),"^",9)
|
---|
61 | . S IBDGE=$P($G(^VA(200,IBPID,3.1)),"^",6)
|
---|
62 | . S ^TMP("IBPID",$J,IBPID)=IBNAM_$J("",40-$L(IBNAM))_IBSSN_$J("",9-$L(IBSSN))_IBDGE_$J("",10-$L(IBDGE))
|
---|
63 | Q
|
---|
64 | ;
|
---|