[613] | 1 | YSD40030 ;DALISC/LJA - Repoint MR data to DSM ;[ 07/13/94 2:52 PM ]
|
---|
| 2 | ;;5.01;MENTAL HEALTH;;Dec 30, 1994
|
---|
| 3 | ;;
|
---|
| 4 | ;
|
---|
| 5 | CTRL ;
|
---|
| 6 | D INIT
|
---|
| 7 | D CHECK QUIT:'YSD4OK ;->
|
---|
| 8 | D REPOINT
|
---|
| 9 | QUIT
|
---|
| 10 | ;
|
---|
| 11 | INIT ;
|
---|
| 12 | S YSD4MLC=0 ;Dot-generator counter
|
---|
| 13 | S YSD4NC=+$G(^YSD(627.99,"AS","MR NUMBER CONVERTED"))
|
---|
| 14 | S ^YSD(627.99,"AS","MR CONVERSION STARTED")=$H
|
---|
| 15 | QUIT
|
---|
| 16 | ;
|
---|
| 17 | CHECK ;
|
---|
| 18 | S YSD4OK=1
|
---|
| 19 | QUIT:$G(^YSD(627.99,"AS","MR CONVERSION COMPLETED"))']"" ;->
|
---|
| 20 | W !!,"Medical Record Conversion has already been completed..."
|
---|
| 21 | S YSD4OK=0
|
---|
| 22 | QUIT
|
---|
| 23 | ;
|
---|
| 24 | REPOINT ; Loop thru all Medical Records and repoint data...
|
---|
| 25 | ; MR Loop...
|
---|
| 26 | D STARTNO^YSD40032
|
---|
| 27 | I YSD4IEN'?1.N D QUIT ;->
|
---|
| 28 | . K ^YSD(627.99,"AS","MR LAST STARTED")
|
---|
| 29 | . S ^YSD(627.99,"AS","MR CONVERSION COMPLETED")=$H
|
---|
| 30 | ;
|
---|
| 31 | F S YSD4IEN=$O(^MR(YSD4IEN)) QUIT:YSD4IEN'>0 D
|
---|
| 32 | . S YSD4MLC=YSD4MLC+1 W:'(YSD4MLC#100) "."
|
---|
| 33 | . D HASDATA QUIT:'YSD4OK ;->
|
---|
| 34 | . D CONVNTRY ;->
|
---|
| 35 | ;
|
---|
| 36 | S ^YSD(627.99,"AS","MR CONVERSION COMPLETED")=$H
|
---|
| 37 | ;
|
---|
| 38 | ; Set the DSM-MR CONVERSION COMPLETION field in the Parameter file
|
---|
| 39 | D NOW^%DTC
|
---|
| 40 | S $P(^YSA(602,+1,"DSM"),U)=%
|
---|
| 41 | ;
|
---|
| 42 | QUIT
|
---|
| 43 | ;
|
---|
| 44 | CONVNTRY ; Make a DSM CONVERSION file entry
|
---|
| 45 | ;
|
---|
| 46 | ; Make Conversion file entry... Quit if not done...
|
---|
| 47 | D CONVNTRY^YSD40032
|
---|
| 48 | QUIT:'YSD4CIEN!('YSD4OK)!(YSD4EREP) ;->
|
---|
| 49 | ;
|
---|
| 50 | RECLP ; Loop thru individual ^MR entry multiples/nodes and record
|
---|
| 51 | ;
|
---|
| 52 | ; Lock ^MR entry...
|
---|
| 53 | L +^MR(+YSD4IEN):60
|
---|
| 54 | ;
|
---|
| 55 | ; Locked?
|
---|
| 56 | I '$T D QUIT ;->
|
---|
| 57 | . D NOW^%DTC
|
---|
| 58 | . D PED^YSD4E010(%,"MR Locking problem",90,"",+YSD4IEN,"",+$P($G(^MR(+YSD4IEN,0)),U,2))
|
---|
| 59 | . S $P(^YSD(627.99,+YSD4CIEN,0),U,2)="E",YSD4EREP=1
|
---|
| 60 | ;
|
---|
| 61 | ;
|
---|
| 62 | ; Locked... Now, repoint data.
|
---|
| 63 | D REP^YSD40031
|
---|
| 64 | ;
|
---|
| 65 | ; Unlock...
|
---|
| 66 | L -^MR(+YSD4IEN)
|
---|
| 67 | ;
|
---|
| 68 | ; Was record successfully repointed?
|
---|
| 69 | QUIT:'$G(YSD4CFLG) ;->
|
---|
| 70 | ;
|
---|
| 71 | ; Up counter...
|
---|
| 72 | S YSD4NC=YSD4NC+1,^YSD(627.99,"AS","MR NUMBER CONVERTED")=+YSD4NC
|
---|
| 73 | ;
|
---|
| 74 | QUIT
|
---|
| 75 | ;
|
---|
| 76 | ;----------------------------------------------------------------------
|
---|
| 77 | HASDATA ; Does entry have data to convert, or only a header?
|
---|
| 78 | N X
|
---|
| 79 | S YSD4OK=1
|
---|
| 80 | QUIT:$O(^MR(+YSD4IEN,"DX",0))]"" ;->
|
---|
| 81 | S X=$G(^MR(+YSD4IEN,"DX1")) QUIT:$P(X,U,2)]""!($P(X,U,4)]"") ;->
|
---|
| 82 | QUIT:$O(^MR(+YSD4IEN,"PDX",0))]"" ;->
|
---|
| 83 | QUIT:$O(^MR(+YSD4IEN,"XDX",0))]"" ;->
|
---|
| 84 | S YSD4OK=0
|
---|
| 85 | QUIT
|
---|
| 86 | ;
|
---|
| 87 | EOR ;YSD40030 - Repoint MR data to DSM ;12/7/93 15:12
|
---|