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

IBOVOP1.m

Go to the documentation of this file.
  1. IBOVOP1 ;ALB/RLW - Report of Visits for NSC Outpatients ; 12-JUN-92
  1. ;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94
  1. MAIN ; perform report for day(s)
  1. D HDR^IBOVOP2
  1. I $$STOP^IBOUTL("Outpatient/Registration Events Report") S IBQUIT=1 G END
  1. D APPT,STOPCD,REGS,PRINT^IBOVOP2
  1. END K DFN,^TMP("IBOVOP",$J),IBAPPT,IBJ,IB
  1. Q
  1. ;
  1. APPT ; scan visits for NSC patients
  1. ; field 2="CLINIC APPT"
  1. ; field 4=clinic
  1. ; field 5=appt type
  1. ; field 6=status
  1. S IBCL="",IBSEQ=0
  1. F S IBCL=$O(^SC("AC","C",IBCL)) Q:IBCL="" S IBFLD4=$P($G(^SC(IBCL,0)),"^") I IBFLD4]"" S:+$G(^("AT"))=6 IBFLD4=$E(IBFLD4,1,13)_" [R]" D
  1. .S IBJ=IBDATE F S IBJ=$O(^SC(IBCL,"S",IBJ)) Q:$E(IBJ,1,7)'=IBDATE D
  1. ..S IBIEN=0 F S IBIEN=$O(^SC(IBCL,"S",IBJ,1,IBIEN)) Q:IBIEN="" S DFN=+$G(^(IBIEN,0)) D
  1. ...Q:'$$BIL^DGMTUB(DFN,IBJ)
  1. ...Q:'$D(^DPT(DFN,"S",IBJ,0)) S IBSDATA=^(0)
  1. ...S ^TMP("IBOVOP",$J,$$FLD1(DFN),"CLINIC APPT",$$FLD3(IBJ),IBSEQ)=$E(IBFLD4,1,17)_"^"_$$FLD5($P(IBSDATA,"^",16))_"^"_$E($P($$STATUS^SDAM1(DFN,IBJ,IBCL,IBSDATA),";",3),1,17)_"^"_DFN_"^"_+$P(IBSDATA,"^",20)
  1. Q
  1. ;
  1. STOPCD ; scan ADD/EDIT STOP CODES for day
  1. ; field 2="STOP CODE"
  1. ; field 4=stop code
  1. ; field 5=appt type
  1. S IBJ=IBDATE,IBSEQ=0
  1. F S IBJ=$O(^SDV(IBJ)) Q:$E(IBJ,1,7)'=IBDATE S DFN=+$P($G(^SDV(IBJ,0)),"^",2) I $$BIL^DGMTUB(DFN,IBJ) D
  1. .S IB="" F S IB=$O(^SDV(IBJ,"CS","B",IB)) Q:IB="" S I=$O(^(IB,0)) Q:I="" D:I
  1. ..S IBDATA=$G(^SDV(IBJ,"CS",I,0)) Q:'IBDATA
  1. ..S ^TMP("IBOVOP",$J,$$FLD1(DFN),"STOP CODE",$$FLD3(IBJ),IBSEQ)=$E($P($G(^DIC(40.7,+IBDATA,0)),"^"),1,16)_"^"_$$FLD5($P(IBDATA,"^",5))_"^^"_DFN_"^"_+$P(IBDATA,"^",8),IBSEQ=IBSEQ+1
  1. Q
  1. ;
  1. REGS ; registrations for day
  1. S IBJ=IBDATE F S IBJ=$O(^DPT("ADIS",IBJ)) Q:$E(IBJ,1,7)'=IBDATE D
  1. .S DFN="" F S DFN=$O(^DPT("ADIS",IBJ,DFN)) Q:DFN="" D
  1. ..S IBAIEN=$O(^DPT("ADIS",IBJ,DFN,0)) Q:IBAIEN=""
  1. ..S IBDATA=$G(^DPT(DFN,"DIS",IBAIEN,0)) Q:$P(IBDATA,"^",2)=2!('$$BIL^DGMTUB(DFN,$P(IBDATA,"^",6)))
  1. ..S Y=$P(IBDATA,"^",3) I Y'="" S C=$P(^DD(2.101,2,0),"^",2) D Y^DIQ
  1. ..S IBFLD4=Y
  1. ..S Y=$P(IBDATA,"^",7) I Y'="" S C=$P(^DD(2.101,6,0),"^",2) D Y^DIQ
  1. ..S ^TMP("IBOVOP",$J,$$FLD1(DFN),"REGISTRATION",$$FLD3(IBJ),IBSEQ)=$E(IBFLD4,1,16)_"^"_$E(Y,1,30)_"^^"_DFN_"^"_+$P(IBDATA,"^",18)
  1. Q
  1. ;
  1. FLD1(DFN) ; get patient name, l-4 ssn id, classification, insured?
  1. I '$G(DFN) Q ""
  1. N IBX,IBY,IBZ S IBX=$$PT^IBEFUNC(DFN),IBZ=""
  1. D CL^SDCO21(DFN,IBDATE,"",.IBY)
  1. I $D(IBY(1)) S IBZ="AO"
  1. I $D(IBY(2)) S IBZ=IBZ_$S(IBZ]"":"/",1:"")_"IR"
  1. I $D(IBY(4)) S IBZ=IBZ_$S(IBZ]"":"/",1:"")_"EC"
  1. Q $E($P(IBX,"^"),1,20)_" "_$E(IBX)_$P(IBX,"^",3)_$S(IBZ]"":" ["_IBZ_"]",1:"")_$S($$INSURED^IBCNS1(DFN,IBDATE):" **Insured**",1:"")
  1. ;
  1. FLD3(Y) ; time - convert date/time to time only, no seconds
  1. I '$G(Y) Q ""
  1. X ^DD("DD") Q $P($P(Y,"@",2),":",1,2)
  1. ;
  1. FLD5(I) ; get appointment type name
  1. Q $E($P($G(^SD(409.1,+$G(I),0)),"^",1),1,17)