GMPLENFM ; SLC/MKB/KER -- Problem List Enc Form utilities ; 04/15/2002 ;;2.0;Problem List;**3,4,7,26**;Aug 25, 1994;Build 1 ; ; External References ; DBIA 10082 ^ICD9( ; DBIA 10006 ^DIC ; DBIA 1609 CONFIG^LEXSET ; ACTIVE ; List of Active Problems for DFN ; Sets Global Array: ; ^TMP("IB",$J,"INTERFACES",DFN,"GMP PATIENT ACTIVE PROBLEMS",#) = ; ; Piece 1: Problem text ; 2: ICD code ; 3: Date of Onset 00/00/00 format ; 4: SC/NSC/"" serv-conn/not sc/unknown ; 5: Y/N/"" serv-conn/not sc/unknown ; 6: A/R/C/H/M/"" If problem is flagged as: ; A - Agent Orange ; R - Radiation ; C - Contaminants ; H - Head/Neck Cancer ; M - Mil Sexual Trauma ; - None ; 7: Special Exposure Full text of piece 6 ; N IFN,PROB,CNT,GMPL0,GMPL1,SC,NUM,GMPLIST,GMPARAM,GMPLVIEW,GMPTOTAL N GMPDFN,NODE Q:$G(DFN)'>0 S GMPDFN=DFN,CNT=0,NODE=$G(^GMPL(125.99,1,0)) S GMPARAM("VER")=$P(NODE,U,2),GMPARAM("REV")=$P(NODE,U,5)="R",GMPARAM("QUIET")=1 S GMPLVIEW("ACT")="A",GMPLVIEW("PROV")=0,GMPLVIEW("VIEW")="" D GETPLIST^GMPLMGR1(.GMPLIST,.GMPTOTAL,.GMPLVIEW) F NUM=0:0 S NUM=$O(GMPLIST(NUM)) Q:NUM'>0 D . S IFN=GMPLIST(NUM) Q:IFN'>0 . S GMPL0=$G(^AUPNPROB(IFN,0)),GMPL1=$G(^(1)) . S PROB=$$PROBTEXT^GMPLX(IFN),CNT=CNT+1 . I GMPARAM("VER"),$P(GMPL1,U,2)="T" S PROB="$"_PROB . S PROB=PROB_U_$P($G(^ICD9(+$P(GMPL0,U),0)),U) . S PROB=PROB_U_$$EXTDT^GMPLX($P(GMPL0,U,13)),SC=$P(GMPL1,U,10) . S PROB=PROB_U_$S(+SC:"SC^Y",SC=0:"NSC^N",1:"^") . S PROB=PROB_U_$S($P(GMPL1,U,11):"A^Agent Orange",$P(GMPL1,U,12):"R^Radiation",$P(GMPL1,U,13):"C^Contaminants",$P(GMPL1,U,13):"H^Head/Neck Cancer",$P(GMPL1,U,16):"M^Mil Sexual Trauma",1:"^") . S ^TMP("IB",$J,"INTERFACES",+$G(DFN),"GMP PATIENT ACTIVE PROBLEMS",CNT)=PROB S ^TMP("IB",$J,"INTERFACES",+$G(DFN),"GMP PATIENT ACTIVE PROBLEMS",0)=CNT Q ; SELECT ; Select Common Problems ; Sets Global Array: ; ^TMP("IB",$J,"INTERFACES","GMP SELECT CLINIC COMMON PROBLEMS") ; Piece 1: Pointer to Clinical Lexicon ; 2: Problem Text ; 3: ICD Code (null if unknown) ; N X,Y,DIC,PROB D CONFIG^LEXSET("ICD","ICD") K ^TMP("IB",$J,"INTERFACES","GMP SELECT CLINIC COMMON PROBLEMS") S DIC("A")="Select PROBLEM: ",DIC(0)="AEQM",DIC="^LEX(757.01," D ^DIC Q:+Y<0 S PROB=Y I +Y'>1 S PROB=+Y_U_X S PROB=PROB_U_$G(Y(1)) S ^TMP("IB",$J,"INTERFACES","GMP SELECT CLINIC COMMON PROBLEMS")=PROB Q ; DSELECT ; List of Active Problems for DFN ; Sets Global Array" ; ^TMP("IB",$J,"INTERFACES","GMP SELECT PATIENT ACTIVE PROBLEMS",#) = ; ; Piece 1: Problem IEN ; 2: Problem Text ; 3: ICD code ; 4: Date of Onset 00/00/00 format ; 5: SC/NSC/"" serv-conn/not sc/unknown ; 6: Y/N/"" serv-conn/not sc/unknown ; 7: A/R/C/H/M/"" If problem is flagged as: ; A - Agent Orange ; R - Radiation ; C - Contaminants ; H - Head/Neck Cancer ; M - Mil Sexual Trauma ; - None ; 8: Special Exposure Full text of piece 6 ; N IFN,PROB,CNT,GMPL0,GMPL1,SC,NUM,GMPLIST,GMPARAM,GMPLVIEW,GMPTOTAL,GMPDFN,NODE Q:$G(DFN)'>0 S GMPDFN=DFN,CNT=0,NODE=$G(^GMPL(125.99,1,0)) S GMPARAM("VER")=$P(NODE,U,2),GMPARAM("REV")=$P(NODE,U,5)="R",GMPARAM("QUIET")=1 S GMPLVIEW("ACT")="A",GMPLVIEW("PROV")=0,GMPLVIEW("VIEW")="" D GETPLIST^GMPLMGR1(.GMPLIST,.GMPTOTAL,.GMPLVIEW) F NUM=0:0 S NUM=$O(GMPLIST(NUM)) Q:NUM'>0 D . S IFN=GMPLIST(NUM) Q:IFN'>0 . S GMPL0=$G(^AUPNPROB(IFN,0)),GMPL1=$G(^(1)) . S PROB=$$PROBTEXT^GMPLX(IFN),CNT=CNT+1 . I GMPARAM("VER"),$P(GMPL1,U,2)="T" S PROB="$"_PROB . S PROB=IFN_U_PROB . S PROB=PROB_U_$P($G(^ICD9(+$P(GMPL0,U),0)),U) . S PROB=PROB_U_$$EXTDT^GMPLX($P(GMPL0,U,13)),SC=$P(GMPL1,U,10) . S PROB=PROB_U_$S(+SC:"SC^Y",SC=0:"NSC^N",1:"^") . S PROB=PROB_U_$S($P(GMPL1,U,11):"A^Agent Orange",$P(GMPL1,U,12):"R^Radiation",$P(GMPL1,U,13):"C^Contaminants",$P(GMPL1,U,13):"H^Head/Neck Cancer",$P(GMPL1,U,16):"M^Mil Sexual Trauma",1:"^") . S ^TMP("IB",$J,"INTERFACES","GMP SELECT PATIENT ACTIVE PROBLEMS",CNT)=PROB S ^TMP("IB",$J,"INTERFACES","GMP SELECT PATIENT ACTIVE PROBLEMS",0)=CNT Q