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

SCAPMC20.m

Go to the documentation of this file.
  1. SCAPMC20 ;ALB/REW - Team APIs:APPTTM ; 20 Mar 1996
  1. ;;5.3;Scheduling;**41,1015**;AUG 13, 1993;Build 21
  1. ;;1.0
  1. ACOUTPT(DFN,SCFIELDA,SCERR) ;add/edit a record in OUTPATIENT PROFILE #404.41
  1. ; input:
  1. ; DFN = pointer to PATIENT file (#2)
  1. ; SCFIELDA= array of additional fields to be added
  1. ; SCERR = array NAME to store error messages.
  1. ; [ex. ^TMP("ORXX",$J)]
  1. ;
  1. ; Output:
  1. ; Returned = ok?^404.41 ien^new?
  1. ; SCERR() = Array of DIALOG file messages(errors) .
  1. ; Foramt:
  1. ; Subscript: Sequential # from 1 to n
  1. ; Piece Description
  1. ; 1 IEN of DIALOG file
  1. N SCEXIST
  1. N SCESEQ,SCPARM,SCIEN,SC,SCFLD
  1. G:'$$OKDATA APTTMQ ;check/setup variables
  1. S SCEXIST=$D(^SCPT(404.41,DFN,0))#2
  1. IF SCEXIST D
  1. .IF $D(SCFIELDA) D
  1. ..S SCFLD=0
  1. ..F S SCFLD=$O(@SCFIELDA@(SCFLD)) Q:'SCFLD D
  1. ...S SC($J,404.41,(+DFN)_",",SCFLD)=@SCFIELDA@(SCFLD)
  1. .D FILE^DIE("E","SC($J)",SCERR)
  1. ELSE D
  1. .S SCIEN(1)=DFN
  1. .S SC($J,404.41,"+1,",.01)="`"_DFN
  1. .IF $D(SCFIELDA) D
  1. ..S SCFLD=0
  1. ..F S SCFLD=$O(@SCFIELDA@(SCFLD)) Q:'SCFLD D
  1. ...S SC($J,404.41,"+1,",SCFLD)=@SCFIELDA@(SCFLD)
  1. .D UPDATE^DIE("E","SC($J)","SCIEN",SCERR)
  1. .IF $D(@SCERR)!($G(SCIEN(1))'=DFN) S @SCERR=1 K SCIEN
  1. .ELSE D
  1. ..S SCEXIST=0
  1. APTTMQ Q '$D(@SCERR@(0))_U_+$G(DFN)_U_'$G(SCEXIST)
  1. ;
  1. OKDATA() ;setup/check variables
  1. N SCOK
  1. S SCOK=1
  1. D INIT^SCAPMCU1(.SCOK)
  1. IF '$D(^DPT(DFN,0)) D S SCOK=0
  1. . S SCPARM("PATIENT")=DFN
  1. . D ERR^SCAPMCU1(SCESEQ,4045101,.SCPARM,"",.SCERR)
  1. Q SCOK
  1. ;
  1. MAKEMANY(DFNA,SCOLDASS,SCBADASS,SCNEWASS) ;Not supported for use by PCMM Only
  1. ; DFNA - DFN ARRAY
  1. ; SCOLDASS - Subset of DFNA that were previously assigned
  1. ; SCBADASS - Subset of DFNA that could not be assigned
  1. ; SCNEWASS - Subset of DFNA that were newly assigned
  1. ; Return: total^new^old^bad
  1. ; Note: No input error checking!!
  1. N DFN,SCX,SCOUTFLD,SCBADOUT,SCBADCNT,SCNEWCND,SCOLDCNT
  1. S (SCBADCNT,SCNEWCNT,SCOLDCNT)=0
  1. S DFN=0
  1. F S DFN=$O(@DFNA@(DFN)) Q:'DFN D
  1. .S SCOUTFLD(.04)=1
  1. .S SCX=$$ACOUTPT(DFN,"SCOUTFLD","SCBADOUT")
  1. .IF 'SCX D
  1. ..S @SCBADASS@(DFN)=""
  1. ..S SCBADCNT=SCBADCNT+1
  1. .ELSE D
  1. ..IF $P(SCX,U,3) D
  1. ...S @SCNEWASS@(DFN)=""
  1. ...S SCNEWCNT=SCNEWCNT+1
  1. ..ELSE D
  1. ...S @SCOLDASS@(DFN)=""
  1. ...S SCOLDCNT=SCOLDCNT+1
  1. Q (SCOLDCNT+SCNEWCNT)_U_SCNEWCNT_U_SCOLDCNT_U_SCBADCNT
  1. ;
  1. PTPCNOTM(SCOUTA,SCDATE) ;Not Supported For Use by PCMM Only
  1. ; SCOUTA - Output array of DFNs that are PC but no Team Now
  1. N DFN,SCPC
  1. S DFN=0
  1. F S DFN=$O(^SCPT(404.41,"APC",DFN)) Q:'DFN S SCPC=$O(^(DFN)) Q:'SCPC D
  1. .Q:$D(^TMP("SCMC",$J,"EXCLUDE PT","SCPTA",+DFN))
  1. .S:'$$GETPCTM^SCAPMCU2(DFN,SCDATE,1) @SCOUTA@(DFN)=DFN_U_$P($G(^DPT(DFN,0)),U,1)
  1. Q