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

APCH2P12.m

Go to the documentation of this file.
APCH2P12 ; IHS/TUCSON/LAB - PCC HEALTH SUMMARY POST INIT PATCH 12 ;  [ 09/07/04  10:26 AM ]
 ;;2.0;IHS RPMS/PCC Health Summary;**12**;JUN 24, 1997
 ;
 ;
 ; The following line prevents the "Disable Options..." and "Move
 ; Routines..." questions from being asked during the install.
 I $G(XPDENV)=1 S (XPDDIQ("XPZ1"),XPDDIQ("XPZ2"))=0
 ;
 Q
PRE ;EP
 S DA=$O(^APCHSCMP("B","MENTAL HEALTH/SOCIAL SERVICES",0))
 I DA S DIE="^APCHSCMP(",DR=".01///BEHAVIORAL HEALTH" D ^DIE K DIE,DA,DR
 S DA=$O(^APCHSCMP("B","SCHEDULED ENCOUNTERS",0))
 I DA S DIE="^APCHSCMP(",DR=".01///SCHEDULED ENCOUNTERS (W/CHART REQ&W/INS);3///SCHEDULED ENCOUNTERS (INCLUDES CHART REQ AND WALK INS)" D ^DIE K DIE,DA,DR
 ;SAVE OFF STATUS FOR EACH REMINDER
 K ^APCHTMP("HMR STATUS")
 S X=0 F  S X=$O(^APCHSURV(X)) Q:X'=+X  S ^APCHTMP("HMR STATUS",X)=$P(^APCHSURV(X,0),U)_U_$P(^APCHSURV(X,0),U,3)
 Q
POST ;EP
 NEW X
 S X=$$ADD^XPDMENU("APCHSBLD","APCHSTED FM","FMMT")
 I 'X W "Attempt to add modify health summary option option failed." H 3
 S X=$$ADD^XPDMENU("APCHSMAINT","APCHSTED FM","FMMT")
 I 'X W "Attempt to add modify health summary option option failed." H 3
 S X=$$ADD^XPDMENU("APCHSBLD","APCH SITE PARAMETER SETUP","HSSP")
 I 'X W "Attempt to add health summary site parameter option failed." H 3
 S X=$$ADD^XPDMENU("APCHSMAINT","APCH SITE PARAMETER SETUP","HSSP")
 I 'X W "Attempt to add health summary site parameter option failed." H 3
 I '$O(^APCHSCMP("B","MEDS - CHRONIC & ACUTE W/ ISSU",0)) D
 .D ^XBFMK S DIC="^APCHSCMP(",X="MEDS - CHRONIC & ACUTE W/ ISSUE HISTORY",DIC("DR")="2////Y",DIC(0)="L" K DD,DO,D0 D FILE^DICN
 .I Y=-1 W !!,"adding health summary component MEDS - CHRONIC & ACUTE W/ ISSUE HISTORY failed." D ^XBFMK Q
 .S $P(^APCHSCMP(+Y,0),U,2)="MEDSNDUP;APCHS78"
 I '$O(^APCHSCMP("B","MEDS - CHRONIC BY NAME",0)) D
 .D ^XBFMK S DIC="^APCHSCMP(",X="MEDS - CHRONIC BY NAME",DIC("DR")="2////Y;3////CHRONIC MEDICATIONS - SORTED BY DRUG NAME",DIC(0)="L" K DD,DO,D0 D FILE^DICN
 .I Y=-1 W !!,"adding health summary component MEDS - CHRONIC BY NAME failed." D ^XBFMK Q
 .S $P(^APCHSCMP(+Y,0),U,2)="MEDSCHRN;APCHS77"
 I '$O(^APCHSCMP("B","MEDS - CURRENT BY NAME",0)) D
 .D ^XBFMK S DIC="^APCHSCMP(",X="MEDS - CURRENT BY NAME",DIC("DR")="2////Y;3////CURRENT MEDICATIONS - SORTED BY DRUG NAME",DIC(0)="L" K DD,DO,D0 D FILE^DICN
 .I Y=-1 W !!,"adding health summary component MEDS - CURRENT BY NAME failed." D ^XBFMK Q
 .S $P(^APCHSCMP(+Y,0),U,2)="MEDSCURR;APCHS77"
 I '$O(^APCHSCMP("B","RADIOLOGY EXAMS",0)) D
 .D ^XBFMK S DIC="^APCHSCMP(",X="RADIOLOGY EXAMS",DIC("DR")="2////Y",DIC(0)="L" K DD,DO,D0 D FILE^DICN
 .I Y=-1 W !!,"adding health summary component RADIOLOGY failed." D ^XBFMK Q
 .S $P(^APCHSCMP(+Y,0),U,2)="RAD;APCHS3C"
 I '$O(^APCHSCMP("B","EDUCATIONAL ASSESSMENT",0)) D
 .D ^XBFMK S DIC="^APCHSCMP(",X="EDUCATIONAL ASSESSMENT",DIC("DR")="2////N",DIC(0)="L" K DD,DO,D0 D FILE^DICN
 .I Y=-1 W !!,"adding health summary component EDUCATIONAL ASSESSMENT failed." D ^XBFMK Q
 .S $P(^APCHSCMP(+Y,0),U,2)="EDUCASSE;APCHS4A"
 I '$O(^APCHSCMP("B","INFANT FEEDING CHOICE PANEL",0)) D
 .D ^XBFMK S DIC="^APCHSCMP(",X="INFANT FEEDING CHOICE PANEL",DIC(0)="L" K DD,DO,D0 D FILE^DICN
 .I Y=-1 W !!,"adding health summary component INFANT FEEDING CHOICE PANEL failed." D ^XBFMK Q
 .S $P(^APCHSCMP(+Y,0),U,2)="BIRTHM;APCHS8"
 I '$O(^APCHSCMP("B","SCHEDULED ENCS (W/O CHART REQ ",0)) D
 .D ^XBFMK S DIC="^APCHSCMP(",X="SCHEDULED ENCS (W/O CHART REQ & W/INS)",DIC("DR")="2////Y",DIC(0)="L" K DD,DO,D0 D FILE^DICN
 .I Y=-1 W !!,"adding health summary component INFANT FEEDING CHOICE PANEL failed." D ^XBFMK Q
 .S $P(^APCHSCMP(+Y,0),U,2)="SCHENC;APCHS2J"
 .S $P(^APCHSCMP(+Y,0),U,4)="SCHEDULED ENCOUNTERS (EXCLUDES CHART REQ AND WALK INS)"
 S DIK="^APCHSCTL(" D IXALL^DIK
 S DIK="^APCHSURV(" D IXALL^DIK
 D ^APCHTX
DUPE ;
 K APCHY,APCHZ S APCHX=0,APCHC=0 F  S APCHX=$O(^APCHSCMP(APCHX)) Q:APCHX'=+APCHX  D
 .I $P(^APCHSCMP(APCHX,0),U)'="MEDS - CHRONIC EXCLUDING D/C'ED MEDS" Q
 .S APCHC=APCHC+1,APCHY(APCHC)=APCHX,APCHZ(APCHX)=""
 I APCHC>1 D
 .;loop through types and change to first one
 .S APCHUSE=APCHY(1)
 .K APCHZ(APCHY(1)),APCHY(1)
 .S APCHT=0 F  S APCHT=$O(^APCHSCTL(APCHT)) Q:APCHT'=+APCHT  D
 ..S APCH1=0 F  S APCH1=$O(^APCHSCTL(APCHT,1,APCH1)) Q:APCH1'=+APCH1  D
 ...S APCH2=$P(^APCHSCTL(APCHT,1,APCH1,0),U,2)
 ...Q:'$D(APCHZ(APCH2))
 ...S DIE="^APCHSCTL("_APCHT_",1,",DA=APCH1,DA(1)=APCHT,DR="1////"_APCHUSE D ^DIE
 .S DA=0 F  S DA=$O(APCHZ(DA)) Q:DA'=+DA  S DIK="^APCHSCMP(" D ^DIK
 K APCHY,APCHZ S APCHX=0,APCHC=0 F  S APCHX=$O(^APCHSCMP(APCHX)) Q:APCHX'=+APCHX  D
 .I $P(^APCHSCMP(APCHX,0),U)'="PATIENT ED - MOST RECENT BY TOPIC" Q
 .S APCHC=APCHC+1,APCHY(APCHC)=APCHX,APCHZ(APCHX)=""
 I APCHC>1 D
 .;loop through types and change to first one
 .S APCHUSE=APCHY(1)
 .K APCHZ(APCHY(1)),APCHY(1)
 .S APCHT=0 F  S APCHT=$O(^APCHSCTL(APCHT)) Q:APCHT'=+APCHT  D
 ..S APCH1=0 F  S APCH1=$O(^APCHSCTL(APCHT,1,APCH1)) Q:APCH1'=+APCH1  D
 ...S APCH2=$P(^APCHSCTL(APCHT,1,APCH1,0),U,2)
 ...Q:'$D(APCHZ(APCH2))
 ...S DIE="^APCHSCTL("_APCHT_",1,",DA=APCH1,DA(1)=APCHT,DR="1////"_APCHUSE D ^DIE
 .S DA=0 F  S DA=$O(APCHZ(DA)) Q:DA'=+DA  S DIK="^APCHSCMP(" D ^DIK
 S APCHST="CAT" F APCHSX=1:1:999 S APCH1=$P($T(@APCHST+APCHSX),";;",2,99) Q:APCH1=""  D
 .K DIC S X=$P(APCH1,";;",1),DIC="^APCHSURV(",DIC(0)="M" D ^DIC K DIC
 .I Y=-1 Q
 .S DA=+Y,DR=".05///"_$P(APCH1,";;",2),DIE="^APCHSURV(" D ^DIE K DIE,DA,DR
 .I $D(Y) W !,"category not updated. ",X
 .Q
 ;PUT STATUS BACK IN
 S APCHX=0 F  S APCHX=$O(^APCHTMP("HMR STATUS",APCHX)) Q:APCHX'=+APCHX  D
 .S X=$P(^APCHTMP("HMR STATUS",APCHX),U),APCHS=$P(^APCHTMP("HMR STATUS",APCHX),U,2),DIC="^APCHSURV(",DIC(0)="M" D ^DIC
 .I Y=-1 W !!,"could not update status on ",X," hmr" Q
 .S $P(^APCHSURV(+Y,0),U,3)=APCHS
 I '$$INSTALLD("APCH*2.00*11") D
 .S DA=$O(^APCHSURV("B","IHD-Elevated LDL Prompt",0))
 .I DA S DR=".03///I",DIE="^APCHSURV(" D ^DIE K DIE,DA,DR
 .S DA=$O(^APCHSURV("B","IHD-LDL Screening",0))
 .I DA S DR=".03///I",DIE="^APCHSURV(" D ^DIE K DIE,DA,DR
 .S DA=$O(^APCHSURV("B","ADULT MMR 1-DOSE VERSION",0))
 .I DA S DR=".03///I",DIE="^APCHSURV(" D ^DIE K DIE,DA,DR
 .S DA=$O(^APCHSURV("B","ADULT MMR 2-DOSE VERSION",0))
 .I DA S DR=".03///I",DIE="^APCHSURV(" D ^DIE K DIE,DA,DR
 .S DA=$O(^APCHSURV("B","RUBELLA VACCINATION",0))
 .I DA S DR=".03///I",DIE="^APCHSURV(" D ^DIE K DIE,DA,DR
BUL ;
 S APCHX="DM AUDIT 2 HR GTT TAX" D LAB1
 S APCHX="BGP GPRA ESTIMATED GFR TAX" D LAB1
 D SETTAXL
 D ^APCHBU12
 Q
LAB1 ;
 S APCHDA=$O(^ATXLAB("B",APCHX,0))
 Q:APCHDA  ;taxonomy already exisits
 W !,"Creating ",APCHX," Taxonomy..."
 S X=APCHX,DIC="^ATXLAB(",DIC(0)="L",DIADD=1,DLAYGO=9002228 D ^DIC K DIC,DA,DIADD,DLAYGO,I
 I Y=-1 W !!,"ERROR IN CREATING ",APCHX," TAX" Q
 S APCHTX=+Y,$P(^ATXLAB(APCHTX,0),U,2)=APCHX,$P(^(0),U,5)=DUZ,$P(^(0),U,6)=DT,$P(^(0),U,8)="B",$P(^(0),U,9)=60,^ATXLAB(APCHTX,21,0)="^9002228.02101PA^0^0"
 S DA=APCHTX,DIK="^ATXAX(" D IX1^DIK
 Q
SETTAXL ;
 Q:'$D(^DD(9002228,4101,0))  ;taxonomy patch not yet installed
 S APCHTEXT="LABTAX" F BGPX=1:1 S APCHDATA=$P($T(@APCHTEXT+APCHX),";;",2) Q:APCHDATA=""  D
 .S APCHDA=$O(^ATXLAB("B",$P(APCHDATA,"|"),0))
 .Q:APCHDA=""
 .S $P(^ATXLAB(APCHDA,0),U,4)="n" W !,$P(APCHDATA,"|")  ;SET NO DELETE
 .S $P(^ATXLAB(APCHDA,0),U,22)=$P(APCHDATA,"|",2) ;set read only
 .;set packages in multiple
 .K DIC,DA,DR
 .S APCHP=$P(APCHDATA,"|",3)
 .F APCHN=1:1 S APCHPP=$P(APCHP,"*",APCHN) Q:APCHPP=""  D
 ..S APCHPI=$O(^DIC(9.4,"C",APCHPP,0))
 ..Q:APCHPI=""  ;NO PACKAGE
 ..S X="`"_APCHPI,DIC="^ATXLAB("_APCHDA_",41,",DIC(0)="L",DIC("P")=$P(^DD(9002228,4101,0),U,2),DA(1)=APCHDA
 ..D ^DIC
 ..I Y=-1 W !,"updating package multiple for ",APCHPP," entry ",$P(^ATXLAB(APCHDA,0),U)," failed"
 ..K DIC,DA,Y,X
 .Q
 Q
LABTAX ;
 ;;BGP GPRA ESTIMATED GFR TAX|0|BGP*APCH
 ;;APCH FECAL OCCULT BLOOD
 ;;APCH HCT/HGB TESTS
 ;;DM AUDIT 2 HR GTT TAX
 ;;
INSTALLD(APCHSTAL) ;EP - Determine if patch APCHSTAL was installed, where
 ; APCHSTAL is the name of the INSTALL.  E.g "AG*6.0*11".
 ;
 NEW APCHY,DIC,X,Y
 S X=$P(APCHSTAL,"*",1)
 S DIC="^DIC(9.4,",DIC(0)="FM",D="C"
 D IX^DIC
 I Y<1 D IMES Q 0
 S DIC=DIC_+Y_",22,",X=$P(APCHSTAL,"*",2)
 D ^DIC
 I Y<1 D IMES Q 0
 S DIC=DIC_+Y_",""PAH"",",X=$P(APCHSTAL,"*",3)
 D ^DIC
 S APCHY=Y
 D IMES
 Q $S(APCHY<1:0,1:1)
IMES ;
 D MES^XPDUTL($$CJ^XLFSTR("Patch """_APCHSTAL_""" is"_$S(Y<1:" *NOT*",1:"")_" installed.",IOM))
 Q
CAT ;
 ;;BREAST EXAM;;GENERAL
 ;;DIABETES SCREENING;;DIABETES
 ;;BLOOD PRESSURE;;GENERAL
 ;;PAP SMEAR;;GENERAL
 ;;RECTAL;;GENERAL
 ;;TONOMETRY;;GENERAL
 ;;URINALYSIS;;GENERAL
 ;;PELVIC EXAM;;GENERAL
 ;;VISUAL ACUITY EXAM;;GENERAL
 ;;HEARING TEST;;GENERAL
 ;;HCT/HGB;;GENERAL
 ;;ENDEMIC TB;;GENERAL
 ;;NON-ENDEMIC TB;;GENERAL
 ;;HEAD CIRCUMFERENCE;;GENERAL
 ;;HEIGHT;;GENERAL
 ;;WEIGHT;;GENERAL
 ;;IMMUNIZATIONS;;GENERAL
 ;;HEARING TEST ANNUAL;;GENERAL
 ;;MAMMOGRAM;;GENERAL
 ;;PNEUMOVAX;;GENERAL
 ;;DM FOOT EXAM;;
 ;;DM EYE EXAM;;
 ;;SCREEN FOR ALCOHOL USE;;GENERAL
 ;;SCREEN FOR TOBACCO USE;;GENERAL
 ;;DM CHOLESTEROL;;
 ;;DM CREATININE;;
 ;;DM TRIGLYCERIDE;;
 ;;DM DENTAL EXAM;;
 ;;PHYSICAL EXAM;;GENERAL
 ;;TD-ADULT;;GENERAL
 ;;INFLUENZA;;GENERAL
 ;;COLORECTAL CA SCRN-FOBT;;GENERAL
 ;;CHOLESTEROL;;GENERAL
 ;;DM URINE PROTEIN;;
 ;;COLORECTAL CA-SCOPE/XRAY;;GENERAL
 ;;ALASKA DOMESTIC VIOLENCE;;GENERAL
 ;;HEARING INQUIRY;;GENERAL
 ;;STRABISMUS/AMBLYOPIA SCREEN;;GENERAL
 ;;PPD - TUBERCULOSIS;;GENERAL
 ;;ANMC DEPRESSION SCREEN SCORE;;GENERAL
 ;;REHAB/FUNCTIONAL SCREEN;;GENERAL
 ;;ANMC COLORECTAL;;GENERAL
 ;;ASTHMA - ADD/INCREASE INHALED STERIODS;;ASTHMA
 ;;ASTHMA - PRIMARY CARE PROVIDER;;ASTHMA
 ;;ASTHMA - SEVERITY CLASSIFICATION;;ASTHMA
 ;;ASTHMA - MANAGEMENT PLAN;;ASTHMA
 ;;ASTHMA PATIENT-FLU SHOT;;ASTHMA
 ;;IHD-LDL Screening;;CARDIOVASCULAR DISEASE
 ;;IHD-Elevated LDL Prompt;;CARDIOVASCULAR DISEASE
 ;;ADULT MMR 1-DOSE VERSION;;GENERAL
 ;;ADULT MMR 2-DOSE VERSION;;GENERAL
 ;;RUBELLA VACCINATION;;GENERAL
 ;;