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

DBTSDEMO.m

Go to the documentation of this file.
  1. DBTSDEMO ;BAO/DMH pull patient demo [ 04/30/1999 5:29 PM ]
  1. ;
  1. ;
  1. DEMO(DBTSRET,DBTSP) ;dbtsret is return value, dbtsp input value of patient ien
  1. ;
  1. ;
  1. TEST ;
  1. ;S DBTSP=299
  1. ;
  1. D ^XBKVAR
  1. I DUZ(2)=4526 S DUZ(2)=2348
  1. S DBTS("LOC")=$P($G(^AUTTLOC(DUZ(2),0)),"^",10)
  1. I DBTS("LOC")="" S DBTSRET(1)="-1" Q
  1. S DBTS("FN")=2
  1. S DBTS("IEN")=DBTSP
  1. S DBTS("ID")=DBTS("LOC")_"|"_DBTS("FN")_"|"_DBTS("IEN")
  1. S DBTS("CN")=$P($G(^AUPNPAT(DBTSP,41,DUZ(2),0)),"^",2)
  1. S DPT=^DPT(DBTSP,0)
  1. S DBTS("SSN")=$P(DPT,"^",9) I DBTS("SSN")'="" S DBTS("SSN")=$E(DBTS("SSN"),1,3)_"-"_$E(DBTS("SSN"),4,5)_"-"_$E(DBTS("SSN"),6,9)
  1. S NAME=$P(DPT,"^",1)
  1. S DBTS("LN")=$P(NAME,",",1)
  1. S DBTS("FN")=$P(NAME,",",2) S DBTS("FN")=$P(DBTS("FN")," ",1)
  1. S DBTS("IN")=$P(NAME," ",2) I DBTS("IN")'="" S DBTS("IN")=$E(DBTS("IN"),1,1)
  1. S DBTS("DT")=$P(DPT,"^",3) D DT S DBTS("DOB")=DBTS("DT")
  1. I $D(^DPT(DBTSP,.35)) S DBTS("DT")=$P(^(.35),"^",1) D:DBTS("DT")'="" DT S DBTS("DOD")=DBTS("DT")
  1. E S DBTS("DOD")=""
  1. D ONAME
  1. ;S DBTS("DOB")=$E(DOB,4,5)_"/"_$E(DOB,6,7)_"/"_(1700+$E(DOB,1,3))
  1. S SEX=$P(DPT,"^",2) S DBTS("SEX")=$S(SEX="M":1,SEX="F":2,1:"")
  1. S DPT(.11)=$G(^DPT(DBTSP,.11))
  1. S DBTS("ADD1")=$P(DPT(.11),"^",1)
  1. S DBTS("ADD2")=$P(DPT(.11),"^",2)
  1. S DBTS("CITY")=$P(DPT(.11),"^",4)
  1. S DBTS("ST")=$P(DPT(.11),"^",5) I DBTS("ST")'="" S DBTS("ST")=$P(^DIC(5,DBTS("ST"),0),"^",2)
  1. S DBTS("ZIP")=$P(DPT(.11),"^",6)
  1. S DBTS("PH")=$P($G(^DPT(DBTSP,.13)),"^",1) ;I DBTS("PH")?.E1A.E S DBTS("PH")=""
  1. I DBTS("PH")'="" D PHONE I DBTS("PH")'?3N1"-"3N1"-"4N S DBTS("PH")=""
  1. ;
  1. D MODCK ;check to see if add or update
  1. I DBTS("OK")="N" S DBTSRET(1)="-2" Q
  1. ;
  1. S DBTSRET(1)=DBTS("ID")_U_DBTS("LOC")_U_DBTS("AU")_U_DBTS("CN")_U_DBTS("SSN")_U_DBTS("FN")_U_DBTS("LN")_U_DBTS("IN")_U_DBTS("ADD1")_U
  1. S DBTSRET(1)=DBTSRET(1)_DBTS("ADD2")_U_DBTS("CITY")_U_DBTS("ST")_U_DBTS("ZIP")_U_DBTS("PH")_U_DBTS("DOB")_U_DBTS("SEX")_U_DBTS("ONAME")_U_DBTS("DOD")
  1. D LOG
  1. Q
  1. DT ;
  1. I DBTS("DT")="" S DBTS("DT")="01/01/9999" Q
  1. S MO=$E(DBTS("DT"),4,5)
  1. I MO>12 S MO=12
  1. I +MO<1 S MO="01"
  1. S DA=$E(DBTS("DT"),6,7)
  1. I DA>31 S DA=15
  1. I +DA<1 S DA="01"
  1. S YR=$E(DBTS("DT"),1,3)
  1. I +YR<100 S YR=100
  1. S YR=1700+YR
  1. S DBTS("DT")=MO_"/"_DA_"/"_YR
  1. Q
  1. ONAME ;other name check
  1. S DBTS("ONAME")=""
  1. Q:'$D(^DPT(DBTSP,.01))
  1. S ONAME=0
  1. F S ONAME=$O(^DPT(DBTSP,.01,ONAME)) Q:+ONAME=0 D
  1. .S DBTS("ONAME")=$P($G(^DPT(DBTSP,.01,ONAME,0)),"^",1)
  1. .Q
  1. Q
  1. LOG ; update the patient log for the type of lab test
  1. I '$D(DT) D ^XBKVAR
  1. I '$D(^DBTSPAT(DBTSP)) D
  1. .K ^DBTSPAT("B",DBTSP) ;just in case still exists from testing
  1. .S X=DBTSP,DINUM=X,DIC(0)="XNL",DIC="^DBTSPAT(" D FILE^DICN
  1. S $P(^DBTSPAT(DBTSP,0),"^",2)=DT
  1. Q
  1. MODCK ;
  1. S DBTS("OK")="Y"
  1. S DBTS("AU")="A"
  1. I $P($G(^DBTSPAT(DBTSP,0)),"^",2)="" Q
  1. S DBTS("PATLM")=$P($G(^AUPNPAT(DBTSP,0)),"^",3)
  1. S DBTS("LDT")=$P($G(^DBTSPAT(DBTSP,0)),"^",2)
  1. I (DBTS("LDT")'>DBTS("PATLM")) S DBTS("AU")="U" Q
  1. S DBTS("OK")="N"
  1. Q
  1. PHONE ;
  1. I DBTS("PH")["(" S DBTS("PH")=$TR(DBTS("PH"),"(","")
  1. I DBTS("PH")[")" S DBTS("PH")=$TR(DBTS("PH"),")","")
  1. I DUZ(2)=2336 S AREA=307
  1. E S AREA=406
  1. I DBTS("PH")?3N1"-"4N S DBTS("PH")=AREA_"-"_DBTS("PH") Q
  1. I DBTS("PH")?7N S DBTS("PH")=AREA_"-"_$E(DBTS("PH"),1,3)_"-"_$E(DBTS("PH"),4,7) Q
  1. I DBTS("PH")?10N S DBTS("PH")=$E(DBTS("PH"),1,3)_"-"_$E(DBTS("PH"),4,6)_"-"_$E(DBTS("PH"),7,10) Q
  1. I DBTS("PH")?6N1"-"4N S DBTS("PH")=$E(DBTS("PH"),1,3)_"-"_$E(DBTS("PH"),4,6)_"-"_$P(DBTS("PH"),"-",2) Q
  1. I DBTS("PH")?3N1"-"3N1"-"4N Q
  1. S DBTS("PH")=""
  1. Q