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

ACMRGA02.m

Go to the documentation of this file.
  1. ACMRGA02 ; IHS/TUCSON/TMJ - CREATES PRE-DIABETES REGISTER AT RUN TIME ; [ 09/19/05 1:18 PM ]
  1. ;;2.0;ACM CASE MANAGEMENT SYSTEM;*6*;JAN 10, 1996
  1. ;ROUTINE TO CREATE A REGISTER CALLED FROM ACMADDP
  1. ;IHS PRE-DIABETES REGISTER 8/22/05
  1. Q
  1. ;
  1. REG ;EP;CHECKS AND CREATES REGISTER
  1. S ACMRG=$T(NAME+1),ACMRG=$P(ACMRG,";;",3) W !,ACMRG I $L(ACMRG),$D(^ACM(41.1,"B",ACMRG)) W !!,"Register: ",ACMRG," already exists...quiting",!! Q
  1. W !!,"Register: ",ACMRG," is being added...",!!
  1. S X=ACMRG,DIC="^ACM(41.1,",DIC(0)="LX" K DD,DA D FILE^DICN Q:+Y<1 S ACMRG=+Y K DIC,DA,DD,DR,DINUM,D
  1. F I=2:1 S ACMF=$T(NAME+I) Q:ACMF["*" S ACMF($P(ACMF,";;",2))=$P(ACMF,";;",3)
  1. S ACMX=0 F S ACMX=$O(ACMF(ACMX)) Q:ACMX="" S ACMY=0,ACMY=$O(^DD(9002241.1,"B",ACMX,ACMY)) I +ACMY S $P(ACMF(ACMX),U,2)=+ACMY
  1. S DR="" S ACMX="" F S ACMX=$O(ACMF(ACMX)) Q:ACMX="" S ACMY=ACMF(ACMX) I $L($P(ACMY,U,1))&(+$P(ACMY,U,2)) S DR=DR_$P(ACMY,U,2)_"///"_$P(ACMY,U,1)_";"
  1. I $L(DR) S DR=$E(DR,1,$L(DR)-1)
  1. S DA=ACMRG,DIE="^ACM(41.1," D ^DIE S $P(^ACM(41.1,ACMRG,0),U,12)=1 K DIC,DIE,DA,DR
  1. ADDS ;ADDS ELEMENTS,DIAG,COMPL, DX CRITERIA, RISK FACTORS ETC TO REGISTER
  1. D SETE,SETD,SETC,SETR,SETDC W "...FINISHED...",!!
  1. K ACMX,ACMEX,ACXE,ACZ,ACMCX,ACMDX,ACMRF,ACMDC
  1. Q
  1. ;
  1. SETE ;EP;ADDS ELEMENTS TO NEW REGISTER
  1. K ACME F I=1:1 S ACME=$T(ELEM+I) Q:ACME["*" S ACME($P(ACME,";;",3))=$P(ACME,";;",3)
  1. W !,"adding elements..." S ACMEX="" F S ACMEX=$O(ACME(ACMEX)) Q:ACMEX="" K ACMY D SETE0 I $D(ACMY) D SETE1
  1. Q
  1. SETE0 S:$D(^ACM(56,"B",ACMEX)) ACMY=1 W "." Q
  1. SETE1 S ACMY=0,ACMY=$O(^ACM(56,"B",ACMEX,ACMY)) S (DA,X,DINUM)=ACMY,DA(1)=ACMRG
  1. K DIC,DD S (DIE,DIC)="^ACM(41.1,"_ACMRG_",2,",DIC(0)="L"
  1. S:'$D(^ACM(41.1,ACMRG,2,0)) ^ACM(41.1,ACMRG,2,0)="^9002241.13P^^"
  1. K DD,DO D FILE^DICN K DIC,DD,DR
  1. Q
  1. ;
  1. SETD ;EP;ADDS DIAGNOSIS TO NEW REGISTER
  1. W !,"adding diagnosis...." K ACME S ACME="" F I=1:1 S ACME=$T(DIAG+I) Q:ACME["*" S ACME($P(ACME,";;",3))=$P(ACME,";;",3)
  1. S ACMDX="" F S ACMDX=$O(ACME(ACMDX)) Q:ACMDX="" D SETD0
  1. Q
  1. SETD0 I $D(^ACM(44.1,"B",ACMDX)) S ACMY=0,ACMY=$O(^ACM(44.1,"B",ACMDX,ACMY)) W "." G SETD1
  1. K DIC,DD,DO S (DIE,DIC)="^ACM(44.1,",DIC(0)="L",X=ACMDX D FILE^DICN S ACMY=+Y
  1. SETD1 S X=ACMRG,DA(1)=ACMY
  1. K DIC,DD S (DIE,DIC)="^ACM(44.1,"_ACMY_",""RG"",",DIC(0)="L"
  1. S:'$D(^ACM(44.1,ACMY,"RG",0)) ^ACM(44.1,ACMY,"RG",0)="^9002244.11P^^"
  1. I $D(^ACM(44.1,ACMY,"RG","B",ACMRG)) Q
  1. K DD,DO D FILE^DICN K DIC,DD,DR
  1. Q
  1. ;
  1. SETC ;EP;ADDS COMPLICATIONS TO NEW REGISTER
  1. W !,"adding complications....." K ACME S ACME="" F I=1:1 S ACME=$T(COMP+I) Q:ACME["*" S ACME($P(ACME,";;",3))=$P(ACME,";;",3)
  1. S ACMCX="" F S ACMCX=$O(ACME(ACMCX)) Q:ACMCX="" D SETC0
  1. Q
  1. SETC0 I $D(^ACM(42.1,"B",ACMCX)) S ACMY=0,ACMY=$O(^ACM(42.1,"B",ACMCX,ACMY)) W "." G SETC1
  1. K DIC,DD,DO S (DIE,DIC)="^ACM(42.1,",DIC(0)="L",X=ACMCX D FILE^DICN S ACMY=+Y
  1. SETC1 S X=ACMRG,DA(1)=ACMY
  1. K DIC,DD S (DIE,DIC)="^ACM(42.1,"_ACMY_",""RG"",",DIC(0)="L"
  1. S:'$D(^ACM(42.1,ACMY,"RG",0)) ^ACM(42.1,ACMY,"RG",0)="^9002242.11P^^"
  1. I $D(^ACM(42.1,ACMY,"RG","B",ACMRG)) Q
  1. K DD,DO D FILE^DICN K DIC,DD,DR
  1. Q
  1. ;
  1. NAME ;;
  1. ;;REGISTER TYPE;;IHS PRE-DIABETES;;.01
  1. ;;ABBREVIATION;;DM;;.02
  1. ;;AUTHORIZED USER;;
  1. ;;DATE ESTABLISHED;;T
  1. ;;DATE LAST MODIFIED;;
  1. ;;REGISTER DEVELOPER;;POSTMASTER
  1. ;;DEVELOPER PHONE;;
  1. ;;CONFIDENTIAL REGISTER;;YES
  1. ;;VIEW ALL LIST ENTRIES;;NO
  1. ;;ALLOW LAYGO FOR LIST ENTRIES;;NO
  1. ;;DESCRIPTION;;
  1. ;;LETTER ADDRESS STARTING LINE;;
  1. ;;LETTER ADDRESS STARTING COLUMN;;
  1. ;;PHONE NUMBER;;
  1. ;;LETTER SIGNATURE;;
  1. ;;LETTER HEAD LINE 1;;
  1. ;;LETTER HEAD LINE 2;;
  1. ;;PCC PROBLEM LIST;;YES
  1. ;;*
  1. ;;BRIEF DESCRIPTION;;IHS National Pre-Diabetes Register
  1. ;;*
  1. ELEM ;;
  1. ;;ELEMENTS;;COMPLICATIONS
  1. ;;ELEMENTS;;DIAGNOSES
  1. ;;ELEMENTS;;RISK FACTORS
  1. ;;ELEMENTS;;DIAGNOSTIC CRITERIA
  1. ;;ELEMENTS;;REGISTER DATA
  1. ;;ELEMENTS;;CASE REVIEW DATES
  1. ;;*
  1. COMP ;;
  1. ;;COMPLICATIONS;;HYPERLIPIDEMIA
  1. ;;COMPLICATIONS;;OBESITY - NOS
  1. ;;COMPLICATIONS;;MORBID OBESITY
  1. ;;COMPLICATIONS;;HYPERTENSION
  1. ;;COMPLICATIONS;;POLYCYSTIC OVARIES
  1. ;;COMPLICATIONS;;PROTEINURIA
  1. ;;COMPLICATIONS;;ACQUIRED ACANTHOSIS NIGRICANS
  1. ;;*
  1. DIAG ;;
  1. ;;DIAGNOSIS;;IMP FASTING GLUCOSE (IFG)
  1. ;;DIAGNOSIS;;IMP GLUCOSE TOLERANCE (IGT)
  1. ;;DIAGNOSIS;;OTHER ABNORMAL GLUCOSE
  1. ;;DIAGNOSIS;;METABOLIC SYNDROME
  1. ;;*
  1. RISK ;;
  1. ;;RISK FACTORS;;BMI > 25
  1. ;;RISK FACTORS;;HX OF GESTATIONAL DIABETES
  1. ;;RISK FACTORS;;POLYCYSTIC OVARY DISEASE
  1. ;;RISK FACTORS;;FAMILY HX - TYPE 2 DIABETES
  1. ;;RISK FACTORS;;MOTHER - GESTATIONAL DIABETES
  1. ;;*
  1. DXCRIT ;;
  1. ;;DIAGNOSTIC CRITERIA;;WAIST CIRCUM >40 (MEN)
  1. ;;DIAGNOSTIC CRITERIA;;WAIST CIRCUM >35 (WOMEN)
  1. ;;DIAGNOSTIC CRITERIA;;BMI > 30
  1. ;;DIAGNOSTIC CRITERIA;;TG > 150 mg/dl
  1. ;;DIAGNOSTIC CRITERIA;;HDL < 40 mg/dl (MEN)
  1. ;;DIAGNOSTIC CRITERIA;;HDL < 50 (WOMEN)
  1. ;;DIAGNOSTIC CRITERIA;;BP > 130/85 mm Hg
  1. ;;DIAGNOSTIC CRITERIA;;FPG > 100 mg/dl
  1. ;;*
  1. GDIAG S ACMX="" F I=1:1 S ACMX=$T(DIAG+I) Q:ACXE["*" S ACME("SET",$P(ACMX,";;",3))=$P(ACMX,";;",3)
  1. Q
  1. ;
  1. SETR ;EP;ADDS RISK FACTORS TO NEW REGISTER
  1. W !,"adding Risk Factors...." K ACME S ACME="" F I=1:1 S ACME=$T(RISK+I) Q:ACME["*" S ACME($P(ACME,";;",3))=$P(ACME,";;",3)
  1. S ACMRF="" F S ACMRF=$O(ACME(ACMRF)) Q:ACMRF="" D SETR0
  1. Q
  1. ;
  1. SETR0 I $D(^ACM(45.1,"B",ACMRF)) S ACMY=0,ACMY=$O(^ACM(45.1,"B",ACMRF,ACMY)) W "." G SETR1
  1. K DIC,DD,D0 S (DIE,DIC)="^ACM(45.1,",DIC(0)="L",X=ACMRF D FILE^DICN S ACMY=+Y
  1. SETR1 S X=ACMRG,DA(1)=ACMY
  1. K DIC,DD S (DIE,DIC)="^ACM(45.1,"_ACMY_",""RG"",",DIC(0)="L"
  1. S:'$D(^ACM(45.1,ACMY,"RG",0)) ^ACM(45.1,ACMY,"RG",0)="^9002245.11P^^"
  1. I $D(^ACM(45.1,ACMY,"RG","B",ACMRG)) Q
  1. K DD,DO D FILE^DICN K DIC,DD,DR
  1. Q
  1. ;
  1. SETDC ;EP;ADDS DIAGNOSTIC CRITERIA TO NEW REGISTER
  1. W !,"adding Diagnostic Criteria...." K ACME S ACME="" F I=1:1 S ACME=$T(DXCRIT+I) Q:ACME["*" S ACME($P(ACME,";;",3))=$P(ACME,";;",3)
  1. S ACMDC="" F S ACMDC=$O(ACME(ACMDC)) Q:ACMDC="" D SETDC0
  1. ;
  1. Q
  1. SETDC0 I $D(^ACM(51.1,"B",ACMDC)) S ACMY=0,ACMY=$O(^ACM(51.1,"B",ACMDC,ACMY)) W "." G SETDC1
  1. K DIC,DD,D0 S (DIE,DIC)="^ACM(51.1,",DIC(0)="L",X=ACMDC D FILE^DICN S ACMY=+Y
  1. ;
  1. SETDC1 S X=ACMRG,DA(1)=ACMY
  1. K DIC,DD S (DIE,DIC)="^ACM(51.1,"_ACMY_",""RG"",",DIC(0)="L"
  1. S:'$D(^ACM(51.1,ACMY,"RG",0)) ^ACM(51.1,ACMY,"RG",0)="^9002251.12P^^"
  1. I $D(^ACM(51.1,ACMY,"RG","B",ACMRG)) Q
  1. K DD,DO D FILE^DICN K DIC,DD,DR
  1. Q
  1. ;