| 1 | SDOEPRV ;ALB/MJK - ACRP Provider APIs For An Encounter ;8/12/96
 | 
|---|
| 2 |  ;;5.3;Scheduling;**131**;Aug 13, 1993
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | PRV(SDOE,SDERR) ; -- SDOE ASSIGNED A PROVIDER
 | 
|---|
| 5 |  ;   API ID: 63
 | 
|---|
| 6 |  ;
 | 
|---|
| 7 |  ;
 | 
|---|
| 8 |  N SDOK
 | 
|---|
| 9 |  S SDOK=0
 | 
|---|
| 10 |  ;
 | 
|---|
| 11 |  ; -- do validation checks
 | 
|---|
| 12 |  IF '$$VALOE^SDOEOE(.SDOE,$G(SDERR)) G PRVQ
 | 
|---|
| 13 |  IF $$OLD^SDOEUT(SDOE) S SDOK=$$OLDPRV(SDOE) G PRVQ
 | 
|---|
| 14 |  ;
 | 
|---|
| 15 |  S SDOK=$$PRV^PXAPIOE($$VIEN^SDOEUT(.SDOE),$G(SDERR))
 | 
|---|
| 16 | PRVQ Q SDOK
 | 
|---|
| 17 |  ;
 | 
|---|
| 18 |  ;
 | 
|---|
| 19 | GETPRV(SDOE,SDPRV,SDERR) ; -- SDOE GET PROVIDERS
 | 
|---|
| 20 |  ;   API ID: 58
 | 
|---|
| 21 |  ;
 | 
|---|
| 22 |  ;
 | 
|---|
| 23 | GETPRVG ;; -- goto entry point
 | 
|---|
| 24 |  ; -- do validation checks
 | 
|---|
| 25 |  IF '$$VALOE^SDOEOE(.SDOE,$G(SDERR)) G GETPRVQ
 | 
|---|
| 26 |  IF $$OLD^SDOEUT(SDOE) D OLDPRVS(SDOE,.SDPRV) G GETPRVQ
 | 
|---|
| 27 |  ;
 | 
|---|
| 28 |  D GETPRV^PXAPIOE($$VIEN^SDOEUT(.SDOE),.SDPRV,$G(SDERR))
 | 
|---|
| 29 | GETPRVQ Q
 | 
|---|
| 30 |  ;
 | 
|---|
| 31 |  ;
 | 
|---|
| 32 | FINDPRV(SDOE,SDPRVID,SDERR) ; -- SDOE FIND PROVIDER
 | 
|---|
| 33 |  ;   API ID: 69
 | 
|---|
| 34 |  ;
 | 
|---|
| 35 |  ;
 | 
|---|
| 36 |  N SDPRVS,SDOK,I
 | 
|---|
| 37 |  S SDPRVS="SDPRVS"
 | 
|---|
| 38 |  ;
 | 
|---|
| 39 |  ; -- do validation checks
 | 
|---|
| 40 |  IF '$$VALPRV(.SDPRVID,$G(SDERR)) S SDOK=0 G FINDPRVQ
 | 
|---|
| 41 |  ;
 | 
|---|
| 42 |  D GETPRV(.SDOE,.SDPRVS,$G(SDERR))
 | 
|---|
| 43 |  S (I,SDOK)=0
 | 
|---|
| 44 |  F  S I=$O(SDPRVS(I)) Q:'I  S SDOK=(+SDPRVS(I)=SDPRVID) Q:SDOK
 | 
|---|
| 45 | FINDPRVQ Q SDOK
 | 
|---|
| 46 |  ;
 | 
|---|
| 47 |  ;
 | 
|---|
| 48 | VALPRV(SDPRVID,SDERR) ; -- validate provider input
 | 
|---|
| 49 |  ;
 | 
|---|
| 50 |  ; -- do checks
 | 
|---|
| 51 |  IF SDPRVID,$D(^VA(200,SDPRVID,0)) Q 1
 | 
|---|
| 52 |  ;
 | 
|---|
| 53 |  ; -- build error msg
 | 
|---|
| 54 |  N SDIN,SDOUT
 | 
|---|
| 55 |  S SDIN("ID")=SDPRVID
 | 
|---|
| 56 |  S SDOUT("ID")=SDPRVID
 | 
|---|
| 57 |  D BLD^SDQVAL(4096800.003,.SDIN,.SDOUT,$G(SDERR))
 | 
|---|
| 58 |  Q 0
 | 
|---|
| 59 |  ;
 | 
|---|
| 60 |  ;
 | 
|---|
| 61 | OLDPRV(SDOE) ; -- at least one provider for OLD encounter?
 | 
|---|
| 62 |  Q ($O(^SDD(409.44,"OE",+SDOE,0))>0)
 | 
|---|
| 63 |  ;
 | 
|---|
| 64 | OLDPRVS(SDOE,SDARY) ; -- get provider's for OLD encounter
 | 
|---|
| 65 |  N SDIEN,SDCNT,Y,X
 | 
|---|
| 66 |  S (SDIEN,SDCNT)=0
 | 
|---|
| 67 |  F  S SDIEN=$O(^SDD(409.44,"OE",SDOE,SDIEN)) Q:'SDIEN  D
 | 
|---|
| 68 |  . S SDCNT=SDCNT+1,X=$G(^SDD(409.44,SDIEN,0))
 | 
|---|
| 69 |  . S $P(Y,U,1)=+X          ; -- person ien
 | 
|---|
| 70 |  . S $P(Y,U,6)=$P(X,"^",3) ; -- person class
 | 
|---|
| 71 |  . S @SDARY@(SDIEN)=Y
 | 
|---|
| 72 |  S @SDARY=SDCNT
 | 
|---|
| 73 |  Q
 | 
|---|
| 74 |  ;
 | 
|---|