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

ACMTRANS.m

Go to the documentation of this file.
  1. ACMTRANS ; IHS/TUCSON/TMJ - CONTROL TRANSFER OF PATIENTS TO CMS ; [ 02/19/2002 12:14 PM ]
  1. ;;2.0;ACM CASE MANAGEMENT SYSTEM;**5**;JAN 10, 1996
  1. ;UTILITY TO TRANSFER CLIENTS FROM PCC REGISTERS, TAXONOMIES AND
  1. ;SEARCH TEMPLATES TO THE CMS
  1. ;;EP;ENTRY POINT
  1. EN D SLCT
  1. D PCC:'$D(ACMQUIT)&$D(ACMSLCT)
  1. EXIT K ACMRG,ACMRGNA,ACMU,ACMTRN,ACMTRNA,ACMTRNX,ACMRGTP,ACMX,ACMI,ACMSLCT
  1. K ACMQUIT,ACM1,ACM2,ACM3,ACMGLB,ACMGLB1
  1. Q
  1. ;
  1. SLCT ;D HEAD^ACMMENU
  1. SLCT1 S ACMX="DATA TRANSFER UTILITY",ACM1="Transfer from PCC REGISTER",ACM2="Transfer from PATIENT TAXONOMY",ACM3="Transfer from SEARCH TEMPLATE"
  1. ;W !!,?80-$L(ACMX)\2,ACMX,!! K ACMX
  1. ;F X=1,2,3 W !?14,X,") ",@("ACM"_X)
  1. W !!
  1. ;S DIR(0)="NOA^1:3",DIR("A")="Transfer option ==> ",DIR("?",1)="Type '1' for PCC Transfer,",DIR("?",2)=" '2' for Patient Taxonomy",DIR("?")=" or '3' for Search Template."
  1. ;D ^DIR K DIR
  1. ;I Y<1 S ACMQUIT="" Q
  1. S Y=3
  1. S ACMSLCT=$S(Y=1:"PCC",Y=3:"SER",1:"TAX"),ACMTRN=Y
  1. Q
  1. ;
  1. PCC D HEAD^ACMMENU
  1. S ACMX="ACM"_ACMTRN
  1. W !!,?80-$L(@ACMX)\2,@ACMX,!! K ACMX,ACMTRN
  1. I ACMSLCT="SER" D TLOOK G:Y<1 EXIT G TRX
  1. S ACMX(5)="W:ACMJ#2=1 !?14 W:ACMJ#2=0 ?45 W ACMTRNX",ACMTRNX="",ACMGLB1=$S(ACMSLCT="PCC":"^APCRREG(""B"")",1:"^ATXAX(""B"")"),ACMGLB=$S(ACMSLCT="PCC":"^APCRREG(",1:"^ATXAX(")
  1. F ACMJ=1:1 S ACMTRNX=$O(@ACMGLB1@(ACMTRNX)) Q:ACMTRNX="" S ACMTRN="",ACMTRN=$O(@ACMGLB1@(ACMTRNX,ACMTRN)) X ACMX(5)
  1. PCCO S DIC=ACMGLB,DIC(0)="AEMQ",DIC("A")=$S(ACMSLCT="PCC":"PCC REGISTER: ",1:" TAXONOMY: ")
  1. D ^DIC K DIC
  1. Q:Y<1
  1. S ACMTRN=+Y,ACMTRNA=$P(Y,U,2),ACMRGTP=""
  1. W !
  1. TRX D RGTPX^ACMGTP
  1. I '$D(ACMRG) K ACMRG,ACMRGNA,ACMRGTP,ACMTRNX,ACMTRN,ACMJ,ACMX Q
  1. STATUS ;get status to transfer
  1. S DIR(0)="S^A:ACTIVE;I:INACTIVE;U:UNREVIEWED",DIR("A")="Enter Patient Transfer Status",DIR("B")="A",DIR("?")="Enter the status that will be assigned to the patient when transfered."
  1. D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. Q:$D(DIRUT)
  1. S ACMSTAT=Y,ACMSTAT(0)=Y(0)
  1. W !!?10,"The following transfer has been selected:",!!?10,"From ",$S(ACMSLCT="PCC":"PCC register: ",ACMSLCT="SER":"SEARCH TEMPLATE: ",1:" PT TAXONOMY: ")
  1. W ?30,ACMTRNA,!?12,"To CMS register:",?30,ACMRGNA,!?10,"Transfer Status: ",?30,ACMSTAT," - ",ACMSTAT(0),!!,?10,"Is that what you want"
  1. S %=2 D YN^DICN
  1. I %<1!(%=2) D EXIT Q
  1. I %=1 D TSK
  1. MESS W !!?10,"Transfer of patients will be done in background mode.",!?10,"All patients will be entered as "_ACMSTAT(0),". All cases",!?10,"should be reviewed and all patient data updated in the",!?10,@ACMRVON,ACMRGNA,@ACMRVOFF," register."
  1. W !
  1. D PAUSE^ACMMENU
  1. Q
  1. TRANS S $P(^ACM(41.1,ACMRG,0),U,9)=1,ACMU=$S(ACMSLCT="PCC":"",1:0),ACMGLB=$S(ACMSLCT="PCC":"^APCRREG("_ACMTRN_",1,""B"")",ACMSLCT="SER":"^DIBT("_ACMTRN_",1)",1:"^ATXPAT("_ACMTRN_",11)")
  1. F S ACMU=$O(@ACMGLB@(ACMU)) Q:ACMU="" D:'$D(^ACM(41,"AC",ACMU,ACMRG)) MOVE
  1. S $P(^ACM(41.1,ACMRG,0),U,9)=""
  1. K ACMRG,ACMRGNA,ACMU,ACMTRN,ACMTRNA,ACMTRNX,ACMRGTP,ACMX,ACMI,ACMSLCT,DIC,DIE,DA,DR,DD
  1. S ZTREQ="@"
  1. Q
  1. MOVE Q:$D(^ACM(41,"AC",ACMU,ACMRG))
  1. S:$P(^ACM(41.1,ACMRG,0),U,9)="" $P(^(0),U,9)=1
  1. S DIC="^ACM(41,",DIC(0)="L",DIC("DR")=".02////"_ACMU_";1////"_ACMSTAT_";2////"_DT_";4////"_DT,X=ACMRG
  1. K DD,DO D FILE^DICN K DIC,DA,DR,DIE
  1. D DECEASED^ACMLPAT(ACMU,+Y) ;IHS/CIM/THL PATCH 5
  1. Q
  1. TSK S ZTRTN="TRANS^ACMTRANS",ZTDESC="TRANSFER PCC REGISTER OR TAXONOMY DATA TO CMS REGISTER",ZTSAVE("ACM*")="",ZTIO="",ZTDTH=$H
  1. D ^%ZTLOAD
  1. Q
  1. TLOOK K DIC
  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))) Q:'$D(DS(2)) I $D(^DIBT(DS(2),1))"
  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))" ;IHS/CIM/THL/PATCH 5
  1. D ^DIC K DIC,DA,DR
  1. Q:+Y<1
  1. W !
  1. S ACMTRN=+Y,ACMTRNA=$P(Y,U,2),(ACMRGTP,ACMI)=""
  1. F ACMYI=1:1 S ACMI=$O(^DIBT(ACMTRN,1,ACMI)) Q:ACMI=""
  1. W !!?10,"There are ",ACMYI-1," patients in this SEARCH TEMPLATE."
  1. K ACMI,ACMYI
  1. W !
  1. S ACMYI=0
  1. F S ACMYI=$O(^DIBT(ACMTRN,"%D",ACMYI)) Q:'ACMYI W !,?3,^(ACMYI,0)
  1. K ACMYI
  1. W !
  1. Q