1 | ECXDENT ;ALB/JAP,BIR/DMA,PTD-Dental Extract for DSS ; [ 11/22/96 5:23 PM ]
|
---|
2 | ;;3.0;DSS EXTRACTS;**11,8,13,24,33,39,46**;Dec 22, 1997
|
---|
3 | BEG ;entry point from option
|
---|
4 | D SETUP I ECFILE="" Q
|
---|
5 | D ^ECXTRAC,^ECXKILL
|
---|
6 | Q
|
---|
7 | ;
|
---|
8 | START ;start package specific extract
|
---|
9 | N DATA,X,Y
|
---|
10 | K ECXDD D FIELD^DID(220.5,.01,,"SPECIFIER","ECXDD")
|
---|
11 | S ECPRO=$E(+$P(ECXDD("SPECIFIER"),"P",2)) K ECXDD
|
---|
12 | S ECED=ECED+.3,ECD=ECSD1,QFLG=0
|
---|
13 | F S ECD=$O(^DENT(221,"B",ECD)),ECXJ=0 Q:('ECD)!(ECD>ECED)!(QFLG) D
|
---|
14 | .F S ECXJ=$O(^DENT(221,"B",ECD,ECXJ)) Q:'ECXJ D Q:QFLG
|
---|
15 | ..Q:'$D(^DENT(221,ECXJ,0))
|
---|
16 | ..S DATA=^DENT(221,ECXJ,0),$P(DATA,U,50)="" D STUFF
|
---|
17 | Q
|
---|
18 | STUFF ;get data
|
---|
19 | K ECXPAT
|
---|
20 | S ECXDFN=+$P(DATA,U,4),OK=$$PAT^ECXUTL3(ECXDFN,$P(ECD,"."),"1;",.ECXPAT)
|
---|
21 | Q:'OK
|
---|
22 | S ECXPNM=ECXPAT("NAME"),ECXSSN=ECXPAT("SSN"),ECXMPI=ECXPAT("MPI")
|
---|
23 | S X=$$INP^ECXUTL2(ECXDFN,ECD),ECXA=$P(X,U),ECXMN=$P(X,U,2)
|
---|
24 | S ECXTS=$P(X,U,3),ECXDOM=$P(X,U,10),ECXADMDT=$P(X,U,4)
|
---|
25 | S ECDEN=$P(DATA,U,3),ECDEN=$P($G(^DENT(220.5,ECDEN,0)),U)
|
---|
26 | S:ECDEN]"" ECDEN=ECPRO_ECDEN S ECDENNPI=""
|
---|
27 | S X=$$PRIMARY^ECXUTL2(ECXDFN,$P(ECD,"."),ECPRO)
|
---|
28 | S ECPTTM=$P(X,U,1),ECPTPR=$P(X,U,2),ECCLAS=$P(X,U,3),ECPTNPI=$P(X,U,4)
|
---|
29 | S ECASPR=$P(X,U,5),ECCLAS2=$P(X,U,6),ECASNPI=$P(X,U,7)
|
---|
30 | ;use of dss department delayed S ECXDSSD=$$DEN^ECXDEPT($P(DATA,U,40))
|
---|
31 | S ECXDSSD=""
|
---|
32 | ;
|
---|
33 | ;- Observation patient indicator (YES/NO)
|
---|
34 | S ECXOBS=$$OBSPAT^ECXUTL4(ECXA,ECXTS)
|
---|
35 | ;
|
---|
36 | ;- If no encounter number don't file record
|
---|
37 | S ECXENC=$$ENCNUM^ECXUTL4(ECXA,ECXSSN,ECXADMDT,$P(DATA,U),ECXTS,ECXOBS,ECHEAD,,)
|
---|
38 | D:ECXENC'="" FILE
|
---|
39 | Q
|
---|
40 | ;
|
---|
41 | FILE ;file record
|
---|
42 | ;node0
|
---|
43 | ;inst^dfn^ssn^name^in/out ECXA^day^provider^screen/complete^admin proc^
|
---|
44 | ;x-rays ex^x-rays int^prophy natural^prophy denture^op room^
|
---|
45 | ;neoplasm malig^
|
---|
46 | ;neoplasm removed^biopsy/smear^fracture^pat category^other sig surg^
|
---|
47 | ;surface restored^root canal^periodontal quads (surg)^
|
---|
48 | ;perio quads (root plane)^
|
---|
49 | ;patient ed^spot check exam^indiv crowns^posts & cores^
|
---|
50 | ;fixed partials (abut)^fixed partials (pont)^removable partials^
|
---|
51 | ;complete dentures^prosthetic repair^
|
---|
52 | ;splints & spec procs^extractions^surg extractions^other sig treatment^
|
---|
53 | ;div^completion/termination^interdisc consult^evaluation^
|
---|
54 | ;pre-auth 2nd opinion^
|
---|
55 | ;spot check discrepancy^mov #^treat spec^primary care team^
|
---|
56 | ;primary care provider^time
|
---|
57 | ;node1
|
---|
58 | ;mpi^dss dept^provider npi^pc provider npi^pc prov person class^
|
---|
59 | ;assoc pc prov^assoc pc prov person class^assoc pc prov npi^
|
---|
60 | ;dom ECXDOM^observ pat ind ECXOBS^encounter num ECXENC^
|
---|
61 | ;production division
|
---|
62 | ;
|
---|
63 | N DA,DIK
|
---|
64 | S EC7=$O(^ECX(ECFILE,999999999),-1),EC7=EC7+1
|
---|
65 | S ECODE=EC7_U_EC23_U
|
---|
66 | S ECODE=ECODE_$P(DATA,U,40)_U_ECXDFN_U_ECXSSN_U_ECXPNM_U_ECXA_U
|
---|
67 | S ECODE=ECODE_$$ECXDATE^ECXUTL($P(DATA,U),ECXYM)_U_ECDEN_U
|
---|
68 | S ECODE=ECODE_$P(DATA,U,7,9)_U_$P(DATA,U,11,20)_U_$P(DATA,U,22,38)_U
|
---|
69 | S ECODE=ECODE_$P(DATA,U,40,45)_U_ECXMN_U_ECXTS_U
|
---|
70 | S ECODE=ECODE_ECPTTM_U_ECPTPR_U_$$ECXTIME^ECXUTL($P(DATA,U))_U
|
---|
71 | S ECODE1=ECXMPI_U_ECXDSSD_U_ECDENNPI_U_ECPTNPI_U_ECCLAS_U_ECASPR_U
|
---|
72 | S ECODE1=ECODE1_ECCLAS2_U_ECASNPI_U_ECXDOM_U_ECXOBS_U_ECXENC_U_$P(DATA,U,40) ;p-46 added U_$P(DATA,U,40)
|
---|
73 | S ^ECX(ECFILE,EC7,0)=ECODE,^ECX(ECFILE,EC7,1)=ECODE1,ECRN=ECRN+1
|
---|
74 | S DA=EC7,DIK="^ECX("_ECFILE_"," D IX1^DIK K DIK,DA
|
---|
75 | I $D(ZTQUEUED),$$S^%ZTLOAD S QFLG=1
|
---|
76 | Q
|
---|
77 | ;
|
---|
78 | SETUP ;Set required input for ECXTRAC
|
---|
79 | S ECHEAD="DEN"
|
---|
80 | D ECXDEF^ECXUTL2(ECHEAD,.ECPACK,.ECGRP,.ECFILE,.ECRTN,.ECPIECE,.ECVER)
|
---|
81 | Q
|
---|
82 | ;
|
---|
83 | QUE ; entry point for the background requeuing handled by ECXTAUTO
|
---|
84 | D SETUP,QUE^ECXTAUTO,^ECXKILL Q
|
---|