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

ASDAIU.m

Go to the documentation of this file.
  1. ASDAIU ; IHS/ADC/PDW/ENM - ADDRESS & INSURANCE UPDATE ; [ 03/25/1999 11:48 AM ]
  1. ;;5.0;IHS SCHEDULING;;MAR 25, 1999
  1. ;
  1. D SP Q:'$D(DFN)
  1. D DEV I POP!($D(IO("Q"))) D END Q
  1. D SET,END Q
  1. ;
  1. SP ; -- select patient
  1. N DIC,Y,X S DIC="^DPT(",DIC(0)="AEQMZ"
  1. D ^DIC K DIC Q:Y'>0 S DFN=+Y Q
  1. ;
  1. DEV ; select device
  1. K IOP,POP S %ZIS="PQ" D ^%ZIS Q:POP D QUE:$D(IO("Q")) Q
  1. ;
  1. QUE ; -- queued output
  1. S ZTRTN="SET^ASDAIU",ZTDESC="ADDRESS/INSURANCE FORM",ZTSAVE("DFN")=""
  1. D ^%ZTLOAD Q
  1. ;
  1. SET ;EP; called by ZTLOAD and by RS/HS prints
  1. NEW SDDPTN0,SSN,SDELIG,SDDPTN13,NAME,HRCN,DOB,ADDR,SITE,Y
  1. S SDDPTN0=^DPT(DFN,0),SSN=$P(SDDPTN0,U,9),NAME=$P(SDDPTN0,U)
  1. S PNODE=^AUPNPAT(DFN,0)
  1. D EMPY,SEMPY
  1. S FMBIRTH=$G(^AUPNPAT(DFN,26)) D PARENT
  1. S PBIRTH=$P(SDDPTN0,U,11)
  1. S SDELIG=$S($P($G(^AUPNPAT(DFN,11)),U,12)]"":$P($G(^(11)),U,12),1:"")
  1. S SDDPTN13=$G(^DPT(DFN,.13)),SITE=$P(^DIC(4,DUZ(2),0),U)
  1. S ADDR=$G(^DPT(DFN,.11)),HRCN=$$HRCN^ASDUT
  1. S EPHONE=$P($G(^DPT(DFN,.311)),U,9)
  1. S SPHONE=$P($G(^DPT(DFN,.25)),U,8)
  1. S MNAME=$P($G(^DPT(DFN,.24)),U,3),FNAME=$P($G(^DPT(DFN,.24)),U)
  1. S NKNODE=$G(^DPT(DFN,.21)),NKNAME=$P(NKNODE,U),NKREL=$P(NKNODE,U,2)
  1. S NKPHONE=$P(NKNODE,U,9),NKADD=$P(NKNODE,U,3),NKCITY=$P(NKNODE,U,6)
  1. S NKSTP=$P(NKNODE,U,7),NKST=$P($G(^DIC(5,+NKSTP,0)),U)
  1. S NKZIP=$P(NKNODE,U,8)
  1. S Y=$P(SDDPTN0,U,3) I Y X ^DD("DD") S DOB=Y
  1. ;
  1. BEGIN ;-- begin
  1. D DEM,TRIBE,PRVT,MCR,MCD,PRT2
  1. Q
  1. ;
  1. END ;-- kill variables
  1. D ^%ZISC
  1. END1 ;EP; called by ASDFORM
  1. K NKADD,NKCITY,NKNAME,NKNODE,NKPHONE,NKREL,NKST,NKSTP,NKZIP
  1. K PBIRTH,SEMPY,SPHONE,FSBIRTH,FCBIRTH,FMBIRTH,MSBIRTH,MCBIRTH
  1. K FSBIRTHP,MSBIRTHP,DFN,EMPY,EPHONE,FNAME,MNAME,PNODE,SEMPYP,AUPNDOB
  1. K AUPNDAYS,AUPNPAT,AUPNSEX,LL,SEX,SSN,POP,AUPNDOD,DOB,AGE
  1. Q
  1. ;
  1. DEM ;-- print demographics
  1. U IO
  1. W @IOF ;maw added form feed at print
  1. W !!,?80-$L(SITE)\2,SITE
  1. W !?16,$$CONF^ASDUT
  1. W !,?17,"*** PATIENT ADDRESS AND INSURANCE UPDATE ***"
  1. W !,?9,"*** PLEASE MAKE CORRECTIONS TO ANY INCORRECT INFORMATION ***"
  1. W !!,$E(NAME,1,27)
  1. ;-- searhc/maw start of mods 5/19
  1. W ?30,"HRCN: ",HRCN,?44,"DOB: ",DOB,?62,"AGE: ",$$AGE
  1. W !,"SSN: ",SSN
  1. ;W ?34,"HRCN: ",HRCN,?48,"DOB: ",DOB,?66,"SSN: ",SSN ;maw orig line
  1. ;-- searhc/maw end of mods 5/19
  1. I SDELIG["P" D
  1. . W !!,?3,"***** ELIGIBILITY PENDING - "
  1. . W "PLEASE SEND PATIENT TO ADMITTING *****"
  1. I ADDR="" D G EMPLY
  1. . W !,?3,"Please enter your address,work and phone number on "
  1. . W "the line below."
  1. . W !!,?3," " N X S $P(X,"_",75)="" W X K X
  1. W ! F LL=1,2,3 W:$P(ADDR,U,LL)]"" !,$P(ADDR,U,LL)
  1. W ?48,"Home: ",$P(SDDPTN13,U,1)
  1. W !,$P(ADDR,U,4),","
  1. W:$D(^DIC(5,+$P(ADDR,U,5),0)) $P(^(0),U,2)
  1. W " "_$P(ADDR,U,6),?48,"Birth Place: ",PBIRTH
  1. EMPLY W !!,?3,"Employer: ",EMPY,?48,"Work Phone: ",$P(SDDPTN13,U,2)
  1. W !,?3,"Spouse's Employer: ",SEMPY,?48,"Work Phone: ",SPHONE
  1. W !!,?3,"Father's Name: ",FNAME,?48,"Birthplace: ",FCBIRTH_" "_FSBIRTH
  1. W !,?3,"Mother's Name: ",MNAME,?48,"Birthplace: ",MCBIRTH_" "_MSBIRTH
  1. W !!,?3,"Emergency Contact: ",NKNAME
  1. W !,?3,"Relationship: ",NKREL,?48,"Phone No.: ",NKPHONE
  1. W !,?3,"Mailing Address: ",NKADD
  1. W !,?3,"City: ",NKCITY,?28,"State: ",NKST,?48,"Zip: ",NKZIP
  1. Q
  1. ;
  1. TRIBE ;
  1. S N=$G(^AUPNPAT(DFN,11)) W !!
  1. W !,"ELIGIBILITY: " ;maw added
  1. S ELG=$P(N,U,12) ;maw added
  1. W $S(ELG="I":"INELIGIBLE",ELG="C":"CHS & DIRECT",ELG="D":"DIRECT ONLY",ELG="P":"PENDING VERIFICATION",1:"") ;maw added
  1. W !,"TRIBE OF MEMBERSHIP/CORP. BLOOD QUANTUM TRIBE QUANTUM TRIBE"
  1. W !,"------------------------- ------------- ------------- -----"
  1. W !,$E($P($G(^AUTTTRI(+$P(N,U,8),0)),U),1,25)
  1. W ?29,$P(N,U,10),?45,$P(N,U,9)
  1. W ?60,$P($G(^AUTTTRI(+$P(N,U,27),0)),U),! K N
  1. Q
  1. ;
  1. PRVT1 ;print header for private insurance
  1. W !,?3,"INSURANCE COMPANY",?35,"POLICY #",?51,"ELIGIBILITY DATES",!
  1. N X,Y,Z S $P(X,"-",27)="",$P(Y,"-",12)="",$P(Z,"-",26)=""
  1. W ?3,X,?35,Y,?51,Z Q
  1. ;
  1. MCR1 ;print medicare header
  1. W !!,?3,"MEDICARE NUMBER",?21,"RELEASE DATE"
  1. W ?35,"MEDICARE ELIGIBILITY DATES/COVERAGE"
  1. N X,Y,Z S $P(X,"-",16)="",$P(Y,"-",12)="",$P(Z,"-",36)=""
  1. W !,?3,X,?21,Y,?35,Z Q
  1. ;
  1. MCD1 ;print medicaid header
  1. W !!,?3,"MEDICAID NUMBER",?35,"MEDICAID ELIGIBILITY DATES/COVERAGE"
  1. N X,Y S $P(X,"-",16)="",$P(Y,"-",36)="" W !,?3,X,?35,Y Q
  1. ;
  1. PRVT ;find private insurance
  1. NEW X,Y,X0,Y0
  1. I '$D(^AUPNPRVT(DFN)) D Q
  1. . W !," *** NO PRIVATE INSURANCE INFORMATION ON RECORD ***"
  1. D PRVT1 S X=0
  1. F S X=$O(^AUPNPRVT(DFN,11,X)) Q:'X D
  1. . Q:'$D(^AUPNPRVT(DFN,11,X,0)) S X0=^(0)
  1. . S Y=+X0 Q:'Y!('$D(^AUTNINS(+Y,0))) S Y0=^(0)
  1. . W !,?3,$P(Y0,U),?35,$P(X0,U,2)
  1. . I +$P(X0,U,6) D
  1. .. N Y S Y=$P(X0,U,6) X ^DD("DD") W ?51,Y," to "
  1. . I +$P(X0,U,7) D
  1. .. N Y S Y=$P(X0,U,7) X ^DD("DD") W ?66,Y
  1. Q
  1. ;
  1. MCR ;find medicare information
  1. N X,Y,X0,Y0
  1. I '$D(^AUPNMCR(DFN)) D Q
  1. . W !," *** NO MEDICARE INFORMATION ON RECORD ***"
  1. D MCR1 S X0=^AUPNMCR(DFN,0) D
  1. . S Y=$P(X0,U,3) Q:'Y W !,?3,Y ;medicare number
  1. . S Y=$P(X0,U,4) Q:'Y!('$D(^AUTTMCS(+Y,0))) S Y0=^(0) W ?14,Y0
  1. W ?21,$$VAL^XBDIQ1(9000001,DFN,.04)
  1. S X=0
  1. F S X=$O(^AUPNMCR(DFN,11,X)) Q:'X D
  1. . Q:'$D(^AUPNMCR(DFN,11,X,0)) S X0=^(0)
  1. . I $P(X0,U) D
  1. .. N Y S Y=$P(X0,U) X ^DD("DD") W ?35,Y," to "
  1. . I $P(X0,U,2) D
  1. .. N Y S Y=$P(X0,U,2) X ^DD("DD") W ?50,Y
  1. . I $P(X0,U,3)'="" D
  1. .. N Y S Y=$P(X0,U,3) W ?65,Y
  1. . W !
  1. Q
  1. ;
  1. MCD ;find medicaid information
  1. ;
  1. NEW X,Y,Z,X0,Y0,IFN
  1. I '$D(^AUPNMCD("B",DFN)) D Q
  1. . W !," *** NO MEDICAID INFORMATION ON RECORD ***"
  1. D MCD1 S IFN=0 F S IFN=$O(^AUPNMCD("B",DFN,IFN)) Q:IFN="" D
  1. . S X0=^AUPNMCD(IFN,0) D
  1. .. S Y=$P(X0,U,3) W !,?3,Y ;medicaid number
  1. .. S Y=$P(X0,U,4) Q:'Y!('$D(^DIC(5,+Y,0))) S Y0=$P(^(0),U,2) W ?14,Y0
  1. .. S Y=$S($P(X0,U,8):$P(X0,U,8),1:"") Q:'Y X ^DD("DD") S Z=Y
  1. . S X=0 F S X=$O(^AUPNMCD(IFN,11,X)) Q:'X D
  1. .. Q:'$D(^AUPNMCD(IFN,11,X,0)) S X0=^(0)
  1. .. I $P(X0,U) D
  1. ... N Y S Y=$P(X0,U) X ^DD("DD") W ?35,Y," to "
  1. .. I $P(X0,U,2) D
  1. ... N Y S Y=$P(X0,U,2) X ^DD("DD") W ?50,Y
  1. .. I $P(X0,U,3)'="" D
  1. ... N Y S Y=$P(X0,U,3) W ?65,Y
  1. I $G(Z) W !!,?3,"Medicaid date of last update: ",Z,!
  1. Q
  1. ;
  1. PRT2 ;print request for current information
  1. NEW X,Y
  1. W !!,?3,"Does this include Dental coverage? Yes___ No___"
  1. W !!,?3,"Is this a work related Injury? Yes___ No___",!
  1. W ?3,"Date of Injury: _______________________"
  1. W !!,?8,"We appreciate your cooperation and assistance in filling"
  1. W " out this form."
  1. W !,?3,"It is important that we keep our patient registration"
  1. W " files accurate so"
  1. W !,?3,"that we can provide a better service to you."
  1. W !!,?3,"The Business Office, ",SITE,?50,"Printed at "
  1. D TIME^ASDUT W " " D ^%D
  1. Q
  1. ;
  1. ;
  1. PARENT ; -- parents' birth info
  1. I FMBIRTH="" S (MCBIRTH,MSBIRTH,FCBIRTH,FSBIRTH)=" " Q
  1. S MCBIRTH=$P($G(FMBIRTH),U,5),MSBIRTHP=$P($G(FMBIRTH),U,6)
  1. S MSBIRTH=$P($G(^DIC(5,+MSBIRTHP,0)),U,2),FCBIRTH=$P($G(FMBIRTH),U,2)
  1. S FSBIRTHP=$P($G(FMBIRTH),U,3),FSBIRTH=$P($G(^DIC(5,+FSBIRTHP,0)),U,2)
  1. Q
  1. EMPY ; -- employer name
  1. S EMPY=$P($G(PNODE),U,19) I EMPY="" S EMPY="NONE" Q
  1. S EMPY=$P($G(^AUTNEMPL(EMPY,0)),U) Q
  1. ;
  1. SEMPY ; -- spouse employer
  1. N Y S SEMPYP=$P($G(PNODE),U,22) I SEMPYP="" S SEMPY="NONE" Q
  1. S SEMPY=$P($G(^AUTNEMPL(SEMPYP,0)),U)
  1. Q
  1. ;
  1. AGE() ; -- get the printable age
  1. N DA
  1. S DA=DFN
  1. ;S DR=1102.98,DIC=9000001 D ^AUDICLK ;IHS/DSD/ENM 01/22/99
  1. S DR=1102.98,DIC=9000001 D ^ASDZAGE ;IHS/DSD/ENM 01/22/99
  1. S AGE=$S($D(LKPRINT):LKPRINT,1:"")
  1. Q AGE
  1. ;