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

BTPWTAX.m

Go to the documentation of this file.
  1. BTPWTAX ;VNGT/HS/ALA-CMET Taxonomy List ; 05 Feb 2009 11:33 AM
  1. ;;1.2;CARE MANAGEMENT EVENT TRACKING;;Jul 07, 2017;Build 71
  1. ;
  1. ;
  1. LST(DATA,PROC) ; EP -- BQI GET CMET TAXONOMY LIST
  1. ; Input
  1. ; PROC - Retrieves taxonomies for a particular CMET procedure.
  1. ; If left blank, it retrieves all taxonomies for CMET
  1. ;
  1. NEW UID,II,TIEN,TTXT,TAXV,X
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BTPWTAX",UID))
  1. K @DATA
  1. ;
  1. S PROC=$G(PROC,"")
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BTPWTAX D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. S @DATA@(II)="T00030TAXONOMY_NAME^T00015TAXONOMY_IEN^T00020TAX_CATEGORY^T00003TAX_SITE_DEFINED^T00030TAX_ID^T00003TAX_ITEMS^T00030REGISTER^T00003USER_EDITABLE"_$C(30)
  1. ;
  1. I PROC'="" D PRCS
  1. ;
  1. I PROC="" D CMET
  1. ;
  1. DONE ;
  1. S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. CMET ; EP
  1. S PROC=0
  1. F S PROC=$O(^BTPW(90621,PROC)) Q:'PROC D PRCS
  1. Q
  1. ;
  1. ERR ;
  1. D ^%ZTER
  1. NEW Y,ERRDTM
  1. S Y=$$NOW^XLFDT() X ^DD("DD") S ERRDTM=Y
  1. S BMXSEC="Recording that an error occurred at "_ERRDTM
  1. I $D(II),$D(DATA) S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. PRCS ;
  1. NEW TIEN,TDATA,TY,ID,IID,USER,CCAT,TTXT,TXTN
  1. S TIEN=0
  1. F S TIEN=$O(^BTPW(90621,PROC,1,TIEN)) Q:'TIEN D
  1. . NEW DA,IENS
  1. . S DA(1)=PROC,DA=TIEN,IENS=$$IENS^DILF(.DA)
  1. . S TDATA=^BTPW(90621,PROC,1,TIEN,0)
  1. . S ID="",TY=$P(TDATA,U,3),CAT="",USER="",IID=""
  1. . I TY'="" S ID=$$GET1^DIQ(90621.1,TY,.06,"E"),CAT=$$GET1^DIQ(90621.1,TY,.07,"E"),IID=$$GET1^DIQ(90621.1,TY,.06,"I")
  1. . S II=II+1
  1. . S USER=$S(IID="CM":"YES",1:"NO")
  1. . S CCAT=$$CAT^BTPWPDSP(PROC),CCAT=$$LOWER^VALM1(CCAT)
  1. . S TTXT=$P(TDATA,U,1),TXTN=$P(TDATA,U,2),SITE=$S($$GET1^DIQ(90621.01,IENS,.04,"I")=1:"YES",1:"NO")
  1. . S ITEM=$S('$$ENTRS^BQITAXX($P(TDATA,U,2)):"NO",1:"YES")
  1. . S @SORT@(TTXT,CAT,ID)=TTXT_U_TXTN_U_CAT_U_SITE_U_ID_U_ITEM_U_CCAT_U_USER
  1. . ;S @DATA@(II)=$P(TDATA,U,1)_U_$P(TDATA,U,2)_U_CAT
  1. . ;S @DATA@(II)=@DATA@(II)_U_$S($$GET1^DIQ(90621.01,IENS,.04,"I")=1:"YES",1:"NO")_U_ID_U_$S('$$ENTRS^BQITAXX($P(TDATA,U,2)):"NO",1:"YES")_U_CCAT_U_USER_$C(30)
  1. Q
  1. ;
  1. ITM(DATA,TAXIEN,VDATE) ;EP - BTPW GET TAXONOMY ITEMS
  1. NEW UID,II,TIEN,IEN,CODE,DESC,BTPWX,TAX,VALUE,N,HDR
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BTPWTAXI",UID))
  1. K @DATA
  1. ;
  1. I $G(VDATE)'="" S VDATE=$$DATE^BQIUL1(VDATE)
  1. I $G(VDATE)="" S VDATE=DT
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BTPWTAX D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. D ITM^BQITAXX5(.DATA,TAXIEN)
  1. NEW VALUE,VVDATE,VVTYP,VVFIL,VVTN,VOK,CT,VVTYP1,VVTYP2,IMPL1,IMPL2
  1. K BTPWX
  1. S TIEN=0,HDR="I00010IVALIEN^T00080IVALDESC"
  1. F S TIEN=$O(@DATA@(TIEN)) Q:'TIEN D
  1. . I @DATA@(TIEN)[$C(31) Q
  1. . S VALUE=$$TKO^BQIUL1(@DATA@(TIEN),$C(30))
  1. . S VVDATE=$P(VALUE,U,11),VVDATE=$$DATE^BQIUL1(VVDATE)
  1. . S VVTYP=$P(VALUE,U,10)
  1. . ;
  1. . I VVTYP["ICD" D Q
  1. .. I VALUE=$C(31) Q
  1. .. S VVFIL=$P(VALUE,U,2)
  1. .. S VVTN="",VOK=0,CT=0 F S VVTN=$O(^ICDS("F",VVFIL,VVTN)) Q:VVTN="" D
  1. ... S CT=CT+1,@("IMPL"_CT)=$P(^ICDS(VVTN,0),"^",4),@("VVTYP"_CT)=$P(^ICDS(VVTN,0),"^",1)
  1. .. I VDATE>IMPL2 D Q
  1. ... I VVTYP'=VVTYP2 Q
  1. ... D VOK
  1. .. I VDATE<IMPL2,VDATE>IMPL1 D Q
  1. ... I VVDATE="",VVTYP=VVTYP1 D VOK Q
  1. ... I VDATE'>VVDATE D VOK Q
  1. . ;
  1. . I VVTYP="CPT" D Q
  1. .. S VVTN=$P(VALUE,U,7),IMPL=$P(^ICPT(VVTN,0),U,8)
  1. .. I VVDATE="",VDATE>IMPL D VOK Q
  1. .. I VVDATE'="",VDATE<VVDATE,VDATE>IMPL D VOK Q
  1. . ;
  1. . D VOK
  1. ;
  1. K @DATA
  1. S @DATA@(II)=HDR_$C(30)
  1. I TAXIEN["ATXLAB" S II=II+1,@DATA@(II)=" "_$C(30)
  1. S N=0 F S N=$O(BTPWX(N)) Q:N="" S II=II+1,@DATA@(II)=BTPWX(N)
  1. S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. VOK ;EP
  1. S IEN=$P(VALUE,U,7),CODE=$P(VALUE,U,8),DESC=$P(VALUE,U,9)
  1. S BTPWX(TIEN)=IEN_U_CODE_$S(CODE'="":" - ",1:"")_DESC_$C(30)
  1. Q