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

SDESGETTIUDOC.m

Go to the documentation of this file.
  1. SDESGETTIUDOC ;ALB/RRM - VISTA SCHEDULING GET TIU DOCUMENT BY CONTEXT RPC; Oct 07, 2022@15:02
  1. ;;5.3;Scheduling;**827**;Aug 13, 1993;Build 10
  1. ;;Per VHA Directive 6402, this routine should not be modified
  1. ;
  1. ;External References
  1. ;-------------------
  1. ; Reference to $$CONTEXT^TIUSRVLO is supported by IA #2865
  1. ; Reference to GETS^DIQ is supported by IA #2056
  1. ; Reference to $$FIND1^DIC is supported by IA #2051
  1. ; Reference to ENCODE^XLFJSON is supported by IA #6682
  1. ; Reference to Direct Global Read access to is supported by IA #2937
  1. ; TIU DOCUMENT File #8925
  1. ; Reference to Direct Global Read access to is supported by IA #5897
  1. ; TIU DOCUMENT File #8925.1
  1. ; Reference to ^VA(200 is supported by IA #10060
  1. ;
  1. Q ;No Direct Call
  1. ;
  1. ; The parameter list for this RPC must be kept in sync.
  1. ; If you need to add or remove a parameter, ensure that the Remote Procedure File #8994 definition is also updated.
  1. TIUDOCBYCONTEXT(JSONRETURN,CLASS,CONTEXT,DFN,BEGINDATE,ENDDATE,PERSON,OCCLIM,SEQUENCE,SHOWADD,INCUND,SHOW,TIUIEN,EAS) ; ep: SDES GET TIU DOC BY CONTEXT RPC
  1. ; Input:
  1. ; CLASS [Required] - Pointer to TIU DOCUMENT DEFINITION #8925.1
  1. ; (e.g. 3 for PROGRESS NOTES, 244 for DISCHARGE SUMMARIES)
  1. ; CONTEXT [Required] - 1=All Signed (by PT),
  1. ; 2="Unsigned (by PT&(AUTHOR!TRANSCRIBER))
  1. ; 3="Uncosigned (by PT&EXPECTED COSIGNER
  1. ; 4="Signed notes (by PT&selected author)
  1. ; 5="Signed notes (by PT&date range)
  1. ; DFN [Required] - Pointer to Patient File#2
  1. ; BEGINDATE [Optional] - The beginning date/time in ISO 8601 Time Format to start for the search.
  1. ; ENDDATE [Optional] - The ending date/time in ISO 8601 Time Format to start for the search.
  1. ; PERSON [Optional] - Pointer to file 200 (The program will use the default DUZ if not passed)
  1. ; OCCLIM [Optional] - The number of documents/records to the return array
  1. ; SEQUENCE [Optional] - "A"=ascending (Regular date/time)
  1. ; "D"=descending (Reverse date/time) (dflt)
  1. ; SHOWADD [Optional] - Boolean: Include addenda in the return array, when their parent documents are identified by the search
  1. ; INCUND [Optional] - Boolean: Include Undictated and Untranscribed documents along with Unsigned documents, when the CONTEXT is 2.
  1. ; SHOW [Optional] - Boolean: Return "0^SHOW MORE" in return
  1. ; array when additional notes available for
  1. ; context of 1 or 5 when occurrence limit
  1. ; prevents all notes from displaying
  1. ; TIUIEN [Optional] - Starting TIU IEN for additional return
  1. ; when "SHOW MORE" was received in previous
  1. ; return array (LATE date/time will be set
  1. ; to Reference date of this TIU document)
  1. ; EAS [Optional] - The Enterprise Appointment Scheduling (EAS) Tracking Number associated to an appointment.
  1. ;
  1. ; Output:
  1. ; Successful Return:
  1. ; JSONRETURN = Returns the TIU DOCUMENT data in JSON formatted string.
  1. ; Otherwise, JSON Errors will be returned for any invalid/missing parameters.
  1. ;
  1. N TMPTIU,RETURN,ERRORS
  1. D INITVAR
  1. D VALIDATECLASS(.ERRORS,CLASS)
  1. D VALIDATECONTEXT(.ERRORS,CONTEXT)
  1. D VALIDATEDFN(.ERRORS,DFN)
  1. D VALBEGENDDATE(.ERRORS,BEGINDATE,ENDDATE)
  1. D VALIDATEPERSON(.ERRORS,PERSON)
  1. D VALIDATEOCCLIM(.ERRORS,OCCLIM)
  1. D VALIDATESEQ(.ERRORS,SEQUENCE)
  1. D VALIDATESHOWADD(.ERRORS,SHOWADD)
  1. D VALIDATEINCUND(.ERRORS,INCUND)
  1. D VALIDATESHOW(.ERRORS,SHOW)
  1. D VALIDATETIUIEN(.ERRORS,TIUIEN)
  1. D VALIDATEEAS^SDESINPUTVALUTL(.ERRORS,EAS)
  1. I $D(ERRORS) M RETURN=ERRORS D BUILDJSON^SDESBUILDJSON(.JSONRETURN,.RETURN) Q
  1. D CONTEXT^TIUSRVLO(.TMPTIU,CLASS,CONTEXT,DFN,BEGINDATE,ENDDATE,PERSON,OCCLIM,SEQUENCE,SHOWADD,INCUND,SHOW,TIUIEN)
  1. D BUILDDATA(.TMPTIU,.RETURN,DFN)
  1. D BUILDJSON^SDESBUILDJSON(.JSONRETURN,.RETURN)
  1. Q
  1. ;
  1. BUILDDATA(TMPTIU,RETURN,DFN) ;
  1. N RECNT,CLINICIEN,TIUDATA,ERR,EPBEGDATETIME,EPENDDATETIME
  1. K RETURN
  1. S RECNT=0 F S RECNT=$O(@TMPTIU@(RECNT)) Q:RECNT="" D
  1. . S TIUIEN=$P(@TMPTIU@(RECNT),"^")
  1. . S RETURN("TIUDocument",RECNT,"DocumentIEN")=TIUIEN
  1. . S RETURN("TIUDocument",RECNT,"DocumentPrintName")=$P(@TMPTIU@(RECNT),"^",2)
  1. . S RETURN("TIUDocument",RECNT,"NoteDateTime")=$$FMTISO^SDAMUTDT($P(@TMPTIU@(RECNT),"^",3))
  1. . S RETURN("TIUDocument",RECNT,"PatientName")=$$GET1^DIQ(2,DFN,.01,"E")
  1. . S RETURN("TIUDocument",RECNT,"PatientDFN")=$G(DFN)
  1. . S RETURN("TIUDocument",RECNT,"Last4SSN")=$$LAST4SSN^SDESINPUTVALUTL($G(DFN))
  1. . S RETURN("TIUDocument",RECNT,"Author")=$P($P(@TMPTIU@(RECNT),"^",5),";",3)
  1. . S RETURN("TIUDocument",RECNT,"AuthorDUZ")=$P($P(@TMPTIU@(RECNT),"^",5),";")
  1. . S RETURN("TIUDocument",RECNT,"SignatureBlockName")=$P($P(@TMPTIU@(RECNT),"^",5),";",2)
  1. . S RETURN("TIUDocument",RECNT,"HospitalLocation")=$P(@TMPTIU@(RECNT),"^",6)
  1. . S RETURN("TIUDocument",RECNT,"Status")=$P(@TMPTIU@(RECNT),"^",7)
  1. . S RETURN("TIUDocument",RECNT,"RequestingPackageVariablePointer")=$P(@TMPTIU@(RECNT),"^",10)
  1. . S RETURN("TIUDocument",RECNT,"ImageCount")=$P(@TMPTIU@(RECNT),"^",11)
  1. . S RETURN("TIUDocument",RECNT,"Subject")=$P(@TMPTIU@(RECNT),"^",12)
  1. . S RETURN("TIUDocument",RECNT,"HasChildren")=$P(@TMPTIU@(RECNT),"^",13)
  1. . S RETURN("TIUDocument",RECNT,"IENOfParentDocument")=$P(@TMPTIU@(RECNT),"^",14)
  1. . ;
  1. . S CLINICIEN=$$FIND1^DIC(44,"","X",$P(@TMPTIU@(RECNT),"^",6),"B")
  1. . S RETURN("TIUDocument",RECNT,"HospitalLocationIEN")=CLINICIEN
  1. . S EPBEGDATETIME=$$CVTTOFM^SDAMUTDT($TR($P($P(@TMPTIU@(RECNT),"^",8),":",2)," ",""))
  1. . S EPENDDATETIME=$$CVTTOFM^SDAMUTDT($TR($P($P(@TMPTIU@(RECNT),"^",9),":",2)," ",""))
  1. . S RETURN("TIUDocument",RECNT,"EpisodeBeginDateTime")=$S(EPBEGDATETIME<1:"",1:$$FMTISO^SDAMUTDT(EPBEGDATETIME,$G(CLINICIEN)))
  1. . S RETURN("TIUDocument",RECNT,"EpisodeEndDateTime")=$S(EPENDDATETIME<1:"",1:$$FMTISO^SDAMUTDT(EPENDDATETIME,$G(CLINICIEN)))
  1. . S RETURN("TIUDocument",RECNT,"TypeOfLocation")=$P($P(@TMPTIU@(RECNT),"^",8),":",1)
  1. . ;
  1. . K TIUDATA,ERR
  1. . D GETS^DIQ(8925,TIUIEN_",","1205;1206;1207;1211","IE","TIUDATA","ERR")
  1. . S RETURN("TIUDocument",RECNT,"VisitLocationName")=$G(TIUDATA(8925,TIUIEN_",",1211,"E"))
  1. . S RETURN("TIUDocument",RECNT,"VisitLocationIEN")=$G(TIUDATA(8925,TIUIEN_",",1211,"I"))
  1. ;If no record found, set the object equals to null
  1. I $O(RETURN("TIUDocument",""))="" S RETURN("TIUDocument",1)=""
  1. Q
  1. ;
  1. VALIDATECLASS(ERRORS,CLASS) ;
  1. N ERR,SDTIUCLASSIEN
  1. I $G(CLASS)="" D ERRLOG^SDESJSON(.ERRORS,329) Q
  1. S SDTIUCLASSIEN=$$FIND1^DIC(8925.1,"","","`"_$G(CLASS),"","","ERR")
  1. I +SDTIUCLASSIEN<1 D ERRLOG^SDESJSON(.ERRORS,328)
  1. Q
  1. ;
  1. VALIDATECONTEXT(ERRORS,CONTEXT) ;
  1. I $G(CONTEXT)="" D ERRLOG^SDESJSON(.ERRORS,330) Q
  1. I $G(CONTEXT)'="",(+CONTEXT<1!(+CONTEXT>5)) D ERRLOG^SDESJSON(.ERRORS,331) Q
  1. Q
  1. ;
  1. VALIDATEDFN(ERRORS,DFN) ;
  1. D VALIDATEDFN^SDESINPUTVALUTL(.ERRORS,DFN)
  1. Q
  1. ;
  1. VALBEGENDDATE(ERRORS,BEGINDATE,ENDDATE) ;
  1. I BEGINDATE'="" D
  1. . S BEGINDATE=$$ISOTFM^SDAMUTDT(BEGINDATE)
  1. . I BEGINDATE=-1 S BEGINDATE=""
  1. ;
  1. I ENDDATE'="" D
  1. . S ENDDATE=$$ISOTFM^SDAMUTDT(ENDDATE)
  1. . I ENDDATE=-1 S ENDDATE=""
  1. ;
  1. I $G(BEGINDATE)'=-1,$G(ENDDATE)'=-1,BEGINDATE>ENDDATE D ERRLOG^SDESJSON(.ERRORS,29)
  1. Q
  1. ;
  1. VALIDATEPERSON(ERRORS,PERSON) ;
  1. I PERSON'="",'$D(^VA(200,DUZ,0)) S PERSON=""
  1. Q
  1. ;
  1. VALIDATEOCCLIM(ERRORS,OCCLIM) ;
  1. I +$G(OCCLIM)'>0 S OCCLIM=""
  1. Q
  1. ;
  1. VALIDATESEQ(ERRORS,SEQUENCE) ;
  1. I $G(SEQUENCE)'="",(SEQUENCE'="A"!(SEQUENCE'="D")) S SEQUENCE=""
  1. Q
  1. ;
  1. VALIDATESHOWADD(ERRORS,SHOWADD) ;
  1. I ($G(SHOWADD)'="")&(SHOWADD'?1N!(SHOWADD>1)) S SHOWADD=""
  1. Q
  1. ;
  1. VALIDATEINCUND(ERRORS,INCUND) ;
  1. I ($G(INCUND)'="")&(INCUND'?1N!(INCUND>1)) S INCUND=""
  1. Q
  1. ;
  1. VALIDATESHOW(ERRORS,SHOW) ;
  1. I ($G(SHOW)'="")&(SHOW'?1N!(SHOW>1)) S SHOW=""
  1. Q
  1. ;
  1. VALIDATETIUIEN(ERRORS,TIUEN) ;
  1. I $G(TIUIEN)'="",'$D(^TIU(8925,+TIUIEN,0)) S TIUIEN=""
  1. Q
  1. ;
  1. INITVAR ;Initialize input parameter variables
  1. S CLASS=$G(CLASS)
  1. S CONTEXT=$G(CONTEXT)
  1. S DFN=$G(DFN)
  1. S BEGINDATE=$G(BEGINDATE)
  1. S ENDDATE=$G(ENDDATE)
  1. S DUZ=$G(DUZ)
  1. S PERSON=$G(PERSON)
  1. S OCCLIM=$G(OCCLIM)
  1. S SEQUENCE=$G(SEQUENCE)
  1. S SHOWADD=$G(SHOWADD)
  1. S INCUND=$G(INCUND)
  1. S SHOW=$G(SHOW)
  1. S TIUIEN=$G(TIUIEN)
  1. S EAS=$G(EAS)
  1. Q
  1. ;