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

APCLAPI2.m

Go to the documentation of this file.
  1. APCLAPI2 ; IHS/CMI/LAB - visit data ;
  1. ;;2.0;IHS PCC SUITE;**11**;MAY 14, 2009;Build 58
  1. ;IHS/TUCSON/LAB - added G parameter to provider call
  1. ;
  1. ;
  1. ;BJPC v1.0 patch 1
  1. ;
  1. LASTFRA(APCLPDFN,APCLBD,APCLED,APCLFORM) ;PEP - date of last FALL RISK ASSESSMENT
  1. ; Return the last recorded FALL RISK ASSESSMENT:
  1. ; - V Exam - 37 Fall Risk Exam
  1. ; - Diagnosis - V POV V15.88 OR BGP ABNORMAL GAIT OR MOBILITY taxonomy
  1. ; - V POV: Ecode in BGP FALL RELATED E-CODES taxonomy
  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. ; 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^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,T,G,APCLY,APCLF,APCLZ
  1. S APCLLAST=""
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,37,"EXAM",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTDXT^APCLAPIU(APCLPDFN,$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"BGP HISTORY OF FALL DXS","A")
  1. D E
  1. S APCLVAL=$$LASTDXT^APCLAPIU(APCLPDFN,$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"BGP ABNORMAL GAIT OR MOBILITY","A")
  1. D E
  1. S Y="APCLZ("
  1. K APCLZ
  1. S X=APCLPDFN_"^ALL DX;DURING "_$$FMADD^XLFDT(APCLED,-365)_"-"_DT S E=$$START1^APCLDF(X,Y)
  1. S G=""
  1. S T=$O(^ATXAX("B","BGP FALL RELATED E-CODES",0))
  1. S X=0 F S X=$O(APCLZ(X)) Q:X'=+X D
  1. .S G="" S Y=+$P(APCLZ(X),U,4),D=$P(^AUPNVPOV(Y,0),U)
  1. .I $P(^AUPNVPOV(Y,0),U,9)="",$P(^AUPNVPOV(Y,0),U,18)="",$P(^AUPNVPOV(Y,0),U,19)="" Q
  1. .S E=$P(^AUPNVPOV(Y,0),U,9) I E,$$ICD^ATXAPI(E,T,9) D VPVE Q
  1. .S E=$P(^AUPNVPOV(Y,0),U,18) I E,$$ICD^ATXAPI(E,T,9) D VPVE Q
  1. .S E=$P(^AUPNVPOV(Y,0),U,19) I E,$$ICD^ATXAPI(E,T,9) D VPVE Q
  1. I APCLFORM="D" Q $P(APCLLAST,U)
  1. Q APCLLAST
  1. ;
  1. VPVE ;EP
  1. S APCLLAST=$$VD^APCLV($P(^AUPNVPOV(Y,0),U,3))_"^CAUSE CODE: "_$P($$ICDDX^ICDEX(E),U,2)_"^"_$$VAL^XBDIQ1(9000010.07,Y,.04)_"^"_$P(^AUPNVPOV(Y,0),U,3)_"^9000010.07^"_Y
  1. Q
  1. ;
  1. E ;
  1. I $P(APCLVAL,U,1)>$P(APCLLAST,U,1) S APCLLAST=APCLVAL
  1. Q
  1. ;
  1. LASTHC(APCLPDFN,APCLBD,APCLED,APCLFORM) ;PEP - date of last head circumference
  1. ; Return the last recorded HEAD CIRCUMFERENCE:
  1. ; - V Measurment HC
  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. ; 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^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,T,G,APCLY,APCLF
  1. S APCLLAST=""
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"HC","MEASUREMENT",$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. LASTDENT(APCLPDFN,APCLBD,APCLED,APCLFORM) ;PEP - date of last dental exam
  1. ; Return the last recorded dental exam:
  1. ; - V Dental ADA code 0000 or 0190
  1. ; - V Exam 30 - Dental Exam
  1. ; - CHS visit with any ADA code
  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. ; 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^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,T,G,APCLY,APCLF,APCLZ
  1. S APCLLAST=""
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"0000","ADA",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"0190","ADA",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,30,"EXAM",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. ;now check CHS visits for any ADA
  1. K APCLY
  1. S X=APCLPDFN_"^ALL ADA;DURING "_$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD)_"-"_APCLED S E=$$START1^APCLDF(X,"APCLZ(")
  1. S X=0 F S X=$O(APCLZ(X)) Q:X'=+X D
  1. .S V=$P(APCLZ(X),U,4)
  1. .Q:$P($G(^AUPNVSIT(V,0)),U,3)'="C"
  1. .S APCLVAL=$P(APCLZ(X),U)_"^ADA: "_$P(APCLZ(X),U,2)_"^^"_$P(APCLZ(X),U,5)_"^9000010.05^"_+$P(APCLZ(X),U,4)
  1. .D E
  1. I APCLFORM="D" Q $P(APCLLAST,U)
  1. Q APCLLAST
  1. ;
  1. LASTDEYE(APCLPDFN,APCLBD,APCLED,APCLFORM) ;PEP - date of last diabetic eye exam
  1. ; Return the last recorded DIABETIC EYE exam:
  1. ; - V Exam Diabetic Eye Exam
  1. ; - V CPT 92250, 92012, 92014, 92002, 2022F, 2024F, 2026F, S3000
  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. ; 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^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,T,G,APCLY,APCLF
  1. S APCLLAST=""
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"03","EXAM",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTCPTT^APCLAPIU(APCLPDFN,$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"APCH DIABETIC EYE EXAM CPTS","A")
  1. D E
  1. I APCLFORM="D" Q $P(APCLLAST,U)
  1. Q APCLLAST
  1. ;
  1. LASTDFE(APCLPDFN,APCLBD,APCLED,APCLFORM) ;PEP - date of last diabetic FOOT exam
  1. ; Return the last recorded DIABETIC FOOT exam:
  1. ; - V Exam Diabetic FOOT Exam
  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. ; 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^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,T,G,APCLY,APCLF
  1. S APCLLAST=""
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"28","EXAM",$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. LASTRECT(APCLPDFN,APCLBD,APCLED,APCLFORM) ;PEP - date of last RECTAL exam
  1. ; Return the last recorded RECTAL exam:
  1. ; - V Exam Rectal Exam 14
  1. ; - V POV V76.41, V76.44
  1. ; - V Procedure 89.34
  1. ; - V CPT G0102;S0601;S0605
  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. ; 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^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,T,G,APCLY,APCLF
  1. S APCLLAST=""
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"14","EXAM",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTDXT^APCLAPIU(APCLPDFN,$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"APCH RECTAL EXAM DXS","A")
  1. D E
  1. S APCLVAL=$$LASTPRCT^APCLAPIU(APCLPDFN,$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"APCH RECTAL EXAM PROCS","A")
  1. D E
  1. S APCLVAL=$$LASTCPTI^APCLAPIU(APCLPDFN,$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"G0102;S0601;S0605","A")
  1. D E
  1. I APCLFORM="D" Q $P(APCLLAST,U)
  1. Q APCLLAST
  1. ;
  1. LASTPELV(APCLPDFN,APCLBD,APCLED,APCLFORM) ;PEP - date of last PELVIC exam
  1. ; Return the last recorded PELVIC exam:
  1. ; - V Exam Pelvic Exam 15
  1. ; - V POV V72.31, V72.32
  1. ; - V CPT G0101
  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. ; 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^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,T,G,APCLY,APCLF
  1. S APCLLAST=""
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"15","EXAM",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTDXT^APCLAPIU(APCLPDFN,$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"APCH PELVIC EXAM DXS","A")
  1. D E
  1. ;S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"V72.32","DX",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. ;D E
  1. S APCLVAL=$$LASTCPTI^APCLAPIU(APCLPDFN,$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"G0101","A")
  1. D E
  1. I APCLFORM="D" Q $P(APCLLAST,U)
  1. Q APCLLAST
  1. ;
  1. LASTPHYS(APCLPDFN,APCLBD,APCLED,APCLFORM) ;PEP - date of last PHYSICAL exam
  1. ; Return the last recorded PHYSICAL exam:
  1. ; - V Exam Physical Exam 01
  1. ; - V POV [SURVEILLANCE PHYSICAL EXAM] taxonomy
  1. ; - V CPT [APCH PHYSICAL EXAM CPTS] taxonomy
  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. ; 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^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,T,G,APCLY,APCLF
  1. S APCLLAST=""
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"01","EXAM",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTDXT^APCLAPIU(APCLPDFN,$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"SURVEILLANCE PHYSICAL EXAM","A")
  1. D E
  1. S APCLVAL=$$LASTCPTT^APCLAPIU(APCLPDFN,$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"APCH GENERAL EXAM CPTS","A")
  1. D E
  1. I APCLFORM="D" Q $P(APCLLAST,U)
  1. Q APCLLAST
  1. ;