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

APCDEGP1.m

Go to the documentation of this file.
  1. APCDEGP1 ; IHS/CMI/LAB - GROUP FORM DATA ENTRY ;
  1. ;;2.0;IHS PCC SUITE;**17**;MAY 14, 2009;Build 18
  1. ;
  1. START ;
  1. W !
  1. K APCDALVR
  1. D EDITCHKS^APCDEGP2
  1. I $D(APCDEFLG) D XIT1 Q
  1. D GENVISIT
  1. I $G(APCDVSIT)="" D XIT1 Q
  1. S APCDEGP("VISIT")=APCDVSIT
  1. D GENPOV
  1. D GENPRV
  1. D GENEDUC
  1. S APCDVDSP=APCDVSIT D ^APCDEWHA K APCDVDSP
  1. K AUPNTALK,APCDALVR
  1. D MNEPROC
  1. XIT ;
  1. ;set visit in the group file for formid ien
  1. S APCDEGP("FORMS",APCDEGP("VISIT"))=""
  1. ;call file^dicn to add to multiple of group file
  1. D ^XBFMK K DIADD,DLAYGO
  1. S DIC="^APCDGRP("_APCDFID_",11,",DIC(0)="L",DIC("P")=$P(^DD(9001002.3,11,0),U,2),DA(1)=APCDFID,X="`"_APCDEGP("VISIT") D ^DIC
  1. I Y=-1 W !!,"adding visit to group file entry failed. Notify supervisor." H 2
  1. D ^XBFMK K DIADD,DLAYGO
  1. XIT1 K APCDEG1,APCDEG2,APCDEGPR,APCDEGY,APCDTACC,APCDEGX,Y,APCDALVR,APCDEGP("VISIT")
  1. Q
  1. GENVISIT ;
  1. S APCDALVR("APCDLOC")=APCDLOC
  1. S APCDALVR("APCDCAT")=APCDCAT
  1. S APCDALVR("APCDTYPE")=APCDTYPE
  1. S APCDALVR("APCDPAT")=APCDPAT
  1. S APCDALVR("APCDDATE")=APCDDATE
  1. S APCDALVR("APCDCLN")=APCDCLIN
  1. ;
  1. W !,"Creating PCC Visit",!
  1. S APCDALVR("APCDNOK")=""
  1. S APCDALVR("APCDPAT")=APCDPAT
  1. S APCDNOXV="" D ^APCDALV K APCDNOXV
  1. I $D(APCDALVR("APCDAFLG")),APCDALVR("APCDAFLG")=1 W !,$C(7),"No Visit Selected",! K APCDALVR("APCDAFLG"),APCDVSIT Q
  1. I $D(APCDALVR("APCDAFLG")),APCDALVR("APCDAFLG")=2 W !,$C(7),"Error encountered when creating visit!," K APCDALVR("APCDAFLG"),APCDVSIT Q
  1. ;I $D(APCDVSIT("NEW")),$P(^APCCCTRL(DUZ(2),0),U,12)]"",$P($P(^AUPNVSIT(APCDVSIT,0),U),".")'<$P(^APCCCTRL(DUZ(2),0),U,12) S DA=APCDVSIT,DIE="^AUPNVSIT(",DR="1111///R" D ^DIE K DIE,DA,DR
  1. ;above added for EHR and auditing of visits, d/e created
  1. Q
  1. GENPOV ;
  1. W !,"Creating POV Record"
  1. S APCDALVR("APCDATMP")="[APCDALVR 9000010.07 (ADD)]"
  1. K APCDEGPR S (APCDEG1,APCDEG2)=0,APCDEGPR="" F S APCDEG2=$O(^AUPNVPOV("AD",APCDVSIT,APCDEG2)) Q:APCDEG2="" S APCDEGPR($P(^AUPNVPOV(APCDEG2,0),U))=""
  1. D POV
  1. Q
  1. POV ;
  1. S APCDEGX=0 F S APCDEGX=$O(^TMP("APCDEGP",$J,"POV",APCDEGX)) Q:APCDEGX="" D SETPOV
  1. Q
  1. SETPOV ;
  1. K APCDALVR("APCDTACC"),APCDALVR("APCDAFLG")
  1. Q:$D(APCDEGPR($P($P(^TMP("APCDEGP",$J,"POV",APCDEGX,"APCDTPOV"),U),"`",2))) ;skip if already there
  1. S APCDALVR("APCDTPOV")=$P(^TMP("APCDEGP",$J,"POV",APCDEGX,"APCDTPOV"),U),APCDALVR("APCDTNQ")=$P(^("APCDTPOV"),U,2),APCDALVR("APCDTFR")=$P(^("APCDTPOV"),U,3)
  1. S:$D(APCDTACC) APCDALVR("APCDTACC")=DUZ
  1. D ^APCDALVR
  1. I $D(APCDALVR("APCDAFLG")) D ERROR
  1. Q
  1. ;
  1. GENPRV ;
  1. W !,"Creating Provider Record"
  1. K APCDEGPR S (APCDEG1,APCDEG2)=0,APCDEGPR="" F S APCDEG2=$O(^AUPNVPRV("AD",APCDVSIT,APCDEG2)) Q:APCDEG2="" S APCDEGPR($P(^AUPNVPRV(APCDEG2,0),U))=""
  1. D PROV
  1. Q
  1. MNEPROC ; PROCESS MNEMONICS UNTIL DONE
  1. S APCDMPQ=0
  1. F D GETMNE D:$D(APCDEQX) CHKEHR2^APCDVCHK I APCDMPQ Q
  1. D GETMNEK
  1. K APCDMPQ
  1. Q
  1. ;
  1. GETMNE ; GET MNEMONIC
  1. W !
  1. S DIC="^APCDTKW(",DIC(0)="AEMQ",DIC("A")="MNEMONIC: ",DIC("S")="I $L($P(^(0),U))<5" D ^DIC K DIC("A"),DIC("S")
  1. I Y<0 D CHECK^APCDEGP0 Q
  1. S APCDMNE=+Y,APCDMNE("NAME")=$P(Y,U,2)
  1. K APCDMOD
  1. D ^APCDEA3
  1. I $D(APCDEQX) D ^APCDEQX I $D(APCDEQX) S APCDMPQ=1 Q
  1. I $D(APCDMOD) W !!,"Switching to Modify Mode for ONE Mnemonic ONLY!" S APCDMODE="M",APCDVLK=APCDVSIT D GETMNE K APCDVLK,APCDMOD S APCDMODE="A" W !!,"Switching back to ENTER Mode!" Q
  1. Q
  1. ;
  1. GETMNEK ; KILL GETMNE SPECIFIC VARIABLES
  1. K APCDVSIT,APCDEGX,APCDEQX
  1. Q
  1. PROV ;
  1. S APCDEGX=0,APCDALVR("APCDATMP")="[APCDALVR 9000010.06 (ADD)]" F S APCDEGX=$O(^TMP("APCDEGP",$J,"PROV",APCDEGX)) Q:APCDEGX="" D SETPROV
  1. Q
  1. SETPROV ;
  1. Q:$D(APCDEGPR($P($P(^TMP("APCDEGP",$J,"PROV",APCDEGX,"APCDTPRV"),U),"`",2))) ;skip if already there
  1. S APCDALVR("APCDTPRO")=$P(^TMP("APCDEGP",$J,"PROV",APCDEGX,"APCDTPRV"),U),APCDALVR("APCDTPS")=$P(^("APCDTPRV"),U,2)
  1. D ^APCDALVR
  1. I $D(APCDALVR("APCDAFLG")) D ERROR
  1. Q
  1. ERROR ;
  1. I APCDALVR("APCDAFLG")=1 W !,$C(7),"Template Missing - Notify Site Manager",! Q
  1. I APCDALVR("APCDAFLG")=2 W !,$C(7),"Error in V File Creation!" Q
  1. Q
  1. TSKMN ;for queueing when need to queue (call from setprov,setpov)
  1. K ZTSAVE F APCDEGY="APCDALVR(","DUZ(","DUZ","DT" S ZTSAVE(APCDEGY)=""
  1. S ZTRTN="ZTSK^APCDEGP2",ZTDESC="PCC GROUP FORM DATA ENTRY",ZTIO="",ZTDTH=DT D ^%ZTLOAD K ZTSK
  1. K ZTRTN,ZTDESC,ZTIO,ZTDTH,ZTSAVE
  1. Q
  1. GENEDUC ;
  1. W !,"Creating Patient Education Record"
  1. K APCDEGPR S (APCDEG1,APCDEG2)=0,APCDEGPR="" F S APCDEG2=$O(^AUPNVPED("AD",APCDVSIT,APCDEG2)) Q:APCDEG2="" S APCDEGPR($P(^AUPNVPED(APCDEG2,0),U))=""
  1. D EDUC
  1. Q
  1. EDUC ;
  1. S APCDEGX=0 F S APCDEGX=$O(^TMP("APCDEGP",$J,"EDUC",APCDEGX)) Q:APCDEGX="" D SETEDUC
  1. Q
  1. SETEDUC ;
  1. Q:$D(APCDEGPR($P($P(^TMP("APCDEGP",$J,"EDUC",APCDEGX,"APCDTTOP"),U),"`",2))) ;skip if already there
  1. K APCDALVR
  1. S APCDALVR("APCDPAT")=APCDPAT
  1. S APCDALVR("APCDVSIT")=APCDVSIT
  1. S APCDALVR("APCDATMP")="[APCDALVR 9000010.16 (ADD)]"
  1. S APCDALVR("APCDTTOP")=$P(^TMP("APCDEGP",$J,"EDUC",APCDEGX,"APCDTTOP"),U)
  1. I $P(^TMP("APCDEGP",$J,"EDUC",APCDEGX,"APCDTTOP"),U,3)]"" S APCDALVR("APCDTPRO")="`"_$P(^TMP("APCDEGP",$J,"EDUC",APCDEGX,"APCDTTOP"),U,3)
  1. S APCDALVR("APCDTLOU")=4
  1. S APCDALVR("APCDTIG")="G"
  1. S APCDALVR("APCDTMIN")=$P(^TMP("APCDEGP",$J,"EDUC",APCDEGX,"APCDTTOP"),U,2)
  1. I $P(^TMP("APCDEGP",$J,"EDUC",APCDEGX,"APCDTTOP"),U,4)]"" S APCDALVR("APCDTOBJ")=$P(^TMP("APCDEGP",$J,"EDUC",APCDEGX,"APCDTTOP"),U,4)
  1. D ^APCDALVR
  1. I $D(APCDALVR("APCDAFLG")) D ERROR
  1. Q