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

SDES2EDITAPPT.m

Go to the documentation of this file.
SDES2EDITAPPT  ;ALB/JAS,LAB/JAS,JAS - SDES2 EDIT APPOINTMENT ; MAY 8, 2025
 ;;5.3;Scheduling;**893,895,907**;Aug 13, 1993;Build 5
 ;;Per VHA Directive 6402, this routine should not be modified
 ;
 Q
 ;
EDIT(JSON,SDCONTEXT,SDINPUT) ;
 N APPTIEN,ERRORS,NOTE,RETURN,SDDUZ
 ;
 D VALCONTEXT^SDES2VALCONTEXT(.ERRORS,.SDCONTEXT)
 I $D(ERRORS) S ERRORS("Appointment",1)="" D BUILDJSON^SDES2JSON(.JSON,.ERRORS) Q
 ;
 S NOTE=$$CLEANCMMTS^SDES2APPTUTIL($G(SDINPUT("NOTE")))
 I NOTE="" D ERRLOG^SDES2JSON(.ERRORS,444)
 S APPTIEN=$G(SDINPUT("APPTIEN"))
 D VALIDATEAPPTIEN(.ERRORS,APPTIEN)
 I $D(ERRORS) S ERRORS("Appointment",1)="" M RETURN=ERRORS D BUILDJSON^SDES2JSON(.JSON,.RETURN) Q
 ;
 S SDDUZ=$S($G(SDCONTEXT("USER DUZ"))'="":SDCONTEXT("USER DUZ"),1:DUZ)
 ;
 D EDITNOTE(APPTIEN,$E(NOTE,1,150),$$GET1^DIQ(409.84,APPTIEN,.01,"I"),$$GET1^DIQ(409.831,$$GET1^DIQ(409.84,APPTIEN,.07,"I"),.04,"I"),$$GET1^DIQ(409.84,APPTIEN,.05,"I"),SDDUZ)
 ;
 S RETURN("Appointment","IEN")=APPTIEN
 D BUILDJSON^SDES2JSON(.JSON,.RETURN)
 Q
 ;
EDITNOTE(APPTIEN,NOTE,STARTDATETIME,CLINICIEN,DFN,SDDUZ) ;
 N FDA,SUBIEN,EDITED,EDITEDNOTE,APPTREF
 N NOTEINFO,ERR,INDEX,LASTLENGTH,NEWLENGTH,NEWNOTE
 D GETS^DIQ(409.84,APPTIEN_",","1","E","NOTEINFO","ERR")
 S (INDEX,LASTLENGTH)=0
 S APPTREF=$O(NOTEINFO(409.84,""),-1)
 F  S INDEX=$O(NOTEINFO(409.84,APPTREF,1,INDEX)) Q:'INDEX  D
 . S LASTLENGTH=LASTLENGTH+$L(NOTEINFO(409.84,APPTREF,1,INDEX))
 S NEWNOTE=$E(NOTE,(LASTLENGTH+1),($L(NOTE)))
 ;
 ; 409.84 WP field
 S EDITEDNOTE(1)=NOTE
 D WP^DIE(409.84,APPTIEN_",",1,"","EDITEDNOTE")
 ;
 ; 409.84 NOTE AUDIT multiple
 I $L(NEWNOTE) D
 . S FDA(409.847,"+1,"_APPTIEN_",",.01)=$$NOW^XLFDT
 . S FDA(409.847,"+1,"_APPTIEN_",",1)=SDDUZ
 . S FDA(409.847,"+1,"_APPTIEN_",",2)=NEWNOTE
 . D UPDATE^DIE("","FDA") K FDA
 ;
 ; 44 free text field
 S SUBIEN=0,EDITED=0
 F  S SUBIEN=$O(^SC(CLINICIEN,"S",STARTDATETIME,1,SUBIEN)) Q:'SUBIEN!(EDITED=1)  D
 .I DFN=$$GET1^DIQ(44.003,SUBIEN_","_STARTDATETIME_","_CLINICIEN_",",.01,"I") D
 ..S FDA(44.003,SUBIEN_","_STARTDATETIME_","_CLINICIEN_",",3)=NOTE
 ..D FILE^DIE(,"FDA") K FDA
 ..S EDITED=1
 Q
 ;
VALIDATEAPPTIEN(ERRORS,APPTIEN) ;
 I APPTIEN="" D ERRLOG^SDES2JSON(.ERRORS,14) Q
 I APPTIEN'="",'$D(^SDEC(409.84,APPTIEN,0)) D ERRLOG^SDES2JSON(.ERRORS,15) Q
 Q
 ;