| 1 | RABWIBB2 ;HOIFO/MDM - Radiology Billing Awareness ;12/20/04 12:55am | 
|---|
| 2 | ;;5.0;Radiology/Nuclear Medicine;**57**;Mar 16, 1998 | 
|---|
| 3 | ; $$GETACCT^IBBAPI uses DBIA #4664 | 
|---|
| 4 | ; Calls referencing PFSS Account Referance (field 90 file #75.1)) uses DBIA #4741 | 
|---|
| 5 | ; | 
|---|
| 6 | Q | 
|---|
| 7 | GA(RAOIFN) ; Get Account Reference | 
|---|
| 8 | ; | 
|---|
| 9 | N RAMISDAT,RAPRO,RAITYP,RADAT,RADX,S1,S2,P1,IBBDFN,IBBPV1,IBBPV2 | 
|---|
| 10 | N IBBDG1,IBBPR1,IBBZCL,RABADAT,RABAFLD,RAORD0 | 
|---|
| 11 | ; Called from FB^RABWIBB | 
|---|
| 12 | ; Define remaining (Required) IBB Variables and Arrays | 
|---|
| 13 | ; | 
|---|
| 14 | ; Radiology Orders Data | 
|---|
| 15 | S RAORD0=$G(^RAO(75.1,RAOIFN,0)) | 
|---|
| 16 | S IBBDFN=$P(RAORD0,U,1)                           ; PATIENT NAME Pointer to patient file #2 | 
|---|
| 17 | S IBBPV1(2)=$P(RAORD0,U,4)                        ; PATIENT STATUS I(npatient) O(utpatient) | 
|---|
| 18 | S IBBPV1(3)=$P(RAORD0,U,20) | 
|---|
| 19 | S IBBPV1(3)=$P($G(^RA(79.1,IBBPV1(3),0)),U,1)     ; IMAGING LOCATION | 
|---|
| 20 | S IBBPV1(7)=$P(RAORD0,U,14)                       ; REQUESTING PHYSICIAN | 
|---|
| 21 | S IBBPV1(44)=$P(RAORD0,U,21),IBBPV2(8)=IBBPV1(44) ; DATE DESIRED | 
|---|
| 22 | S IBBDG1(1,6)="A"                                 ; DIAGNOSIS TYPE | 
|---|
| 23 | ; | 
|---|
| 24 | ; CPT Code | 
|---|
| 25 | S RAPRO=$P(RAORD0,U,2) ; Procedure Pointer | 
|---|
| 26 | S RAMISDAT=^RAMIS(71,+RAPRO,0) ; Procedure Data | 
|---|
| 27 | S IBBPR1(3)=$P(RAMISDAT,U,9) ; Isolate CPT Code | 
|---|
| 28 | ; If there is no CPT Code then get the procedure name instead. | 
|---|
| 29 | I IBBPR1(3)="" S IBBPR1(4)=$P(RAMISDAT,U,1) K IBBPR1(3) | 
|---|
| 30 | ; | 
|---|
| 31 | ; ABBREVIATION FOR TYPE OF IMAGING | 
|---|
| 32 | S RAITYP=$P(RAORD0,U,3) ; Image Type File Pointer | 
|---|
| 33 | S RADAT=^RA(79.2,+RAITYP,0) ; Image Type File Data | 
|---|
| 34 | S IBBPR1(6)=$P(RADAT,U,3) ; Image Type Abbreviation | 
|---|
| 35 | ; | 
|---|
| 36 | ; CLINICAL INDICATORS RELATED TO PRIMARY DX | 
|---|
| 37 | ; Initialize gathering process variables. | 
|---|
| 38 | S S1="",RADX(92)=3,RADX(93)=1,RADX(94)=2,RADX(95)=4,RADX(96)=5 | 
|---|
| 39 | S RADX(97)=6,RADX(99)=7 | 
|---|
| 40 | S RABADAT=$G(^RAO(75.1,+RAOIFN,"BA")) | 
|---|
| 41 | S IBBDG1(1,3)=$P(RABADAT,U,1)                     ; PRIMARY DIAGNOSIS CODE | 
|---|
| 42 | S IBBZCL="" | 
|---|
| 43 | F P1=92:1:97,99 S RABAFLD=$P($P(^DD(75.1,P1,0),U,4),";",2) I $P(RABADAT,U,RABAFLD)]"" D | 
|---|
| 44 | . S S1=S1+1 | 
|---|
| 45 | . ; IBBZCL(n,2)=clin. Indic. type, IBBZCL(n,3)={0,1,null} | 
|---|
| 46 | . S IBBZCL(S1,2)=RADX(P1) | 
|---|
| 47 | . S IBBZCL(S1,3)=$P(RABADAT,U,RABAFLD) | 
|---|
| 48 | . Q | 
|---|
| 49 | ; | 
|---|
| 50 | ; Get Account Reference | 
|---|
| 51 | S RACCOUNT=$$GETACCT^IBBAPI(IBBDFN,IBBARFN,IBBEVENT,IBBAPLR,.IBBPV1,.IBBPV2,.IBBPR1,.IBBDG1,.IBBZCL,"",+RAOIFN) | 
|---|
| 52 | Q | 
|---|
| 53 | STOR751(RAOIFN) ; Store acct ref no. in file 75.1, field 90, for this order | 
|---|
| 54 | ; | 
|---|
| 55 | N RAFDA | 
|---|
| 56 | S RAFDA(75.1,+RAOIFN_",",90)=RACCOUNT | 
|---|
| 57 | D FILE^DIE("K","RAFDA") | 
|---|
| 58 | Q | 
|---|