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

BQIPTREG.m

Go to the documentation of this file.
  1. BQIPTREG ;PRXM/HC/ALA-RPMS Registers a Patient is on ; 07 Nov 2005 1:59 PM
  1. ;;2.1;ICARE MANAGEMENT SYSTEM;;Feb 07, 2011
  1. ;
  1. Q
  1. ;
  1. REG(DATA,DFN) ; EP -- BQI PATIENT RPMS REGISTERS
  1. ;
  1. ;Find all the registers a patient is on
  1. ;
  1. ;Description
  1. ; For all the active designated registers, see if a patient is on it
  1. ;Input
  1. ; DFN - Patient internal entry number
  1. ;
  1. NEW REGIEN,RDATA,FILE,FIELD,XREF,GLREF,REGISTER,BQI,UID,TITLE,STAT
  1. NEW GLBREF,RIEN,BQIREG,DX,RGCAT,RGDUZ,STATDT,KEY,RACC,NMSP,X,IEN
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQIPTREG",UID))
  1. K @DATA
  1. ;
  1. S BQI=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQIPTREG D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. S @DATA@(BQI)="T00040COMBINED^T00004ANAMESPACE^T00030REG_TITLE^T00015REG_STAT^D00030REG_STATDT^T00030REG_CAT^T00035REG_CREATOR^T00003REG_ACCESS"_$C(30)
  1. ;
  1. ; for each defined registry index definition, determine if this patient is in
  1. ; that registry
  1. S REGIEN=0
  1. F S REGIEN=$O(^BQI(90507,REGIEN)) Q:'REGIEN D
  1. . Q:$$GET1^DIQ(90507,REGIEN_",",.08,"I")=1
  1. . S RDATA=^BQI(90507,REGIEN,0)
  1. . S FILE=$P(RDATA,"^",7),FIELD=$P(RDATA,"^",5),XREF=$P(RDATA,"^",6)
  1. . S TITLE=$P(RDATA,"^",1),KEY=$P(RDATA,"^",10),NMSP=$P(RDATA,"^",13)
  1. . I '$$VFILE^DILFD(FILE) Q
  1. . S GLBREF=$$ROOT^DILFD(FILE,"")_XREF_")"
  1. . Q:'$D(@GLBREF@(DFN))
  1. . ; HMS Registry
  1. . I FILE=90451 D
  1. .. S REGISTER=$$HIVIEN^BKMIXX3()
  1. .. S IEN=$O(@GLBREF@(DFN,""))
  1. .. NEW DA,IENS
  1. .. S DA(1)=IEN,DA=REGISTER,IENS=$$IENS^DILF(.DA)
  1. .. S STAT=$$GET1^DIQ(90451.01,IENS,.5,"E")
  1. .. S STATDT=$$GET1^DIQ(90451.01,IENS,.75,"I")
  1. .. S RGCAT=$$GET1^DIQ(90451.01,IENS,2.3,"E")
  1. .. S RGDUZ=$$GET1^DIQ(90451.01,IENS,.025,"E")
  1. .. S RACC=$$KEYCHK^BQIULSC(KEY,DUZ)
  1. .. D STOR
  1. . ; CMS Registry
  1. . I FILE=9002241 D
  1. .. S TITLE=$$GET1^DIQ(90507,REGIEN_",",.01,"E")
  1. .. S REGISTER=$$GET1^DIQ(90507,REGIEN_",",.09,"E")
  1. .. I REGISTER="" D ACM Q
  1. .. D CMSI^BQIUL1(REGISTER) S BQIREG=+Y K X,Y
  1. .. I BQIREG<1 Q
  1. .. S DX=$O(^ACM(44,"AC",BQIREG,DFN,"")) Q:DX=""
  1. .. S IEN=^ACM(44,"AC",BQIREG,DFN,DX)
  1. .. S RIEN=$$GET1^DIQ(9002244,IEN_",",.03,"I")
  1. .. S STAT=$$GET1^DIQ(9002241,RIEN_",",1,"E")
  1. .. S STATDT=$$GET1^DIQ(9002241,RIEN_",",11,"I")
  1. .. S RGCAT=$$GET1^DIQ(9002244,IEN_",",.01,"E")
  1. .. S RGDUZ=$$GET1^DIQ(9002241.1,BQIREG_",",3.5,"E")
  1. .. S RACC=$$KEYCHK^BQIULSC(KEY,DUZ)
  1. .. D STOR
  1. . ;
  1. . I FILE=90181.01 D
  1. .. S TITLE=$$GET1^DIQ(90507,REGIEN_",",.01,"E")
  1. .. S IEN=DFN
  1. .. S STAT=$$GET1^DIQ(FILE,IEN_",",.02,"E"),STATDT="",RGCAT=""
  1. .. S RGDUZ=$$GET1^DIQ(FILE,IEN_",",.11,"E")
  1. .. S RACC=$$KEYCHK^BQIULSC(KEY,DUZ)
  1. .. D STOR
  1. ;
  1. S BQI=BQI+1,@DATA@(BQI)=$C(31)
  1. Q
  1. ;
  1. ERR ;
  1. D ^%ZTER
  1. NEW Y,ERRDTM
  1. S Y=$$NOW^XLFDT() X ^DD("DD") S ERRDTM=Y
  1. S BMXSEC="Recording that an error occurred at "_ERRDTM
  1. I $D(BQI),$D(DATA) S BQI=BQI+1,@DATA@(BQI)=$C(31)
  1. Q
  1. ;
  1. STOR ; Store value
  1. S BQI=BQI+1
  1. S @DATA@(BQI)=NMSP_": "_TITLE_"^"_NMSP_"^"_TITLE_"^"_STAT_"^"_$$FMTE^BQIUL1(STATDT)_"^"_RGCAT_"^"_RGDUZ_"^"_$S(RACC=-1:"N/A",RACC=1:"Y",1:"N")_$C(30)
  1. Q
  1. ;
  1. ACM ; Get all sub-registers a patient is on
  1. S RACC=$$KEYCHK^BQIULSC(KEY,DUZ)
  1. S RIEN=""
  1. F S RIEN=$O(^ACM(41,"C",DFN,RIEN)) Q:RIEN="" D
  1. . S STAT=$$GET1^DIQ(9002241,RIEN_",",1,"E")
  1. . S STATDT=$$GET1^DIQ(9002241,RIEN_",",11,"I")
  1. . S IEN=$O(^ACM(44,"D",RIEN,"")),RGCAT=""
  1. . I IEN'="" S RGCAT=$$GET1^DIQ(9002244,IEN_",",.01,"E")
  1. . S BQIREG=$$GET1^DIQ(9002241,RIEN_",",.01,"I") I BQIREG="" Q
  1. . S RGDUZ=$$GET1^DIQ(9002241.1,BQIREG_",",3.5,"E")
  1. . S TITLE=$$GET1^DIQ(9002241,RIEN_",",.01,"E")
  1. . D STOR
  1. Q