[628] | 1 | XUSTAX ;PRXM/GCD, TAXONOMY CODE LOOKUP FOR INTEGRATED BILLING ;8/3/07
|
---|
| 2 | ;;8.0;KERNEL;**410,452,454,467**; July 10, 1995;Build 12
|
---|
| 3 | ;
|
---|
| 4 | ; Must call at an entry point.
|
---|
| 5 | Q
|
---|
| 6 | ;
|
---|
| 7 | ; TAXIND - Extrinsic function to retrieve the taxonomy code
|
---|
| 8 | ; for a given record in the NEW PERSON file (#200).
|
---|
| 9 | ;
|
---|
| 10 | ; Input
|
---|
| 11 | ; XUIEN - IEN of the record in file #200
|
---|
| 12 | ; Output
|
---|
| 13 | ; Piece 1 = Taxonomy X12 code of the record in file #200
|
---|
| 14 | ; Piece 2 = Taxonomy IEN from file 8932.1
|
---|
| 15 | TAXIND(XUIEN) ; Get taxonomy for an individual
|
---|
| 16 | N U S U="^"
|
---|
| 17 | I $G(XUIEN)'>0 Q U
|
---|
| 18 | ;I (XUIEN?.N)=0 Q U
|
---|
| 19 | I ((XUIEN?.N)!(XUIEN?.N1"."1N.N))=0 Q "-1^Invalid IEN"
|
---|
| 20 | N IEN,XUPTR,XUTAXARR,DIC,DR,DA,DIQ,DI,D0,XUTAX
|
---|
| 21 | S IEN=0,XUPTR=""
|
---|
| 22 | F S IEN=$O(^VA(200,XUIEN,"USC1",IEN)) Q:'IEN D ;Q:XUPTR'=""
|
---|
| 23 | . S DIC=200,DR=8932.1,DA=XUIEN,DR(200.05)=".01:3",DA(200.05)=IEN,DIQ="XUTAXARR",DIQ(0)="I"
|
---|
| 24 | . D EN^DIQ1
|
---|
| 25 | . I XUTAXARR(200.05,IEN,"2","I")>DT Q ; Not effective yet
|
---|
| 26 | . I XUTAXARR(200.05,IEN,"3","I")'="",XUTAXARR(200.05,IEN,"3","I")<DT Q ; Expired
|
---|
| 27 | . S XUPTR=XUTAXARR(200.05,IEN,".01","I")
|
---|
| 28 | S XUTAX=$$GET1^DIQ(8932.1,XUPTR,"X12 CODE")
|
---|
| 29 | Q XUTAX_U_XUPTR
|
---|
| 30 | ;
|
---|
| 31 | ; TAXORG - Extrinsic function to retrieve the taxonomy code
|
---|
| 32 | ; for a given record in the INSTITUTION file (#4).
|
---|
| 33 | ;
|
---|
| 34 | ; Input
|
---|
| 35 | ; XUIEN - IEN of the record in file #4
|
---|
| 36 | ; Output
|
---|
| 37 | ; Piece 1 = Taxonomy X12 code of the record in file #4
|
---|
| 38 | ; Piece 2 = Taxonomy IEN from file 8932.1
|
---|
| 39 | TAXORG(XUIEN) ; Get taxonomy for an organization
|
---|
| 40 | N U S U="^"
|
---|
| 41 | I $G(XUIEN)'>0 Q U
|
---|
| 42 | ;I (XUIEN?.N)=0 Q U
|
---|
| 43 | I ((XUIEN?.N)!(XUIEN?.N1"."1N.N))=0 Q "-1^Invalid IEN"
|
---|
| 44 | N IEN,XUPTR,XUTAXAR,DIC,DR,DA,DIQ,DI,D0,XUTAX
|
---|
| 45 | S IEN=0,XUPTR=""
|
---|
| 46 | F S IEN=$O(^DIC(4,XUIEN,"TAXONOMY",IEN)) Q:'IEN D
|
---|
| 47 | . S DIC=4,DR=43,DA=XUIEN,DR(4.043)=".01:.03",DA(4.043)=IEN,DIQ="XUTAXARR",DIQ(0)="IE"
|
---|
| 48 | . D EN^DIQ1
|
---|
| 49 | . I XUTAXARR(4.043,IEN,".03","E")'="ACTIVE" Q
|
---|
| 50 | . I XUTAXARR(4.043,IEN,".02","E")="YES" S XUPTR=XUTAXARR(4.043,IEN,".01","I") Q
|
---|
| 51 | . I XUPTR="" S XUPTR=XUTAXARR(4.043,IEN,".01","I")
|
---|
| 52 | S XUTAX=$$GET1^DIQ(8932.1,XUPTR,"X12 CODE")
|
---|
| 53 | Q XUTAX_U_XUPTR
|
---|
| 54 | ;
|
---|
| 55 | TAXINQ(XUIEN) ;Get the last taxonomy for an individual
|
---|
| 56 | I +$G(XUIEN)'=$G(XUIEN) Q ""
|
---|
| 57 | N IEN,XUI,XUY,XUEXF S IEN=0,XUI="",XUEXF="-Expired"
|
---|
| 58 | F S IEN=$O(^VA(200,XUIEN,"USC1",IEN)) Q:'IEN D
|
---|
| 59 | . S XUY=+$G(^VA(200,XUIEN,"USC1",IEN,0))
|
---|
| 60 | . S XUI=$G(^USC(8932.1,XUY,0))
|
---|
| 61 | . S XUI=$P(XUI,"^",7)
|
---|
| 62 | I +$$GET^XUA4A72(XUIEN)=-2,XUI'="" S XUI=XUI_XUEXF
|
---|
| 63 | Q XUI
|
---|