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

ABMMRS.m

Go to the documentation of this file.
  1. ABMMRS ; IHS/ASDST/DMJ - NEW PROGRAM ;
  1. ;;2.4;IHS 3P BILLING SYSTEM;;APR 14, 2000
  1. ;IHS/DSD/MRS
  1. INIT S SITE=0,BDFN="",U="^"
  1. K ^ABMMRS
  1. F S SITE=$O(^ABMDBILL(SITE)) Q:'SITE D
  1. .S BDFN=0 F S BDFN=$O(^ABMDBILL(SITE,BDFN)) Q:'BDFN D
  1. ..I '$D(^ABMDBILL(SITE,BDFN,0)) Q
  1. ..S STR1=^ABMDBILL(SITE,BDFN,0)
  1. ..S BSTAT=$P(STR1,U,4),PDFN=$P(STR1,U,5),BTYP=$P(STR1,U,2)
  1. ..S PAT=PDFN I PDFN="" S PDFN="NULL"
  1. ..D GETPAT
  1. ..S BILL=$P(STR1,U,1),CLAIM=+BILL,IIEN=$P(STR1,U,8)
  1. ..D GETINS
  1. ..D SET
  1. ..D CKCL
  1. S N=0,X="" F S X=$O(^ABMMRS(X)) Q:X="" S N=N+1
  1. S ^ABMMRS=N
  1. D KILL
  1. Q
  1. SET ;
  1. S STR2=BILL_U_BTYP_U_VLOC_U_STAT_U_PAT_U_MODE_U_VTYP_U_IIEN_U_CODE
  1. S STR=STR1_"***"_STR2_U_CLINIC_U_VIEN
  1. S ^ABMMRS(CLAIM,BDFN,"BILL",PDFN,SITE)=STR
  1. I PDFN="NULL" S ^ABMMRS(CLAIM,"NULL")=STR
  1. S ^ABMMRS(CLAIM)=$G(^ABMMRS(CLAIM))+1
  1. Q
  1. GETPAT ; Get info from visit file
  1. S (CLINIC,STAT,VLOC)=""
  1. S VIEN=$P($G(^ABMDBILL(SITE,BDFN,11,0)),U,3)
  1. I VIEN'="" D
  1. .S TMP=$G(^AUPNVSIT(VIEN,0))
  1. .S PAT=$P(TMP,U,5),CLINIC=$P(TMP,U,8),STAT=$P(TMP,U,4),VLOC=$P(TMP,U,6)
  1. I STAT="" S STAT=BSTAT
  1. I VLOC="" S VLOC=SITE
  1. I PAT="" S PAT="NULL"
  1. Q
  1. GETINS ; Get more info from insurance file
  1. S (VTYP,CODE,MODE)=""
  1. I $D(^ABMDBILL(SITE,BDFN,13,"C",1)) S INX="" D
  1. .S INX=$O(^ABMDBILL(SITE,BDFN,13,"C",1,""))
  1. .I INX="" Q
  1. .S IIEN=$P(^ABMDBILL(SITE,BDFN,13,INX,0),U,1)
  1. Q:IIEN=""!(BTYP="")
  1. S TMP=$G(^ABMNINS(SITE,IIEN,1,BTYP,0))
  1. S VTYP=$P(TMP,U,1),CODE=$P(TMP,U,2),MODE=$P(TMP,U,4)
  1. Q
  1. CKCL S CSITE=0
  1. F S CSITE=$O(^ABMDCLM(CSITE)) Q:'CSITE D
  1. .I '$D(^ABMDCLM(CSITE,CLAIM,0)) Q
  1. .S CSTR=^ABMDCLM(CSITE,CLAIM,0),CPDFN=$P(CSTR,U,1)
  1. .I CPDFN="" S CPDFN="NULL"
  1. .I CPDFN="NULL" S ^ABMMRS(CLAIM,BDFN,"NULL",CPDFN,CSITE)=CSTR
  1. .S ^ABMMRS(CLAIM,BDFN,"CLAIM",CPDFN,CSITE)=CSTR
  1. .S ^ABMMRS(CLAIM)=^ABMMRS(CLAIM)+1
  1. Q
  1. KILL S CLAIM=""
  1. F S CLAIM=$O(^ABMMRS(CLAIM)) Q:CLAIM="" D
  1. .I '$D(^ABMMRS(CLAIM,"NULL")) K ^ABMMRS(CLAIM) Q
  1. .K ^ABMMRS(CLAIM,"NULL")
  1. S N=0,X="" F S X=$O(^ABMMRS(X)) Q:X="" S N=N+1
  1. S ^ABMMRS=^ABMMRS_"^"_N
  1. Q