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

APCDPL1.m

Go to the documentation of this file.
  1. APCDPL1 ; IHS/CMI/LAB - problem list update ;
  1. ;;2.0;IHS PCC SUITE;**5,6,7,10,15**;MAY 14, 2009;Build 11
  1. ;
  1. ;
  1. DIE ;
  1. S DA=APCDPIEN,DIE="^AUPNPROB(",DR=APCDTEMP D ^DIE
  1. KDIE ;
  1. K DIE,DR,DA,DIU,DIV,DQ,D0,DO,DI,DIW,DIY,%,DQ,DLAYGO
  1. Q
  1. GETPROB ;get record
  1. S APCDPIEN=0
  1. S DIR(0)="N^1:"_APCDRCNT_":0",DIR("A")="Select Problem" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) W !!,"No Problem Seleted" Q
  1. S APCDP=Y
  1. S (X,Y)=0 F S X=$O(^TMP($J,"APCDPL","IDX",X)) Q:X'=+X!(APCDPIEN) I $O(^TMP($J,"APCDPL","IDX",X,0))=APCDP S Y=$O(^TMP($J,"APCDPL","IDX",X,0)),APCDPIEN=^TMP($J,"APCDPL","IDX",X,Y)
  1. I '$D(^AUPNPROB(APCDPIEN,0)) W !,"Not a valid PCC PROBLEM." K APCDP S APCDPIEN=0 Q
  1. D FULL^VALM1
  1. Q
  1. ADD ;EP - add prob
  1. D FULL^VALM1
  1. Q:'$G(APCDPLPT)
  1. S APCDPAT=APCDPLPT
  1. S:'$G(APCDLOC) APCDLOC=DUZ(2)
  1. S:$G(APCDDATE)="" APCDDATE=APCDNDT
  1. W:$D(IOF) @IOF W !,"Adding a new problem for ",$P(^DPT(APCDPLPT,0),U),".",!!
  1. D KDIE S DIE("NO^")=1,DLAYGO=9000011,DIE="^AUPNPAT(",DR="[APCD PO (ADD)]",DA=APCDPLPT D ^DIE D KDIE
  1. K DLAYGO D EXIT
  1. Q
  1. EDIT ;EP - edit prob
  1. NEW APCDPIEN,APCDPAT,APCDIAIEP
  1. D GETPROB
  1. I 'APCDPIEN D PAUSE,EXIT Q
  1. S APCDPAT=APCDPLPT
  1. S:'$G(APCDLOC) APCDLOC=DUZ(2)
  1. S:$G(APCDDATE)="" APCDDATE=APCDNDT
  1. S APCDTEMP="[APCD MODIFY PROBLEM]"
  1. W:$D(IOF) @IOF W !!,"Editing Problem Number: ",$$GETNUM^APCDPL1(APCDPIEN),!
  1. I $P($G(^AUPNPROB(APCDPIEN,800)),U,1)]"" D G ACT1
  1. .W !!,"This problem has been SNOMED coded, you can only edit the Status and",!,"Date of Onset fields."
  1. .S APCDIAEP=1
  1. K DIR
  1. S DIR(0)="9000011,.01",DIR("A")="Diagnosis",DIR("B")=$$GET1^DIQ(9000011,APCDPIEN,.01) KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) D EXIT Q
  1. I +Y'=$$GET1^DIQ(9000011,APCDPIEN,.01) D
  1. .S DIE="^AUPNPROB(",DR=".01////"_+Y,DA=APCDPIEN D ^DIE K DA,DR,DIE
  1. D DIE
  1. S DA=APCDPIEN
  1. S APCDVSIT=$G(APCDPLV)
  1. D PLUDE^APCDAPRB
  1. D EXIT
  1. Q
  1. GETDX ;
  1. NEW DA,DIR,DIRUT,Y,X
  1. S APCDTNDX=$$GET1^DIQ(9000011,APCDTDA,.01,"I")
  1. S DIR(0)="9000011,.01",DIR("A")="Diagnosis",DIR("B")=$$GET1^DIQ(9000011,APCDTDA,.01) KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) Q
  1. S APCDTNDX=+Y
  1. Q
  1. DEL ;EP - delete prob
  1. NEW APCDPIEN,APCDPAT
  1. D GETPROB
  1. I 'APCDPIEN D PAUSE,EXIT Q
  1. W:$D(IOF) @IOF
  1. W !!,"Deleting the following Problem from ",$P($P(^DPT(APCDPLPT,0),U),",",2)," ",$P($P(^(0),U),","),"'s Problem List.",!
  1. S DA=APCDPIEN,DIC="^AUPNPROB(" D EN^DIQ
  1. ;
  1. W !!,"Please Note: You are NOT permitted to delete a problem without",!,"entering a reason for the deletion."
  1. W ! S DIR(0)="Y",DIR("A")="Are you sure you want to delete this PROBLEM",DIR("B")="N" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) W !,"okay, not deleted." D PAUSE,EXIT Q
  1. I 'Y W !,"Okay, not deleted." D PAUSE,EXIT Q
  1. S DA=APCDPIEN,DR="[APCD DELETE PROBLEM]",DIE="^AUPNPROB(" D ^DIE K DA,DIE,DR
  1. S APCDPAT=APCDPLPT
  1. S:$G(APCDDATE)="" APCDDATE=APCDNDT
  1. W !
  1. S APCDVSIT=$G(APCDPLV)
  1. S DA=APCDPIEN
  1. D PLUDE^APCDAPRB
  1. D PAUSE,EXIT,^XBFMK
  1. Q
  1. AN ;EP - add a note
  1. NEW APCDPIEN
  1. D GETPROB
  1. I 'APCDPIEN D PAUSE,EXIT Q
  1. D NO1^APCDPL2
  1. D EXIT
  1. Q
  1. MN ;EP - modify a note
  1. NEW APCDPIEN
  1. D GETPROB
  1. I 'APCDPIEN D PAUSE,EXIT Q
  1. D MN1^APCDPL2
  1. D PAUSE,EXIT
  1. Q
  1. RNO ;EP - remove a note
  1. NEW APCDPIEN
  1. D GETPROB
  1. I 'APCDPIEN D PAUSE,EXIT Q
  1. D RNO1^APCDPL2
  1. D PAUSE,EXIT
  1. Q
  1. ACT ;EP - called from protocol
  1. NEW APCDPIEN,APCDNDT,APCDPAT
  1. S APCDNDT=$P(APCDDATE,".")
  1. D GETPROB
  1. I 'APCDPIEN D PAUSE,EXIT Q
  1. ;
  1. ACT1 ;D DIE
  1. S DA=APCDPIEN,APCDTOLD=$P(^AUPNPROB(APCDPIEN,0),U,12)
  1. D CPS^APCDAPRB
  1. ;I $P(^AUPNPROB(APCDPIEN,0),U,12)=APCDTOLD G ACTE
  1. I $G(APCDIAEP) NEW DIE S DIE="^AUPNPROB(",DA=APCDPIEN,DR=".13" D ^DIE K DIE,DA,DR
  1. I '$G(APCDIAEP),$P(^AUPNPROB(APCDPIEN,0),U,12)=APCDTOLD G ACTE
  1. S APCDPAT=APCDPLPT
  1. S:'$G(APCDLOC) APCDLOC=DUZ(2)
  1. S:$G(APCDDATE)="" APCDDATE=APCDNDT
  1. S APCDVSIT=$G(APCDPLV)
  1. S DA=APCDPIEN
  1. D PLUDE^APCDAPRB
  1. ACTE ;
  1. ;I $G(APCDIAEP) NEW DIE S DIE="^AUPNPROB(",DA=APCDPIEN,DR=".13" D ^DIE K DIE,DA,DR,APCDIAEP
  1. K APCDTOLD,APCDIAEP
  1. D EXIT
  1. Q
  1. INACT ;EP - called from protocol to inactivate an active problem
  1. NEW APCDPIEN,APCDNDT,APCDPAT
  1. S APCDNDT=$P(APCDDATE,".")
  1. D GETPROB
  1. I 'APCDPIEN D PAUSE,EXIT Q
  1. I $P(^AUPNPROB(APCDPIEN,0),U,12)="I" W !!,"That problem is already INACTIVE!!",! D PAUSE,EXIT Q
  1. S APCDTEMP=".12///I;.03////^S X=APCDNDT;.14////^S X=DUZ"
  1. W:$D(IOF) @IOF W !,"Inactivating Problem ... "
  1. D DIE
  1. S APCDPAT=APCDPLPT
  1. ;S:'$G(APCDLOC) APCDLOC=DUZ(2)
  1. S:$G(APCDDATE)="" APCDDATE=APCDNDT
  1. S APCDPLV=$G(APCDVSIT)
  1. S DA=APCDPIEN
  1. D PLUDE^APCDAPRB
  1. D EXIT
  1. Q
  1. HS ;EP - health summary
  1. D FULL^VALM1
  1. S X="" I DUZ(2),$D(^APCCCTRL(DUZ(2),0))#2 S X=$P(^(0),U,3) I X,$D(^APCHSCTL(X,0)) S X=$P(^APCHSCTL(X,0),U)
  1. I $D(^DISV(DUZ,"^APCHSCTL(")) S Y=^("^APCHSCTL(") I $D(^APCHSCTL(Y,0)) S X=$P(^(0),U,1)
  1. S:X="" X="ADULT REGULAR"
  1. K DIC,DR,DD S DIC("B")=X,DIC="^APCHSCTL(",DIC(0)="AEMQ" D ^DIC K DIC,DA,DD,D0,D1,DQ
  1. I Y=-1 D PAUSE,EXIT Q
  1. S APCHSTYP=+Y,APCHSPAT=APCDPLPT
  1. S APCDHDR="PCC Health Summary for "_$P(^DPT(APCDPLPT,0),U)
  1. D VIEWR^XBLM("EN^APCHS",APCDHDR)
  1. S (DFN,Y)=APCDPLPT D ^AUPNPAT
  1. K APCHSPAT,APCHSTYP,APCHSTAT,APCHSMTY,AMCHDAYS,AMCHDOB,APCDHDR
  1. D EXIT
  1. Q
  1. DD ;EP - called from protocol detail
  1. NEW APCDPIEN
  1. D GETPROB
  1. I 'APCDPIEN D PAUSE,EXIT Q
  1. D DIQ^XBLM(9000011,APCDPIEN)
  1. D EXIT
  1. Q
  1. FS ;EP -FACE SHEET
  1. D FULL^VALM1
  1. S APCDHDR="Demographic Face Sheet For "_$P(^DPT(APCDPLPT,0),U)
  1. D VIEWR^XBLM("START^AGFACE",APCDHDR)
  1. K AGOPT,AGDENT,AGMVDF,APCDHDR
  1. D EXIT
  1. Q
  1. PAUSE ;EP
  1. S DIR(0)="EO",DIR("A")="Press return to continue...." D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. Q
  1. GETNUM(P) ;EP - get problem number
  1. NEW N,F
  1. S N=""
  1. I 'P Q N
  1. I '$D(^AUPNPROB(P,0)) Q N
  1. S F=$P(^AUPNPROB(P,0),U,6)
  1. S N=$S($P(^AUTTLOC(F,0),U,7)]"":$J($P(^(0),U,7),4),1:"??")_$P(^AUPNPROB(P,0),U,7)
  1. Q N
  1. EXIT ;
  1. D TERM^VALM0
  1. S VALMBCK="R"
  1. D GATHER^APCDPL
  1. S VALMCNT=APCDLINE
  1. D HDR^APCDPL
  1. K APCDTEMP,APCDPRMT,APCDP,APCDPIEN,APCDAF,APCDF,APCDP0,APCDPRB
  1. D KDIE
  1. Q
  1. NAP ;EP - called from protocol
  1. D FULL^VALM1
  1. Q:'$G(APCDPLPT)
  1. I $$ANYACTP^APCDAPRB(APCDPLPT) D Q
  1. .W !!,"There are active problems on this patient's problem list. You"
  1. .W !,"cannot use this action item."
  1. .D PAUSE,EXIT Q
  1. S APCDPAT=APCDPLPT
  1. S:'$G(APCDLOC) APCDLOC=DUZ(2)
  1. S:$G(APCDDATE)="" APCDDATE=APCDNDT
  1. NAPDE1 ;EP - called from xbnew
  1. S DIR(0)="Y",DIR("A")="Did the Provider indicate that the patient has No Active Problems",DIR("B")="Y" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) W !,"No action taken." D PAUSE,EXIT Q
  1. I 'Y W !,"No action taken." D PAUSE,EXIT Q
  1. S DIR(0)="D^::EPTSX",DIR("A")="Enter the Date the Provider documented 'No Active Problems'"
  1. S DIR("B")=$S($G(APCDDATE):$$FMTE^XLFDT($P(APCDDATE,".")),$G(APCDPLV):$$FMTE^XLFDT($$VD^APCLV(APCDPLV)),1:$$FMTE^XLFDT(DT)),DIR("?")="This is the visit date or the date the provider provided the information."
  1. KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) W !!,"This is required." G NAPDE1
  1. I $P(Y,".")>DT W !!,"Future Dates not allowed.",! G NAPDE1
  1. S APCDD=Y
  1. NAPDE1P ;GET PROVIDER
  1. S DIR(0)="9000010.54,1204",DIR("A")="Enter the PROVIDER who documented 'No Active Problems'"
  1. S DIR("B")=$S($G(APCDPLV):$$PRIMPROV^APCLV(APCDPLV,"N"),1:"") KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) W !!,"This is required." G NAPDE1P
  1. S APCDPRV=+Y
  1. D NAPADD($G(APCDPLV),APCDPAT,APCDD,APCDPRV,.APCDRET)
  1. I $P(APCDRET,U,1)=0 W !!,"error: ",$P(APCDRET,U,2)
  1. D PAUSE,EXIT
  1. Q
  1. NAPADD(APCDV,APCDP,APCDD,APCDPRV,RETVAL) ;PEP - called to update Problem list update fields
  1. ;this API can be called to have a V UPDATED/REVIEWED entry and populate the
  1. ;.11, .12, and .13 fields
  1. ;input:
  1. ; APCDV - ien of visit, if in the context of a visit
  1. ; APCDP - DFN
  1. ; APCDD - Date and optionally time of problem list update (fileman format)
  1. ; APCDPRV = ien of provider updating the problem list
  1. ;this API will create a new V UPDATED/REVIEWED entry if there isn't currently one
  1. ;for Provider APCDP on date APCDD
  1. ;if not in the context of a visit (APCDV = null) then an event visit will be created
  1. ;with a V UPDATED/REVIEWED v file entry
  1. ;
  1. ;RETURN VALUE:
  1. ; ien of V UPDATED/REVIEWED entry that was created
  1. ; or 0^error message
  1. S APCDPIEN=$G(APCDPIEN)
  1. S APCDV=$G(APCDV)
  1. S APCDP=$G(APCDP)
  1. I 'APCDP S RETVAL="0^not a valid patient DFN" Q
  1. I '$D(^AUPNPAT(APCDP,0)) S RETVAL="0^not a valid patient DFN" Q
  1. S APCDD=$G(APCDD)
  1. I 'APCDD S RETVAL="0^no valid date passed" Q
  1. S APCDPRV=$G(APCDPRV)
  1. I 'APCDPRV S RETVAL="0^no valid provider ien passed" Q
  1. S RETVAL=""
  1. ;
  1. I APCDV D NAPV Q
  1. ;NO VISIT SO CREATE EVENT VISIT AND CALL NAPV
  1. D EVSIT,NAPV
  1. Q
  1. NAPV ;have a visit so create a v updated/reviewed for provider APCDPRV if one does
  1. ;not exist on this visit already.
  1. NEW APCDX,APCDVD,APCDVRI,APCDVAL
  1. S APCDVAL=$O(^AUTTCRA("C","NAP",0))
  1. I APCDVAL="" S RETVAL="0^action item missing" Q
  1. S APCDVRI=""
  1. S APCDX=0 F S APCDX=$O(^AUPNVRUP("AD",APCDV,APCDX)) Q:APCDX=""!(APCDVRI) D
  1. .;is this entry a problem list review entry?
  1. .Q:$P(^AUPNVRUP(APCDX,0),U,1)'=APCDVAL ;this one isn't a NAP entry
  1. .Q:$P($G(^AUPNVRUP(APCDX,2)),U,1)
  1. .Q:$P($G(^AUPNVRUP(APCDX,12)),U,4)'=APCDPRV ;not this provider
  1. .S APCDVRI=APCDX ;found one so don't create one
  1. .Q
  1. I APCDVRI S RETVAL=APCDVRI Q
  1. ;create V UPDATED/REVIEWED entry
  1. NEW APCDALVR
  1. S APCDALVR("APCDPAT")=APCDP
  1. S APCDALVR("APCDVSIT")=APCDV
  1. S APCDALVR("APCDATMP")="[APCDALVR 9000010.54 (ADD)]"
  1. S APCDALVR("APCDTCLA")="`"_APCDVAL
  1. S APCDALVR("APCDTCDT")=APCDD
  1. S APCDALVR("APCDTEPR")="`"_APCDPRV
  1. D ^APCDALVR
  1. I $D(APCDALVR("APCDAFLG")) S RETVAL=0_"^Error creating V UPDATED/REVIEWED entry. PCC not updated."
  1. K APCDALVR
  1. D PLRV
  1. Q
  1. BSD ;
  1. NEW APCDBSDV,APCDIN,Y
  1. K APCDIN
  1. S APCDIN("PAT")=APCDP
  1. S APCDIN("VISIT DATE")=APCDD_".12"
  1. S APCDIN("SITE")=DUZ(2)
  1. S APCDIN("VISIT TYPE")=$S($P($G(^APCCCTRL(DUZ(2),0)),U,4)]"":$P(^APCCCTRL(DUZ(2),0),U,4),1:"O")
  1. S APCDIN("SRV CAT")="E"
  1. S APCDIN("TIME RANGE")=0
  1. S APCDIN("USR")=DUZ
  1. K APCDALVR
  1. K APCDBSDV
  1. NEW APCDDATE,AUPNPAT,AUPNDOB,AUPNSEX,AUPNDOD,AUPNDAYS,APCDPAT
  1. D GETVISIT^APCDAPI4(.APCDIN,.APCDBSDV)
  1. ;S Y=APCDP D ^AUPNPAT
  1. S T=$P(APCDBSDV(0),U,2)
  1. I T]"" S RETVAL="0^could not create event visit" Q
  1. S V=$O(APCDBSDV(0)) S APCDV=V
  1. I $G(APCDBSDV(V))="ADD" D DEDT^APCDEA2(APCDV)
  1. Q
  1. EVSIT ;EP - get/create event visit
  1. I $L($T(^BSDAPI4)) D Q
  1. .D BSD
  1. K APCDVSIT
  1. K APCDALVR
  1. S APCDALVR("APCDAUTO")=""
  1. S APCDALVR("APCDPAT")=APCDP
  1. S APCDALVR("APCDCAT")="E"
  1. S APCDALVR("APCDLOC")=DUZ(2)
  1. S APCDALVR("APCDTYPE")=$S($P($G(^APCCCTRL(DUZ(2),0)),U,4)]"":$P(^APCCCTRL(DUZ(2),0),U,4),1:"O")
  1. S APCDALVR("APCDDATE")=APCDD_".12"
  1. D ^APCDALV
  1. S APCDV=$G(APCDALVR("APCDVSIT"))
  1. I $G(APCDALVR("APCDVSIT","NEW")) D DEDT^APCDEA2(APCDVSIT)
  1. K APCDALVR
  1. Q
  1. PLR ;EP - called from protocol
  1. NEW APCDPIEN,APCDNDT,APCDPAT
  1. S APCDNDT=$P(APCDDATE,".")
  1. D FULL^VALM1
  1. Q:'$G(APCDPLPT)
  1. S APCDPAT=APCDPLPT
  1. S:'$G(APCDLOC) APCDLOC=DUZ(2)
  1. S:$G(APCDDATE)="" APCDDATE=APCDNDT
  1. PLRDE1 ;EP - called from xbnew
  1. S DIR(0)="Y",DIR("A")="Did the Provider indicate that he/she reviewed the Problem List",DIR("B")="Y" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) W !,"No action taken." D PAUSE,EXIT Q
  1. I 'Y W !,"No action taken." D PAUSE,EXIT Q
  1. S DIR(0)="D^::EPTSX",DIR("A")="Enter the Date the Provider Reviewed the Problem List"
  1. S DIR("B")=$S($G(APCDDATE):$$FMTE^XLFDT($P(APCDDATE,".")),$G(APCDPLV):$$FMTE^XLFDT($$VD^APCLV(APCDPLV)),1:$$FMTE^XLFDT(DT)),DIR("?")="This is the visit date or the date the provider provided the information."
  1. KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) W !!,"This is required." G PLRDE1
  1. I $P(Y,".")>DT W !!,"Future Dates not allowed.",! G PLRDE1
  1. S APCDD=Y
  1. PLRDE1P ;GET PROVIDER
  1. S DIR(0)="9000010.54,1204",DIR("A")="Enter the PROVIDER who Reviewed the Problem List"
  1. S DIR("B")=$S($G(APCDPLV):$$PRIMPROV^APCLV(APCDPLV,"N"),1:"") KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) W !!,"This is required." G PLRDE1P
  1. S APCDPRV=+Y
  1. D PLRADD($G(APCDPLV),APCDPAT,APCDD,APCDPRV,.APCDRET)
  1. I $P(APCDRET,U,1)=0 W !!,"error: ",$P(APCDRET,U,2)
  1. D PAUSE,EXIT
  1. Q
  1. PLRADD(APCDV,APCDP,APCDD,APCDPRV,RETVAL) ;PEP - called to update Problem list update fields
  1. ;this API can be called to have a V UPDATED/REVIEWED entry and populate the
  1. ;.11, .12, and .13 fields
  1. ;input:
  1. ; APCDV - ien of visit, if in the context of a visit
  1. ; APCDP - DFN
  1. ; APCDD - Date and optionally time of problem list update (fileman format)
  1. ; APCDPRV = ien of provider updating the problem list
  1. ;this API will create a new V UPDATED/REVIEWED entry if there isn't currently one
  1. ;for Provider APCDP on date APCDD
  1. ;if not in the context of a visit (APCDV = null) then an event visit will be created
  1. ;with a V UPDATED/REVIEWED v file entry
  1. ;
  1. ;RETURN VALUE:
  1. ; ien of V UPDATED/REVIEWED entry that was created
  1. ; or 0^error message
  1. S APCDPIEN=$G(APCDPIEN)
  1. S APCDV=$G(APCDV)
  1. S APCDP=$G(APCDP)
  1. I 'APCDP S RETVAL="0^not a valid patient DFN" Q
  1. I '$D(^AUPNPAT(APCDP,0)) S RETVAL="0^not a valid patient DFN" Q
  1. S APCDD=$G(APCDD)
  1. I 'APCDD S RETVAL="0^no valid date passed" Q
  1. S APCDPRV=$G(APCDPRV)
  1. I 'APCDPRV S RETVAL="0^no valid provider ien passed" Q
  1. S RETVAL=""
  1. ;
  1. I APCDV D PLRV Q
  1. ;NO VISIT SO CREATE EVENT VISIT AND CALL PLRV
  1. D EVSIT,PLRV
  1. Q
  1. PLRV ;have a visit so create a v updated/reviewed for provider APCDPRV if one does
  1. ;not exist on this visit already.
  1. NEW APCDX,APCDVD,APCDVRI,APCDVAL
  1. S APCDVAL=$O(^AUTTCRA("C","PLR",0))
  1. I APCDVAL="" S RETVAL="0^action item missing" Q
  1. S APCDVRI=""
  1. S APCDX=0 F S APCDX=$O(^AUPNVRUP("AD",APCDV,APCDX)) Q:APCDX=""!(APCDVRI) D
  1. .;is this entry a problem list review entry?
  1. .Q:$P(^AUPNVRUP(APCDX,0),U,1)'=APCDVAL ;this one isn't a PLR entry
  1. .Q:$P($G(^AUPNVRUP(APCDX,2)),U,1)
  1. .Q:$P($G(^AUPNVRUP(APCDX,12)),U,4)'=APCDPRV ;not this provider
  1. .S APCDVRI=APCDX ;found one so don't create one
  1. .Q
  1. I APCDVRI S RETVAL=APCDVRI Q
  1. NEW APCDALVR
  1. S APCDALVR("APCDPAT")=APCDP
  1. S APCDALVR("APCDVSIT")=APCDV
  1. S APCDALVR("APCDATMP")="[APCDALVR 9000010.54 (ADD)]"
  1. S APCDALVR("APCDTCLA")="`"_APCDVAL
  1. S APCDALVR("APCDTCDT")=APCDD
  1. S APCDALVR("APCDTEPR")="`"_APCDPRV
  1. D ^APCDALVR
  1. I $D(APCDALVR("APCDAFLG")) S RETVAL=0_"^Error creating V UPDATED/REVIEWED entry. PCC not updated."
  1. K APCDALVR
  1. Q
  1. RESOLVE ;EP - called from protocol
  1. NEW APCDPIEN,APCDNDT,APCDPAT
  1. S APCDNDT=$P(APCDDATE,".")
  1. D GETPROB
  1. I 'APCDPIEN D PAUSE,EXIT Q
  1. I $P(^AUPNPROB(APCDPIEN,0),U,12)="R" W !!,"That problem is already RESOLVED!!",! D PAUSE,EXIT Q
  1. S APCDTEMP=".12///R;.03////^S X=APCDNDT;.14////^S X=DUZ"
  1. W:$D(IOF) @IOF W !,"Resolving Problem ... "
  1. D DIE
  1. S APCDPAT=APCDPLPT
  1. S:$G(APCDDATE)="" APCDDATE=APCDNDT
  1. S APCDPLV=$G(APCDVSIT)
  1. S DA=APCDPIEN
  1. D PLUDE^APCDAPRB
  1. D EXIT
  1. Q