BQITD20 ;GDIT/HS/ALA-CKD NOS ; 29 Nov 2016 1:57 PM
;;2.6;ICARE MANAGEMENT SYSTEM;;Jul 07, 2017;Build 72
;
;
POP(BQARY,TGLOB) ; EP -- By population
;
;Description
; Finds all patients who meet the criteria for Chronic Kidney Disease Stage 1
;Input
; BQARY - Array of taxonomies and other information
; TGLOB - Global where data is to be stored and passed back
; to calling routine
; Structure:
; TGLOB(DFN,"CRITERIA",criteria or taxonomy,visit or problem ien)=date/time
I $D(@BQARY) D
. D POP^BQITDGN(BQARY,TGLOB)
;
; Finish with all the logic and have a list of patients to file
; If already ESRD or Stage 5 or Stage 4 or Stage 3 or Stage 2 or Stage 1 but
; has not otherwise a specified CKD diagnosis
NEW TDFN,TDXNCN
S TDFN=""
F S TDFN=$O(@TGLOB@(TDFN)) Q:'TDFN D
. NEW I,TEXT
. F I=1:1 S TEXT=$T(TAG+I) Q:TEXT=" Q" D
.. S TDXNCN=$P(TEXT,";;",2) D
... I $$ATAG^BQITDUTL(TDFN,TDXNCN) K @TGLOB@(TDFN)
Q
;
PAT(DEF,BTGLOB,BDFN) ; EP -- By patient
NEW DXOK,BQDXN,BQREF
S DXOK=0
S BQDXN=$$GDXN^BQITUTL(DEF)
;
S BQREF="BQIRY"
D GDF^BQITUTL(BQDXN,BQREF)
S DXOK=$$PAT^BQITDGN(BQREF,BTGLOB,BDFN)
;
; if the person has already been identified as ESRD, Stage 5, Stage 4, Stage 3,
; Stage 2, or Stage 1 but still has a not otherwise specified CKD diagnosis
NEW I,TEXT
F I=1:1 S TEXT=$T(TAG+I) Q:TEXT=" Q" D
. S TDXNCN=$P(TEXT,";;",2) D
.. I $$ATAG^BQITDUTL(BDFN,TDXNCN) S DXOK=0
Q DXOK
;
TAG ;EP
;;End Stage Renal Disease
;;Chronic Kidney Dis Stg 5
;;Chronic Kidney Dis Stg 4
;;Chronic Kidney Dis Stg 3
;;Chronic Kidney Dis Stg 2
;;Chronic Kidney Dis Stg 1
Q
BQITD20 ;GDIT/HS/ALA-CKD NOS ; 29 Nov 2016 1:57 PM
+1 ;;2.6;ICARE MANAGEMENT SYSTEM;;Jul 07, 2017;Build 72
+2 ;
+3 ;
POP(BQARY,TGLOB) ; EP -- By population
+1 ;
+2 ;Description
+3 ; Finds all patients who meet the criteria for Chronic Kidney Disease Stage 1
+4 ;Input
+5 ; BQARY - Array of taxonomies and other information
+6 ; TGLOB - Global where data is to be stored and passed back
+7 ; to calling routine
+8 ; Structure:
+9 ; TGLOB(DFN,"CRITERIA",criteria or taxonomy,visit or problem ien)=date/time
+10 IF $DATA(@BQARY)
Begin DoDot:1
+11 DO POP^BQITDGN(BQARY,TGLOB)
End DoDot:1
+12 ;
+13 ; Finish with all the logic and have a list of patients to file
+14 ; If already ESRD or Stage 5 or Stage 4 or Stage 3 or Stage 2 or Stage 1 but
+15 ; has not otherwise a specified CKD diagnosis
+16 NEW TDFN,TDXNCN
+17 SET TDFN=""
+18 FOR
SET TDFN=$ORDER(@TGLOB@(TDFN))
IF 'TDFN
QUIT
Begin DoDot:1
+19 NEW I,TEXT
+20 FOR I=1:1
SET TEXT=$TEXT(TAG+I)
IF TEXT=" Q"
QUIT
Begin DoDot:2
+21 SET TDXNCN=$PIECE(TEXT,";;",2)
Begin DoDot:3
+22 IF $$ATAG^BQITDUTL(TDFN,TDXNCN)
KILL @TGLOB@(TDFN)
End DoDot:3
End DoDot:2
End DoDot:1
+23 QUIT
+24 ;
PAT(DEF,BTGLOB,BDFN) ; EP -- By patient
+1 NEW DXOK,BQDXN,BQREF
+2 SET DXOK=0
+3 SET BQDXN=$$GDXN^BQITUTL(DEF)
+4 ;
+5 SET BQREF="BQIRY"
+6 DO GDF^BQITUTL(BQDXN,BQREF)
+7 SET DXOK=$$PAT^BQITDGN(BQREF,BTGLOB,BDFN)
+8 ;
+9 ; if the person has already been identified as ESRD, Stage 5, Stage 4, Stage 3,
+10 ; Stage 2, or Stage 1 but still has a not otherwise specified CKD diagnosis
+11 NEW I,TEXT
+12 FOR I=1:1
SET TEXT=$TEXT(TAG+I)
IF TEXT=" Q"
QUIT
Begin DoDot:1
+13 SET TDXNCN=$PIECE(TEXT,";;",2)
Begin DoDot:2
+14 IF $$ATAG^BQITDUTL(BDFN,TDXNCN)
SET DXOK=0
End DoDot:2
End DoDot:1
+15 QUIT DXOK
+16 ;
TAG ;EP
+1 ;;End Stage Renal Disease
+2 ;;Chronic Kidney Dis Stg 5
+3 ;;Chronic Kidney Dis Stg 4
+4 ;;Chronic Kidney Dis Stg 3
+5 ;;Chronic Kidney Dis Stg 2
+6 ;;Chronic Kidney Dis Stg 1
+7 QUIT