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
|
---|