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

AGCAT.m

Go to the documentation of this file.
  1. AGCAT ;IHS/SD/EFG - WORK WITH CATEGORY PRIORITIZING ; MAR 19, 2010
  1. ;;7.1;PATIENT REGISTRATION;**1,2,7**;AUG 25, 2005
  1. ;THIS ROUTINE WAS CREATED TO REMOVE THESE SUBROUTINES
  1. ;FROM ^AGED4A DUE TO ROUTINE SIZE RESTRICTIONS
  1. Q
  1. BLDAGCAT ;EP - LOAD ARRAY "AGCAT" WITH SEQUENCED INSURERS
  1. K AGCAT(CATPTR,SEQEFDT)
  1. N AGSEL,AGI,AGC,INS,COV,RECPTR,EBEG,EEND,PHOLDER,POLNUM,ST,STPTR,PLANPTR
  1. S AGSEL=0
  1. S AGI=""
  1. F AGC=1:1 S AGI=$P(PRSEQ,",",AGC) Q:AGI="" D
  1. . S AGSEL=AGSEL+1
  1. . S INS=$P(AGINS(AGI),U,2)
  1. . S COV=$P(AGINS(AGI),U,4)
  1. . S EBEG=$P(AGINS(AGI),U,5)
  1. . S EEND=$P(AGINS(AGI),U,6)
  1. . S PHPTR=$P(AGINS(AGI),U,7)
  1. . S POLNUM=$P(AGINS(AGI),U,9)
  1. . S RECPTR=$P(AGINS(AGI),U,11)
  1. . S PLANPTR=$P(AGINS(AGI),U,12)
  1. . ;S AGCAT(CATPTR,SEQEFDT,AGSEL)=INS_"^"_COV_"^"_EBEG_"^"_EEND_"^"_PHPTR_"^"_POLNUM_"^"_SEQEFDT_"^"_PLANPTR_U_RECPTR
  1. . S USER=DUZ
  1. . S AGCAT(CATPTR,SEQEFDT,AGSEL)=INS_"^"_COV_"^"_EBEG_"^"_EEND_"^"_PHPTR_"^"_POLNUM_"^"_SEQEFDT_"^"_PLANPTR_"^"_USER_"^"_DT_U_RECPTR
  1. ;"^"_USER_"^"_ENTDAT_U_RECPTR
  1. I $D(^AUPNICP("EFF2",DFN,SEQEFDT,CATPTR)) D DELICP
  1. Q
  1. LOADICP ;EP - LOAD THE CATEGORY PRIORITIZING GLOBAL WITH WHAT
  1. ;THE USER CATEGORIZED AND SEQUENCED IN ARRAY "AGCAT"
  1. N AGA,AGDT,AGB,CATREC,EFFDT,PATIEN,X
  1. N INS,COV,EBEG,EEND,PHOLDER,POLNUM,ST,PLANPTR
  1. S AGA=""
  1. F S AGA=$O(AGCAT(AGA)) Q:AGA="" D ; AGA = CATEGORY
  1. . S AGDT=""
  1. . F S AGDT=$O(AGCAT(AGA,AGDT)) Q:AGDT="" D ; AGDT = PRIORITY EFF DT
  1. .. I '$D(^AUPNICP("EFF2",DFN,AGDT,AGA)) D
  1. ... S AGB=0
  1. ... F S AGB=$O(AGCAT(AGA,AGDT,AGB)) Q:'AGB D ; AGB = SEQUENCE
  1. .... S CATREC=$G(AGCAT(AGA,AGDT,AGB))
  1. .... ; ADD NEW RECORD TO AUPNICP
  1. .... S INS=$P(CATREC,U)
  1. .... S COV=$P(CATREC,U,2)
  1. .... S EBEG=$P(CATREC,U,3)
  1. .... S EEND=$P(CATREC,U,4)
  1. .... S PHOLDER=$P(CATREC,U,5)
  1. .... S POLNUM=$P(CATREC,U,6)
  1. .... S EFFDT=$P(CATREC,U,7)
  1. .... S PLANPTR=$P(CATREC,U,8)
  1. .... ;S RECPTR=$P(CATREC,U,9)
  1. .... S RECPTR=$P(CATREC,U,11)
  1. .... S USER=DUZ
  1. .... S PATIEN=DFN
  1. .... S DIC="^AUPNICP("
  1. .... S DIC(0)="L"
  1. .... S DLAYGO=9000035
  1. .... S DIC("DR")=".02////^S X=PATIEN"
  1. .... S DIC("DR")=DIC("DR")_";.03////^S X=INS"
  1. .... S DIC("DR")=DIC("DR")_";.04////^S X=AGA"
  1. .... S DIC("DR")=DIC("DR")_";.05///^S X=AGB"
  1. .... S DIC("DR")=DIC("DR")_";.06////^S X=EFFDT"
  1. .... S DIC("DR")=DIC("DR")_";.07///^S X=COV"
  1. .... S DIC("DR")=DIC("DR")_";.08////^S X=EBEG"
  1. .... S DIC("DR")=DIC("DR")_";.09////^S X=EEND"
  1. .... S DIC("DR")=DIC("DR")_";.11///^S X=POLNUM"
  1. .... S DIC("DR")=DIC("DR")_";.12////^S X=PLANPTR"
  1. .... S DIC("DR")=DIC("DR")_";.13///^S X=PHOLDER"
  1. .... ;S DIC("DR")=DIC("DR")_";.14///^S X=USER"
  1. .... S DIC("DR")=DIC("DR")_";.14////"_DUZ ;AG*7.1*1 IM18549;IM8663
  1. .... S DIC("DR")=DIC("DR")_";.15///^S X=RECPTR"
  1. .... W "."
  1. .... H 1 ;ED EXPLAINED THIS WAS IN HERE TO MAKE SURE EACH .01 ENTRY WAS A
  1. .... ;DATE TIME STAMP. HE WAS NOT SURE WHETHER IT WAS FOR FUTURE USE AND API OR
  1. .... ;OR AN IMMEDIATE NEED.
  1. .... D NOW^%DTC
  1. .... S X=%
  1. .... K DD,DO,DINUM
  1. .... D FILE^DICN
  1. .... K DIC
  1. Q
  1. DELICP ;DELETE RE-CATEGORIZED RECORDS IN "^AUPNICP" BASED ON ARRAY "AGCAT"
  1. N AGB,DA
  1. S AGB=0
  1. F S AGB=$O(^AUPNICP("EFF2",DFN,SEQEFDT,CATPTR,AGB)) Q:'AGB D
  1. . S DA=AGB
  1. . S DIK="^AUPNICP("
  1. . D ^DIK
  1. Q
  1. LOADCAT ;EP - FIND PATIENT'S RECORDS IN CATEGORY PRIORITIZING GLOBAL (AUPNICP)
  1. ;AND LOAD INTO ARRAY "AGCAT"
  1. N CPTR,SQDT,RECNO,RECORD,SEQEFDT,AGSEL,RECPTR
  1. N ST,INS,COV,EBEG,EEND,PHOLDER,POLNUM,PLANPTR
  1. K AGCAT ;IHS/SD/TPF 5/1/2006 AG*7.1*2 IM20494
  1. S CPTR=""
  1. F S CPTR=$O(^AUPNICP("EFF",DFN,CPTR)) Q:CPTR="" D
  1. . S SQDT=""
  1. . F S SQDT=$O(^AUPNICP("EFF",DFN,CPTR,SQDT)) Q:'SQDT D
  1. .. S RECNO=0
  1. .. F S RECNO=$O(^AUPNICP("EFF",DFN,CPTR,SQDT,RECNO)) Q:'RECNO D
  1. ... S RECORD=$G(^AUPNICP(RECNO,0))
  1. ... S ENTDAT=$P(RECORD,U)
  1. ... S SEQEFDT=$P(RECORD,U,6)
  1. ... I $P(RECORD,U,7)="",$P(RECORD,U,8)="",$P(RECORD,U,9)="",$P(RECORD,U,10)="",$P(RECORD,U,11)="",$P(RECORD,U,12)="" D
  1. .... S AGFRMSG2=$S(CPTR="D":"DENTAL COVERAGE",CPTR="O":"OPTOMETRY COVERAGE",CPTR="R":"PHARMACY COVERAGE",CPTR="P":"MENTAL HEALTH COVERAGE",CPTR="A":"AUTO ACCIDENT/TORT COVERAGE",CPTR="W":"WORKMAN'S COMP COVERAGE",1:"MEDICAL COVERAGE")
  1. .... S AGFRMMSG=$E(SQDT,4,5)_"/"_$E(SQDT,6,7)_"/"_($E(SQDT,1,3)+1700)
  1. .... S INSPTR=$P(RECORD,U,3)
  1. .... S AGREC=0
  1. .... F S AGREC=$O(AGINS(AGREC)) Q:'AGREC D
  1. ..... S AGINSREC=$G(AGINS(AGREC))
  1. ..... I $P(AGINSREC,U,2)=INSPTR D
  1. ...... S INS=$P(AGINSREC,U,2)
  1. ...... S COV=$P(AGINSREC,U,4)
  1. ...... S EBEG=$P(AGINSREC,U,5)
  1. ...... S EEND=$P(AGINSREC,U,6)
  1. ...... S PHOLDER=$P(AGINSREC,U,7)
  1. ...... S POLNUM=$P(AGINSREC,U,9)
  1. ...... S PLANPTR=$P(AGINSREC,U,12)
  1. ...... S USER=$P(AGINSREC,U,13)
  1. ...... S RECPTR=$P(AGINSREC,U,14)
  1. ...... S AGCAT(CPTR,SEQEFDT,$P(RECORD,U,5))=INS_"^"_COV_"^"_EBEG_"^"_EEND_"^"_PHOLDER_"^"_POLNUM_"^"_SEQEFDT_"^"_PLANPTR_"^"_USER_"^"_ENTDAT_U_RECPTR
  1. ... E D
  1. .... ;S CPTR=$P(RECORD,U,4) ;IHS/SD/AR AG*7.1*7 3/15/2010
  1. .... S AGSEL=$P(RECORD,U,5)
  1. .... ;I $P(RECORD,U,3)'="" S INS=$P(RECORD,U,3)
  1. .... ;I $P(RECORD,U,3)="" S INS=3
  1. .... S INS=$P(RECORD,U,3) ;IHS/SD/TPF AG*7.1*1 9/6/2005
  1. .... ;S INS="" ;TESTING TPF
  1. .... S COV=$P(RECORD,U,7)
  1. .... S EBEG=$P(RECORD,U,8)
  1. .... S EEND=$P(RECORD,U,9)
  1. .... S PHOLDER=$P(RECORD,U,12)
  1. .... S POLNUM=$P(RECORD,U,10)
  1. .... S PLANPTR=$P(RECORD,U,11)
  1. .... S USER=$P(RECORD,U,13)
  1. .... S RECPTR=$P(RECORD,U,14)
  1. .... S AGCAT(CPTR,SEQEFDT,AGSEL)=INS_"^"_COV_"^"_EBEG_"^"_EEND_"^"_PHOLDER_"^"_POLNUM_"^"_SEQEFDT_"^"_PLANPTR_"^"_USER_"^"_ENTDAT_U_RECPTR
  1. Q