Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: DG3PR2

DG3PR2.m

Go to the documentation of this file.
DG3PR2 ;ALB/MIR - CONTINUATION OF THE THIRD PARTY REIMBURSEMENT ;NOV 21 90@8
 ;;5.3;Registration;**26,606,617,570,850**;Aug 13, 1993;Build 171
 S DGINS=0 W !!,"INSURANCE TYPE",?24,"INSURANCE #",?45,"GROUP #",?63,"EXPIRES   HOLDER",!,"--------- ----",?24,"--------- -",?45,"----- -",?63,"-------   ------"
 ;570
 ;D ALL^IBCNS1(DFN,"DGIBINS") F I=0:0 S I=$O(DGIBINS(I)) Q:'I  S J=DGIBINS(I,0) S X=$G(^DIC(36,+J,0)) W !,$S($P(X,"^",2)="N":"*",1:""),$E($P(X,"^",1),1,22),?24,$P(J,"^",2),?45,$P(J,"^",3) S DGINS=$S($P(X,"^",2)="N":1,1:0) D INS2
 N DGX,DGDATA
 N EFFDATE,IMPDATE
 I $$INSUR^IBBAPI(DFN,,"R",.DGDATA,"1,8,9,11,12,14,18")
 S DGX="DGDATA(""IBBAPI"",""INSUR"")" M DGIBINS=@DGX
 F I=0:0 S I=$O(DGIBINS(I)) Q:'I  D
 . W !,$S('+DGIBINS(I,9):"*",1:" "),$E($P(DGIBINS(I,1),"^",2),1,22),?24,DGIBINS(I,14),?45
 . I $D(DGIBINS(I,18)) W $G(DGIBINS(I,18)) ; Group Policy number
 . S DGINS=$S($P(DGIBINS(I,9),U,2)="NO":1,1:0) D INS2
 ;
 I DGINS W !?22,"* - Insurer may not reimburse!"
 K DGINS,DGIBINS
 S Y=+DGAD X ^DD("DD") W !!,"Admitted: ",Y,?40,"Discharged: " S Y=+DGDC I Y X ^DD("DD") W Y
 I $P(DGAD,"^",18)=9 W !,"Transferred in From ",$S($D(^DIC(4,+$P(DGAD,"^",5),0)):$P(^(0),"^",1),1:"")
 S DGPTF=$P(DGAD,"^",16) I 'DGPTF!('$D(^DGPT(+DGPTF,0))) W !,"No PTF Record Exists" Q
 D EFFDATE^DGPTIC10(DGPTF)
 I '$D(^DGP(45.84,DGPTF)) W !,"PTF Record not closed",!
 K ^UTILITY("DG") F I=0:0 S I=$O(^DGPT(DGPTF,"M",I)) Q:'I  S J=^(I,0) S:$P(J,"^",2) ^UTILITY("DG",$J,"M",+$P(J,"^",10))=J
 F I=0:0 S I=$O(^DGPT(DGPTF,"S",I)) Q:'I  D HEAD:$Y>(IOSL-5) Q:'DGFL  S J=^DGPT(DGPTF,"S",I,0),^UTILITY("DG",$J,"S",+J)=J
 Q:'DGFL  I $O(^UTILITY("DG",$J,"M",0)) D
 . W !!,"DATE",?22,"LOS BEDSECTION",?39,"LOS",?45,"DIAGNOSES",$$GETLABEL^DGPTIC10(EFFDATE,"D"),!,"----",?22,"---------------",?39,"----  --------------------"
 N DGDAT,DXD
 S DGDAT=$P(^DGPT(DGPTF,0),"^",2)
 S DGPR=DGAD F I=0:0 S I=$O(^UTILITY("DG",$J,"M",I)) Q:'I  S J=^(I) D HEAD:$Y>(IOSL-5) Q:'DGFL  S (DGDAT,Y)=I X ^DD("DD") D LOL W !,Y,?22,$E($S($D(^DIC(42.4,+$P(J,"^",2),0)):$P(^(0),"^",1),1:""),1,16),?39,$J(DGLOL,4) D DIAG S DGPR=I
 Q:'DGFL  S DGPMIFN=DGCA
 D ^DGPMLOS W !?39,"----  ----------",!?26,"TOTAL LOS:",?39,$J(+$P(X,"^",5),4)
 S DXD=+$S($D(^DGPT(DGPTF,70)):$P(^(70),"^",10),1:0),DXD=$S(+DXD:$$ICDDATA^ICDXCODE("DIAG",DXD,EFFDATE),1:"")
 W ?45,$S(+DXD>0:"DXLS: "_$P(DXD,"^",2)_" ("_$P(DXD,"^",4)_")",1:"")
 Q:'$O(^UTILITY("DG",$J,"S",0))  D HEAD:$Y>(IOSL-10) Q:'DGFL  D
 . W !!,"SURGERY DATE",?22,"SPECIALTY",?45,"OP CODES",$$GETLABEL^DGPTIC10(EFFDATE,"P"),!,"------------",?22,"----------",?44,"--------------------"
 F I=0:0 S I=$O(^UTILITY("DG",$J,"S",I)) Q:'I  S J=^(I),(DGDAT,Y)=I X ^DD("DD") W !,Y,?22,$E($S($D(^DIC(45.3,+$P(J,"^",3),0)):$P(^(0),"^",2),1:""),1,16) D OP
 Q
DIAG ;
 S M=0 F K=5:1:15 I K'=10 S L=$P(J,"^",K) I L D
 . S DXD=$$ICDDATA^ICDXCODE("DIAG",+L,EFFDATE)
 . W:M ! W ?45,$S(+DXD>0:$P(DXD,"^",2)_" ("_$P(DXD,"^",4)_")",1:"") S M=1
 Q
OP ;
 S M=0 F K=8:1:12 S L=$P(J,"^",K) I L D
 . S DXD=$$ICDDATA^ICDXCODE("PROC",+L,EFFDATE)
 . W:M ! W ?45,$S(+DXD>0:$P(DXD,"^",2)_" ("_$P(DXD,"^",5)_")",1:"") S M=1
 Q
LOL S X1=I,X2=DGPR D DTC S DGLOL=X
 F K=DGPR+.0000005:0 S K=$O(^DGPM("APCA",DFN,DGCA,K)) Q:'K!(K>I)  S C=$O(^(+K,0)) I $D(^DGPM(+C,0)),"^2^3^13^43^44^45^"[("^"_$P(^(0),"^",18)_"^") S X1=$O(^DGPM("APCA",DFN,DGCA,K)),X1=$S('X1:I,X1>I:I,1:X1),X2=K D DTC S DGLOL=DGLOL-X
 Q
 W @IOF,!,"THIRD PARTY REIMBURSEMENT",?49,"PRINTED:  ",DGNOW
 W !,"("_$P(^DPT(DFN,0),"^",1)_")",!
 Q
INS2 ;insurance data continued
 N X
 I $P(DGIBINS(I,9),U,2)="NO" S DGINS=1
 S X=DGIBINS(I,11) W:X]"" ?63,$$FMTE^XLFDT(X,"2D")
 S X=$P(DGIBINS(I,12),U) W ?73,$S(X="P":"VETERAN",X="S":"SPOUSE",X="O":"OTHER",1:"UNKNOWN")
 Q
DTC N I,J,K,L,M,Y D ^%DTC Q