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

BDPTRANS.m

Go to the documentation of this file.
  1. BDPTRANS ; IHS/CMI/TMJ - TRANSFER FROM A TEMPLATE OF PATIENTS ;
  1. ;;2.0;IHS PCC SUITE;**10,21**;MAY 14, 2009;Build 34
  1. ;
  1. ; Subscripted BDPREC is EXTERNAL form.
  1. ; BDPREC("PAT NAME")=patient name
  1. ; BDPREC("PROV TYPE")=Provider Category Type
  1. ; BDPDFN=patient ien
  1. ; BDPRDATE=date in internal FileMan form
  1. ; BDPRIEN=Designated Provider ien
  1. ;
  1. START ;
  1. ;
  1. D INFORM ;Data Entry Explanation
  1. ;
  1. D MAIN Q:BDPQ D HDR^BDP
  1. D EOJ
  1. Q
  1. ;
  1. MAIN ;
  1. S BDPQ=0
  1. D TEMPLATE ; get patient Name
  1. Q:BDPQ
  1. D PROV
  1. I BDPQ=1 G MAIN
  1. ;
  1. D ASK
  1. Q:BDPQ
  1. ;
  1. GETTYPE ;Do Get Date if no existing Designated Providers
  1. D TYPE ; get Provider Category Type
  1. Q:BDPQ
  1. D ASKGO ; add new Designated Provider record
  1. S BDPQ=0
  1. Q
  1. ;
  1. TEMPLATE ; GET TEMPLATE
  1. ;
  1. TLOOK K DIC,DIRUT
  1. S DIC="^DIBT(",DIC(0)="AEQZ",DIC("A")="Select SEARCH TEMPLATE: ",DIC("S")="I ($P(^(0),U,4)=2!($P(^(0),U,4)=9000001)),$D(^DIBT(+$G(Y),1))"
  1. D ^DIC K DIC,DA,DR
  1. I $D(DIRUT) S BDPQ=1 Q
  1. I +Y<1 S BDPQ=1 Q
  1. W !
  1. S BDPTRN=+Y,BDPTRNA=$P(Y,U,2),(BDPRGTP,BDPI)=""
  1. F BDPYI=1:1 S BDPI=$O(^DIBT(BDPTRN,1,BDPI)) Q:BDPI=""
  1. W !!?10,"There are ",BDPYI-1," patients in this SEARCH TEMPLATE."
  1. K BDPI,BDPYI
  1. W !
  1. S BDPYI=0
  1. K BDPYI
  1. W !
  1. Q
  1. ;
  1. ;
  1. ASK ;Ask to Continue
  1. S BDPQ=0
  1. W !! S DIR(0)="Y",DIR("A")="Do you want to continue changing the Designated Provider for each Patient in this Template",DIR("B")="Y" K DA D ^DIR K DIR
  1. I $D(DIRUT) S BDPQ=1 Q
  1. I 'Y S BDPQ=1 Q
  1. Q
  1. ;
  1. ;
  1. TYPE ; GET CATEGORY TYPE FOR DESIGNATED PROVIDER
  1. W !
  1. S BDPQ=1
  1. S DIR(0)="90360.1,.01",DIR("B")="DPCP" K DA D ^DIR K DIR
  1. Q:$D(DIRUT)
  1. S BDPTYPE=+Y,BDPREC("PROV TYPE")=Y(0)
  1. I $P(^BDPTCAT(BDPTYPE,0),U,1)="MESSAGE AGENT",'$D(^BDPMSGA("B",BDPPROV)) D G TYPE
  1. .W !!,"The provider you selected is not listed as a Message Agent, he/she must "
  1. .W !,"be added to the Message Agent List using the option on the Manager's "
  1. .W !,"Menu before they can be assigned as a message agent.",!
  1. I $P(^BDPTCAT(BDPTYPE,0),U,1)="MESSAGE AGENT",$P($G(^BDPMSGA(BDPPROV,0)),U,3) D G TYPE
  1. .W !!,"The provider you selected has been inactivated as a message agent, he/she"
  1. .W !," must be reactivated using the option on the Manager's Menu before they can "
  1. .W !,"be assigned as a message agent.",!
  1. ;
  1. S BDPQ=0
  1. Q
  1. PROV ; GET DESIGNATED PROVIDER
  1. S BDPPROV="",BDPQ=0
  1. S DIC("A")="Select New Designated Provider: ",DIC="^VA(200,",DIC(0)="AEMQ" D ^DIC K DIC,DA S:$D(DUOUT) DIRUT=1,BDPQ=1
  1. Q:$D(DIRUT)
  1. I +Y<1 S BDPQ=1 Q
  1. S X=$$CHKPROV^BDPDPEE(+Y) I X S BDPQ=1 Q
  1. S BDPPROV=+Y,BDPRPROV=$P(Y,U,2)
  1. S BDPRPRVP=$P(^VA(200,BDPPROV,0),U,1) ;Provider Print Name
  1. S BDPQ=0
  1. Q
  1. ;
  1. ASKGO ;Ask to continue
  1. ;
  1. W !!!,?8,"**********************************************",!
  1. W !!,?8,"Okay, you have selected DESIGNATED PROVIDER : ",BDPRPRVP,!
  1. W ?8,"To be assigned to Patients in Template Named: "_BDPTRNA W !
  1. W ?8,"For Designated Provider Category/Type: "_$P($G(^BDPTCAT(BDPTYPE,0)),U,1) W !!
  1. W !,?8,"**********************************************",!
  1. ;
  1. ;
  1. S DIR(0)="Y",DIR("A")="Do you wish to Continue Changing to a new CURRENT Designated Provider",DIR("?")="Enter Y for Yes or N for NO",DIR("B")="N" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) S BDPQ=1 Q
  1. I Y=0 S BDPQ=1 Q
  1. ;
  1. ;
  1. ADDTEMP ;Add Patients in Template to File
  1. ;
  1. ;S BDPPAT=""
  1. S BDPPAT="" F S BDPPAT=$O(^DIBT(BDPTRN,1,BDPPAT)) Q:BDPPAT'=+BDPPAT D
  1. . Q:BDPPAT=""
  1. . Q:BDPTYPE=""
  1. . Q:BDPPROV=""
  1. . S X=$$CREATE^BDPAMA(BDPPAT,BDPTYPE,BDPPROV) Q
  1. . ;
  1. ;
  1. ;
  1. MSGEND ;End of Add Message
  1. W !!!!,"Okay - I have changed all Patient Records - as follows: ",! D Q
  1. .W !,"DESIGNATED PROVIDER : ",BDPRPRVP,!
  1. . W "Has been assigned to Patients existing in Template: "_BDPTRNA W !
  1. . W "For Designated Provider Category/Type: "_$P($G(^BDPTCAT(BDPTYPE,0)),U,1) W !!
  1. . W "Note: If this Designated Provider already existed for the patient",!,?7," - No change was made to the patient record-.",!
  1. . D PAUSE^BDP
  1. S BDPQ=0
  1. Q
  1. ;
  1. ;
  1. EOJ ; END OF JOB
  1. D ^BDPKILL
  1. Q
  1. ;
  1. ;
  1. INFORM ;Data Entry Explanation
  1. ;
  1. W !,?3,"This Option allows automatic ADD/UPDATE of Records from a Patient TEMPLATE",!
  1. W ?3,"The User is prompted for the TEMPLATE Name and the desired Provider Name.",!
  1. W ?3,"Once the desired Provider Category Type is selected by the User,",!
  1. W ?3,"the Program will automatically LOOP through the Template of Patients and",!,?3,"Add or Update the selected Current Provider for this Category Type.",!!
  1. W ?3,"If an existing patient's Current Provider/Category Type are the same,",!,?3,"no update will occur.",!
  1. Q