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

APCDAEDU.m

Go to the documentation of this file.
  1. APCDAEDU ; IHS/CMI/LAB - education topic lookup ;
  1. ;;2.0;IHS PCC SUITE;**2,7,11**;MAY 14, 2009;Build 58
  1. ;
  1. ;
  1. EP ;
  1. D EN^XBNEW("EP1^APCDAEDU","APCDT12;APCDT04;APCDTSKI;APCDLOOK,APCDTERR,APCDPEDP,APCDPEDV;APCDVSIT;APCDDATE")
  1. Q
  1. EP1 ;;
  1. S APCDTSKI="",APCDLOOK="",APCDPEDC=0
  1. K APCDPCPT
  1. W !!,"You can enter education topics in 3 ways:",!?3,"- using the name of the topic (e.g. DM-DIET)",!?3,"- using an ICD Diagnosis for the topic diagnosis and enter a topic category"
  1. W !?3,"- using a CPT code for the topic and enter a topic category",!
  1. ;S DIR(0)="F^1:30",DIR("A")="Enter EDUCATION Topic" KILL DA D ^DIR KILL DIR
  1. S DIR(0)="S^T:EDUCATION TOPIC;D:DIAGNOSIS;C:CPT CODE",DIR("A")="Do you wish to enter a",DIR("B")="T" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) S APCDTSKI=1 Q
  1. I Y="T" D OLD Q
  1. I Y="D" D ICD S APCDTSKI=1 Q
  1. I Y="C" D CPT S APCDTSKI=1 Q
  1. Q
  1. ICD ;
  1. S APCDT04=""
  1. S (APCDLOOK,APCDTSKI,APCDTERR)=""
  1. S APCDTDIA="ICD DIAGNOSIS CODE NUMBER"
  1. D ^APCDAPOV
  1. I APCDLOOK="" S APCDTSKI=1 G EP1
  1. S APCDT04=APCDLOOK K APCDLOOK,APCDTSKI,APCDTERR
  1. TOPIC ;
  1. W !
  1. S APCDT12=""
  1. S DIR(0)="9000010.16,.12",DIR("A")="Enter "_$S(APCDPEDC:"another ",1:"")_"Category" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT),APCDPEDC=0 S (APCDLOOK,APCDT04,APCDT12)="" W !,"No education topic entered." G EP1
  1. Q:$D(DIRUT)
  1. Q:Y=""
  1. S APCDT12="`"_+Y
  1. ;
  1. P01 ;get .01 value by concatenating topic and dx
  1. NEW APCDY,APCDM
  1. S APCDY=$P($$ICDDX^ICDEX($P(APCDT04,"`",2),$$VD^APCLV(APCDVSIT)),U,2)_"-"_$P(^APCDEDCV($P(APCDT12,"`",2),0),U),APCDM=$P(APCDY,"-")_"-"_$P(^APCDEDCV($P(APCDT12,"`",2),0),U,2)
  1. S Z=$O(^AUTTEDT("B",APCDY,0)) I Z S APCDLOOK="`"_Z D ADDVPED G TOPIC
  1. ;add to educ topics file
  1. D ^XBFMK S X=APCDY,DIC(0)="L",DIC="^AUTTEDT(",DLAYGO=9999999.09,DIADD=1,DIC("DR")="1///"_APCDM_";.04///"_APCDT04 K DD,D0,DO D FILE^DICN
  1. I Y=-1 W !!,"error adding new education topic, notify supervisor." S APCDTSKI=1,APCDLOOK="",APCDT04="",APCDT12="" Q
  1. S APCDLOOK="`"_+Y D ADDVPED G TOPIC
  1. Q
  1. ;add to education topics file
  1. OLD ;
  1. S (APCDTSKI,APCDLOOK)=""
  1. ;do DIC lookup into education topics file
  1. X:$D(^DD(9000010.16,.01,12.1)) ^DD(9000010.16,.01,12.1) S DIC="^AUTTEDT(",DIC(0)="AEMQ",DIC("A")="Enter EDUCATION Topic: " D ^DIC K DIC
  1. I Y="" S APCDTSKI=1,APCDLOOK="" Q
  1. I Y=-1,X=""!(X="^") S APCDTSKI=1,APCDLOOK="" Q
  1. I Y=-1 S APCDTERR=1,APCDLOOK="" Q
  1. S APCDLOOK="`"_+Y
  1. S APCDT04=$P(^AUTTEDT(+Y,0),U,4) I APCDT04 S APCDT04="`"_APCDT04
  1. Q
  1. ADDVPED ;add v patient education entry
  1. D ^XBFMK
  1. S DIC="^AUPNVPED(",X=$P(APCDLOOK,"`",2),DIC(0)="L",DIADD=1,DLAYGO=9000010.16 K DD,D0,DO D FILE^DICN
  1. K DIADD,DLAYGO,DIC,DA,DD,DO
  1. I Y=-1 W !!,"Creating V Patient Education failed! Notify programmer." D ^XBFMK Q
  1. S DA=+Y,DIE="^AUPNVPED(",DR=".02////"_APCDPEDP_";.03////"_APCDPEDV
  1. S DR=DR_$S($D(APCDPCPT):"",1:";.04///"_APCDT04)
  1. S DR=DR_";.12///"_APCDT12_";1102;.06;.05;.08;.11;.13;.14;1101" D ^DIE
  1. I $D(Y) W !!,"Creating V patient ed failed! Notify programmer." D ^XBFMK Q
  1. D ^XBFMK
  1. S APCDPEDC=APCDPEDC+1
  1. Q
  1. CPT ;
  1. S APCDPCPT=1
  1. S APCDT04=""
  1. ;lookup in ICD file
  1. S DIC="^ICPT(",DIC(0)="AMEQ" D ^DIC K DIC
  1. I X="" S APCDLOOK="",APCDTSKI=1,APCDT04="" Q
  1. I $D(DUOUT) S APCDTSKI=1,APCDLOOK="",APCDT04="",APCDT12="" Q
  1. I Y=-1 G EP1
  1. S APCDT04="`"_+Y
  1. CTOPIC ;
  1. W !
  1. S APCDT12=""
  1. S DIR(0)="9000010.16,.12",DIR("A")="Enter "_$S(APCDPEDC:"another ",1:"")_"Category" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT),APCDPEDC=0 S (APCDLOOK,APCDT04,APCDT12)="" W !,"No education topic entered." G EP1
  1. Q:$D(DIRUT)
  1. Q:Y=""
  1. S APCDT12="`"_+Y
  1. ;
  1. CP01 ;get .01 value by concatenating topic and dx
  1. NEW APCDY,APCDM
  1. S APCDY=$P($$CPT^ICPTCOD($P(APCDT04,"`",2)),U,2)_"-"_$P(^APCDEDCV($P(APCDT12,"`",2),0),U),APCDM=$P(APCDY,"-")_"-"_$P(^APCDEDCV($P(APCDT12,"`",2),0),U,2)
  1. S Z=$O(^AUTTEDT("B",APCDY,0)) I Z S APCDLOOK="`"_Z D ADDVPED G CTOPIC
  1. ;add to educ topics file
  1. D ^XBFMK S X=APCDY,DIC(0)="L",DIC="^AUTTEDT(",DLAYGO=9999999.09,DIADD=1,DIC("DR")="1///"_APCDM_";.11///"_APCDT04 K DD,D0,DO D FILE^DICN
  1. I Y=-1 W !!,"error adding new education topic, notify supervisor." S APCDTSKI=1,APCDLOOK="",APCDT04="",APCDT12="" Q
  1. S APCDLOOK="`"_+Y D ADDVPED G CTOPIC
  1. Q