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

SDES2EPT.m

Go to the documentation of this file.
  1. SDES2EPT ;ALB/LAB,ANU/BLB,MCB,TJB - SDES2 GET PATIENT'S ExtendedProfile APPT INFO ; JUL 12,2024
  1. ;;5.3;Scheduling;**861,867,877,880,886**;Aug 13, 1993;Build 13
  1. ;;Per VHA Directive 6402, this routine should not be modified
  1. ;
  1. Q
  1. ;
  1. ; Documented API's and Integration Agreements
  1. ; -------------------------------------------
  1. ; Reference to INP^DGPMV10 supported by ICR #7035
  1. ; Reference to ELIG^VADPT supported by ICR #10061
  1. ; Reference to Patient File supported by ICR #7019
  1. ; #10035 - ^DPT( references (Supported)
  1. ;
  1. ; RPC: SDES2 GET PATIENT EPT
  1. ;
  1. ; SDCONTEXT("ACHERON AUDIT ID") = 36 character unique ID number. Ex: 11d9dcc6-c6a2-4785-8031-8261576fca37
  1. ; SDCONTEXT("USER DUZ") = The DUZ of the user taking action on the calling application.
  1. ; SDCONTEXT("USER NAME") = The name of the user taking action on the calling application.
  1. ; SDCONTEXT("PATIENT DFN") = The DFN of the patient taking action on the calling application.
  1. ; SDCONTEXT("PATIENT ICN") = The ICN of the patient taking action on the calling application.
  1. ; SDINPUT("PATIENT DFN") = Patient to pull data for
  1. ;
  1. Q
  1. ;
  1. GETPTIN(JSONRETURN,SDCONTEXT,SDINPUT) ; Get Patient's ExtendedProfile Appt Info
  1. N SDAPPTDT,SDDFN,SDERRORS,SDRETURN,VALRET
  1. ;
  1. ; Validate SDCONTEXT
  1. ;
  1. D VALCONTEXT^SDES2VALCONTEXT(.SDERRORS,.SDCONTEXT)
  1. I $D(SDERRORS) M SDRETURN=SDERRORS S SDRETURN("ExtendedProfile",1)="" D BUILDJSON^SDES2JSON(.JSONRETURN,.SDRETURN) Q
  1. ; Checking DFN separately, since it's required for this RPC
  1. D VALFILEIEN^SDES2VALUTIL(.VALRET,.SDERRORS,2,$G(SDINPUT("PATIENT DFN")),1,0,1,2)
  1. I 'VALRET,$D(SDERRORS) M SDRETURN=SDERRORS S SDRETURN("ExtendedProfile",1)="" D BUILDJSON^SDES2JSON(.JSONRETURN,.SDRETURN) Q
  1. S SDDFN=SDINPUT("PATIENT DFN")
  1. ;
  1. ;
  1. ; Retrieve Patient's ExtendedProfile Appt Info
  1. ;
  1. D GETPTINA(.SDRETURN,SDDFN)
  1. ;
  1. ; Build JSON return
  1. ;
  1. I '$D(SDRETURN) S SDRETURN("ExtendedProfile",1)=""
  1. D BUILDJSON^SDES2JSON(.JSONRETURN,.SDRETURN)
  1. Q
  1. ;
  1. GETPTINA(SDRETURN,SDDFN) ;
  1. N SDCOUNT,SDRESULT,PATIENTDATA,SDPOS,SDPOSN,SDCMBTV,SDCMBTVED,SDPOW,SDSW,DFN,VASV
  1. N SDSTAT,SDST,SDSTA,SDLADMT,SDA,VAEL,RADEXP,PROJ112,AOEXP,AOEXPLOC
  1. ; Variables from VADPT and DGPMV10 becaused they leaked into this routine
  1. N %,%I,%H,X,Y,VAERR,DGPMVI,DGPMDCD,DIERR,I
  1. S SDCOUNT=1
  1. S DFN=SDDFN
  1. ; .323 - Period of Service
  1. D ELIG^VADPT,SVC^VADPT
  1. S SDRETURN("ExtendedProfile",SDCOUNT,"Period of Service IEN")=$P(VAEL(2),U,1)
  1. S SDRETURN("ExtendedProfile",SDCOUNT,"Period of Service Name")=$P(VAEL(2),U,2)
  1. ;
  1. D GETS^DIQ(2,SDDFN,".01;.135;.525;.32102;.3213;.32103;.322013;.32115","IE","PATIENTDATA")
  1. S SDRETURN("ExtendedProfile",SDCOUNT,"DFN")=SDDFN
  1. S SDRETURN("ExtendedProfile",SDCOUNT,"Name")=$G(PATIENTDATA(2,SDDFN_",",.01,"E"))
  1. ;
  1. ; radiation exposure
  1. S RADEXP=$G(PATIENTDATA(2,SDDFN_",",.32103,"I"))
  1. S RADEXP=$S(RADEXP="Y":"Yes",RADEXP="N":"No",RADEXP="U":"Unknown",1:"")
  1. S SDRETURN("ExtendedProfile",SDCOUNT,"Radiation Exposure")=RADEXP
  1. ;
  1. ; proj 112 shad
  1. S PROJ112=$G(PATIENTDATA(2,SDDFN_",",.32115,"I"))
  1. S PROJ112=$S(PROJ112=1:"Yes",PROJ112=0:"No",1:"")
  1. S SDRETURN("ExtendedProfile",SDCOUNT,"Proj 112 Shad")=PROJ112
  1. ;
  1. ; agent orange
  1. S AOEXP=$G(PATIENTDATA(2,SDDFN_",",.32102,"I"))
  1. S AOEXPLOC=$G(PATIENTDATA(2,SDDFN_",",.3213,"E"))
  1. S AOEXP=$S(AOEXP="Y":"Yes",AOEXP="N":"No",AOEXP="U":"Unknown",1:"")
  1. S SDRETURN("ExtendedProfile",SDCOUNT,"Agent Orange Exposure")=AOEXP
  1. ;
  1. I AOEXP'="Yes" S SDRETURN("ExtendedProfile",SDCOUNT,"Agent Orange Exposure Location")=""
  1. I AOEXP="Yes" S SDRETURN("ExtendedProfile",SDCOUNT,"Agent Orange Exposure Location")=AOEXPLOC
  1. ;
  1. ; last discharge
  1. D INP^DGPMV10
  1. S SDRETURN("ExtendedProfile",SDCOUNT,"Last Discharge Date")=$$FMTISO^SDAMUTDT($$GET1^DIQ(405,$G(DGPMVI(17)),.01,"I"))
  1. ;
  1. ;
  1. ; COMBAT VETERAN
  1. I $G(VASV(5)) D
  1. . S SDCMBTV="Yes"
  1. . S SDCMBTVED=$P($G(VASV(5,2)),U,2) ; =$$FMTISO^SDAMUTDT($$CONVDATE^SDESCOMPPEN($G(SDCMBTVED)))
  1. I '$G(VASV(5)) D
  1. . S SDCMBTV="No"
  1. . S SDCMBTVED="N/A"
  1. S SDRETURN("ExtendedProfile",SDCOUNT,"Combat Veteran")=$G(SDCMBTV)
  1. S SDRETURN("ExtendedProfile",SDCOUNT,"Combat Veteran End Date")=$G(SDCMBTVED)
  1. ;
  1. ; PRISONER OF WAR - VADPT is not handling Unknown value
  1. I $G(PATIENTDATA(2,SDDFN_",",.525,"I"))="Y" S SDPOW="Yes"
  1. I $G(PATIENTDATA(2,SDDFN_",",.525,"I"))="N" S SDPOW="No"
  1. I $G(PATIENTDATA(2,SDDFN_",",.525,"I"))="U" S SDPOW="Unknown"
  1. S SDRETURN("ExtendedProfile",SDCOUNT,"Prisoner of War")=$G(SDPOW)
  1. ;
  1. ; PAGER NUMBER
  1. S SDRETURN("ExtendedProfile",SDCOUNT,"Pager Number")=$G(PATIENTDATA(2,SDDFN_",",.135,"I"))
  1. ; SW ASIA CONDITIONS
  1. I $G(PATIENTDATA(2,SDDFN_",",.322013,"I"))="Y" S SDSW="Yes"
  1. I $G(PATIENTDATA(2,SDDFN_",",.322013,"I"))="N" S SDSW="No"
  1. I $G(PATIENTDATA(2,SDDFN_",",.322013,"I"))="U" S SDSW="Unknown"
  1. S SDRETURN("ExtendedProfile",SDCOUNT,"SW Asia Conditions")=$G(SDSW)
  1. ; STATUS, LAST ADMIT/LODGER DATE
  1. S (SDLADMT,SDSTAT,SDST,SDSTA,SDA)=""
  1. S SDRETURN("ExtendedProfile",SDCOUNT,"Status")=$G(SDSTAT)
  1. S SDRETURN("ExtendedProfile",SDCOUNT,"Last Admit/Lodger Date")=$G(SDLADMT)
  1. I '$D(^DGPM("C",SDDFN)) S SDSTAT="NO INPT./LOD. ACT." Q
  1. ;
  1. S VAIP("D")="L",VAIP("L")="" D INP^DGPMV10
  1. S SDA=$S("^3^5^"[("^"_+DGPMVI(2)_"^"):0,1:+DGPMVI(2)),SDST=$S('SDA:"IN",1:"")_"ACTIVE ",SDSTA=$S("^4^5^"[("^"_+DGPMVI(2)_"^"):"LODGER",1:"INPATIENT")
  1. S SDSTAT="" S SDSTAT=SDST_SDSTA
  1. S SDLADMT="" S SDLADMT=$P($G(DGPMVI(13,1)),"^",2)
  1. S SDRETURN("ExtendedProfile",SDCOUNT,"Status")=$G(SDSTAT)
  1. ;867
  1. ;S SDRETURN("ExtendedProfile",SDCOUNT,"Last Admit/Lodger Date")=$G(SDLADMT)
  1. S SDRETURN("ExtendedProfile",SDCOUNT,"Last Admit/Lodger Date")=$$FMTISO^SDAMUTDT($$CONVDATE^SDESCOMPPEN($G(SDLADMT)))
  1. K DGPMVI,VAIP
  1. Q