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

APCDSWU.m

Go to the documentation of this file.
  1. APCDSWU ; IHS/CMI/LAB - SWITCH TO V FILE ;
  1. ;;2.0;IHS PCC SUITE;**4,5**;MAY 14, 2009
  1. ;
  1. ; APCDSWD=DICTIONARY NUMBER
  1. ; APCDSWCR=LINKING CROSS REFERENCE
  1. ; APCDSWV=VISIT DFN
  1. ;
  1. EP ;
  1. D EN^XBNEW("EN^APCDSWU","APCDVSIT;APCDMNE")
  1. Q
  1. EN ;
  1. NEW APCDSWDA,APCDSWMV,APCDVM01,APCDVM04,APCDSWCT,APCDSWA,APCDSWAN,APCDSWX,APCDSWT,APCDSWI,APCDSWVE
  1. NEW X,Y,DIR
  1. EN0 ;
  1. W !!,"Please Note: You are NOT permitted to modify or delete these"
  1. W !,APCDMNE("NAME")," entries. You can only mark them as entered in error."
  1. ;
  1. S APCDSWCT=0
  1. K APCDSWA
  1. S APCDSWMV=$O(^AUTTCRA("C",APCDMNE("NAME"),0))
  1. S APCDSWVE=$P(^AUTTCRA(APCDSWMV,0),U,1)
  1. S APCDSWDA=0 F S APCDSWDA=$O(^AUPNVRUP("AD",APCDVSIT,APCDSWDA)) Q:APCDSWDA'=+APCDSWDA D
  1. .Q:$P($G(^AUPNVRUP(APCDSWDA,2)),U,1) ;don't display those entered in error
  1. .S APCDVM01=$$VALI^XBDIQ1(9000010.54,APCDSWDA,.01)
  1. .;S APCDVM04=$$VAL^XBDIQ1(9000010.04,APCDSWDA,.04)
  1. .I APCDSWMV]"",APCDVM01'=APCDSWMV Q
  1. .S APCDSWCT=APCDSWCT+1
  1. .S APCDSWA(APCDSWCT)=APCDSWDA
  1. I '$D(APCDSWA) W !!,"There are no '",APCDSWVE,"' clinical review actions documented on this",!,"visit. The ",APCDMNE("NAME")," mnemonic has not been used on this visit so there is nothing",!,"to modify." Q
  1. D SELECTM
  1. Q
  1. ;
  1. SELECTM ;
  1. ;select the measurement to edit or delete
  1. W !,"Please choose which clinical review action you would like to"
  1. W !,"mark 'Entered in Error', if you do not wish to mark any in error, "
  1. W !,"simply press 'enter' to bypass."
  1. S APCDSWX=0,APCDSWT=0 F S APCDSWX=$O(APCDSWA(APCDSWX)) Q:APCDSWX'=+APCDSWX D
  1. .S APCDSWDA=APCDSWA(APCDSWX),APCDSWT=APCDSWX
  1. .S APCDVM01=$$VAL^XBDIQ1(9000010.54,APCDSWDA,.01)
  1. .S APCDVM04=$$VAL^XBDIQ1(9000010.54,APCDSWDA,1204)
  1. .W !?2,APCDSWX,")",?7,APCDVM01,?40,"Provider: ",APCDVM04
  1. K DIR
  1. S DIR(0)="NO^1:"_APCDSWT_":0",DIR("A")="Which "_APCDSWVE,DIR("?")="Enter a number from the list above (1-"_APCDSWT_" or 'N' to exit." KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) Q
  1. I X="" Q
  1. I Y="" Q
  1. I '$D(APCDSWA(X)) W !,"Invalid response. Please enter a number from 1 to ",APCDSWT," or N." G SELECTM
  1. S APCDSWI=Y
  1. S APCDSWDA=APCDSWA(X)
  1. K DIR
  1. W !,"You have selected: ",$$VAL^XBDIQ1(9000010.54,APCDSWDA,.01)," Provider: ",$$VAL^XBDIQ1(9000010.54,APCDSWDA,1204)
  1. S DIR(0)="Y",DIR("A")="Are you sure you want to mark this item deleted/entered in error",DIR("B")="Y" KILL DA D ^DIR KILL DIR
  1. Q:'Y
  1. Q:$D(DIRUT)
  1. D ENTINERR(APCDSWDA)
  1. ;if it is a NAM or NAP then also find MLR or PLR for the same date/provider and mark them as entered in error
  1. I APCDMNE("NAME")="NAM" D REV Q
  1. I APCDMNE("NAME")="NAP" D REV Q
  1. I APCDMNE("NAME")="NAA" D REV Q
  1. Q
  1. ENTINERR(APCDSWDA) ;EP
  1. I '$D(APCDSWDA) Q
  1. I '$D(^AUPNVRUP(APCDSWDA,0)) W !!,"invalid v updated/reviewed entry...." Q
  1. S DA=APCDSWDA,DIE("NO^")=1,DIE="^AUPNVRUP(",DR="[APCD VUR ENTERED IN ERROR" D ^DIE K DA,DR,DIE
  1. Q
  1. REV ;delete auto-entered MLR/PLR
  1. ;FIND MLR/PLR with same provider and same date as the NAM/NAP
  1. NEW APCDP,APCDDAT,A,B,C,APCDV,G,DA,DR,DIE
  1. S APCDP=$P($G(^AUPNVRUP(APCDSWDA,12)),U,4)
  1. S APCDDAT=$P($G(^AUPNVRUP(APCDSWDA,12)),U,1)
  1. S APCDV=$P(^AUPNVRUP(APCDSWDA,0),U,3)
  1. I APCDMNE("NAME")="NAM" S A=$O(^AUTTCRA("C","MLR",0))
  1. I APCDMNE("NAME")="NAP" S A=$O(^AUTTCRA("C","PLR",0))
  1. I APCDMNE("NAME")="NAA" S A=$O(^AUTTCRA("C","ALR",0))
  1. S G=""
  1. S B=0 F S B=$O(^AUPNVRUP("AD",APCDV,B)) Q:B'=+B!(G) D
  1. .Q:$P($G(^AUPNVRUP(B,0)),U,1)'=A
  1. .Q:$P($G(^AUPNVRUP(B,12)),U,4)'=APCDP
  1. .Q:$P($G(^AUPNVRUP(B,12)),U,1)'=APCDDAT
  1. .Q:$P($G(^AUPNVRUP(B,2)),U,1)="Y" ;already marked as entered in error
  1. .S DA=B,DIE="^AUPNVRUP(",DR="2.01///"_$P($G(^AUPNVRUP(APCDSWDA,2)),U,1)_";2.02///"_$P($G(^AUPNVRUP(APCDSWDA,2)),U,2)_";2.03///"_$P($G(^AUPNVRUP(APCDSWDA,2)),U,3)_";2.04///"_$P($G(^AUPNVRUP(APCDSWDA,2)),U,4)
  1. .D ^DIE
  1. .S G=1
  1. .Q
  1. Q