| 1 | TIUPS96 ; SLC/JER - Post-Install for TIU*1*96 ; 3-MAY-2001 11:21
 | 
|---|
| 2 |  ;;1.0;TEXT INTEGRATION UTILITIES;**96**;Jun 20, 1997'
 | 
|---|
| 3 | MAIN ; Control unit
 | 
|---|
| 4 |  I +$O(^GMR(121,0)),'$D(^XTMP("TIUFIXCS","T1")) D FIXCS
 | 
|---|
| 5 |  I +$G(XPDQUES("POS001")) D DELPNDB
 | 
|---|
| 6 |  I +$G(XPDQUES("POS002")) D DELDSDB
 | 
|---|
| 7 |  D DELFUNC
 | 
|---|
| 8 |  Q
 | 
|---|
| 9 |  ;
 | 
|---|
| 10 | FIXCS ; -- Find/fix Cosigner's Comments
 | 
|---|
| 11 |  N GMRDA,XPDIDTOT S GMRDA=+$G(^XTMP("TIUFIXCS","CHKPT"))
 | 
|---|
| 12 |  D BMES^XPDUTL("** FIND CONVERTED NOTES WITH COSIGNER'S COMMENTS **")
 | 
|---|
| 13 |  S XPDIDTOT=+$P($G(^GMR(121,0)),U,4),XPDIDVT=$G(XPDIDVT,0)
 | 
|---|
| 14 |  D UPDATE^XPDID(0)
 | 
|---|
| 15 |  ; Initialize ^XTMP("TIUFIXCS"
 | 
|---|
| 16 |  S ^XTMP("TIUFIXCS",0)=$$FMADD^XLFDT(DT,90)_U_DT
 | 
|---|
| 17 |  S ^XTMP("TIUFIXCS","T0")=$$NOW^XLFDT
 | 
|---|
| 18 |  F  S GMRDA=$O(^GMR(121,GMRDA)) Q:+GMRDA'>0  D
 | 
|---|
| 19 |  . N GMRLI,GMRLINE,TIUDA,TIULI S GMRLI=0
 | 
|---|
| 20 |  . F  S GMRLI=+$O(^GMR(121,GMRDA,8,GMRLI)) Q:GMRLI'>0!($G(GMRLINE)]"")  D
 | 
|---|
| 21 |  . . N GMRLN
 | 
|---|
| 22 |  . . S GMRLINE=$G(^GMR(121,GMRDA,8,GMRLI,0))
 | 
|---|
| 23 |  . . S GMRLN=$$STRIP^TIULS(GMRLINE)
 | 
|---|
| 24 |  . . I GMRLN']"" S GMRLINE=""
 | 
|---|
| 25 |  . Q:$G(GMRLINE)']""
 | 
|---|
| 26 |  . S TIUDA=+$G(^GMR(121,"CNV",GMRDA)) Q:TIUDA'>0
 | 
|---|
| 27 |  . S TIULI=$$FIND(TIUDA,GMRLINE) Q:+TIULI'>0
 | 
|---|
| 28 |  . D INSERT(TIUDA,TIULI),REGISTER(TIUDA,GMRDA)
 | 
|---|
| 29 |  S ^XTMP("TIUFIXCS","T1")=$$NOW^XLFDT
 | 
|---|
| 30 |  Q
 | 
|---|
| 31 |  ;
 | 
|---|
| 32 | FIND(TIUDA,GMRLINE) ; -- Locate the Cosigner's Comments in converted note
 | 
|---|
| 33 |  N TIULI,TIUHIT S (TIUHIT,TIULI)=0
 | 
|---|
| 34 |  F  S TIULI=$O(^TIU(8925,TIUDA,"TEXT",TIULI)) Q:+TIULI'>0  D  Q:+TIUHIT
 | 
|---|
| 35 |  . I $G(^TIU(8925,TIUDA,"TEXT",TIULI,0))=GMRLINE S TIUHIT=1
 | 
|---|
| 36 |  Q TIULI
 | 
|---|
| 37 |  ;
 | 
|---|
| 38 | INSERT(TIUDA,TIULI) ; -- Insert the tag for the Cosigner's Comment
 | 
|---|
| 39 |  N TIULJ,TIUSBLK S TIULJ=""
 | 
|---|
| 40 |  ; First, preserve the /es/-blocks
 | 
|---|
| 41 |  D ESGET(TIUDA,.TIUSBLK)
 | 
|---|
| 42 |  ; Next, move the cosigner's comments out of the way
 | 
|---|
| 43 |  F  S TIULJ=$O(^TIU(8925,TIUDA,"TEXT",TIULJ),-1) Q:+TIULJ'>0!(TIULJ<TIULI)  D
 | 
|---|
| 44 |  . N TIULINE S TIULINE=$G(^TIU(8925,TIUDA,"TEXT",TIULJ,0))
 | 
|---|
| 45 |  . S ^TIU(8925,TIUDA,"TEXT",TIULJ+3,0)=TIULINE
 | 
|---|
| 46 |  ; Now insert the COSIGNER'S COMMENT: tag
 | 
|---|
| 47 |  S ^TIU(8925,TIUDA,"TEXT",TIULI,0)=" "
 | 
|---|
| 48 |  S ^TIU(8925,TIUDA,"TEXT",TIULI+1,0)="COSIGNER'S COMMENT:"
 | 
|---|
| 49 |  S ^TIU(8925,TIUDA,"TEXT",TIULI+2,0)="==================="
 | 
|---|
| 50 |  ; Reset the root of the "TEXT" node
 | 
|---|
| 51 |  D SETXT0(TIUDA)
 | 
|---|
| 52 |  ; Finally, re-file the /es/-blocks
 | 
|---|
| 53 |  D ESPUT(TIUDA,.TIUSBLK)
 | 
|---|
| 54 |  Q
 | 
|---|
| 55 |  ;
 | 
|---|
| 56 | REGISTER(TIUDA,GMRDA) ; -- Register activity in the ^XTMP("TIUFIXCS", array
 | 
|---|
| 57 |  N TIUCNT
 | 
|---|
| 58 |  S (TIUCNT,^XTMP("TIUFIXCS","COUNT"))=+$G(^XTMP("TIUFIXCS","COUNT"))+1
 | 
|---|
| 59 |  S ^XTMP("TIUFIXCS","CHKPT")=GMRDA
 | 
|---|
| 60 |  S ^XTMP("TIUFIXCS","GMR->TIU",GMRDA)=TIUDA
 | 
|---|
| 61 |  D UPDATE^XPDID(TIUCNT)
 | 
|---|
| 62 |  Q
 | 
|---|
| 63 |  ;
 | 
|---|
| 64 | ESGET(TIUDA,TIUSBLK) ; Get the decrypted /es/-blocks
 | 
|---|
| 65 |  N TIUD15,TIUCHK
 | 
|---|
| 66 |  S TIUD15=$G(^TIU(8925,TIUDA,15))
 | 
|---|
| 67 |  S TIUCHK=$$CHKSUM^TIULC("^TIU(8925,"_TIUDA_",""TEXT"")")
 | 
|---|
| 68 |  I $L($P(TIUD15,U,3)) D
 | 
|---|
| 69 |  . S $P(TIUSBLK(1),U,1)=$$DECRYPT^TIULC1($P(TIUD15,U,3),1,TIUCHK)
 | 
|---|
| 70 |  . S $P(TIUSBLK(1),U,2)=$$DECRYPT^TIULC1($P(TIUD15,U,4),1,TIUCHK)
 | 
|---|
| 71 |  I $L($P(TIUD15,U,9)) D
 | 
|---|
| 72 |  . S $P(TIUSBLK(2),U,1)=$$DECRYPT^TIULC1($P(TIUD15,U,9),1,TIUCHK)
 | 
|---|
| 73 |  . S $P(TIUSBLK(2),U,2)=$$DECRYPT^TIULC1($P(TIUD15,U,10),1,TIUCHK)
 | 
|---|
| 74 |  Q
 | 
|---|
| 75 |  ;
 | 
|---|
| 76 | SETXT0(TIUDA) ; Set the root node of the "TEXT" WP-field
 | 
|---|
| 77 |  N TIUC,TIUI S (TIUC,TIUI)=0
 | 
|---|
| 78 |  F  S TIUI=$O(^TIU(8925,TIUDA,"TEXT",TIUI)) Q:+TIUI'>0  D
 | 
|---|
| 79 |  . S:$D(^TIU(8925,TIUDA,"TEXT",TIUI,0)) TIUC=TIUC+1
 | 
|---|
| 80 |  S ^TIU(8925,TIUDA,"TEXT",0)="^^"_TIUC_U_TIUC_U_DT_"^^"
 | 
|---|
| 81 |  Q
 | 
|---|
| 82 |  ;
 | 
|---|
| 83 | ESPUT(DA,TIUSBLK) ; Re-file the /es/-blocks
 | 
|---|
| 84 |  N DIE,DR
 | 
|---|
| 85 |  S DIE=8925
 | 
|---|
| 86 |  ; If the author's signature block exists, file it
 | 
|---|
| 87 |  I $D(TIUSBLK(1)) D
 | 
|---|
| 88 |  . S DR="1503///^S X=$P(TIUSBLK(1),U);1504///^S X=$P(TIUSBLK(1),U,2)"
 | 
|---|
| 89 |  . D ^DIE
 | 
|---|
| 90 |  ; If the cosigner's signature block exists, file it
 | 
|---|
| 91 |  I $D(TIUSBLK(2)) D
 | 
|---|
| 92 |  . S DR="1509///^S X=$P(TIUSBLK(2),U);1510///^S X=$P(TIUSBLK(2),U,2)"
 | 
|---|
| 93 |  . D ^DIE
 | 
|---|
| 94 |  Q
 | 
|---|
| 95 |  ;
 | 
|---|
| 96 | DELPNDB ; -- Remove Progress Notes Globals, DD's, and File of File Entries
 | 
|---|
| 97 |  N TIUS1,TIUCNT,XPDIDTOT S TIUCNT=0,XPDIDVT=+$G(XPDIDVT)
 | 
|---|
| 98 |  D BMES^XPDUTL("** REMOVING PROGRESS NOTES v2.5 DB & DD's **")
 | 
|---|
| 99 |  S XPDIDTOT=5 D UPDATE^XPDID(0)
 | 
|---|
| 100 |  F TIUS1=121,121.1,121.2,121.3,121.99 D
 | 
|---|
| 101 |  . N DIU
 | 
|---|
| 102 |  . S DIU="^GMR("_TIUS1_",",DIU(0)="D" D EN^DIU2
 | 
|---|
| 103 |  . S TIUCNT=TIUCNT+1 D UPDATE^XPDID(TIUCNT)
 | 
|---|
| 104 |  Q
 | 
|---|
| 105 |  ;
 | 
|---|
| 106 | DELDSDB ; -- Remove Discharge Summary Globals, DD's, and File of File Entries
 | 
|---|
| 107 |  N TIUS1,TIUCNT,XPDIDTOT S TIUCNT=0,XPDIDVT=+$G(XPDIDVT)
 | 
|---|
| 108 |  D BMES^XPDUTL("** REMOVING DISCHARGE SUMMARY v1.0 DB & DD's **")
 | 
|---|
| 109 |  S XPDIDTOT=6 D UPDATE^XPDID(0)
 | 
|---|
| 110 |  F TIUS1=128,128.1,128.2,128.3,128.4,128.99 D
 | 
|---|
| 111 |  . N DIU
 | 
|---|
| 112 |  . S DIU="^GMR("_TIUS1_",",DIU(0)="D" D EN^DIU2
 | 
|---|
| 113 |  . S TIUCNT=TIUCNT+1 D UPDATE^XPDID(TIUCNT)
 | 
|---|
| 114 |  Q
 | 
|---|
| 115 | DELFUNC ; -- Remove Discharge Summary FileMan Functions
 | 
|---|
| 116 |  N TIUS1,TIUCNT,XPDIDTOT S TIUCNT=0,XPDIDVT=+$G(XPDIDVT)
 | 
|---|
| 117 |  D BMES^XPDUTL("** REMOVING DISCHARGE SUMMARY v1.0 FILEMAN FUNCTIONS **")
 | 
|---|
| 118 |  D MES^XPDUTL(" ")
 | 
|---|
| 119 |  S XPDIDTOT=3 D UPDATE^XPDID(0)
 | 
|---|
| 120 |  F TIUS1="GMRD ISADDENDUM","GMRD NAME FORMAT","GMRD TREAT SPEC NAME" D
 | 
|---|
| 121 |  . N DIC,X,Y,DIK,DA,DIDEL
 | 
|---|
| 122 |  . S DIC=.5,DIC(0)="X",X=TIUS1 D ^DIC Q:+Y'>0
 | 
|---|
| 123 |  . D MES^XPDUTL("Deleting: "_$P(Y,U,2))
 | 
|---|
| 124 |  . S (DIDEL,DIK)=DIC,DA=+Y D ^DIK
 | 
|---|
| 125 |  . S TIUCNT=TIUCNT+1 D UPDATE^XPDID(TIUCNT)
 | 
|---|
| 126 |  Q
 | 
|---|