1 | MCPOS04 ;HIRMFO/DAD-CONSULT CONVERSION 699 >>>===> 699.5 ;7/5/96 10:33
|
---|
2 | ;;2.3;Medicine;;09/13/1996
|
---|
3 | ;
|
---|
4 | S MCONSULT=+$O(^MCAR(697.2,"B","CONSULT",0))
|
---|
5 | S MCFOUND=$S($P($G(^MCAR(697.2,MCONSULT,0)),U)'="CONSULT":0,1:1)
|
---|
6 | ;
|
---|
7 | I $D(XPDNM) D G:'MCFOUND EXIT
|
---|
8 | . K MCDATA
|
---|
9 | . S MCDATA(1)=""
|
---|
10 | . S MCDATA(2)="Moving the Consult data from the Endoscopy/Consult"
|
---|
11 | . S MCDATA(3)="file (#699) to the Generalized Procedure/Consult"
|
---|
12 | . S MCDATA(4)="file (#699.5)."
|
---|
13 | . ;
|
---|
14 | . I 'MCFOUND D
|
---|
15 | .. S MCDATA(5)=""
|
---|
16 | .. S MCDATA(6)="The CONSULT entry was not found in the"
|
---|
17 | .. S MCDATA(7)="PROCEDURE/SPECIALTY file (#697.2), data cannot"
|
---|
18 | .. S MCDATA(8)="be converted without this entry being present."
|
---|
19 | .. Q
|
---|
20 | . D MES^XPDUTL(.MCDATA) K MCDATA
|
---|
21 | . Q
|
---|
22 | E D G EXIT
|
---|
23 | . W !!,"Moving the Consult data from the Endoscopy/Consult"
|
---|
24 | . W !,"file (#699) to the Generalized Procedure/Consult"
|
---|
25 | . W !,"file (#699.5)."
|
---|
26 | . ;
|
---|
27 | . I 'MCFOUND D Q
|
---|
28 | .. W !!,"The CONSULT entry was not found in the"
|
---|
29 | .. W !,"PROCEDURE/SPECIALTY file (#697.2), data cannot"
|
---|
30 | .. W !,"be converted without this entry being present."
|
---|
31 | .. Q
|
---|
32 | . ;
|
---|
33 | . S ZTRTN="TASK^MCPOS04"
|
---|
34 | . S ZTDESC="Medicine Consult Conversion"
|
---|
35 | . S ZTSAVE("MCONSULT")=""
|
---|
36 | . S ZTIO=""
|
---|
37 | . W ! D ^%ZTLOAD
|
---|
38 | . W !!,"Conversion",$S($G(ZTSK)'>0:" not ",1:" "),"queued."
|
---|
39 | . I $G(ZTSK)>0 W !,"Task # ",ZTSK,"."
|
---|
40 | . Q
|
---|
41 | TASK ;
|
---|
42 | S MC699D0=0
|
---|
43 | F S MC699D0=$O(^MCAR(699,"D",MCONSULT,MC699D0)) Q:MC699D0'>0 D MAIN
|
---|
44 | EXIT ;
|
---|
45 | I '$D(XPDNM),$D(ZTQUEUED) S ZTREQ="@"
|
---|
46 | Q
|
---|
47 | MAIN ;
|
---|
48 | K MCDATA
|
---|
49 | F MCNODE=0,.2,15,"PCC","OR","ES","PROV" D
|
---|
50 | . S MCDATA(MCNODE)=$G(^MCAR(699,MC699D0,MCNODE))
|
---|
51 | . Q
|
---|
52 | I $P(MCDATA(0),U,12)'=MCONSULT Q
|
---|
53 | S MCDATE=$P(MCDATA(0),U),MCDFN=$P(MCDATA(0),U,2)
|
---|
54 | S MCPRC=$P(MCDATA(0),U,12)
|
---|
55 | S (MC6995D0,MCIEN)=0
|
---|
56 | F S MCIEN=$O(^MCAR(699.5,"B",MCDATE,MCIEN)) Q:MCIEN'>0!MC6995D0 D
|
---|
57 | . S MC=$G(^MCAR(699.5,MCIEN,0))
|
---|
58 | . S MCNEWDFN=$P(MC,U,2),MCNEWPRC=$P(MC,U,6)
|
---|
59 | . I MCNEWDFN=MCDFN,MCNEWPRC=MCPRC S MC6995D0=MCIEN
|
---|
60 | . Q
|
---|
61 | I MC6995D0'>0 D
|
---|
62 | . K DD,DIC,DINUM,DO
|
---|
63 | . S DIC="^MCAR(699.5,",DIC(0)="L",DLAYGO=699.5
|
---|
64 | . S DIC("DR")=".02///`"_MCDFN_";.05////"_MCPRC
|
---|
65 | . S X=MCDATE D FILE^DICN S MC6995D0=+Y
|
---|
66 | . Q
|
---|
67 | ;
|
---|
68 | I MC6995D0'>0 Q
|
---|
69 | S MCINDCOM=$P(MCDATA(0),U,6),MCSUMMRY=$P(MCDATA(.2),U)
|
---|
70 | S MCPRCSUM=$P(MCDATA(.2),U,2),MCCONTYP=$P(MCDATA(15),U,11)
|
---|
71 | S MCPROVID=$P(MCDATA(0),U,8)
|
---|
72 | I MCPROVID'>0 S MCPROVID=$P(MCDATA("PROV"),U)
|
---|
73 | K DA,DIC,DIE,DR S MCDRNUM=1
|
---|
74 | S DR="2///1"
|
---|
75 | I MCINDCOM]"" S DR(1,699.5,MCDRNUM)="3///^S X=$E(MCINDCOM,1,110)",MCDRNUM=MCDRNUM+1
|
---|
76 | I $P($G(^VA(200,+MCPROVID,0)),U)]"",$D(^XUSEC("PROVIDER",+MCPROVID))#2 S DR(1,699.5,MCDRNUM)="6///`"_MCPROVID,MCDRNUM=MCDRNUM+1
|
---|
77 | I "^A^N^I^"[(U_MCSUMMRY_U) S DR(1,699.5,MCDRNUM)="601///"_MCSUMMRY,MCDRNUM=MCDRNUM+1
|
---|
78 | I MCPRCSUM]"" S DR(1,699.5,MCDRNUM)="600///^S X=$E(MCPRCSUM,1,79)",MCDRNUM=MCDRNUM+1
|
---|
79 | I $P($G(^MCAR(699.82,+MCCONTYP,0)),U)]"" S DR(1,699.5,MCDRNUM)="31.5///`"_MCCONTYP,MCDRNUM=MCDRNUM+1
|
---|
80 | I $P($G(^AUPNVSIT(+$P(MCDATA("PCC"),U),0)),U)]"" S DR(1,699.5,MCDRNUM)="900////"_+$P(MCDATA("PCC"),U),MCDRNUM=MCDRNUM+1
|
---|
81 | S ORIFN=+$P(MCDATA("OR"),U),GMRCO=+$P(MCDATA("OR"),U,2)
|
---|
82 | I $P($G(^OR(100,ORIFN,0)),U)]"" S DR(1,699.5,MCDRNUM)="1000////"_ORIFN,MCDRNUM=MCDRNUM+1
|
---|
83 | I $P($G(^GMR(123,GMRCO,0)),U)]"" S DR(1,699.5,MCDRNUM)="1001////"_GMRCO,MCDRNUM=MCDRNUM+1
|
---|
84 | F MCPIECE=1:1:16 D
|
---|
85 | . S MCDATA=$P(MCDATA("ES"),U,MCPIECE) Q:MCDATA=""
|
---|
86 | . S MCSLASH="///"
|
---|
87 | . I "^1^4^13^"[(U_MCPIECE_U) S MCSLASH=MCSLASH_"`" I $P($G(^VA(200,+MCDATA,0)),U)="" Q
|
---|
88 | . I "^2^5^"[(U_MCPIECE_U) D
|
---|
89 | .. S MCVALCOD(MCPIECE)=$E(MCDATA,1,40)
|
---|
90 | .. S MCSLASH=MCSLASH_"^S X="
|
---|
91 | .. S MCDATA="MCVALCOD("_MCPIECE_")"
|
---|
92 | .. Q
|
---|
93 | . I 7=MCPIECE I "^D^PD^RV^ROV^RNV^S^SRV^SROV^"'[(U_MCDATA_U) Q
|
---|
94 | . I 10=MCPIECE I MCDATA<0!(MCDATA>999999999) Q
|
---|
95 | . I 11=MCPIECE I MCDATA<0!(MCDATA>99999999999999) Q
|
---|
96 | . I 16=MCPIECE I MCDATA<0!(MCDATA>999) Q
|
---|
97 | . I 14=MCPIECE S X=MCDATA,%DT="TX" D ^%DT S MCDATA=Y
|
---|
98 | . I "^3^6^8^9^14^15^"[(U_MCPIECE_U) Q:MCDATA\1'?7N
|
---|
99 | . I 12=MCPIECE I MCDATA'=1 Q
|
---|
100 | . S DR(1,699.5,MCDRNUM)=(1499+MCPIECE)_MCSLASH_MCDATA
|
---|
101 | . S MCDRNUM=MCDRNUM+1
|
---|
102 | . Q
|
---|
103 | S DIE="^MCAR(699.5,",DA=MC6995D0 D ^DIE ; ALL FLAT FIELDS
|
---|
104 | ;
|
---|
105 | D ^MCPOS04A ; MULTIPLES
|
---|
106 | Q
|
---|