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

APCLAPI7.m

Go to the documentation of this file.
  1. APCLAPI7 ; IHS/CMI/LAB - visit data ; 15 Nov 2010 10:01 AM
  1. ;;2.0;IHS PCC SUITE;**5,7**;MAY 14, 2009
  1. ;IHS/TUCSON/LAB - added G parameter to provider call
  1. ;
  1. ;
  1. ;
  1. ;
  1. VR ;EP
  1. S APCLLAST=$P(Y,U,1)_"^"_$P($$CPT^ICPTCOD(Y),U,2)_" "_$$VAL^XBDIQ1(9000010.22,.01,X)_"^^"_$P(^AUPNVRAD(X,0),U,3)_"^9000010.22^"_X
  1. Q
  1. ;
  1. E ;
  1. I $P(APCLVAL,U,1)>$P(APCLLAST,U,1) S APCLLAST=APCLVAL
  1. Q
  1. LASTSMOK(APCLPDFN,APCLBD,APCLED,APCLFORM) ;PEP - date of last TOBACCO (SMOKING)
  1. ; Return the last recorded TOBACCO SMOKING SCREENING:
  1. ; - V Health Factor in Category TOBACCO (SMOKING)
  1. ; - V CPT [BGP SMOKING CPTS]
  1. ; - V POV [BGP GPRA SMOKING DXS]
  1. ; - V DENTAL ADA 1320
  1. ;
  1. ; Input:
  1. ; APCLPDFN - Patient DFN
  1. ; APCLBD - beginning date to begin search for value - if blank, default is DOB
  1. ; APCLED - ending date of search - if blank, default is DT
  1. ; APCLFORM - APCLFORM returned: D - return date only - example 3070801
  1. ; A - return value:
  1. ; date^text of item found^value if appropriate^visit ien^File found in^ien of file found in
  1. ;
  1. I $G(APCLPDFN)="" Q ""
  1. I $G(APCLBD)="" S APCLBD=$$DOB^AUPNPAT(APCLPDFN)
  1. I $G(APCLED)="" S APCLED=DT
  1. I $G(APCLFORM)="" S APCLFORM="D"
  1. NEW APCLLAST,APCLVAL,APCLX,R,X,Y,V,E
  1. S APCLLAST=""
  1. S APCLVAL=$$LASTHF^APCLAPIU(APCLPDFN,"TOBACCO (SMOKING)",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S R=$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD)
  1. S APCLVAL=$$LASTCPTT^APCLAPIU(APCLPDFN,R,APCLED,"APCL TOBACCO (SMOKING) CPTS","A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"1320","ADA",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"[BGP GPRA SMOKING DXS","DX",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. I APCLFORM="D" Q $P(APCLLAST,U)
  1. Q APCLLAST
  1. ;
  1. LASTSMLE(APCLPDFN,APCLBD,APCLED,APCLFORM) ;PEP - date of last TOBACCO (SMOKING)
  1. ; Return the last recorded TOBACCO SMOKING SCREENING:
  1. ; - V Health Factor in Category TOBACCO (SMOKLESS - CHEWING/DIP)
  1. ; - V CPT [BGP SMOKELESS TOBACCO CPTS]
  1. ; - V DENTAL ADA 1320
  1. ;
  1. ; Input:
  1. ; APCLPDFN - Patient DFN
  1. ; APCLBD - beginning date to begin search for value - if blank, default is DOB
  1. ; APCLED - ending date of search - if blank, default is DT
  1. ; APCLFORM - APCLFORM returned: D - return date only - example 3070801
  1. ; A - return value:
  1. ; date^text of item found^value if appropriate^visit ien^File found in^ien of file found in
  1. ;
  1. I $G(APCLPDFN)="" Q ""
  1. I $G(APCLBD)="" S APCLBD=$$DOB^AUPNPAT(APCLPDFN)
  1. I $G(APCLED)="" S APCLED=DT
  1. I $G(APCLFORM)="" S APCLFORM="D"
  1. NEW APCLLAST,APCLVAL,APCLX,R,X,Y,V,E
  1. S APCLLAST=""
  1. S APCLVAL=$$LASTHF^APCLAPIU(APCLPDFN,"TOBACCO (SMOKELESS - CHEWING/DIP)",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S R=$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD)
  1. S APCLVAL=$$LASTCPTT^APCLAPIU(APCLPDFN,R,APCLED,"BGP SMOKELESS TOBACCO CPTS","A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"1320","ADA",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. I APCLFORM="D" Q $P(APCLLAST,U)
  1. Q APCLLAST
  1. ;
  1. LASTSMEX(APCLPDFN,APCLBD,APCLED,APCLFORM) ;PEP - date of last TOBACCO (EXPOSURE)
  1. ; Return the last recorded TOBACCO SMOKING EXPOSURE SCREENING:
  1. ; - V Health Factor in Category TOBACCO (EXPOSURE)
  1. ;
  1. ; Input:
  1. ; APCLPDFN - Patient DFN
  1. ; APCLBD - beginning date to begin search for value - if blank, default is DOB
  1. ; APCLED - ending date of search - if blank, default is DT
  1. ; APCLFORM - APCLFORM returned: D - return date only - example 3070801
  1. ; A - return value:
  1. ; date^text of item found^value if appropriate^visit ien^File found in^ien of file found in
  1. ;
  1. I $G(APCLPDFN)="" Q ""
  1. I $G(APCLBD)="" S APCLBD=$$DOB^AUPNPAT(APCLPDFN)
  1. I $G(APCLED)="" S APCLED=DT
  1. I $G(APCLFORM)="" S APCLFORM="D"
  1. NEW APCLLAST,APCLVAL,APCLX,R,X,Y,V,E
  1. S APCLLAST=""
  1. S APCLVAL=$$LASTHF^APCLAPIU(APCLPDFN,"TOBACCO (EXPOSURE)",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S R=$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD)
  1. I APCLFORM="D" Q $P(APCLLAST,U)
  1. Q APCLLAST
  1. ;
  1. PREFLANG(P,EDATE,F) ;EP - return the patient's preferred language as of date EDATE
  1. I '$G(P) Q ""
  1. I '$D(^AUPNPAT(P)) Q ""
  1. I '$O(^AUPNPAT(P,86,0)) Q "" ;no language data
  1. I $G(F)="" S F="I"
  1. I $G(EDATE)="" S EDATE=DT
  1. NEW X,Y,D
  1. S (X,Y,D)=""
  1. F S D=$O(^AUPNPAT(P,86,"B",D)) Q:D'=+D!(D>EDATE) D
  1. .S X=0 F S X=$O(^AUPNPAT(P,86,"B",D,X)) Q:X'=+X D
  1. ..I $P(^AUPNPAT(P,86,X,0),U,4)]"" S Y=$P(^AUPNPAT(P,86,X,0),U,4) ;preferred language documented
  1. ..Q
  1. I F="E" Q $S(Y:$P(^AUTTLANG(Y,0),U,1),1:"")
  1. I F="I" Q Y
  1. Q Y
  1. ETHN(P,F) ;EP
  1. I '$G(P) Q ""
  1. I $G(F)="" S F="E"
  1. I '$D(^DPT(P,0)) Q ""
  1. NEW Z,E,I
  1. S (E,I)=""
  1. S Z=0 F S Z=$O(^DPT(P,.06,Z)) Q:Z'=+Z!(E]"") D
  1. .S I=$P($G(^DPT(P,.06,Z,0)),U,1)
  1. .Q:I=""
  1. .S E=$P($G(^DIC(10.2,I,0)),U,1)
  1. .Q
  1. I F="E" Q E
  1. I F="I" Q I
  1. Q ""
  1. LASTNAA ;EP
  1. ; Return the last recorded NO ACTIVE PROBLEMS FROM V UPDATED/REVIEWED:
  1. ; .09 OF V UPDATED/REVIEWED is set to 1
  1. ;
  1. ; Input:
  1. ; APCLPDFN - Patient DFN
  1. ; APCLBD - beginning date to begin search for value - if blank, default is DOB
  1. ; APCLED - ending date of search - if blank, default is DT
  1. ; APCLFORM - APCLFORM returned: D - return date only - example 3070801
  1. ; A - return value:
  1. ; date^text of item found^provider who documented^visit ien^File found in^ien of file found in
  1. ; Default if blank is D
  1. ; Output:
  1. ; If APCLFORM is blank or APCLFORM is D returns internal fileman date if one found otherwise returns null
  1. ; If APCLFORM is A returns the string:
  1. ; date^text of item found^PROVIDER^visit ien^File found in^ien of file found in
  1. ;
  1. I $G(APCLPDFN)="" Q ""
  1. I $G(APCLBD)="" S APCLBD=$$DOB^AUPNPAT(APCLPDFN)
  1. I $G(APCLED)="" S APCLED=DT
  1. I $G(APCLFORM)="" S APCLFORM="D"
  1. NEW APCLLAST,APCLVAL,APCLX,R,X,Y,V,E,D,G,ED,BD
  1. S BD=9999999-APCLBD
  1. S ED=9999999-APCLED
  1. S APCLLAST=""
  1. S V=$O(^AUTTCRA("C","NAA",0))
  1. I 'V Q ""
  1. S D=ED-1,D=D_".999999" F S D=$O(^AUPNVRUP("AA",APCLPDFN,V,D)) Q:D'=+D!($P(D,".")>BD) D
  1. .S X=0 F S X=$O(^AUPNVRUP("AA",APCLPDFN,V,D,X)) Q:X'=+X D
  1. ..Q:'$D(^AUPNVRUP(X,0))
  1. ..Q:$P($G(^AUPNVRUP(X,2)),U,1)
  1. ..S APCLVAL=$P($P(^AUPNVRUP(X,12),U),".")_U_$$VAL^XBDIQ1(9000010.54,X,.01)_U_$P($G(^AUPNVRUP(X,12)),U,4)_U_$P(^AUPNVRUP(X,0),U,3)_U_9000010.54_U_X
  1. ..D E
  1. I APCLFORM="D" Q $P(APCLLAST,U)
  1. Q APCLLAST
  1. ;
  1. DEFEDD(P) ;PEP - return definitive EDD Date^definitive EDD type
  1. I '$G(P) Q "" ;no patient
  1. I '$D(^AUPNREP(P,0)) Q "" ;NOT IN RF
  1. NEW X,Y
  1. Q:$$VALI^XBDIQ1(9000017,P,1311)
  1. ;I X="" Q "" ;no definitive EDD documented
  1. ;I X="L" Q $$VAL^XBDIQ1(9000017,P,1302)_U_$$VAL^XBDIQ1(9000017,P,1311)
  1. ;I X="U" Q $$VAL^XBDIQ1(9000017,P,1305)_U_$$VAL^XBDIQ1(9000017,P,1311)
  1. ;I X="C" Q $$VAL^XBDIQ1(9000017,P,1308)_U_$$VAL^XBDIQ1(9000017,P,1311)
  1. ;Q ""
  1. LASTEDD(P) ;PEP - LAST DOCUMENTED EDD
  1. I '$G(P) Q "" ;no patient
  1. I '$D(^AUPNREP(P,0)) Q "" ;NOT IN RF
  1. NEW X,Y,LAST,LASTDOC
  1. S (LAST,LASTDOC)=""
  1. S X=$P($G(^AUPNREP(P,13)),U,3) I X S LASTDOC=X,LAST=$P($G(^AUPNREP(P,13)),U,2)_U_"(BY LMP)" ;LMP
  1. S X=$P($G(^AUPNREP(P,13)),U,6)
  1. I X,X'<LASTDOC S LASTDOC=X,LAST=$P($G(^AUPNREP(P,13)),U,5)_U_"(BY ULTRASOUND)"
  1. S X=$P($G(^AUPNREP(P,13)),U,9)
  1. I X,X'<LASTDOC S LASTDOC=X,LAST=$P($G(^AUPNREP(P,13)),U,8)_U_"(BY CLINICAL PARAMETERS)"
  1. S X=$P($G(^AUPNREP(P,13)),U,15)
  1. I X,X'<LASTDOC S LASTDOC=X,LAST=$P($G(^AUPNREP(P,13)),U,14)_U_"(BY METHOD UNKNOWN)"
  1. S X=$P($G(^AUPNREP(P,13)),U,11)
  1. I X,X'<LASTDOC S LASTDOC=X,LAST=$P($G(^AUPNREP(P,13)),U,11)_U_"(DEFINITIVE)"
  1. Q LAST