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

BARRSLDX.m

Go to the documentation of this file.
  1. BARRSLDX ; IHS/SD/POT - Utility to selec DX Parameters
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**23,24**;OCT 26,2005;Build 69
  1. ; IHS/SD/POTT NEW ROUTINE BAR1.8*23
  1. ; IHS/SD/POTT HEAT150941 02/09/14 Allow ALL DX9/10 - BAR1.8*24
  1. ; if no DX selected: show ALL DX of ALL available coding systems - BAR1.8*24
  1. ; *********************************************************************
  1. ;
  1. DXTYPE ;OBSOLETE CALL: HEAT150941 BAR1.8*24
  1. Q
  1. K BARY("DXTYPE")
  1. K DIRUT,DIR,Y
  1. S Y=$$DIR^XBDIR("S^P:Search in Primary DX Only;A:All DX","Select Search DX type ","","","","",1)
  1. K DA
  1. Q Y
  1. ;
  1. GETDX(BARIEN) ;
  1. ;
  1. ; Search ALL diagnosis; fill array BARARRDG
  1. ; BAR3PDXP=1 indicates primary DX
  1. ;
  1. NEW BARDBG,BARCNT,BAR3PDX,BARPRMDX,BAR3PDXP,BAR3PLOC,BAR3PIEN,BAR3PDUZ,BARARRDG,I ;ARRAY OF DG
  1. S BARDBG=0 ;P.OTT
  1. S BAR3PLOC=$$FIND3PB^BARUTL(DUZ(2),BARIEN)
  1. I BAR3PLOC="" Q
  1. S BAR3PIEN=$P(BAR3PLOC,",",2)
  1. S BAR3PDUZ=$P(BAR3PLOC,",")
  1. S BARCNT=0
  1. S (BAR3PDX,BARPRMDX)=0 F S BAR3PDX=$O(^ABMDBILL(BAR3PDUZ,BAR3PIEN,17,BAR3PDX)) Q:'+BAR3PDX D ;Q:+BARPRMDX
  1. . S BARCNT=BARCNT+1
  1. . S BAR3PDXP=$P($G(^ABMDBILL(BAR3PDUZ,BAR3PIEN,17,BAR3PDX,0)),U,2)
  1. . I $T(+1^ICDEX)="" S BARDXCOD=$P($$ICDDX^ICDCODE(BAR3PDX,""),U,2) ;DX CODE - OLD CODE: NOT WORKING FOR ICD10
  1. . I $T(+1^ICDEX)]"" S BARDXCOD=$P($$ICDDX^ICDEX(BAR3PDX,""),U,2) ;DX CODE - NEW API SUPPORTS BOTH ICD9/10
  1. . ;;;I BAR3PDXP=1 I BARY("DXTYPE")="P" S BARARRDG("ALL_CODE",BARCNT)=BARDXCOD Q ;old code HEAT150941 BAR1.8*24
  1. . I BAR3PDXP=1 S BARARRDG("ALL_CODE",BARCNT)=BARDXCOD Q ;PROCESS ONLY PRIMARY DXs!!! HEAT150941
  1. . ;OLD CODE: S BARARRDG("ALL_CODE",BARCNT)=BARDXCOD ;HEAT150941
  1. . Q
  1. K BAR("DX") ;clear array
  1. M BAR("DX")=BARARRDG("ALL_CODE") ;fill array
  1. Q
  1. ;COUNT DXs WHICH CONTAIN X
  1. ;
  1. LIST(BARX,BARVERB) ;
  1. NEW BARX0,BARXL
  1. ;RETURNS : BARCNT
  1. S BARXL=$L(X),BARCNT=0,BARX0=X_" "
  1. F I=1:1 S BARX0=$O(^ICD9("AB",BARX0)) Q:BARX0="" Q:$E(BARX0,1,BARXL)'=BARX D
  1. . S BARCNT=BARCNT+1
  1. . I BARVERB W !,BARCNT,". ",BARX0
  1. I 'BARVERB Q
  1. I 'BARCNT W " NO MATCHING DXs." Q
  1. W " ",BARCNT," MATCHING DXs FOUND."
  1. Q