| 1 | SCUTIE1 ;ALB/SCK - INCOMPLETE ENCOUNTER MGMT API CALLS ; 6/17/97
 | 
|---|
| 2 |  ;;5.3;Scheduling;**66**;AUG 13, 1993
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  Q
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 | OPENC(SDXMT,SDARRAY) ; API to return whether Transmitted Outpatient Encounter File entry
 | 
|---|
| 7 |  ; points to a deleted encounter.
 | 
|---|
| 8 |  ;
 | 
|---|
| 9 |  ;   Input:
 | 
|---|
| 10 |  ;       SDXMT   - IEN of the Transmitted Outpatient Encounter file entry
 | 
|---|
| 11 |  ;       SDARRAY - [optional] - if passed in (as "xxxx"), will return encounter information
 | 
|---|
| 12 |  ;                              DFN, Clinic IEN, and Encounter date
 | 
|---|
| 13 |  ;
 | 
|---|
| 14 |  ;   Return:
 | 
|---|
| 15 |  ;        1  - if encounter is deleted
 | 
|---|
| 16 |  ;        0  - if encounter is not deleted.
 | 
|---|
| 17 |  ;       -1  - if error condition
 | 
|---|
| 18 |  ;
 | 
|---|
| 19 |  ;        If SDARRAY is passed in, returns:
 | 
|---|
| 20 |  ;           SDARRAY["DFN"]       = DFN
 | 
|---|
| 21 |  ;           SDARRAY["CLINIC"]    = Clinic IEN
 | 
|---|
| 22 |  ;           SDARRAY["ENCOUNTER"] = Encounter date
 | 
|---|
| 23 |  ;           SDARRAY["ERROR"]     = Error Condition
 | 
|---|
| 24 |  ;           SDARRAY["DELIEN"]   = Ien of Deleted Encounter
 | 
|---|
| 25 |  ;           SDARRAY["SDOIEN"]    = Ien of OP Encounter
 | 
|---|
| 26 |  ;           SDARRAY["AE"]        = 0 if Originating process is an appointment,
 | 
|---|
| 27 |  ;                                  1 if not.
 | 
|---|
| 28 |  ;
 | 
|---|
| 29 |  N SDOK,NODE0,NODE1
 | 
|---|
| 30 |  ;
 | 
|---|
| 31 |  K @SDARRAY
 | 
|---|
| 32 |  I +$G(SDXMT)=0 D  G DELQ
 | 
|---|
| 33 |  . S SDOK=-1
 | 
|---|
| 34 |  . I $G(SDARRAY)]"" S @SDARRAY@("ERROR")="NULL XMT POINTER"
 | 
|---|
| 35 |  ;
 | 
|---|
| 36 |  I +$P($G(^SD(409.73,SDXMT,0)),U,2)>0,$D(^SCE(+$P(^SD(409.73,SDXMT,0),U,2))) D  G DELQ
 | 
|---|
| 37 |  . S SDOK=0
 | 
|---|
| 38 |  . I $G(SDARRAY)]"" D
 | 
|---|
| 39 |  .. K @SDARRAY
 | 
|---|
| 40 |  .. S NODE0=$G(^SCE($P(^SD(409.73,SDXMT,0),U,2),0))
 | 
|---|
| 41 |  .. S @SDARRAY@("DFN")=$P(NODE0,U,2)
 | 
|---|
| 42 |  .. S @SDARRAY@("CLINIC")=$P(NODE0,U,4)
 | 
|---|
| 43 |  .. S @SDARRAY@("ENCOUNTER")=$P(NODE0,U)
 | 
|---|
| 44 |  .. S @SDARRAY@("SDOIEN")=$P(^SD(409.73,SDXMT,0),U,2)
 | 
|---|
| 45 |  .. S @SDARRAY@("AE")=$S($P(NODE0,U,8)=1:0,1:1)
 | 
|---|
| 46 |  ;
 | 
|---|
| 47 |  I +$P($G(^SD(409.73,SDXMT,0)),U,3)>0,$D(^SD(409.74,+$P(^SD(409.73,SDXMT,0),U,3))) D  G DELQ
 | 
|---|
| 48 |  . S SDOK=1
 | 
|---|
| 49 |  . I $G(SDARRAY)]"" D
 | 
|---|
| 50 |  .. K @SDARRAY
 | 
|---|
| 51 |  .. S NODE0=$G(^SD(409.74,$P(^SD(409.73,SDXMT,0),U,3),0))
 | 
|---|
| 52 |  .. S NODE1=$G(^SD(409.74,$P(^SD(409.73,SDXMT,0),U,3),1))
 | 
|---|
| 53 |  .. S @SDARRAY@("DFN")=$P(NODE0,U,2)
 | 
|---|
| 54 |  .. S @SDARRAY@("CLINIC")=$P(NODE1,U,4)
 | 
|---|
| 55 |  .. S @SDARRAY@("ENCOUNTER")=$P(NODE1,U)
 | 
|---|
| 56 |  .. S @SDARRAY@("DELIEN")=$P(^SD(409.73,SDXMT,0),U,3)
 | 
|---|
| 57 |  .. S @SDARRAY@("AE")=$S($P(NODE1,U,8)=1:0,1:1)
 | 
|---|
| 58 |  ;
 | 
|---|
| 59 |  S SDOK=-1
 | 
|---|
| 60 |  I $G(SDARRAY)]"" S @SDARRAY@("ERROR")="No (Deleted) Outpatient Encounter entry found."
 | 
|---|
| 61 | DELQ Q SDOK
 | 
|---|