[613] | 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 | ;
|
---|