| 1 | QACCONV0 ;HISC/DAD-CONVERT SERVICES ;2/10/95  11:04
 | 
|---|
| 2 |  ;;2.0;Patient Representative;;07/25/1995
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  W !!,"The data from the SERVICES INVOLVED multiple (745.1,15->"
 | 
|---|
| 5 |  W !,"745.115,.01, a pointer to the NATIONAL SERVICE file [#730])"
 | 
|---|
| 6 |  W !,"will be moved to the SERV/SECT INVOLVED multiple (745.1,21->"
 | 
|---|
| 7 |  W !,"745.121,1->745.1211,.01, a pointer to the SERVICE/SECTION file"
 | 
|---|
| 8 |  W !,"[#49]).  The conversion may be run multiple times without adverse"
 | 
|---|
| 9 |  W !,"effects on the database.  The SERVICES INVOLVED will be duplicated"
 | 
|---|
| 10 |  W !,"for each ISSUE CODE.  A report will be printed showing any"
 | 
|---|
| 11 |  W !,"conversion problems/issues.  It is recommended that you queue"
 | 
|---|
| 12 |  W !,"this report.  If you wish to run this conversion/report at a"
 | 
|---|
| 13 |  W !,"later time, enter 'DO ^QACCONV0' at the M programmer prompt."
 | 
|---|
| 14 |  ;
 | 
|---|
| 15 |  K %ZIS,IOP S %ZIS="QM" W ! D ^%ZIS G:POP EXIT
 | 
|---|
| 16 |  I $D(IO("Q")) D  G EXIT
 | 
|---|
| 17 |  . S ZTRTN="TASK^QACCONV0"
 | 
|---|
| 18 |  . S ZTDESC="Patient Representative Service Conversion"
 | 
|---|
| 19 |  . D ^%ZTLOAD
 | 
|---|
| 20 |  . I $G(ZTSK) W !,"Task Number: ",ZTSK
 | 
|---|
| 21 |  . Q
 | 
|---|
| 22 | TASK ;
 | 
|---|
| 23 |  S QACD0=0 K ^TMP($J,"QACPROB")
 | 
|---|
| 24 |  F  S QACD0=$O(^QA(745.1,QACD0)) Q:QACD0'>0  D CONVERT
 | 
|---|
| 25 | PRINT ;
 | 
|---|
| 26 |  K QACUNDL S $P(QACUNDL,"-",81)="",QACPAGE=1,QACQUIT=0
 | 
|---|
| 27 |  S QACTODAY=$$FMTE^XLFDT(DT,1)
 | 
|---|
| 28 |  U IO D HEADER
 | 
|---|
| 29 |  I $O(^TMP($J,"QACPROB",""))="" D  G EXIT
 | 
|---|
| 30 |  . W !!,"No conversion problems found."
 | 
|---|
| 31 |  . Q
 | 
|---|
| 32 |  S QACNUMBR=""
 | 
|---|
| 33 |  F  S QACNUMBR=$O(^TMP($J,"QACPROB",QACNUMBR)) Q:QACNUMBR=""!QACQUIT  D
 | 
|---|
| 34 |  . W !!,"Contact Number: ",QACNUMBR
 | 
|---|
| 35 |  . S QACPROB=""
 | 
|---|
| 36 |  . F  S QACPROB=$O(^TMP($J,"QACPROB",QACNUMBR,QACPROB)) Q:QACPROB=""!QACQUIT  D
 | 
|---|
| 37 |  .. W !,^TMP($J,"QACPROB",QACNUMBR,QACPROB)
 | 
|---|
| 38 |  .. I $Y>(IOSL-6) D PAUSE,HEADER
 | 
|---|
| 39 |  .. Q
 | 
|---|
| 40 |  . Q
 | 
|---|
| 41 | EXIT ;
 | 
|---|
| 42 |  D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@"
 | 
|---|
| 43 |  K %ZIS,D0,D1,DD,DIC,DINUM,DIR,DLAYGO,DO,POP,QAC49,QAC730,QACD0,QACD1
 | 
|---|
| 44 |  K QACFOUND,QACNUMBR,QACPAGE,QACPROB,QACQUIT,QACTODAY,QACUNDL,X,Y
 | 
|---|
| 45 |  K ZTDESC,ZTRTN,ZTSK,^TMP($J,"QACCONV0"),^TMP($J,"QACPROB"),DA(1),DA(2)
 | 
|---|
| 46 |  Q
 | 
|---|
| 47 | CONVERT ;
 | 
|---|
| 48 |  S QACNUMBR=$P($G(^QA(745.1,QACD0,0)),U) Q:QACNUMBR=""
 | 
|---|
| 49 |  I $O(^QA(745.1,QACD0,1,0)),$O(^QA(745.1,QACD0,3,0))'>0 D
 | 
|---|
| 50 |  . S X=" * No Issue Codes found, cannot convert services."
 | 
|---|
| 51 |  . S ^TMP($J,"QACPROB",QACNUMBR,"ISSUE")=X
 | 
|---|
| 52 |  . Q
 | 
|---|
| 53 |  K ^TMP($J,"QACCONV0")
 | 
|---|
| 54 |  S QACD1=0
 | 
|---|
| 55 |  F  S QACD1=$O(^QA(745.1,QACD0,1,QACD1)) Q:QACD1'>0  D
 | 
|---|
| 56 |  . S QAC730=$P($G(^QA(745.1,QACD0,1,QACD1,0)),U)
 | 
|---|
| 57 |  . S QAC730(0)=$P($G(^ECC(730,QAC730,0)),U) Q:QAC730(0)=""
 | 
|---|
| 58 |  . S (QAC49,QACFOUND)=0
 | 
|---|
| 59 |  . F  S QAC49=$O(^DIC(49,"A1",QAC730,QAC49)) Q:QAC49'>0  D
 | 
|---|
| 60 |  .. I $P($G(^DIC(49,QAC49,0)),U)="" Q
 | 
|---|
| 61 |  .. S ^TMP($J,"QACCONV0",QAC49)="",QACFOUND=QACFOUND+1
 | 
|---|
| 62 |  .. Q
 | 
|---|
| 63 |  . I 'QACFOUND D
 | 
|---|
| 64 |  .. S X=" * No Serv/Sect's for National Serv '"_QAC730(0)_"'."
 | 
|---|
| 65 |  .. S ^TMP($J,"QACPROB",QACNUMBR,QAC730)=X
 | 
|---|
| 66 |  .. Q
 | 
|---|
| 67 |  . I QACFOUND>1 D
 | 
|---|
| 68 |  .. S X="   Multiple Serv/Sect's for National Serv '"_QAC730(0)_"'."
 | 
|---|
| 69 |  .. S ^TMP($J,"QACPROB",QACNUMBR,QAC730)=X
 | 
|---|
| 70 |  .. Q
 | 
|---|
| 71 |  . Q
 | 
|---|
| 72 |  S QACD1=0
 | 
|---|
| 73 |  F  S QACD1=$O(^QA(745.1,QACD0,3,QACD1)) Q:QACD1'>0  D
 | 
|---|
| 74 |  . S QAC49=0
 | 
|---|
| 75 |  . F  S QAC49=$O(^TMP($J,"QACCONV0",QAC49)) Q:QAC49'>0  D
 | 
|---|
| 76 |  .. I $O(^QA(745.1,QACD0,3,QACD1,1,"B",QAC49,0)) Q
 | 
|---|
| 77 |  .. K DD,DIC,DINUM,DO
 | 
|---|
| 78 |  .. S DIC="^QA(745.1,"_QACD0_",3,"_QACD1_",1,",DIC(0)="L"
 | 
|---|
| 79 |  .. S DIC("P")=$P(^DD(745.121,1,0),U,2),DLAYGO=745.1,X=QAC49
 | 
|---|
| 80 |  .. S (D0,DA(2))=QACD0,(D1,DA(1))=QACD1
 | 
|---|
| 81 |  .. D FILE^DICN
 | 
|---|
| 82 |  .. Q
 | 
|---|
| 83 |  . Q
 | 
|---|
| 84 |  Q
 | 
|---|
| 85 | PAUSE ;
 | 
|---|
| 86 |  I $E(IOST)="C" K DIR S DIR(0)="E" D ^DIR S QACQUIT=$S(Y'>0:1,1:0)
 | 
|---|
| 87 |  Q
 | 
|---|
| 88 | HEADER ;
 | 
|---|
| 89 |  I QACQUIT Q
 | 
|---|
| 90 |  W:$E(IOST)="C"!(QACPAGE>1) @IOF
 | 
|---|
| 91 |  W !!?29,"Patient Representative",?68,"Page: ",QACPAGE
 | 
|---|
| 92 |  W !?28,"Service Conversion Report",?68,QACTODAY
 | 
|---|
| 93 |  W !?24,"* - indicates data not converted"
 | 
|---|
| 94 |  W !,QACUNDL S QACPAGE=QACPAGE+1
 | 
|---|
| 95 |  Q
 | 
|---|