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

BDGPOST1.m

Go to the documentation of this file.
  1. BDGPOST1 ; IHS/ANMC/LJF - PIMS POSTINIT ; [ 01/22/2004 3:56 PM ]
  1. ;;5.3;PIMS;;APR 26, 2002
  1. ; post init code called by BDGPOST
  1. ;
  1. Q
  1. ;
  1. D BMES^XPDUTL("Adding PIMS to PCC Master Control file...")
  1. NEW DIV,FAC,PKG
  1. S DIV=$P($G(^DG(43,1,"GL")),U,3) Q:'DIV ;no primary division
  1. S FAC=$P($G(^DG(40.8,+DIV,0)),U,7) Q:'FAC ;no facility pointer
  1. Q:'$D(^APCCCTRL(FAC,0)) ;not in PCC Master file
  1. S PKG=$O(^DIC(9.4,"C","PIMS",0)) Q:'PKG ;no PIMS pkg on file
  1. Q:$D(^APCCCTRL(FAC,11,PKG,0)) ;already in PCC file
  1. ;
  1. NEW DIC,X,DD,DO,DLAYGO,DINUM,Y,DIE,DA,DR
  1. S DIC="^APCCCTRL("_FAC_",11,",X="PIMS",DINUM=PKG,DIC(0)="L"
  1. S DLAYGO=9001000.011,DIC("P")="9001000.011PA"
  1. D FILE^DICN Q:Y<1
  1. ;
  1. S DIE="^APCCCTRL("_FAC_",11,",DA=PKG,DA(1)=FAC
  1. S DR=".02///"_$S($P($G(^DG(43,1,9999999)),U,2)="Y":1,1:0)
  1. D ^DIE
  1. K X S X=$$REPEAT^XLFSTR(" ",20)_"Done." D MES^XPDUTL(.X)
  1. Q
  1. ;
  1. PARAM ;EP; copy ADT parameters from file 43 to 9009020.1
  1. ; old data to stay until future patch
  1. ; Copies only if site has parameters set already
  1. ;
  1. D BMES^XPDUTL("Copying IHS ADT Parameter fields to new file...")
  1. ;
  1. NEW DIV,DATA,I,DIK
  1. S DIV=$P($G(^DG(43,1,"GL")),U,3) Q:'DIV ;no primary division
  1. Q:$D(^BDGPAR(DIV,0)) ;already set up
  1. ;
  1. S ^BDGPAR(DIV,0)=DIV,$P(^BDGPAR(0),U,3)=DIV
  1. S $P(^BDGPAR(0),U,4)=$P(^BDGPAR(0),U,4)+1
  1. ;
  1. S DATA=$G(^DG(43,1,9999999)) I DATA]"" D
  1. . F I="5;5","6;2" S $P(^BDGPAR(DIV,0),U,$P(I,";",2))=$P(DATA,U,+I)
  1. ;
  1. S DATA=$G(^DG(43,1,9999999.01)) I DATA]"" D
  1. . F I="1;10","2;1","3;2","4;3","5;4","6;6","7;8" D
  1. .. S $P(^BDGPAR(DIV,1),U,$P(I,";",2))=$P(DATA,U,+I)
  1. ;
  1. S DATA=$G(^DG(43,1,9999999.02)) I DATA]"" D
  1. . F I="1;5;1","2;7;1","3;12;0","4;8;0" D
  1. .. S $P(^BDGPAR(DIV,$P(I,";",3)),U,$P(I,";",2))=$P(DATA,U,+I)
  1. ;
  1. ;IHS/ITSC/LJF 1/9/2004 convert Y/N answers to 1/0 answers
  1. S DATA=$G(^BDGPAR(DIV,1)) I DATA]"" F I=1:1:14 D S ^BDGPAR(DIV,1)=DATA
  1. . I $P(DATA,U,I)="Y" S $P(DATA,U,I)=1
  1. . I $P(DATA,U,I)="N" S $P(DATA,U,I)=0
  1. ;
  1. ;IHS/ITSC/WAR 6/18/03 - Added code to update the 'VERSION' node in
  1. ; DG(43, This uses the 'C' xref in the pkg file.
  1. S DATA=$$VERSION^XPDUTL("PIMS") I DATA]"" D
  1. . S ^DG(43,1,"VERSION")=DATA
  1. ;
  1. S DIK="^BDGPAR(" D IXALL^DIK
  1. K X S X=$$REPEAT^XLFSTR(" ",20)_"Done." D MES^XPDUTL(.X)
  1. Q
  1. ;
  1. ;IHS/ITSC/WAR 10/17/03 added - updates the ADT ver# in pkg file
  1. ;IHS/ITSC/LJF 1/16/2004 added more updates
  1. PKGFILE ;EP
  1. NEW VER,BDGV,BDGN,X,DA,DIC,Y,DIE,DR
  1. I $D(XPDNM) S VER=$$VER^XPDUTL(XPDNM)
  1. I $G(VER)]"" D
  1. .; update current version field
  1. .S BDGN=$O(^DIC(9.4,"C","DG",0)) Q:'BDGN
  1. .S ^DIC(9.4,BDGN,"VERSION")=VER
  1. .;
  1. .; clean up old 5.3 test versions
  1. .S BDGV=0 F S BDGV=$O(^DIC(9.4,BDGN,22,"B",BDGV)) Q:BDGV="" D
  1. ..I BDGV["5.3",BDGV'=5.3 D
  1. ...S DIE="^DIC(9.4,"_BDGN_",22,",DA(1)=BDGN,DR=".01///@"
  1. ...S DA=$O(^DIC(9.4,BDGN,22,"B",BDGV,0)) Q:'DA
  1. ...D ^DIE
  1. .;
  1. .; now add version multiple without test version #
  1. .S DIC="^DIC(9.4,"_BDGN_",22,",DIC(0)="L",X=5.3
  1. .S DIC("P")=$P(^DD(9.4,22,0),U,2)
  1. .S DIC("DR")="2///"_DT_";3///`"_DUZ,DA(1)=BDGN
  1. .D ^DIC
  1. ;
  1. D PATCHES^BDGPOST5 ;add patch history
  1. Q
  1. CHRTDEF ;EP; copy chart deficiency items to new file
  1. ; ^ADGCD( -> ^BDGCD( will keep old data until future patch
  1. ;
  1. Q:$O(^BDGCD(0)) ;already has data
  1. ;
  1. D BMES^XPDUTL("Copying Chart Deficiency entries to new file...")
  1. NEW IEN,DIK
  1. S IEN=0 F S IEN=$O(^ADGCD(IEN)) Q:'IEN D
  1. . Q:$G(^ADGCD(IEN,0))="" ;bad entry
  1. . S ^BDGCD(IEN,0)=^ADGCD(IEN,0)
  1. ;
  1. ; set zero node of file
  1. S $P(^BDGCD(0),U,3,4)=$P(^ADGCD(0),U,3,4)
  1. ; index file
  1. S DIK="^BDGCD(" D IXALL^DIK
  1. K X S X=$$REPEAT^XLFSTR(" ",20)_"Done." D MES^XPDUTL(.X)
  1. Q
  1. ;
  1. OLDFILES ;EP; change name of old files where new file uses same name
  1. D BMES^XPDUTL("Changing name of obsolete files...")
  1. NEW DIE,DA,DR,X
  1. S DIE="^DIC("
  1. F DA=9009011,9009011.5,9009013,9009013.1,9009013.5,9009015 D
  1. . S X=$P($G(^DIC(DA,0)),U) Q:X="" Q:X["-OLD"
  1. . S DR=".01///"_X_"-OLD"
  1. . D ^DIE
  1. K X S X=$$REPEAT^XLFSTR(" ",20)_"Done." D MES^XPDUTL(.X)
  1. Q
  1. ;
  1. ADTTMPL ;EP; edit ADT Template entries that could not pass via KIDS
  1. D BMES^XPDUTL("Fixing ADT Template entries...")
  1. NEW DGEDIT,DA,DIE,DR
  1. S DGEDIT="",DIE=43.7
  1. S DA=2,DR="6///DG SI LIST" D ^DIE
  1. S DA=3,DR="6///DG FEMALE INPATIENTS" D ^DIE
  1. K X S X=$$REPEAT^XLFSTR(" ",20)_"Done." D MES^XPDUTL(.X)
  1. Q
  1. ;
  1. FACMOV ;EP; add new facility movement type (WARD TRANSFER ONLY)
  1. ; used when adding ward transfers non-interactively
  1. Q:$D(^DG(405.1,"B","WARD TRANSFER ONLY"))
  1. D BMES^XPDUTL("Adding WARD TRANSFER ONLY to file 405.1...")
  1. NEW DIC,DD,DO,X,DLAYGO,DA,Y
  1. S DIC="^DG(405.1,",X="WARD TRANSFER ONLY",DIC(0)="L",DLAYGO=405.1
  1. S DIC("DR")=".02///2;.03///INTERWARD TRANSFER;.04///1;.05///0"
  1. D FILE^DICN K DIC
  1. I Y<1 K X S X=$$REPEAT^XLFSTR(" ",10)_"Error adding to file 405.1." D MES^XPDUTL(.X) Q
  1. ;
  1. S DIC="^DG(405.1,"_(+Y)_",""F"",",DA(1)=+Y,DIC(0)="L",DLAYGO=405.11
  1. S DIC("P")="405.11PA"
  1. F BDG=1:1:8 S X=$P($T(MOV+BDG),";;",2) D ^DIC
  1. K X S X=$$REPEAT^XLFSTR(" ",20)_"Done." D MES^XPDUTL(.X)
  1. Q
  1. ;
  1. MOV ;;
  1. ;;DIRECT;;
  1. ;;TRANS-NON IHS HOSPITAL;;
  1. ;;TRANS-IHS HOSPITAL;;
  1. ;;REFERRED FROM IHS CLINIC;;
  1. ;;OTHER;;
  1. ;;PROVIDER/SPECIALTY CHANGE;;
  1. ;;INTERWARD TRANSFER;;
  1. ;;WARD TRANSFER ONLY;;
  1. ;
  1. ;
  1. TRSPEC ;EP; add treating specialty entries
  1. ; 1. add inpatient ones if not in file
  1. ; 2. add observation ones
  1. D BMES^XPDUTL("Adding Observation Treating Specialties...")
  1. NEW IEN,CODE
  1. S (DIC,DLAYGO)=45.7,DIC(0)="L"
  1. F BDGI=1:1:41 S CODE=$P($T(TS+BDGI),";;",2) D
  1. . I $O(^DIC(45.7,"CIHS",CODE,0)) Q ;already has service
  1. . K DD,DO S X=$P($T(TS+BDGI),";;",3),ABBRV=$P($T(TS+BDGI),";;",4)
  1. . S DIC("DR")="9999999.01///"_CODE_";99///"_ABBRV D FILE^DICN
  1. K X S X=$$REPEAT^XLFSTR(" ",20)_"Done." D MES^XPDUTL(.X)
  1. Q
  1. ;
  1. TS ;; Inpatient Treating Specialties
  1. ;;01;;DENTAL;;DEN;;
  1. ;;02;;OTOLARYNGOLOGY;;ENT;;
  1. ;;03;;GENERAL MEDICINE;;GMED;;
  1. ;;04;;GENERAL SURGERY;;SUR;;
  1. ;;05;;GYNECOLOGY;;GYN;;
  1. ;;06;;INTERNAL MEDICINE;;IMED;;
  1. ;;07;;NEWBORN;;NEW;;
  1. ;;08;;OBSTETRICS;;OB;;
  1. ;;09;;OPHTHALMOLOGY;;EYE;;
  1. ;;10;;ORTHOPEDICS;;ORTHO;;
  1. ;;11;;PEDIATRICS;;PEDS;;
  1. ;;12;;PSYCHIATRIC MENTAL HEALTH;;PSYCH;;
  1. ;;13;;TUBERCULOSIS;;TB;;
  1. ;;14;;OTHER;;OTHER;;
  1. ;;15;;ALCOHOL/SUBSTANCE ABUSE;;ALCOH;;
  1. ;;16;;PLASTIC SURGERY;;PSUR;;
  1. ;;17;;FAMILY PRACTICE;;FAMP;;
  1. ;;18;;UROLOGY;;URO;;
  1. ;;19;;PODIATRY;;POD;;
  1. ;;20;;NEUROLOGY;;NEURO;;
  1. ;;21;;SWING BED;;SWING;;
  1. ;;22;;NURSE-MIDWIFERY SERVICE;;NRSMW;;
  1. ;;01O;;DENTAL OBSERVATION;;DENO;;
  1. ;;02O;;ENT OBSERVATION;;ENTO;;
  1. ;;03O;;MEDICINE OBSERVATION;;MEDO;;
  1. ;;04O;;SURGERY OBSERVATION;;SURO;;
  1. ;;05O;;GYN OBSERVATION;;GYNO;;
  1. ;;06O;;INTERNAL MED OBSERVATION;;IMEDO;;
  1. ;;08O;;OBSTETRICS OBSERVATION;;OBO;;
  1. ;;09O;;OPHTHALMOLOGY OBSERVATION;;EYEO;;
  1. ;;10O;;ORTHOPEDICS OBSERVATION;;ORTO;;
  1. ;;11O;;PEDIATRICS OBSERVATION;;PEDO;;
  1. ;;12O;;MENTAL HEALTH OBSERVATION;;MHO;;
  1. ;;13O;;TUBERCULOSIS OBSERVATION;;TBO;;
  1. ;;15O;;SUBSTANCE ABUSE OBSERVATION;;ALCOO;;
  1. ;;16O;;PLASTIC SURGERY OBSERVATION;;PSURO;;
  1. ;;17O;;FAMILY PRACTICE OBSERVATION;;FAMPO;;
  1. ;;18O;;UROLOGY OBSERVATION;;UROO;;
  1. ;;19O;;PODIATRY OBSERVATION;;PODO;;
  1. ;;20O;;NEUROLOGY OBSERVATION;;NEUOB;;
  1. ;;22O;;NURSE-MIDWIFERY OBSERVATION;;NRSOB;;