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

SDESGETRECALL.m

Go to the documentation of this file.
  1. SDESGETRECALL ;ALB/BLB,MGD,RRM,BWF,JAS,ANU,LAB - VISTA SCHEDULING - GET RECALL REQUESTS ;Mar 13,2023
  1. ;;5.3;Scheduling;**803,805,809,813,815,820,824,837,842,845,875**;Aug 13, 1993;Build 25
  1. ;;Per VHA Directive 6402, this routine should not be modified
  1. ;
  1. ;
  1. ;
  1. ; for an example of the return object, see SDESGETREQWRAPPR due to its length.
  1. ;
  1. Q
  1. ;
  1. GETRECALLBYIEN(JSONRETURN,RECALLIEN,EAS) ;
  1. N DFN,ISEASVALID,ISRECALLIENVALID,RETURN,REQUEST,ERRORS
  1. ;
  1. S ISRECALLIENVALID=$$VALIDATERECIEN(.ERRORS,$G(RECALLIEN))
  1. S ISEASVALID=$$VALIDATEEAS(.ERRORS,$G(EAS))
  1. I $D(ERRORS) S ERRORS("Request",1)="" M RETURN=ERRORS
  1. ;
  1. I '$D(ERRORS) D
  1. .S DFN=$$GET1^DIQ(403.5,RECALLIEN,.01,"I")
  1. .D GETRECALL(.REQUEST,RECALLIEN,DFN)
  1. I '$D(REQUEST) S REQUEST("Request",1)=""
  1. M RETURN=REQUEST
  1. ;
  1. D BUILDJSON(.JSONRETURN,.RETURN) Q
  1. Q
  1. ;
  1. GETRECALLSBYDFN(JSONRETURN,DFN,EAS) ;
  1. N ISDFNVALID,ISEASVALID,REQUEST,RECALLIEN,ERRORS,RETURN
  1. ;
  1. S ISDFNVALID=$$VALIDATEDFN(.ERRORS,$G(DFN))
  1. S ISEASVALID=$$VALIDATEEAS(.ERRORS,$G(EAS))
  1. I $D(ERRORS) S ERRORS("Request",1)="" M RETURN=ERRORS D BUILDJSON(.JSONRETURN,.RETURN) Q
  1. ;
  1. S RECALLIEN=0
  1. F S RECALLIEN=$O(^SD(403.5,"B",DFN,RECALLIEN)) Q:RECALLIEN="" D
  1. .D GETRECALL(.REQUEST,RECALLIEN,DFN)
  1. I '$D(REQUEST) S REQUEST("Request",1)=""
  1. M RETURN=REQUEST
  1. D BUILDJSON(.JSONRETURN,.RETURN) Q
  1. Q
  1. ;
  1. VALIDATERECIEN(ERRORS,RECALLIEN) ;
  1. I RECALLIEN="" D ERRLOG^SDESJSON(.ERRORS,16) Q 0
  1. I RECALLIEN'="",'$D(^SD(403.5,RECALLIEN))!(RECALLIEN=0) D ERRLOG^SDESJSON(.ERRORS,17) Q 0
  1. Q 1
  1. VALIDATEDFN(ERRORS,DFN) ;
  1. I DFN="" D ERRLOG^SDESJSON(.ERRORS,1) Q 0
  1. I DFN'="",'$D(^DPT(DFN,0)) D ERRLOG^SDESJSON(.ERRORS,2) Q 0
  1. Q 1
  1. ;
  1. VALIDATEEAS(ERRORS,EAS) ;
  1. I $L(EAS) S EAS=$$EASVALIDATE^SDESUTIL($G(EAS))
  1. I $P($G(EAS),U)=-1 D ERRLOG^SDESJSON(.ERRORS,142) Q 0
  1. Q 1
  1. ;
  1. GETRECALL(REQUEST,RECALLIEN,DFN) ;
  1. N F,RECARY,NUM,IENS,RECPROVIEN,RECPROVIEN200,RECPROVIEN40954,RECCLINICIEN,STOPCDIEN,SECSTOPCDIEN,VA,YSZ
  1. D GETS^DIQ(403.5,RECALLIEN,"**","IE","RECARY","SDMSG")
  1. S F=403.5,NUM=""
  1. S NUM=$O(REQUEST("Request",NUM),-1)+1
  1. S IENS=RECALLIEN_","
  1. ;
  1. S RECPROVIEN40954=$G(RECARY(F,IENS,4,"I"))
  1. S RECPROVIEN200=$$GET1^DIQ(403.54,RECPROVIEN40954,.01,"I")
  1. S RECCLINICIEN=$G(RECARY(F,IENS,4.5,"I"))
  1. S STOPCDIEN=$$GET1^DIQ(44,RECCLINICIEN,8,"I")
  1. S SECSTOPCDIEN=$$GET1^DIQ(44,RECCLINICIEN,2503,"I")
  1. D BUILDSDECONTACT^SDESGETAPPTREQ(.REQUEST,RECALLIEN,NUM,"R")
  1. ;
  1. S REQUEST("Request",NUM,"Type")="Recall"
  1. S REQUEST("Request",NUM,"RecallAppointmentType")=$G(RECARY(F,IENS,3,"E"))
  1. S REQUEST("Request",NUM,"PatientIEN")=DFN
  1. S REQUEST("Request",NUM,"PatientICN")=$$GETPATICN^SDESINPUTVALUTL(DFN)
  1. S REQUEST("Request",NUM,"PatientLast4")=$$LAST4SSN^SDESINPUTVALUTL(DFN)
  1. S REQUEST("Request",NUM,"PatientName")=RECARY(F,IENS,.01,"E")
  1. S REQUEST("Request",NUM,"RequestIEN")=RECALLIEN
  1. S REQUEST("Request",NUM,"EASTrackingNumber")=RECARY(F,IENS,100,"E")
  1. S REQUEST("Request",NUM,"RecallAccessionNumber")=RECARY(F,IENS,2,"E")
  1. S REQUEST("Request",NUM,"RecallComment")=RECARY(F,IENS,2.5,"E")
  1. S REQUEST("Request",NUM,"RecallFastingNonFasting")=RECARY(F,IENS,2.6,"E")
  1. S REQUEST("Request",NUM,"RecallProviderNewPersonIEN")=RECPROVIEN200
  1. S REQUEST("Request",NUM,"RecallProviderIEN")=RECARY(F,IENS,4,"I")
  1. S REQUEST("Request",NUM,"RecallProviderName")=$$GET1^DIQ(403.54,RECARY(F,IENS,4,"I"),.01,"E")
  1. S REQUEST("Request",NUM,"RecallProviderSecID")=$$GET1^DIQ(200,RECPROVIEN200,205.1,"E")
  1. S REQUEST("Request",NUM,"ClinicIEN")=RECARY(F,IENS,4.5,"I")
  1. S REQUEST("Request",NUM,"ClinicName")=RECARY(F,IENS,4.5,"E")
  1. S REQUEST("Request",NUM,"RecallClinicStopCodeIEN")=STOPCDIEN
  1. S REQUEST("Request",NUM,"RecallClinicStopCodeAMIS")=$$STOPCODETOAMIS^SDESUTIL(STOPCDIEN)
  1. S REQUEST("Request",NUM,"RecallClinicStopCodeName")=$$GET1^DIQ(40.7,STOPCDIEN,.01,"E")
  1. ;ANU
  1. S REQUEST("Request",NUM,"DisplayClinicAppt")=$$GET1^DIQ(44,RECCLINICIEN,62,"E")
  1. ;
  1. S REQUEST("Request",NUM,"RecallClinicSecondaryStopCodeIEN")=SECSTOPCDIEN
  1. S REQUEST("Request",NUM,"RecallClinicSecondaryStopCodeAMIS")=$$STOPCODETOAMIS^SDESUTIL(SECSTOPCDIEN)
  1. S REQUEST("Request",NUM,"RecallClinicSecondaryStopCodeName")=$$GET1^DIQ(40.7,SECSTOPCDIEN,.01,"E")
  1. S REQUEST("Request",NUM,"RecallAppointmentLength")=RECARY(F,IENS,4.7,"E") ;
  1. S REQUEST("Request",NUM,"RecallProviderIndicatedDate")=$$FMTISO^SDAMUTDT(RECARY(F,IENS,5,"I"))
  1. S REQUEST("Request",NUM,"PatientIndicatedDate")=$$FMTISO^SDAMUTDT(RECARY(F,IENS,5.5,"I"))
  1. S REQUEST("Request",NUM,"RecallDateReminderSent")=$$FMTISO^SDAMUTDT(RECARY(F,IENS,6,"I"))
  1. S REQUEST("Request",NUM,"EnteredByIEN")=RECARY(F,IENS,7,"I")
  1. S REQUEST("Request",NUM,"EnteredByName")=RECARY(F,IENS,7,"E")
  1. S REQUEST("Request",NUM,"RecallEnteredBySecID")=$$GET1^DIQ(200,RECARY(F,IENS,7,"I"),205.1,"E")
  1. S REQUEST("Request",NUM,"RecallSecondPrint")=$$FMTISO^SDAMUTDT(RECARY(F,IENS,8,"I"))
  1. S REQUEST("Request",NUM,"CreateDate")=$$FMTISO^SDAMUTDT(RECARY(403.5,IENS,7.5,"I"))
  1. S REQUEST("Request",NUM,"RecallGAFScore")=$$GAF^SDECU2(DFN)
  1. S REQUEST("Request",NUM,"RecallPatientSensitiveRecordAccessChecks")=$$PTSEC^SDECUTL(DFN)
  1. S REQUEST("Request",NUM,"RecallSimilarPatientData")=$$SIM^SDECU3(DFN)
  1. S REQUEST("Request",NUM,"ProviderIEN")=""
  1. S REQUEST("Request",NUM,"ProviderName")=""
  1. ;
  1. I '$D(REQUEST("Request",NUM,"PatientIndicatedDate")) D
  1. .S REQUEST("Request",NUM,"PatientIndicatedDate")=""
  1. ; build appointment request and consult
  1. I '$D(^SDEC(409.86,"SRP",RECALLIEN)) D
  1. .D SDECONTACT^SDESGETREQWRAPPR(.REQUEST,NUM)
  1. D APPTREQUEST^SDESGETREQWRAPPR(.REQUEST,NUM)
  1. D CONSULT^SDESGETREQWRAPPR(.REQUEST,NUM)
  1. ;
  1. Q
  1. ;
  1. BUILDJSON(JSONRETURN,RETURN) ;
  1. D ENCODE^XLFJSON("RETURN","JSONRETURN","ERR")
  1. Q