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

ACMADDM1.m

Go to the documentation of this file.
  1. ACMADDM1 ; IHS/TUCSON/TMJ - CONTINUATION OF ADD IHS DM REGISTER ; [ 07/07/1999 4:00 PM ]
  1. ;;2.0;ACM CASE MANAGEMENT SYSTEM;*1*;JAN 10, 1996
  1. ;This routine allows the user to conver existing register data
  1. ;to IHS standard data.
  1. ;ROUTINE IS CALLED FROM ACMADDM AND ENTERED VIA TAG CDIAG OR CCOMP
  1. Q
  1. ;
  1. CDIAG ;EP;CONVERTS USER DIAGNOSES TO IHS STANDARD DIAGNOSES
  1. W !,"I will now check your patient's diagnoses against the IHS standards:"
  1. SETD ;FINDS STANDARD DIAGNOSIS AND PUT IN ^TMP($J,"STD"
  1. K ACME S (ACMDIR,ACME)="" F I=1:1 S ACME=$T(DIAG+I^ACMRGA01) Q:ACME["*" S ACME=$P(ACME,";;",3),ACMD="",ACMD=$O(^ACM(44.1,"B",ACME,ACMD)),^TMP($J,"STD",ACMD)=ACME,ACMDIR=ACMDIR_I_":"_ACME_";"
  1. S ACMDIR=ACMDIR_I_":DELETE ENTIRELY;"
  1. S ACMDIR=ACMDIR_(I+1)_":LEAVE AS IS"
  1. ;
  1. FINDD ;FINDS REGISTER DIAGNOSIS AND PUT IN ^TMP($J,"REG"
  1. S ACME="" F I=1:1 S ACME=$O(^ACM(44,"E",ACMRG,ACME)) Q:ACME="" S ACMD=$P(^ACM(44,ACME,0),U,1) I '$D(^TMP($J,"STD",ACMD)) S:'$D(^TMP($J,"REG",ACMD)) ^TMP($J,"REG",ACMD)="" S ^TMP($J,"REG",ACMD,ACME)=ACME_U_ACMD_U_$P(^ACM(44.1,ACMD,0),U,1)
  1. S ACMD="",ACMQ=0 F S ACMD=$O(^TMP($J,"REG",ACMD)) Q:ACMD="" D MATCHD Q:ACMQ
  1. Q:ACMQ
  1. D:$D(^TMP($J,"REG")) DIRYND
  1. D END
  1. Q
  1. DIRYND S DIR(0)="YO",DIR("A")="Are you ready to change your patient's diagnoses to the new diagnoses",DIR("B")="YES"
  1. W ! D ^DIR K DIR Q:Y=0!(Y["^") I Y=1 D CHGD
  1. Q
  1. CHGD ;LOOPS AND CHANGES DIAGNOSES TO NEW VALUES
  1. W !,"Changing diagnosis..." S ACMD="" F S ACMD=$O(^TMP($J,"REG",ACMD)) Q:ACMD="" D CHGD1
  1. Q
  1. CHGD1 Q:^TMP($J,"REG",ACMD)="LEAVE AS IS"
  1. I ^TMP($J,"REG",ACMD)="DELETE ENTIRELY" D CHGDD Q
  1. S ACME="" F S ACME=$O(^TMP($J,"REG",ACMD,ACME)) Q:ACME="" S DIE="^ACM(44,",DA=ACME,DR=".01///^S X=^TMP($J,""REG"",ACMD);.04///^S X=ACMRG" D ^DIE K DA,DR W "."
  1. K ^ACM(44,"AC") S DIK="^ACM(44,",DIK(1)=".04^AC" D ENALL^DIK K DIK
  1. Q
  1. ;
  1. CHGDD ;
  1. S ACMX=0 F S ACMX=$O(^ACM(44,"B",ACMD,ACMX)) Q:+ACMX=0 S DA=ACMX,DIK="^ACM(44," D ^DIK K DIK,DA W "."
  1. S DIK="^ACM(44.1,"_ACMD_",""RG"",",DA(1)=ACMD,DA=ACMRG D ^DIK K DA,DA(1),DIK
  1. I '$D(^ACM(44.1,ACMD,"RG","B")) S DIK="^ACM(44.1,",DA=ACMD D ^DIK K DA,DIK
  1. Q
  1. MATCHD ;
  1. W !,"Choose a new diagnosis from the list below:",!
  1. W !,"for your diagnosis: ",$P(^ACM(44.1,ACMD,0),U,1)
  1. S DIR(0)="S^"_ACMDIR,DIR("A")="Choose a Diagnosis: " D ^DIR
  1. I Y="" S ^TMP($J,"REG",ACMD)="LEAVE AS IS" Q
  1. I Y["^" S ACMQ=1 Q
  1. S ^TMP($J,"REG",ACMD)=Y(0) Q
  1. Q
  1. ;
  1. CCOMP ;EP;CONVERTS USER COMPLICATIONS TO IHS STANDARD COMPLICATIONS
  1. W !,"I will now check your patient's complications against the IHS standards:"
  1. ;
  1. SETC ;FINDS STANDARD COMPLICATIONS AND PUT IN ^TMP($J,"STD"
  1. K ACME S (ACMDIR,ACME)="" F I=1:1 S ACME=$T(COMP+I^ACMRGA01) Q:ACME["*" S ACME=$P(ACME,";;",3),ACMD="",ACMD=$O(^ACM(42.1,"B",ACME,ACMD)),^TMP($J,"STD",ACMD)=ACME,ACMDIR=ACMDIR_I_":"_ACME_";"
  1. S ACMDIR=ACMDIR_I_":DELETE ENTIRELY;"
  1. S ACMDIR=ACMDIR_(I+1)_":LEAVE AS IS"
  1. ;
  1. FINDC ;FINDS REGISTER COMPLICATION AND PUT IN ^TMP($J,"REG"
  1. S ACME="" F I=1:1 S ACME=$O(^ACM(42,"E",ACMRG,ACME)) Q:ACME="" S ACMD=$P(^ACM(42,ACME,0),U,1) I '$D(^TMP($J,"STD",ACMD)) S:'$D(^TMP($J,"REG",ACMD)) ^TMP($J,"REG",ACMD)="" S ^TMP($J,"REG",ACMD,ACME)=ACME_U_ACMD_U_$P(^ACM(42.1,ACMD,0),U,1)
  1. S ACMD="",ACMQ=0 F S ACMD=$O(^TMP($J,"REG",ACMD)) Q:ACMD="" D MATCHC Q:ACMQ
  1. Q:ACMQ
  1. D:$D(^TMP($J,"REG")) DIRYNC
  1. D END
  1. Q
  1. DIRYNC S DIR(0)="YO",DIR("A")="Are you ready to change your patient's complications to the new complications",DIR("B")="YES"
  1. W ! D ^DIR K DIR Q:Y=0!(Y["^") I Y=1 D CHGC
  1. Q
  1. ;
  1. CHGC ;LOOPS AND CHANGES COMPLICATIONS TO NEW VALUES
  1. W !,"Changing complication..." S ACMD="" F S ACMD=$O(^TMP($J,"REG",ACMD)) Q:ACMD="" D CHGC1
  1. Q
  1. CHGC1 Q:^TMP($J,"REG",ACMD)="LEAVE AS IS"
  1. I ^TMP($J,"REG",ACMD)="DELETE ENTIRELY" D CHGCD Q
  1. S ACME="" F S ACME=$O(^TMP($J,"REG",ACMD,ACME)) Q:ACME="" S DIE="^ACM(42,",DA=ACME,DR=".01///^S X=^TMP($J,""REG"",ACMD);.04///^S X=ACMRG" D ^DIE K DA,DR W "."
  1. K ^ACM(42,"AC") S DIK="^ACM(42,",DIK(1)=".04^AC" D ENALL^DIK K DIK
  1. Q
  1. ;
  1. CHGCD ;
  1. S ACMX=0 F S ACMX=$O(^ACM(42,"B",ACMD,ACMX)) Q:+ACMX=0 S DA=ACMX,DIK="^ACM(42," D ^DIK K DIK,DA W "."
  1. S DIK="^ACM(42.1,"_ACMD_",""RG"",",DA(1)=ACMD,DA=ACMRG D ^DIK K DA,DA(1),DIK
  1. I '$D(^ACM(42.1,ACMD,"RG","B")) S DIK="^ACM(42.1,",DA=ACMD D ^DIK K DA,DIK
  1. Q
  1. MATCHC ;MATCHES COMPLICATION TO STD
  1. W !,"Choose a new complication from the list below:",!
  1. W !,"for your complication: ",$P(^ACM(42.1,ACMD,0),U,1)
  1. S DIR(0)="S^"_ACMDIR,DIR("A")="Choose a Complication: " D ^DIR
  1. I Y="" S ^TMP($J,"REG",ACMD)="LEAVE AS IS" Q
  1. I Y["^" S ACMQ=1 Q
  1. S ^TMP($J,"REG",ACMD)=Y(0) Q
  1. Q
  1. ;
  1. END ;CLEANUP IHS/OHPRD/TMJ Patch #1 - Removed Kill ACMQ
  1. K ^TMP($J,"REG"),^TMP($J,"STD"),ACMD,ACMDIR,ACME,DA,DIE,DIR,DR,I
  1. Q