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

YSDX3RU.m

Go to the documentation of this file.
  1. YSDX3RU ;SLC/DJP/LJA - Print Utilities for Diagnoses Reporting in H Med Rec ;13 May 2013 9:54 AM
  1. ;;5.01;MENTAL HEALTH;**107**;Dec 30, 1994;Build 23
  1. ;D RECORD^YSDX0001("YSDX3RU^YSDX3RU") ;Used for testing. Inactivated in YSDX0001...
  1. ;
  1. DX ; Called from routines YSDX3R, YSPP6
  1. ; Lists out diagnoses sequentially
  1. ;D RECORD^YSDX0001("DX^YSDX3RU") ;Used for testing. Inactivated in YSDX0001...
  1. S L="" ; DFN
  1. F S L=$O(^YSD(627.8,"AG",L)) QUIT:L="" D
  1. . S L1="" ; Global Reference to DSM or ICD DIAGNOSIS tables
  1. . F S L1=$O(^YSD(627.8,"AG",L,YSDFN,L1)) QUIT:L1="" D
  1. . . S L2=0 ; IEN
  1. . . F S L2=$O(^YSD(627.8,"AG",L,YSDFN,L1,L2)) QUIT:'L2 D COND Q:YSLFT D DXVAR
  1. QUIT
  1. ;
  1. CHR ; called from routine YSDX3R, YSPP6
  1. ;D RECORD^YSDX0001("CHR^YSDX3RU") ;Used for testing. Inactivated in YSDX0001...
  1. S L=0
  1. F S L=$O(^YSD(627.8,"AF",YSDFN,L)) QUIT:'L D ;Inverse date
  1. . S L1=""
  1. . F S L1=$O(^YSD(627.8,"AF",YSDFN,+L,L1)) QUIT:L1="" D ;Global ref
  1. . . S L2=0
  1. . . F S L2=$O(^YSD(627.8,"AF",YSDFN,L,L1,L2)) QUIT:'L2 D COND Q:YSLFT S (YSTOP1,YSTOP2)=1 D DXVAR
  1. QUIT
  1. ;
  1. COND ;
  1. ;D RECORD^YSDX0001("COND^YSDX3RU") ;Used for testing. Inactivated in YSDX0001...
  1. S:$D(YSPPF) YSPPF=2 K YSSTOP S YSCD=$P(^YSD(627.8,L2,1),U,4)
  1. S YSCOND=$S(YSCD["A":"A C T I V E",YSCD["I":"I N A C T I V E",1:"")
  1. I YSTY="ACT" S:YSCD="I" YSSTOP=1
  1. QUIT
  1. ;
  1. DXVAR ;
  1. ;D RECORD^YSDX0001("DXVAR^YSDX3RU") ;Used for testing. Inactivated in YSDX0001...
  1. N YSDXI
  1. QUIT:$D(YSSTOP) ;->
  1. ;
  1. S YSDXCSTX=""
  1. ; Points to ^YSD(627.7 ?
  1. I L1["YSD" D
  1. . S YSD3FLG="DSM DIAGNOSES: "
  1. . S L4=$P(L1,";",2) ; Global reference
  1. . S L5=+$P(L1,";") ; IEN
  1. . S L6="^"_L4_L5_","_0_")" ; Global reference of 0 node
  1. . S L60=@L6 ; 0 node's data
  1. . S YSDXN=^YSD(627.7,+L5,"D") ; Diagnosis name
  1. . S YSDXNN=$P(L60,U) ; ICD Code
  1. . S YSDXCSTX="(ICD-"_$S($P(L60,U,8)'="":$P(L60,U,8),1:"9")_")"
  1. ;
  1. ; Points to ^ICD9( ?
  1. I L1["ICD" D
  1. . S YSDIFLG="ICD DIAGNOSES: "
  1. . S L4=$P(L1,";",2) ; Global reference
  1. . S L5=+$P(L1,";") ; IEN
  1. . S L6="^"_L4_L5_","_0_")" ; Global reference of 0 node
  1. . S L60=@L6 ; 0 node's data
  1. . N YSDXDATA S YSDXDATA=$$ICDDATA^ICDXCODE("DIAG",L5,$P(^YSD(627.8,+L2,0),U,3),"I")
  1. . S YSDXN=$P(YSDXDATA,U,4) ; Diagnosis (free text)
  1. . S YSDXNN=$P(YSDXDATA,U,2) ; ICD Code
  1. . S YSDXCSTX=$P($P($$SINFO^ICDEX($P(YSDXDATA,U,20)),U,2),"-",2)
  1. . S YSDXCSTX="(ICD-"_YSDXCSTX_")"
  1. ;
  1. ; Modifiers?
  1. I $D(^YSD(627.8,+L2,5)) D
  1. . S YSML=$P(^YSD(627.8,+L2,5,0),U,3)
  1. . F YSDXI=1:1:YSML D
  1. . . S M1=$G(^YSD(627.8,+L2,5,+YSDXI,0))
  1. . . QUIT:M1']"" ;->
  1. . . S YSMOD(+YSDXI)=$P(M1,U,3)
  1. . . K M1
  1. ;
  1. ; Status
  1. S L8=$P(^YSD(627.8,+L2,1),U,2)
  1. S YSDXS=$S(L8="v":"VERIFIED",L8="p":"PROVISIONAL",L8="i":"INACTIVE",L8="r":"REFORMULATED",L8="n":"NOT FOUND",L8="ru":"RULE OUT",1:"")
  1. S Y=$P(^YSD(627.8,+L2,0),U,3) D DD^%DT S YSDXDT=Y
  1. ;
  1. AUTH ;
  1. ;D RECORD^YSDX0001("AUTH^YSDX3RU") ;Used for testing. Inactivated in YSDX0001...
  1. ; Diagnosed by
  1. S L9=+$P(^YSD(627.8,L2,0),U,4)
  1. I L9>0 D
  1. . S L10=$P($G(^VA(200,L9,0)),U) ; New Person's name
  1. . S L11=$P($G(^VA(200,L9,0)),U,9) ; Title
  1. . S:L11>0 L11=$P(^DIC(3.1,+L11,0),U) ; Title file
  1. . S YSAUTH=L10_" "_L11
  1. PRINTL ;
  1. ;D RECORD^YSDX0001("PRINTL^YSDX3RU") ;Used for testing. Inactivated in YSDX0001...
  1. I $Y+YSSL+4>IOSL D CK Q:YSTOUT!(YSUOUT)!(YSLFT)
  1. I $D(YSD3FLG)&'$D(YSTOP1) W !!,YSD3FLG S YSTOP1=1
  1. I $D(YSDIFLG)&'$D(YSTOP2) W !!,YSDIFLG S YSTOP2=1
  1. W !!,YSDXCSTX," ",YSDXNN,!?3,$E(YSDXN,1,76),!?3,YSCOND
  1. I $D(YSMOD) F I=1:1:YSML I $D(YSMOD(I)) W:$TR(YSMOD(I)," ","")]"" !?8,"--- "_YSMOD(I)
  1. W:YSDXS'=" " !?8,"--- "_YSDXS
  1. I $D(^YSD(627.8,L2,80,0)) W !?8,"Comments: " S DIWL=20,DIWR=75,DIWF="W" K ^UTILITY($J,"W") S M=0 F S M=$O(^YSD(627.8,L2,80,M)) Q:'M S X=^(M,0) D ^DIWP
  1. I $D(M),M<1 D ^DIWW K ^UTILITY($J,"W")
  1. W !?8,"Entered by: " W:$D(YSAUTH) YSAUTH W !?8,"Dated: ",?21,YSDXDT
  1. QUIT
  1. ;
  1. CK ; Called by routines YSDX3R1, YSDX3RUA
  1. ;D RECORD^YSDX0001("CK^YSDX3RU") ;Used for testing. Inactivated in YSDX0001...
  1. I 'YST D WAIT^YSUTL W:YSTOUT!YSUOUT @IOF Q
  1. S:YSSL YSCON=1 D ENFT^YSFORM D:($Y+YSSL+4>IOSL) ENHD^YSFORM Q
  1. ENPP ;
  1. ;D RECORD^YSDX0001("ENPP^YSDX3RU") ;Used for testing. Inactivated in YSDX0001...
  1. S YSFHDR="DIAGNOSIS LIST",YSPP=1 G PR^YSDX3R
  1. ;
  1. FINISH ; Called by routines YSDX3R, YSDX3RUA
  1. ;D RECORD^YSDX0001("FINISH^YSDX3RU") ;Used for testing. Inactivated in YSDX0001...
  1. K YSDXCSTX,YSFFS I $D(YSNOFORM) D ^%ZISC,KILL^%ZTLOAD Q
  1. W !!?10,"*** LIST COMPLETE ***",! S YSFFS=1
  1. I YST=1 D ENFT^YSFORM,^%ZISC,KILL^%ZTLOAD Q
  1. D WAIT^YSUTL
  1. QUIT
  1. ;
  1. EOR ;YSDX3RU-Print Utilities for Diagnoses in Med Record ;10/19/89 17:10