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

GMPLCODE.m

Go to the documentation of this file.
  1. GMPLCODE ; SLC/MKB/AJB/TC -- Problem List ICD Code Utilities ;11/27/12 08:31
  1. ;;2.0;Problem List;**28,43,42**;Aug 25, 1994;Build 46
  1. EN ; -- main entry point for GMPL CODE LIST
  1. K GMPLUSER
  1. D EN^VALM("GMPL CODE LIST")
  1. Q
  1. ;
  1. INIT ; -- init variables and list array
  1. S GMPDFN=$$PAT^GMPLX1 I +GMPDFN'>0 K GMPDFN S VALMQUIT=1 Q
  1. S GMPVA=$S($G(DUZ("AG"))="V":1,1:0),GMPVAMC=+$G(DUZ(2))
  1. S (GMPSC,GMPAGTOR,GMPION,GMPGULF)=0 D:GMPVA VADPT^GMPLX1(+GMPDFN)
  1. S (GMPLVIEW("ACT"),GMPLVIEW("VIEW"))="",GMPLVIEW("PROV")=0
  1. S X=$G(^GMPL(125.99,1,0)),GMPARAM("VER")=+$P(X,U,2),GMPARAM("PRT")=+$P(X,U,3),GMPARAM("CLU")=+$P(X,U,4),GMPARAM("REV")=$S($P(X,U,5)="R":1,1:0) K X
  1. D GETPLIST^GMPLMGR1(.GMPLIST,.GMPTOTAL,.GMPLVIEW)
  1. D BUILD^GMPLMGR(.GMPLIST)
  1. S VALMSG=$$MSG^GMPLX
  1. Q
  1. ;
  1. HELP ; -- help code
  1. N X
  1. W !!?4,"You may take a variety of actions from this prompt. To update"
  1. W !?4,"the ICD Code assigned to a problem, you may choose to search"
  1. W !?4,"either the ICD Diagnosis file or the Clinical Lexicon for a"
  1. W !?4,"match; the code of the entry you select will be assigned to the"
  1. W !?4,"current problem in the list. If you need more information on a"
  1. W !?4,"problem, select Detailed Display. To see a listing of"
  1. W !?4,"actions that facilitate navigating the list, enter '??'."
  1. W !!,"Press <return> to continue ... " R X:DTIME
  1. S VALMSG=$$MSG^GMPLX,VALMBCK=$S(VALMCC:"",1:"R")
  1. Q
  1. ;
  1. EDIT ; -- edit field .01
  1. N GMPLSEL,GMPLNO,GMPI,GMPIFN,GMPLNUM,GMPSAVED
  1. S VALMBCK=$S(VALMCC:"",1:"R")
  1. S GMPLSEL=$$SEL^GMPLX("code") G:GMPLSEL="^" EDQ
  1. S GMPLNO=$L(GMPLSEL,",")
  1. F GMPI=1:1:GMPLNO S GMPLNUM=$P(GMPLSEL,",",GMPI) I GMPLNUM D Q:$D(GMPQUIT)
  1. . S GMPIFN=$P($G(^TMP("GMPLIDX",$J,+GMPLNUM)),U,2) Q:GMPIFN'>0
  1. . L +^AUPNPROB(GMPIFN,0):1 I '$T W $C(7),!!,$$LOCKED^GMPLX,! H 2 Q
  1. . D ICD(GMPLNUM,GMPIFN) L -^AUPNPROB(GMPIFN,0)
  1. S:$D(GMPSAVED) VALMBCK="R"
  1. EDQ D KILL^GMPLX S VALMSG=$$MSG^GMPLX
  1. Q
  1. ;
  1. ICD(NUM,IFN) ; -- search ICD Diagnosis file #80
  1. N X,Y,DIC,DIR,DTOUT,DUOUT,OLD,NEW,DA,DR,DIE,LCNT,CHNGE,GMPLCSYS,GMPIMPDT,GMPLCPTR,GMPLDINT,GMPN802
  1. W !,IFN,!
  1. D FULL^VALM1 S VALMBCK="R" W !!
  1. S OLD=$G(^AUPNPROB(IFN,0)),GMPN802=$G(^AUPNPROB(IFN,802))
  1. S GMPLDINT=$S($P(GMPN802,U,1)]"":$P(GMPN802,U,1),1:$P(OLD,U,3)),GMPLCPTR=$$CSI^ICDEX(80,+OLD)
  1. S GMPLCSYS=$S($P(GMPN802,U,2)]"":$P(GMPN802,U,2),1:$$SAB^ICDEX(GMPLCPTR,GMPLDINT))
  1. S OLD=+OLD_U_$P($$ICDDATA^ICDXCODE(GMPLCSYS,+OLD,GMPLDINT,"I"),U,2)
  1. S DIR(0)="PAO^ICD9(:QEM",DIR("A")="Enter ICD CODE or DESCRIPTION: "
  1. S DIR("A",1)="Problem #"_NUM_": "_$$PROBTEXT^GMPLX(IFN)
  1. S DIR("?")="Enter a new code number or a brief free text description on which to search",DIR("B")=$P(OLD,U,2)
  1. ; Added for Code Set Versioning (CSV) - screen allows ONLY active codes
  1. S DIR("S")="I +($$STATCHK^ICDXCODE(GMPLCPTR,$P($$ICDDATA^ICDXCODE(GMPLCSYS,+$G(Y),DT,""I""),U,2),DT))>0"
  1. D ^DIR I $D(DTOUT)!($D(DUOUT)) S GMPQUIT=1 Q
  1. I X="@" Q:'$D(DIR("B")) S:$$SURE^GMPLX Y=$$NOS^GMPLX(GMPLCSYS,GMPLDINT)
  1. I +Y>0,Y'=OLD D S GMPSAVED=1
  1. . S NEW=Y,DIE="^AUPNPROB(",DA=IFN,DR=".01////"_+NEW D ^DIE
  1. . S CHNGE=IFN_"^.01^"_$$HTFM^XLFDT($H)_U_DUZ_U_+OLD_U_+NEW
  1. . D AUDIT^GMPLX(CHNGE,"")
  1. . S LCNT=+$G(^TMP("GMPLIDX",$J,NUM))
  1. . D FLDTEXT^VALM10(LCNT,"ICD",$P(NEW,U,2))
  1. D BUILD^GMPLMGR(.GMPLIST) S VALMBCK="R"
  1. Q