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

AUPNCIXL.m

Go to the documentation of this file.
  1. AUPNCIXL ; IHS/CMI/LAB - AQ XREFS ON LAB/MEAS 24-MAY-1993 ;
  1. ;;2.0;IHS PCC SUITE;**2**;MAY 14, 2009
  1. ;; MODIFIED TO SUPPORT Q-MAN 1.3 BY GIS/OHPRD MAY 21,1991
  1. ;
  1. AQKILL1 ;EP - V LAB
  1. N AMQQKKK S AMQQKKK=""
  1. AQ1 ; ENTRY POINT FROM V LAB DD
  1. I $P($G(^AUTTSITE(1,0)),U,19)'="Y" Q
  1. I X="" Q
  1. N A,B,C,%,E,F S (A,F)=X
  1. K:$D(AMQQKKK) ^AUPNVLAB("AQ",(X_";"),DA) ;IHS/OHPRD/JCM 8/3/94
  1. S X=$P($G(^AUPNVLAB(DA,0)),U,4) I X="" S X=F S:'$D(AMQQKKK) ^AUPNVLAB("AQ",(X_";"),DA)="" Q ;IHS/OHPRD/JCM 8/3/94
  1. D AQEN S X=F
  1. Q
  1. ;
  1. AQKILL ; EP
  1. N AMQQKKK S AMQQKKK=""
  1. AQ ; EP - VLAB
  1. I $P($G(^AUTTSITE(1,0)),U,19)'="Y" Q
  1. N A,B,C,%,E
  1. I X="" Q
  1. S %=$D(^AUPNVLAB(DA,0)) Q:'% S %=^(0)
  1. S A=+% I 'A Q
  1. K:'$D(AMQQKKK) ^AUPNVLAB("AQ",$P(^AUPNVLAB(DA,0),U)_";",DA) ;IHS/OHPRD/JCM 8/3/94
  1. S:$D(AMQQKKK) ^AUPNVLAB("AQ",$P(^AUPNVLAB(DA,0),U)_";",DA)="" ;IHS/OHPRD/JCM 8/3/94
  1. AQEN S B=$O(^AMQQ(5,"AQ",A,"")) I B="" Q
  1. I B="S" S C=X D AQSET Q
  1. I "><"[$E(X) S X=$E(X,2,99)
  1. D @("AQ"_B)
  1. Q
  1. ;
  1. AQZ I "nN"[$E(X) S C=0 D AQSET Q
  1. I "tT"[$E(X) S C=1 D AQSET Q
  1. I $E(X,1,2)?1N1"+" S C=+X I X,X<5 S C=X+1 D AQSET Q
  1. Q
  1. ;
  1. AQSET S %=A_";"_C
  1. I $D(AMQQKKK) K ^AUPNVLAB("AQ",%,DA) Q
  1. S ^AUPNVLAB("AQ",%,DA)=""
  1. Q
  1. ;
  1. AQT I "nN"[$E(X) S C="000000000" D AQSET Q
  1. I "pP"[$E(X) S C="000000001" D AQSET Q
  1. I $E(X,1,2)="1:" S C=+$P(X,":",2) I C S E="000000000" D AQPAD,AQSET Q
  1. Q
  1. ;
  1. AQN S C=+X I C S E="0000" D AQPAD,AQSET
  1. Q
  1. ;
  1. AQQ S C=("Nn"'[$E(X))
  1. D AQSET
  1. Q
  1. ;
  1. AQPAD S %=$P(C,"."),%=$E(E,1,$L(E)-$L(%))_%
  1. I $P(C,".",2) S %=%_"."
  1. S C=%_$P(C,".",2)
  1. Q
  1. ;
  1. LSTUFF ; SETS V LAB "AQ" XREF
  1. K ^AUPNVLAB("AQ")
  1. F DA=0:0 S DA=$O(^AUPNVLAB(DA)) Q:'DA S X=$G(^(DA,0)),X=$P(X,U,4) I X'="" D AQ W *13,DA
  1. Q
  1. ;
  1. AQEKILL1 ; EP - V EXAM .01
  1. N AMQQKKK S AMQQKKK=""
  1. AQE1 ; ENTRY POINT TO SET V EXAM "AQ" XREF FROM .01 FIELD
  1. I $P($G(^AUTTSITE(1,0)),U,19)'="Y" Q
  1. I X="" Q
  1. N A,B,C,%,E S A=X
  1. K:$D(AMQQKKK) ^AUPNVXAM("AQ",(X_";"),DA) ;IHS/OHPRD/JCM 8/3/94
  1. N X S X=$P($G(^AUPNVXAM(DA,0)),U,4) I X="" S X=A S:'$D(AMQQKKK) ^AUPNVXAM("AQ",(X_";"),DA)="" Q ;IHS/OHPRD/JCM 8/3/94
  1. D EXEN
  1. Q
  1. ;
  1. AQEKILL ; EP - V EXAM AQ
  1. N AMQQKKK S AMQQKKK=""
  1. AQE ; ENTRY POINT FROM V EXAM DATA DICTIONARY
  1. I $P($G(^AUTTSITE(1,0)),U,19)'="Y" Q
  1. I X="" Q
  1. N A,B,C,%,E
  1. S A=+$G(^AUPNVXAM(DA,0)) I 'A Q
  1. K:'$D(AMQQKKK) ^AUPNVXAM("AQ",$P(^AUPNVXAM(DA,0),U)_";",DA) ;IHS/OHPRD/JCM 8/3/94
  1. S:$D(AMQQKKK) ^AUPNVXAM("AQ",$P(^AUPNVXAM(DA,0),U)_";",DA)="" ;IHS/OHPRD/JCM 8/3/94
  1. EXEN S C=("Nn"'[$E(X))
  1. S %=A_";"_C
  1. I $D(AMQQKKK) K ^AUPNVXAM("AQ",%,DA) Q
  1. S ^AUPNVXAM("AQ",%,DA)=""
  1. Q
  1. ;
  1. ESTUFF ; SETS V EXAM XREF
  1. K ^AUPNVXAM("AQ")
  1. F DA=0:0 S DA=$O(^AUPNVXAM(DA)) Q:'DA S X=$G(^(DA,0)),X=$P(X,U,4) D AQE W *13,DA
  1. Q
  1. ;
  1. AQSKILL1 ; ENTRY POINT TO KILL V SKIN TEST "AQ" XREF FROM .01 FIELD
  1. N AMQQKKK S AMQQKKK=""
  1. AQS1 ; ENTRY POINT TO SET V SKIN TEST "AQ" XREF FROM .01 FIELD
  1. I $P($G(^AUTTSITE(1,0)),U,19)'="Y" Q
  1. I X="" Q
  1. N A,B,C,%,E S A=X
  1. K:$D(AMQQKKK) ^AUPNVSK("AQ",(X_";"),DA) ;IHS/OHPRD/JCM 8/3/94
  1. N X S X=$P($G(^AUPNVSK(DA,0)),U,5) I X="" S X=A S:'$D(AMQQKKK) ^AUPNVSK("AQ",(X_";"),DA)="" Q ;IHS/OHPRD/JCM 8/4/94
  1. ;N X S X=$P(^AUPNVSK(DA,0),U,4) I X="" Q ;IHS/OHPRD/JCM
  1. D SKEN
  1. Q
  1. ;
  1. AQSKILL ; ENTRY POINT FOR AQ XREF FOR V SKIN TEST FILE
  1. N AMQQKKK S AMQQKKK=""
  1. AQS ; ENTRY POINT FOR AQ XREF FOR V SKIN TEST FILE
  1. I $P($G(^AUTTSITE(1,0)),U,19)'="Y" Q
  1. I X="" Q
  1. N A,B,C,%,E
  1. S A=+$G(^AUPNVSK(DA,0)) I 'A Q
  1. K:'$D(AMQQKKK) ^AUPNVSK("AQ",$P(^AUPNVSK(DA,0),U)_";",DA) ;IHS/OHPRD/JCM 8/3/94
  1. S:$D(AMQQKKK) ^AUPNVSK("AQ",$P(^AUPNVSK(DA,0),U)_";",DA)="" ;IHS/OHPRD/JCM 8/3/94
  1. SKEN S %=A_";"_(X\1)
  1. I $D(AMQQKKK) K ^AUPNVSK("AQ",%,DA) Q
  1. S ^AUPNVSK("AQ",%,DA)=""
  1. Q
  1. ;
  1. SSTUFF ; SETS V SKIN TEST AQ XREF WITHOUT CALLING FILEMAN
  1. K ^AUPNVSK("AQ")
  1. F DA=0:0 S DA=$O(^AUPNVSK(DA)) Q:'DA S X=$G(^(DA,0)),X=$P(X,U,5) D AQS W *13,DA
  1. Q
  1. ;
  1. AQRKILL1 ; ENTRY POINT TO KILL V RAD "AQ" XREF FROM .01 FIELD
  1. N AMQQKKK S AMQQKKK=""
  1. AQR1 ; ENTRY POINT TO SET V RAD "AQ" XREF FROM .01 FIELD
  1. I $P($G(^AUTTSITE(1,0)),U,19)'="Y" Q
  1. I X="" Q
  1. N A,% S A=X
  1. K:$D(AMQQKKK) ^AUPNVRAD("AQ",(X_";"),DA) ;IHS/OHPRD/JCM 8/8/94
  1. N X S X=$P(^AUPNVRAD(DA,0),U,5) I X="" S X=A S:'$D(AMQQKKK) ^AUPNVRAD("AQ",(X_";"),DA)="" Q ;IHS/OHPRD/JCM 8/8/94
  1. D RADEN
  1. Q
  1. ;
  1. AQRKILL ; ENTRY POINT FOR AQ XREF FOR V RAD FILE
  1. N AMQQKKK S AMQQKKK=""
  1. AQR ; ENTRY POINT FROM V RAD ,"AQ" XREF, .05 FIELD
  1. I $P($G(^AUTTSITE(1,0)),U,19)'="Y" Q
  1. I X="" Q
  1. N A,%
  1. S A=+$G(^AUPNVRAD(DA,0)) I 'A Q
  1. K:'$D(AMQQKKK) ^AUPNVRAD("AQ",$P(^AUPNVRAD(DA,0),U)_";",DA) ;IHS/OHPRD./JCM 8/8/94
  1. S:$D(AMQQKKK) ^AUPNVRAD("AQ",$P(^AUPNVRAD(DA,0),U)_";",DA)="" ;IHS/OHPRD/JCM 8/8/94
  1. RADEN S %=A_";"_X
  1. I $D(AMQQKKK) K ^AUPNVRAD("AQ",%,DA) Q
  1. S ^AUPNVRAD("AQ",%,DA)=""
  1. Q
  1. ;
  1. RSTUFF ; SETS V RAD XREF WITHOUT CALLING FILEMAN
  1. K ^AUPNVRAD("AQ")
  1. F DA=0:0 S DA=$O(^AUPNVRAD(DA)) Q:'DA S X=$G(^(DA,0)),X=$P(X,U,5) D AQR W *13,DA
  1. Q
  1. ;
  1. WHBUL ;
  1. NEW XMSUB,XMDUZ,XMTEXT,XMY,AUPNC
  1. KILL ^TMP($J,"AUPNDEBUL")
  1. ;get default case manager
  1. S X=$P($G(^BWSITE(AUPNSITE,0)),U,2)
  1. I X="" Q
  1. S XMY(X)=""
  1. D WRITEMSG
  1. SUBJECT S XMSUB="* * * IMPORTANT WOMEN'S HEALTH INFORMATION * * *"
  1. SENDER S XMDUZ="PCC - Pap Smear entry auto add to WH"
  1. S XMTEXT="^TMP($J,""AUPNDEBUL"","
  1. D ^XMD
  1. KILL ^TMP($J,"AUPNDEBUL")
  1. Q
  1. ;
  1. WRITEMSG ;
  1. S AUPNC=0
  1. S X="*********** WOMEN'S HEALTH INFORMATION *************" D SET
  1. S X="This message is to inform you that a Pap Smear was entered into PCC" D SET
  1. S X="for Patient "_$P(^DPT(AUPNDFN,0),U)_" (Chart #: "_$$HRN^AUPNPAT(AUPNDFN,AUPNSITE)_"). The date of the" D SET
  1. S X="Pap Smear was "_$$FMTE^XLFDT(AUPNWHDT)_". An attempt was made to " D SET
  1. S X="automatically add this Pap Smear to the Women's Health module." D SET
  1. S X="This attempt failed because the patient is not on the WH Register." D SET
  1. S X="Review the information and if appropriate, add this patient to your" D SET
  1. S X="Register. This Pap Smear may be manually added to the" D SET
  1. S X="patient's profile after the patient is added to the Register." D SET
  1. S X=" " D SET
  1. Q
  1. ;;
  1. SET ;
  1. S AUPNC=AUPNC+1
  1. S ^TMP($J,"AUPNDEBUL",AUPNC)=X
  1. Q
  1. PAP(T) ;EP - called from V LAB AWH xref
  1. I '$G(T) Q 0
  1. I $P($G(^LAB(60,T,0)),U)="PAP SMEAR" Q 1
  1. NEW S
  1. S S=$O(^ATXLAB("B","BGP PAP SMEAR TAX",0))
  1. I 'S Q 0
  1. I $D(^ATXLAB(S,21,"B",T)) Q 1
  1. Q 0
  1. WH(AUPNDFN,AUPNDA,AUPNVST,AUPNSITE) ;EP - called from xref on V LAB .01
  1. I '$G(AUPNSITE) Q ;no site
  1. I $P($G(^APCCCTRL(AUPNSITE,0)),U,9)'=1 Q ;does not specify to pass them
  1. ;called to create a WH entry for PAP SMEAR
  1. NEW AUPNWHDT
  1. I '$G(AUPNDFN) Q
  1. I '$G(AUPNVST) Q
  1. I '$D(^AUPNVSIT(AUPNVST)) Q
  1. Q:$D(DIGFLINE) ;in MFI
  1. I '$D(^DPT(AUPNDFN,0)) Q
  1. S AUPNWHDT=$P($P(^AUPNVSIT(AUPNVST,0),U),".")
  1. I '$D(^BWP(AUPNDFN,0)) D EN^XBNEW("WHBUL^AUPNCIXL","AUPNDFN;AUPNDA;AUPNVST;AUPNWHDT;AUPNSITE") Q ;women is not on WH register
  1. D EN^XBNEW("WH1^AUPNCIXL","AUPNDFN;AUPNDA;AUPNVST;AUPNWHDT")
  1. K AUPNDFN,AUPNDA,AUPNVST,AUPNWHDT
  1. Q
  1. WH1 ;
  1. ;check to see if pap already there, if not add it.
  1. ;go through procedures in a date range for this patient, check proc type
  1. NEW D,X,Y,G,V,T
  1. S T=$O(^BWPN("B","PAP SMEAR",0))
  1. I 'T Q
  1. S (G,V)=0 F S V=$O(^BWPCD("C",AUPNDFN,V)) Q:V=""!(G) D
  1. .Q:'$D(^BWPCD(V,0))
  1. .I $P(^BWPCD(V,0),U,4)'=T Q
  1. .I AUPNWHDT'=$P(^BWPCD(V,0),U,12) Q
  1. .S G=1
  1. .Q
  1. I G Q ;already has pap smear
  1. ;ADD PAP TO WH PROCEDURE FILE
  1. PROC ;---> Create PAP SMEAR Procedure in BW PROCEDURE File #9002086.1.
  1. ;---> 1=IEN of Procedure Type in File #9002086.2.
  1. ;
  1. ;---> Optional use of DR string.
  1. S AUPNDR=".02////"_AUPNDFN_";.03////"_$P($G(^AUPNVSIT(AUPNVST,0)),U)_";.04////1"
  1. S AUPNDR=AUPNDR_";.1////"_$P(^AUPNVSIT(AUPNVST,0),U,6)
  1. S AUPNDR=AUPNDR_";.12////"_$P($G(AUPNWHDT),".")_";.14////o"
  1. S AUPNDR=AUPNDR_";.18////"_DUZ_";.19////"_DT
  1. S AUPNERR=0
  1. ;
  1. D NEW2^BWPROC(AUPNDFN,1,AUPNWHDT,AUPNDR,"",.AUPNDADA,.AUPNERR)
  1. I AUPNERR<0 D Q
  1. .S BWERR="Software error: Failed to create PAP in Women's Health."
  1. ;
  1. ;---> BWDA=IEN of just created Procedure in BW PROCEDURE File.
  1. ;---> Following line will call ^APCDALV and ^APCDALVR.
  1. ;---> Call to APCDALV will look for same date Visit and prompt
  1. ;---> if time does not match. (See +53^BWPCC.)
  1. STORE ;---> STORE VISIT AND V FILE IEN'S IN WH PROCEDURE FILE #9002086.1.
  1. I $G(AUPNDADA) D
  1. .N DR
  1. .S DR="5.01////"_AUPNVST_";5.02////"_AUPNDA
  1. .S DIE="^BWPCD(",DA=AUPNDADA
  1. .D ^DIE
  1. .K DIE,DA,DR
  1. Q