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

DGDTHBR.m

Go to the documentation of this file.
  1. DGDTHBR ;OAK/ELZ-MAINTAIN DEATH SOURCE OF NOTIFICATION/DOCUMENT TYPE BUSINESS RULES ;7/26/17
  1. ;;5.3;Registration;**944**;Aug 13, 1993;Build 2
  1. ;
  1. ;**944 - Stories 557804 and 557815 (elz)
  1. ; This routine will receive RPC calls from DG DEATH SOURCE/DOC UPDATE. The updates
  1. ; will be sent to all sites from the MPI to allow for dynamic updates to the selectable
  1. ; SOURCE OF NOTIFICATIONS and SUPPORTING DOCUMENTS as well as the business rules of which
  1. ; ones are allowed in combination
  1. ;
  1. ;
  1. BRDATA(RETURN,DGDATA) ; = Entry point from RPC with list of business rules to be updated
  1. ; DGDATA = Array of business rules to file in the following format:
  1. ; IEN of Source of Notification^Active^Supporting Document Type (Type Code)^Active
  1. ;
  1. K RETURN
  1. N DGCOUNT,DGLINE,DGTIEN
  1. S DGCOUNT=0
  1. S DGLINE=0 F S DGLINE=$O(DGDATA(DGLINE)) Q:'DGLINE S DGDATA=DGDATA(DGLINE) D
  1. . N DGFDA,DGTYPE,DGIEN,DGROOT
  1. . S DGTYPE=$O(^DG(47.75,"C",$P(DGDATA,"^",3),0))
  1. . I 'DGTYPE S RETURN(DGLINE)="-1^Document Type "_$P(DGDATA,"^",2)_" NOT FOUND!!" Q
  1. . S DGIEN=+DGDATA
  1. . ; Source of Notifications first
  1. . I '$D(^DG(47.761,DGIEN)) D
  1. .. N DGFDA
  1. .. S DGFDA(1,47.761,"+1,",.01)=DGIEN
  1. .. S DGFDA(1,47.761,"+1,",.02)=$P(DGDATA,"^",2)
  1. .. S DGFDA(1,47.761,"+1,",.03)=DT
  1. .. S DGIEN(1)=DGIEN
  1. .. D UPDATE^DIE("","DGFDA(1)","DGIEN","DGROOT")
  1. . E D
  1. .. N DGFDA
  1. .. S DGFDA(47.761,DGIEN_",",.02)=$P(DGDATA,"^",2)
  1. .. S DGFDA(47.761,DGIEN_",",.03)=DT
  1. .. D FILE^DIE("","DGFDA","DGROOT")
  1. . I $D(DGROOT) S RETURN(DGLINE)="-1^ERROR filing Source "_DGDATA_" "_$G(DGROOT("DIERR",1,"TEXT",1)) Q
  1. . ; Now for associated document type
  1. . I '$D(^DG(47.761,DGIEN,1,DGTYPE)) D
  1. .. S DGFDA(1,47.7611,"+1,"_DGIEN_",",.01)=DGTYPE
  1. .. S DGFDA(1,47.7611,"+1,"_DGIEN_",",.02)=$P(DGDATA,"^",4)
  1. .. S DGTIEN(1)=DGTYPE
  1. .. D UPDATE^DIE("","DGFDA(1)","DGTIEN","DGROOT")
  1. . E D
  1. .. N DGFDA
  1. .. S DGFDA(47.7611,DGTYPE_","_DGIEN_",",.02)=$P(DGDATA,"^",4)
  1. .. D FILE^DIE("","DGFDA","DGROOT")
  1. . I $D(DGROOT) S RETURN(DGLINE)="-1^ERROR filing Doc Type "_DGDATA_"." Q
  1. . S DGCOUNT=DGCOUNT+1
  1. I '$D(RETURN) S RETURN(1)=DGCOUNT_"^Successfully filed"
  1. Q
  1. ;