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

SDESGETREGA2.m

Go to the documentation of this file.
  1. SDESGETREGA2 ;ALB/ANU - SDES GET PATREG BY DFNICN ;JULY 15,2023
  1. ;;5.3;Scheduling;**853**;Aug 13, 1993;Build 9
  1. ;;Per VHA Directive 6402, this routine should not be modified
  1. ;
  1. ; Documented API's and Integration Agreements
  1. ; -------------------------------------------
  1. ; Reference to PATIENT in ICR #7030
  1. ; Reference to PATIENT in ICR #7029
  1. ; Reference to PATIENT in ICR #1476
  1. ; Reference to PATIENT in ICR #10035
  1. ; Reference to SCHEDULED ADMISSION in ICR #4425
  1. ;
  1. ; Cloned from SDESGETREGA for new version
  1. ;
  1. ; The SDCONTEXT array is controlled by the Acheron application and its fields are
  1. ; needed for the storage of the required auditing information.
  1. ;
  1. ; SDCONTEXT("ACHERON ID")
  1. ; SDCONTEXT("USER DUZ")
  1. ; SDCONTEXT("USER NAME")
  1. Q
  1. ;
  1. ;
  1. ; RPC: SDES GET PATREG BY DFNICN
  1. ;
  1. GETREGA(JSONRETURN,DFNS,ICNS,SDEAS) ; Get Patient(s) Registration Data
  1. ;
  1. N SDERRORS,SDFDA,SDCOUNT,SDRETURN
  1. S SDCOUNT=1
  1. ; Validate EAS
  1. D VALEAS($G(SDEAS),.SDERRORS)
  1. I $D(SDERRORS) M SDRETURN=SDERRORS D BUILDJSON(.JSONRETURN,.SDRETURN) Q
  1. ; Validate DFNs and ICNs
  1. I '$G(DFNS(1)),'$G(ICNS(1)) D ERRLOG^SDESJSON(.SDERRORS,486)
  1. I $D(SDERRORS) M SDRETURN=SDERRORS D BUILDJSON(.JSONRETURN,.SDRETURN) Q
  1. ;
  1. D PROCDFNS(.DFNS,.SDRETURN,.SDCOUNT) ; Process DFNs
  1. D PROCICNS(.ICNS,.SDRETURN,.SDCOUNT) ; Process ICNs
  1. ;
  1. D BUILDJSON(.JSONRETURN,.SDRETURN)
  1. Q
  1. ;
  1. PROCDFNS(DFNS,SDRETURN,SDCOUNT) ; Validate and Process DFNs
  1. ;
  1. N SDCOUNT1,DFN
  1. S SDCOUNT1=0
  1. F S SDCOUNT1=$O(DFNS(SDCOUNT1)) Q:'SDCOUNT1 D
  1. .N SDINFO
  1. .I SDCOUNT>50 D ERRLOG^SDESJSON(.SDERRORS,489) Q
  1. .S DFN=DFNS(SDCOUNT1)
  1. .D VALDFN($G(DFN),.SDERRORS) ;Validate DFN
  1. .I $D(SDERRORS) M SDRETURN=SDERRORS Q
  1. .D GETREG(DFN,.SDINFO)
  1. .M SDRETURN("Patient",SDCOUNT)=SDINFO("Patient")
  1. .S SDCOUNT=SDCOUNT+1
  1. Q
  1. ;
  1. PROCICNS(ICNS,SDRETURN,SDCOUNT) ; Validate and Process ICNs
  1. N SDDFN,ICN
  1. S SDCOUNT1=0
  1. F S SDCOUNT1=$O(ICNS(SDCOUNT1)) Q:'SDCOUNT1 D
  1. .N SDINFO
  1. .I SDCOUNT>50 D ERRLOG^SDESJSON(.SDERRORS,489) Q
  1. .S ICN=ICNS(SDCOUNT1)
  1. .D VALICN($G(ICN),.SDERRORS) ;Validate ICN
  1. .I $D(SDERRORS) M SDRETURN=SDERRORS Q
  1. .D GETREG(SDDFN,.SDINFO)
  1. .M SDRETURN("Patient",SDCOUNT)=SDINFO("Patient")
  1. .S SDCOUNT=SDCOUNT+1
  1. Q
  1. ;
  1. VALDFN(DFN,ERRORS) ; Validate DFNS
  1. I +DFN=0 D ERRLOG^SDESJSON(.ERRORS,1) Q
  1. I '$D(^DPT(DFN,0)) D ERRLOG^SDESJSON(.ERRORS,2," DFN not found:"_$G(DFN))
  1. Q
  1. ;
  1. VALICN(ICN,ERRORS) ; Validate ICNS
  1. ;Convert ICN to DFN
  1. S SDDFN=$$GETDFN^MPIF001(ICN)
  1. S SDDFN=$S(+SDDFN>0:SDDFN,1:"")
  1. I +ICN=0 D ERRLOG^SDESJSON(.ERRORS,2," ICN not found:"_$G(ICN))
  1. Q
  1. ;
  1. VALEAS(EAS,ERRORS) ; Validate EAS
  1. I $L(EAS) S EAS=$$EASVALIDATE^SDESUTIL($G(EAS))
  1. I $P($G(EAS),U)=-1 D ERRLOG^SDESJSON(.ERRORS,142)
  1. Q
  1. ;
  1. GETREG(DFN,SDINFO) ;
  1. ;
  1. D GETREG^SDESGETREGA1
  1. Q
  1. ;
  1. BUILDJSON(JSONRETURN,SDRETURN) ;Convert data to JSON
  1. I '$D(SDRETURN("Patient")) S SDRETURN("Patient",1)=""
  1. D BUILDJSON^SDESBUILDJSON(.JSONRETURN,.SDRETURN) Q
  1. Q