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