Ignore:
Timestamp:
Jul 5, 2012, 7:42:34 PM (12 years ago)
Author:
Sam Habiel
Message:

BSDX25 refactoring is done; moved PIMS availability change logic from BSDX07 and BSDX08 to BSDXAPI*.m. Calling these has moved from BSDX07 and BSDX08 to 1926MAKE and 1926CANCELBSDXAPI.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Scheduling/trunk/m/BSDX25.m

    r1466 r1467  
    1 BSDX25  ; VEN/SMH - WINDOWS SCHEDULING RPCS ; 7/3/12 12:27pm
     1BSDX25  ; VEN/SMH - WINDOWS SCHEDULING RPCS ; 7/5/12 11:55am
    22        ;;1.7T1;BSDX;;Aug 31, 2011;Build 18
    33        ; Licensed under LGPL
     
    55        ; Change Log:
    66        ; 3110106: SMH -> Changed Check-in EP - Removed unused paramters. Will change C#
     7        ; 3120630: VEN/SMH -> Extensive Refactoring to remove transactions.
     8        ;                  -> Functionality still the same.
     9        ;                  -> Unit Tests in UT25^BSDXUT2
    710        ;
    811        ;
     
    160163        I '$D(^BSDXAPPT(BSDXAPPTID,0)) D ERR("-2~Invalid Appointment ID") QUIT
    161164        ;
    162         ; Remove checkin from BSDX APPOINTMENT entry
    163         N BSDXERR S BSDXERR=$$BSDXCHK(BSDXAPPTID,"@")
    164         I BSDXERR D ERR("-6~Cannot file data in $$BSDXCHK") QUIT
    165         ;
    166         ; Now, remove checkin from PIMS files 2/44
     165        ; Get appointment Data
    167166        N BSDXNOD S BSDXNOD=^BSDXAPPT(BSDXAPPTID,0)
    168167        N BSDXPATID S BSDXPATID=$P(BSDXNOD,U,5) ; DFN
    169168        N BSDXSTART S BSDXSTART=$P(BSDXNOD,U) ; Start Date
    170         N BSDXSC1 S BSDXSC1=$P(BSDXNOD,U,7) ; Resource ID
     169        N BSDXRESID S BSDXRESID=$P(BSDXNOD,U,7) ; Resource ID
    171170        ;
    172171        ; If the resource doesn't exist, error out. DB is corrupt.
    173         I 'BSDXSC1 D ERR("-3~DB has corruption. Call Tech Support.") QUIT
    174         I '$D(^BSDXRES(BSDXSC1,0)) D ERR("-4~DB has corruption. Call Tech Support.") QUIT
    175         ;
    176         N BSDXNOD S BSDXNOD=^BSDXRES(BSDXSC1,0) ; Resource 0 node
    177         S BSDXSC1=$P(BSDXNOD,U,4) ;HOSPITAL LOCATION
    178         ;
    179         N BSDXZ ; Scratch variable to hold error message
    180         I BSDXSC1]"",$D(^SC(BSDXSC1,0)) S BSDXZ=$$RMCI^BSDXAPI1(BSDXPATID,BSDXSC1,BSDXSTART)
    181         I +$G(BSDXZ) D ERR("-5~"_$P(BSDXZ,U,2)) QUIT
     172        I 'BSDXRESID D ERR("-3~DB has corruption. Call Tech Support.") QUIT
     173        I '$D(^BSDXRES(BSDXRESID,0)) D ERR("-4~DB has corruption. Call Tech Support.") QUIT
     174        ;
     175        ; Get HL Data
     176        N BSDXNOD S BSDXNOD=^BSDXRES(BSDXRESID,0) ; Resource 0 node
     177        N BSDXSC1 S BSDXSC1=$P(BSDXNOD,U,4) ;HOSPITAL LOCATION IEN
     178        I BSDXSC1,'$D(^SC(BSDXSC1,0)) S BSDXSC1="" ; Zero out if HL doesn't exist
     179        ;
     180        ; Is it okay to remove check-in from PIMS?
     181        N BSDXERR S BSDXERR=0 ; Scratch variable
     182        ; $$RMCICK = Remove Check-in Check
     183        I BSDXSC1 S BSDXERR=$$RMCICK^BSDXAPI1(BSDXPATID,BSDXSC1,BSDXSTART)
     184        I BSDXERR D ERR("-5~"_$P(BSDXERR,U,2)) QUIT
     185        ;
     186        ; For possible rollback, get old check-in date (internal value)
     187        N BSDXCDT S BSDXCDT=$$GET1^DIQ(9002018.4,BSDXAPPTID_",",.03,"I")
     188        ;
     189        ; Remove checkin from BSDX APPOINTMENT entry
     190        ; No need to rollback here on failure.
     191        N BSDXERR S BSDXERR=$$BSDXCHK(BSDXAPPTID,"@")
     192        I BSDXERR D ERR("-6~Cannot file data in $$BSDXCHK") QUIT
     193        ;
     194        ; Now, remove checkin from PIMS files 2/44
     195        ; Restore BSDXCDT into ^BSDXAPPT if we fail.
     196        N BSDXERR S BSDXERR=0 ; Scratch variable to hold error message
     197        I BSDXSC1 S BSDXERR=$$RMCI^BSDXAPI1(BSDXPATID,BSDXSC1,BSDXSTART)
     198        I BSDXERR D  QUIT
     199        . N % S %=$$BSDXCHK(BSDXAPPTID,BSDXCDT) ; No error checking here.
     200        . D ERR("-5~"_$P(BSDXERR,U,2)) ; Send error message to client
    182201        ;
    183202        ; Return ADO recordset
     
    238257        ; Individual portions of this routine may choose to do rolling back
    239258        ; of their own (e.g. a failed call to BSDXAPI causes rollback to occur
    240         ; in CHECKIN)
     259        ; in CHECKIN and RMCI)
    241260        ;
    242261        ; Log error message and send to client
Note: See TracChangeset for help on using the changeset viewer.