| 1 | LRARNPX ;SLC/MRH/FHS - NEW PERSON CONVERSION FOR ^LAR("Z" ; 1/23/93
 | 
|---|
| 2 |  ;;5.2;LAB SERVICE;**59,150**;Sep 27, 1994
 | 
|---|
| 3 | EN ;
 | 
|---|
| 4 |  I ('$G(DUZ)!('$D(DUZ(0)))) W !!?10,$C(7),"Please do ^XUP ",!! Q
 | 
|---|
| 5 |  N LRZD0,LRAC,LRDSC,LRDT,LRIO,LRJOB,X,ZTSK
 | 
|---|
| 6 |  D DEVICE^LRARNPX0 I LRIO="POP" Q
 | 
|---|
| 7 |  D QUE
 | 
|---|
| 8 |  D WRAPUP
 | 
|---|
| 9 |  Q
 | 
|---|
| 10 | DQ ;
 | 
|---|
| 11 |  Q:'$D(ZTQUEUED)
 | 
|---|
| 12 |  N LRZD0,LRFILE,LRLST,LRTSK
 | 
|---|
| 13 |  S LRFILE="LAR-63.9999",LRZD0=0,(LRST,LRJOB)=1,LRTSK=$G(ZTSK)
 | 
|---|
| 14 |  ; ^XTMP("LR52","LAR-63.9999",LRJOB,0) is the last record converted successfully
 | 
|---|
| 15 |  K ^XTMP("LR52",LRFILE),^XTMP("LR52TIME",LRFILE)
 | 
|---|
| 16 |  S ^XTMP("LR52",LRFILE,LRJOB,0)=0
 | 
|---|
| 17 |  S ^XTMP("LR52TIME",LRFILE,LRJOB)=$$NOW^LRAFUNC1
 | 
|---|
| 18 |  F  S LRLST=LRZD0,LRZD0=+$O(^LAR("Z",LRZD0)) Q:LRZD0<1  D
 | 
|---|
| 19 |  . D CH,MI
 | 
|---|
| 20 |  . S ^XTMP("LR52",LRFILE,LRJOB,0)=LRZD0
 | 
|---|
| 21 |  S $P(^XTMP("LR52TIME",LRFILE,LRJOB),U,2)=$$NOW^LRAFUNC1
 | 
|---|
| 22 |  D OUT^LRARNPX1
 | 
|---|
| 23 |  D WRAPUP
 | 
|---|
| 24 |  Q
 | 
|---|
| 25 | QUE ;
 | 
|---|
| 26 |  ; Task off JOB to convert file 63.9999
 | 
|---|
| 27 |  S ZTIO=""
 | 
|---|
| 28 |  S (LRDSC,ZTDESC)="LAB Conversion File 63.9999 (ARCHIVED LR DATA)"
 | 
|---|
| 29 |  S ZTSAVE("LRIO")=LRIO,ZTRTN="DQ^LRARNPX" D ^%ZTLOAD,DISP
 | 
|---|
| 30 |  Q
 | 
|---|
| 31 | CH ; change pointers in CHEM HEM, TOX, RIA, SER, etc. subfile 63.999904
 | 
|---|
| 32 |  ; sub("CH") Change REQUESTING PERSON field .1 pointer
 | 
|---|
| 33 |  ; ^LAR("Z",LRDFN,"CH",LRIDT,"NPC")=1 Indicates this record has been
 | 
|---|
| 34 |  ;converted to File 200. This node is used when restoring arch records.
 | 
|---|
| 35 |  ; "NPC")=2 indicates record processed but no provider number
 | 
|---|
| 36 |  N LRSB,LRZD1,LRPRV
 | 
|---|
| 37 |  S LRSB(0)="CH"
 | 
|---|
| 38 |  S LRZD1=0 F  S LRZD1=$O(^LAR("Z",LRZD0,"CH",LRZD1)) Q:'LRZD1  D
 | 
|---|
| 39 |  . Q:$D(^LAR("Z",LRZD0,"CH",LRZD1,"NPC"))#2
 | 
|---|
| 40 |  . S LRD0=$G(^LAR("Z",LRZD0,"CH",LRZD1,0)),LRPRV=$P(LRD0,U,10)
 | 
|---|
| 41 |  . I 'LRPRV S ^LAR("Z",LRZD0,"CH",LRZD1,"NPC")=2 Q
 | 
|---|
| 42 |  . I LRPRV D
 | 
|---|
| 43 |  .. S $P(LRD0,U,10)=$$PROV^LRARNPX1("63.999904,.1",LRPRV,.LRSB)
 | 
|---|
| 44 |  .. S ^LAR("Z",LRZD0,"CH",LRZD1,0)=LRD0,^("NPC")=1
 | 
|---|
| 45 |  Q
 | 
|---|
| 46 | MI ; change pointers in MICROBIOLOGY subfile 63.999905
 | 
|---|
| 47 |  ; sub("MI") Change PHYSICIAN field .07 pointer
 | 
|---|
| 48 |  ; ^LAR("Z",LRDFN,"MI",LRIDT,"NPC")=1 Indicates this record has been
 | 
|---|
| 49 |  ; converted to File 200. This node is used when restoring arc records.
 | 
|---|
| 50 |  ; "NPC")=2 indicates record processed but no provider number
 | 
|---|
| 51 |  N LRSB,LRZD1,LRPRV
 | 
|---|
| 52 |  S LRSB(0)="MI"
 | 
|---|
| 53 |  S LRZD1=0 F  S LRZD1=$O(^LAR("Z",LRZD0,"MI",LRZD1)) Q:'LRZD1  D
 | 
|---|
| 54 |  . Q:$D(^LAR("Z",LRZD0,"MI",LRZD1,"NPC"))#2
 | 
|---|
| 55 |  . S LRPRV=$P($G(^LAR("Z",LRZD0,"MI",LRZD1,0)),U,7)
 | 
|---|
| 56 |  . I 'LRPRV S ^LAR("Z",LRZD0,"MI",LRZD1,"NPC")=2 Q
 | 
|---|
| 57 |  . I LRPRV S $P(^LAR("Z",LRZD0,"MI",LRZD1,0),U,7)=$$PROV^LRARNPX1("63.999905,.07",LRPRV,.LRSB),^("NPC")=1
 | 
|---|
| 58 |  Q
 | 
|---|
| 59 | DISP ; to display to the user the tasked job descriptions and TASK
 | 
|---|
| 60 |  ; numbers for the different conversion routines
 | 
|---|
| 61 |  W $C(7),!!!,$C(7),"Task # "_ZTSK,!,"with the description of '"_LRDSC_"'"
 | 
|---|
| 62 |  W !,"has been scheduled to run "
 | 
|---|
| 63 |  W $$DDDATE^LRAFUNC1($$CDHTFM^LRAFUNC1(ZTSK("D")),2)_".",$C(7),!
 | 
|---|
| 64 |  K ZTSK,ZTDTH
 | 
|---|
| 65 |  Q
 | 
|---|
| 66 | WRAPUP ;
 | 
|---|
| 67 |  K ZTSK,ZTDESC,ZTRTN,ZTSAVE,ZTIO,ZTDTH,%ZIS,POP,X,Y,%,%X,%Y,DIC,I
 | 
|---|
| 68 |  K LRTSK,LRD0,LRZD0,LRD1,LRZD1,LRLST,LRFILE,LRIO,LRJOB,LRDSC,LRAC,LRPRV
 | 
|---|
| 69 |  K LRSB,LRST,LRDT,LRSORT
 | 
|---|
| 70 |  Q
 | 
|---|