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

APCDEA3.m

Go to the documentation of this file.
  1. APCDEA3 ; IHS/CMI/LAB - PROCESS MNEMONICS ;
  1. ;;2.0;IHS PCC SUITE;**11,16**;MAY 14, 2009;Build 9
  1. ; Process MNEMONIC [ 07/01/86 12:45 PM ]
  1. ;
  1. ; *** WARNING *** This routine is called by non APCD routines.
  1. EN ;PEP - CALLED TO PROCESS 1 MNEMONIC
  1. ;
  1. DIC ; CREATE/LOOKUP ENTRY
  1. S APCDTMOD=$P(^APCDTKW(APCDMNE,0),U,2)
  1. S:APCDTMOD="" APCDTMOD=APCDMODE
  1. I APCDMODE="M" S DIC="^AUPNPAT("
  1. E S DIC=^DIC($P(^APCDTKW(APCDMNE,0),U,3),0,"GL")
  1. I DIC="^AUPNPAT(" S Y=APCDPAT G DIE
  1. I APCDMODE="A",DIC="^AUPNVSIT(" S Y=APCDVSIT G DIE
  1. S:APCDTMOD="A" DLAYGO=$P(^APCDTKW(APCDMNE,0),U,3),DIC(0)="AEMQL"
  1. S DIC("DR")=""
  1. D ^DIC K DIC
  1. Q:Y<0
  1. DIE ; ADD/MODIFY FIELDS IN ENTRY
  1. S APCDX=$P(^APCDTKW(APCDMNE,0),U,5) I APCDX]"" S APCDX="S APCDLOOK="_APCDX X APCDX
  1. K APCDX,DIV,DIU
  1. S (DA,D0)=+Y,DIE=DIC,DR=$P(^APCDTKW(APCDMNE,0),U,4),DR=$P(DR,"]")_" "_$S(APCDTMOD="A":"(ADD)",APCDTMOD="M":"(MOD)",1:"("_APCDMNE("NAME")_")")_"]"
  1. S:APCDMODE="A" DIE("NO^")=1
  1. S:DR["PV " DIE("NO^")=1
  1. D ^DIE K APCDCLN,APCDLOOK,DIE("NO^"),DIV,DIU,DIC,DIE,DIK
  1. I $G(APCDVSIT) S AUPNVSIT=APCDVSIT D MOD^AUPNVSIT K AUPNVSIT
  1. I $D(Y) W APCDBEEP,!,"An error has occurred, I think!",!
  1. DELETE ; DELETE ENTRY IF ^DIE FAILED IN ADD MODE
  1. I $D(APCDREGU) S DFN=APCDPAT D UPDATE^AGED K APCDREGU
  1. ; AND NOT SWITCHING FROM PATIENT OR VISIT
  1. ;***** THIS SUCKER IS DANGEROUS *****
  1. ;I $D(Y),APCDTMOD="A",DIE'="^AUPNPAT(",DIE'="^AUPNVSIT(" S DIK=DIE D ^DIK
  1. K APCDTMOD,APCDX,APCDLOOK
  1. Q
  1. GETNARR(APCDT,APCDDEFV) ;PEP - called to get a narrative
  1. ;because I have absolutely no idea where this call is coming from
  1. ;I am going to do an exclusive new to preserve the callers
  1. ;symbol table
  1. NEW APCDNQV
  1. S APCDNQV=""
  1. S APCDDEFV=$G(APCDDEFV)
  1. S APCDT=$G(APCDT)
  1. D EN^XBNEW("GETNARR1^APCDEA3","APCDT;APCDNQV;APCDDEFV")
  1. Q APCDNQV
  1. GETNARR1 ;EP
  1. ;if user enters "=" use T IF T is not null
  1. ;do not allow "|"
  1. ;do not allow "@"
  1. NEW DA,DIR
  1. S T=$G(T)
  1. S DIR(0)="F^1:160",DIR("A")=" PROVIDER NARRATIVE" S:APCDDEFV]"" DIR("B")=APCDDEFV KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT),X="^" W !!," ^ is Not Allowed. Response is required.",! G GETNARR1
  1. I $D(DIRUT) Q ""
  1. I X="=",APCDT="" W " ????" G GETNARR1
  1. I X="=",APCDT]"" S X=APCDT
  1. I $L(X)>160!($L(X)<2)!'((X'?1P.E)!(X?1"|".E))!(X'?.ANP) W " ????" G GETNARR1
  1. I X["|" W !!,"You cannot enter a narrative that contains a '|' (vertical bar).",! K X G GETNARR1
  1. S APCDNQV=X
  1. Q