Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: XUSTAX

XUSTAX.m

Go to the documentation of this file.
  1. XUSTAX ;PRXM/GCD, TAXONOMY CODE LOOKUP FOR INTEGRATED BILLING ;8/3/07
  1. ;;8.0;KERNEL;**410,452,454,467**; July 10, 1995;Build 12
  1. ;
  1. ; Must call at an entry point.
  1. Q
  1. ;
  1. ; TAXIND - Extrinsic function to retrieve the taxonomy code
  1. ; for a given record in the NEW PERSON file (#200).
  1. ;
  1. ; Input
  1. ; XUIEN - IEN of the record in file #200
  1. ; Output
  1. ; Piece 1 = Taxonomy X12 code of the record in file #200
  1. ; Piece 2 = Taxonomy IEN from file 8932.1
  1. TAXIND(XUIEN) ; Get taxonomy for an individual
  1. N U S U="^"
  1. I $G(XUIEN)'>0 Q U
  1. ;I (XUIEN?.N)=0 Q U
  1. I ((XUIEN?.N)!(XUIEN?.N1"."1N.N))=0 Q "-1^Invalid IEN"
  1. N IEN,XUPTR,XUTAXARR,DIC,DR,DA,DIQ,DI,D0,XUTAX
  1. S IEN=0,XUPTR=""
  1. F S IEN=$O(^VA(200,XUIEN,"USC1",IEN)) Q:'IEN D ;Q:XUPTR'=""
  1. . S DIC=200,DR=8932.1,DA=XUIEN,DR(200.05)=".01:3",DA(200.05)=IEN,DIQ="XUTAXARR",DIQ(0)="I"
  1. . D EN^DIQ1
  1. . I XUTAXARR(200.05,IEN,"2","I")>DT Q ; Not effective yet
  1. . I XUTAXARR(200.05,IEN,"3","I")'="",XUTAXARR(200.05,IEN,"3","I")<DT Q ; Expired
  1. . S XUPTR=XUTAXARR(200.05,IEN,".01","I")
  1. S XUTAX=$$GET1^DIQ(8932.1,XUPTR,"X12 CODE")
  1. Q XUTAX_U_XUPTR
  1. ;
  1. ; TAXORG - Extrinsic function to retrieve the taxonomy code
  1. ; for a given record in the INSTITUTION file (#4).
  1. ;
  1. ; Input
  1. ; XUIEN - IEN of the record in file #4
  1. ; Output
  1. ; Piece 1 = Taxonomy X12 code of the record in file #4
  1. ; Piece 2 = Taxonomy IEN from file 8932.1
  1. TAXORG(XUIEN) ; Get taxonomy for an organization
  1. N U S U="^"
  1. I $G(XUIEN)'>0 Q U
  1. ;I (XUIEN?.N)=0 Q U
  1. I ((XUIEN?.N)!(XUIEN?.N1"."1N.N))=0 Q "-1^Invalid IEN"
  1. N IEN,XUPTR,XUTAXAR,DIC,DR,DA,DIQ,DI,D0,XUTAX
  1. S IEN=0,XUPTR=""
  1. F S IEN=$O(^DIC(4,XUIEN,"TAXONOMY",IEN)) Q:'IEN D
  1. . S DIC=4,DR=43,DA=XUIEN,DR(4.043)=".01:.03",DA(4.043)=IEN,DIQ="XUTAXARR",DIQ(0)="IE"
  1. . D EN^DIQ1
  1. . I XUTAXARR(4.043,IEN,".03","E")'="ACTIVE" Q
  1. . I XUTAXARR(4.043,IEN,".02","E")="YES" S XUPTR=XUTAXARR(4.043,IEN,".01","I") Q
  1. . I XUPTR="" S XUPTR=XUTAXARR(4.043,IEN,".01","I")
  1. S XUTAX=$$GET1^DIQ(8932.1,XUPTR,"X12 CODE")
  1. Q XUTAX_U_XUPTR
  1. ;
  1. TAXINQ(XUIEN) ;Get the last taxonomy for an individual
  1. I +$G(XUIEN)'=$G(XUIEN) Q ""
  1. N IEN,XUI,XUY,XUEXF S IEN=0,XUI="",XUEXF="-Expired"
  1. F S IEN=$O(^VA(200,XUIEN,"USC1",IEN)) Q:'IEN D
  1. . S XUY=+$G(^VA(200,XUIEN,"USC1",IEN,0))
  1. . S XUI=$G(^USC(8932.1,XUY,0))
  1. . S XUI=$P(XUI,"^",7)
  1. I +$$GET^XUA4A72(XUIEN)=-2,XUI'="" S XUI=XUI_XUEXF
  1. Q XUI