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

SDEC52CJSON.m

Go to the documentation of this file.
  1. SDEC52CJSON ;ALB/BLB,TAW,LAB,BWF - VISTA SCHEDULING RPCS ;JUN 06, 2022
  1. ;;5.3;Scheduling;**784,785,788,790,799,813,818**;Aug 13, 1993;Build 9
  1. ;;Per VHA Directive 6402, this routine should not be modified
  1. ;
  1. ; Reference to PATIENT in ICR #10035
  1. Q
  1. ;
  1. RECGETJSON(SDECY,DFN) ;Return a list of OPEN recall appointment types for patient
  1. ;INPUT - DFN (Date File Number) Pointer to PATIENT (#2) File.
  1. ;RETURN PARMETER:
  1. ;List of recalls associated with a given patient
  1. ;Data is delimited by carat (^).
  1. ; Field List:
  1. ; (1) Internal IEN
  1. ; (2) Accession #
  1. ; (3) Comment
  1. ; (4) Fast/Non-Fasting
  1. ; (5) Test/App
  1. ; (6) Provider IEN
  1. ; (7) Provider Name
  1. ; (8) Clinic IEN
  1. ; (9) Clinic Name
  1. ; (10) Length of Appointment
  1. ; (11) Recall Date
  1. ; (12) Recall Date (Per Patient)
  1. ; (13) Date Reminder Sent
  1. ; (14) Second Print
  1. ; (15) Date/Time Recall Added
  1. ; (16) GAF Score
  1. ; (17) Patient Sensitive & Record Access Checks
  1. ; (18) Similar Patient Data
  1. ; (19) Number of Call Attempts
  1. ; (20) Recall Reminders Letter Date
  1. ; Number of Email Contacts
  1. ; Number of Text Contacts
  1. ; Number of Secure Messages
  1. ;
  1. N SDRECALL,IEN,NUM,ERR,IENS,SDESJSONERR
  1. S DFN=$G(DFN),SDESJSONERR=0
  1. I DFN="" S SDESJSONERR=1 D ERRLOG^SDESJSON(.SDRECALL,1)
  1. S ERR=0,IEN=0,NUM=0
  1. I DFN'="",'$D(^DPT(DFN,0)) S SDESJSONERR=1 D ERRLOG^SDESJSON(.SDRECALL,2)
  1. I 'SDESJSONERR D
  1. . F S IEN=$O(^SD(403.5,"B",DFN,IEN)) Q:IEN="" D
  1. . . S NUM=NUM+1
  1. . . D RECDATA(IEN)
  1. . . D PATDATA(DFN,IEN)
  1. .I '$D(SDRECALL("Recall")) S SDRECALL("Recall")=""
  1. D BUILDER
  1. Q
  1. RECGETONEJSON(SDECY,IEN) ;Return a single OPEN recall appointment type in JSON format based on the IEN passed
  1. ;INPUT - IEN (Internal Entry Number) RECALL REMINDERS File (403.5)
  1. ;RETURN PARAMETER: recall based on IEN being passed
  1. ;Data is delimited by carat (^).
  1. ; Field List:
  1. ; (1) Internal IEN
  1. ; (2) Accession #
  1. ; (3) Comment
  1. ; (4) Fast/Non-Fasting
  1. ; (5) Test/App
  1. ; (6) Provider IEN
  1. ; (7) Provider Name
  1. ; (8) Clinic IEN
  1. ; (9) Clinic Name
  1. ; (10) Length of Appointment
  1. ; (11) Recall Date
  1. ; (12) Recall Date (Per Patient)
  1. ; (13) Date Reminder Sent
  1. ; (14) Second Print
  1. ; (15) Date/Time Recall Added
  1. ; (16) GAF Score
  1. ; (17) Patient Sensitive & Record Access Checks
  1. ; (18) Similar Patient Data
  1. ; (19) Number of Call Attempts
  1. ; (20) Recall Reminders Letter Date
  1. ; Number of Email Contacts
  1. ; Number of Text Contacts
  1. ; Number of Secure Messages
  1. ;
  1. N ERR,NUM,DFN,SDESJSONERR,SDREC,SDRECALL
  1. S SDESJSONERR=0
  1. S IEN=$G(IEN)
  1. I IEN="" S SDESJSONERR=1 D ERRLOG^SDESJSON(.SDRECALL,16)
  1. S ERR=0,NUM=0
  1. I IEN'="",'$D(^SD(403.5,IEN)) S SDESJSONERR=1 D ERRLOG^SDESJSON(.SDRECALL,17) ; send error and quit if patient has no entry in the RECALL REMINDERS File (403.5)
  1. I 'SDESJSONERR D
  1. . S DFN=$$GET1^DIQ(403.5,IEN,.01,"I")
  1. . S NUM=NUM+1
  1. . D RECDATA(IEN) ; build out recall data
  1. . D PATDATA(DFN,IEN) ; build out required patient data
  1. D BUILDER ; build return
  1. Q
  1. ;
  1. RECDATA(IEN) ;
  1. N F,DAPTDT,DATE,DATE1,DATE2,DATE3,RECARY
  1. D GETS^DIQ(403.5,IEN,"**","IE","RECARY","SDMSG")
  1. S F=403.5
  1. S IENS=IEN_","
  1. S SDRECALL("Recall",NUM,"RecallIEN")=IEN
  1. S SDRECALL("Recall",NUM,"EASTrackingNumber")=$G(RECARY(F,IENS,100,"E"))
  1. S SDRECALL("Recall",NUM,"Accession")=$G(RECARY(F,IENS,2,"E"))
  1. S SDRECALL("Recall",NUM,"Comment")=$G(RECARY(F,IENS,2.5,"E"))
  1. S SDRECALL("Recall",NUM,"FastingNonFasting")=$G(RECARY(F,IENS,2.6,"I"))
  1. S SDRECALL("Recall",NUM,"TestApp")=$G(RECARY(F,IENS,3,"I"))
  1. S SDRECALL("Recall",NUM,"ProviderIEN")=$G(RECARY(F,IENS,4,"I"))
  1. S SDRECALL("Recall",NUM,"ProviderName")=$$GET1^DIQ(403.54,SDRECALL("Recall",NUM,"ProviderIEN"),.01,"E")
  1. S SDRECALL("Recall",NUM,"ClinicIEN")=$G(RECARY(F,IENS,4.5,"I"))
  1. S SDRECALL("Recall",NUM,"ClinicName")=$G(RECARY(F,IENS,4.5,"E"))
  1. S SDRECALL("Recall",NUM,"AppointmentLength")=$G(RECARY(F,IENS,4.7,"E"))
  1. S SDRECALL("Recall",NUM,"OriginatingUserI")=$G(RECARY(F,IENS,7,"I"))
  1. S SDRECALL("Recall",NUM,"OriginatingUserE")=$G(RECARY(F,IENS,7,"E"))
  1. S DATE=$G(RECARY(F,IENS,5,"I")) S DATE=$$FMTE^XLFDT(DATE)
  1. S DATE1=$G(RECARY(F,IENS,5.5,"I")) S DATE1=$$FMTE^XLFDT(DATE1)
  1. S DAPTDT=$G(RECARY(F,IENS,6,"I")) S DAPTDT=$$FMTE^XLFDT(DAPTDT)
  1. S DATE2=$G(RECARY(F,IENS,8,"I")) S DATE2=$$FMTE^XLFDT(DATE2)
  1. S DATE3=$G(RECARY(403.5,IENS,7.5,"E")) S DATE3=$$FMTE^XLFDT(DATE3)
  1. S SDRECALL("Recall",NUM,"RecallDate")=DATE
  1. S SDRECALL("Recall",NUM,"RecallDatePerPatient")=DATE1
  1. S SDRECALL("Recall",NUM,"DateReminderSent")=DAPTDT
  1. S SDRECALL("Recall",NUM,"SecondPrint")=DATE2
  1. S SDRECALL("Recall",NUM,"DateTimeRecallAdded")=DATE3
  1. Q
  1. ;
  1. PATDATA(DFN,IEN) ;
  1. N SDREC
  1. S SDRECALL("Recall",NUM,"GAFScore")=$$GAF^SDECU2(DFN)
  1. S SDRECALL("Recall",NUM,"PatientSensitiveRecordAccessChecks")=$$PTSEC^SDECUTL(DFN)
  1. S SDRECALL("Recall",NUM,"SimilarPatientData")=$$SIM^SDECU3(DFN)
  1. S SDREC=$$RECALL^SDECAR1A(DFN,IEN)
  1. S SDRECALL("Recall",NUM,"NumberOfCallAttempts")=$P(SDREC,U)
  1. S SDRECALL("Recall",NUM,"RecallRemindersLetterDate")=$P(SDREC,U,2)
  1. S SDRECALL("Recall",NUM,"NumberOfEmailContact")=$P(SDREC,U,3)
  1. S SDRECALL("Recall",NUM,"NumberOfTextContact")=$P(SDREC,U,4)
  1. S SDRECALL("Recall",NUM,"NumberOfSecureMessage")=$P(SDREC,U,5)
  1. Q
  1. ;
  1. BUILDER ;
  1. D ENCODE^XLFJSON("SDRECALL","SDECY","ERR")
  1. Q