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

AQALDG51.m

Go to the documentation of this file.
  1. AQALDG51 ; IHS/ORDC/LJF - AUTOLINK ADT OCCURRENCES ;
  1. ;;1;QI LINKAGES-RPMS;;AUG 15, 1994
  1. ;
  1. ;This rtn set the common variables & calls the PUBLISHED ENTRY POINT
  1. ;CREATE^AQALNK to create an occurrence.
  1. ;
  1. FIND ; >>> find variables for autolink rtn
  1. K AQALIFN,AQALNKF,AQALNK ;kill occ ifn, error flags, input varbls
  1. G EXIT1:DFN="",EXIT1:'$D(^DPT(DFN,0)),EXIT1:$P(^(0),U,19)'=""
  1. S AQALNK("BUL")="AQAL ADT ERROR"
  1. S AQALNK("PAT")=DFN ;patient
  1. ;
  1. ; find indicator # for event
  1. K ^UTILITY("DIQ1",$J),DIQ
  1. S (AQALF,DIC)=9002166.4,DA=DUZ(2),DR=(AQALEV+1)_";"_(AQALEV+3)
  1. D EN^DIQ1 S X=^UTILITY("DIQ1",$J,AQALF,DA,AQALEV+1) G EXIT:X=""
  1. K DIC S DIC="^AQAO(2,",DIC(0)="" D ^DIC G EXIT:Y=-1
  1. S AQALNK("IND")=+Y,AQALNK("IND1")=$P(Y,U,2)
  1. ;
  1. ;get occurrence date
  1. S AQALNK("DATE")=$P(+DGPMA,".")
  1. G EXIT:AQALNK("DATE")=""
  1. ;
  1. ;get pcc visit (optional variable)
  1. S AQALNK("VSIT")=$P($G(^DGPM(DGPMCA,"IHS")),U)
  1. ;
  1. ;get hospital service linked to treating specialty
  1. S AQALNK("HSV")=AQALSV
  1. S X=$O(^AQAGP(DUZ(2),"SRV","B",AQALNK("HSV"),0)) G EXIT1:X=""
  1. Q:$P($G(^AQAGP(DUZ(2),"SRV",X,0)),U,($E(AQALEV,3)+2))'=1 ;srv not lnkd
  1. ;
  1. ;get ward name
  1. S X=$S($D(AQALWD):AQALWD,1:$P(DGPMA,U,6)) G EXIT:X=""
  1. S AQALNK("WARD")=$S(X="":"",1:$P($G(^DIC(42,X,44)),U))
  1. ;
  1. ;get facility #
  1. G EXIT:'$D(DUZ(2)) S AQALNK("FAC")=DUZ(2)
  1. ;
  1. ;get duplicate flag (yes=okay to create duplicate entry)
  1. S AQALNK("DUP OK")=^UTILITY("DIQ1",$J,AQALF,DUZ(2),AQALEV+3)
  1. I AQALNK("DUP OK")'="YES" K AQALNK("DUP OK")
  1. K ^UTILITY("DIQ1",$J)
  1. ;
  1. ;
  1. CREATE ; >>> call ^aqalnk to create occurrence
  1. I $D(AQALAUT(AQALNK("IND1"))) D I 1
  1. .I DGPMT=2 S AQALNK("OCC")=$O(^AQAOC("AA",AQALNK("IND"),AQALNK("DATE"),AQALNK("PAT"),0))
  1. .I DGPMT'=2 S AQALNK("OCC")=AQALAUT(AQALNK("IND1"))
  1. .I +AQALNK("OCC") D EDIT^AQALNK1 I 1
  1. .E D CREATE^AQALNK
  1. E D CREATE^AQALNK
  1. ;
  1. ;
  1. EXIT ; >>> eoj
  1. I '$D(AQALIFN),'$D(AQALNKF) W !!,*7,"ERROR IN QI PARAMETER FILE OR IN ADT CALL TO ^AQALDG5. CALL YOUR SITE MANAGER.",!!
  1. EXIT1 K ^UTILITY("DIQ1",$J)
  1. K DIC,X,Y
  1. K AQALAUT(AQALNK("IND1"))
  1. Q