- VAFCCRNR ;BIR/JFW-VAFC EHRM MIGRATED FACILITIES FILE (#391.919) Utilities ;2/22/22 13:55
- ;;5.3;Registration;**981,1050,1071**;Aug 13, 1993;Build 4
- ;
- ;Story 961754 (jfw) - Support processes where there is a need to know
- ; which facilities have migrated to CERNER.
- ;DBIA: $$IEN^XUAF4 : Supported - #2171
- Q
- ;
- ;Input: VAFCARY - Array of Station #'s migrated to CERNER (*Required by Ref.)
- ; ie. VAFCARY(<Station#>)=""
- ; VAFCRTN - 1 upon processing completed (*Required by Ref.)
- ; Additional Error Info - VAFCRTN(<#>)=Station# ^ Error Code ^ Error Message
- UPDT(VAFCARY,VAFCRTN) ;Add/Update EHRM MIGRATED FACILITIES (#391.919) records
- N VAFCSN,VAFCSITE,VAFCRSLT
- ;Remove CERNER ENABLED? Flag if site is no longer using the application
- S VAFCSN=0 F S VAFCSN=$O(^DGCN(391.919,"ACRNR",VAFCSN)) Q:'+VAFCSN D
- .D:('($D(VAFCARY(VAFCSN))))
- ..S VAFCRSLT=$$OFFCRNR($$IEN^XUAF4(VAFCSN))
- ..S:(VAFCRSLT'=1) VAFCRTN(VAFCSN)=VAFCRSLT
- ;Add/Update Facility entries that have migrated to CERNER if applicable
- S VAFCSN=0 F S VAFCSN=$O(VAFCARY(VAFCSN)) Q:'+VAFCSN D
- .D:('($D(^DGCN(391.919,"ACRNR",VAFCSN))))
- ..S VAFCRSLT=$$ONCRNR($$IEN^XUAF4(VAFCSN))
- ..S:(VAFCRSLT'=1) VAFCRTN(VAFCSN)=VAFCSN_"^"_VAFCRSLT
- S VAFCRTN=1
- Q
- ;
- ;Input: VAFCSIEN - IEN of the Facility to Add/Update
- ;Output: 1 if Successful or ErrorCode ^ Error Message
- ONCRNR(VAFCSIEN) ;Update EHRM MIGRATED FACILITIES (#391.919) entry to show site migrated to CERNER
- N VAFCFDA,VAFCEMSG,VAFCEXST,VAFCFIEN
- Q:(VAFCSIEN="") "^IEN for Station Number is NOT known!"
- S VAFCEXST=$D(^DGCN(391.919,"B",VAFCSIEN))
- ;Add new facility entry to the file
- D:('VAFCEXST)
- .S VAFCFDA(391.919,"+1,",.01)=VAFCSIEN
- .S VAFCFDA(391.919,"+1,",.02)=1
- .S VAFCFIEN(1)=VAFCSIEN ;.01 is DINUMED to Site IEN.
- .D UPDATE^DIE("","VAFCFDA","VAFCFIEN","VAFCEMSG")
- ;Updating existing facility entry in the file
- D:(VAFCEXST)
- .S VAFCFDA(391.919,VAFCSIEN_",",.02)=1
- .D FILE^DIE("K","VAFCFDA","VAFCEMSG")
- Q $S('$D(VAFCEMSG):1,1:$G(VAFCEMSG("DIERR",1))_"^"_$G(VAFCEMSG("DIERR",1,"TEXT",1)))
- ;
- ;Input: VAFCSIEN - IEN of the Facility to Update
- ;Output: 1 if Successful or ErrorCode ^ Error Message
- OFFCRNR(VAFCSIEN) ;Set CERNER ENABLED? field to NO for Site
- N VAFCFDA,VAFCEMSG
- Q:(VAFCSIEN="") "^IEN for Station Number is NOT known!"
- S VAFCFDA(391.919,VAFCSIEN_",",.02)=0
- D FILE^DIE("K","VAFCFDA","VAFCEMSG")
- Q $S('$D(VAFCEMSG):1,1:$G(VAFCEMSG("DIERR",1))_"^"_$G(VAFCEMSG("DIERR",1,"TEXT",1)))
- ;
- CRNRSITE(VAFCSTNUM) ;is site cerner enabled ;**1050, VAMPI-10038 (dri)
- ;Input:
- ; VAFCSTNUM - station number to check
- ;
- ;Output;
- ; 0 - not cerner enabled
- ; 1 - cerner enabled
- ;
- I $G(VAFCSTNUM)'="",$O(^DGCN(391.919,"ACRNR",VAFCSTNUM,0)) Q 1
- Q 0
- ;
- GCRNSITE() ;Return the CERNER Station Number configured for this VistA Instance
- ;**1071 VAMPI-13671 (dri) new api for VistA consumers needed due to cerner cert/mock accounts
- N CRNIEN,CRNSITE
- S CRNIEN=$O(^MPIF(984.8,"B","FOUR",0)) I CRNIEN S CRNSITE=$P($G(^MPIF(984.8,CRNIEN,0)),"^",5)
- I $G(CRNSITE)="" S CRNSITE="200CRNR"
- Q CRNSITE
- ;
- ISCRNPAT(DGDFN) ;Is this a Cerner patient (i.e., is 200CRNR in the TFL)?
- ;**1071 VAMPI-13671 (dri) new api for VistA consumers needed due to cerner cert/mock accounts
- ;Input:
- ; DGDFN - pointer to PATIENT (#2) file
- ;
- ;Return:
- ; 1 - yes, 0 - no
- ;
- N DGRES,DGOUT,DGSITE,DGKEY,DGI
- S DGRES=0
- S DGSITE=$P($$SITE^VASITE,U,3)
- S DGKEY=DGDFN_U_"PI"_U_"USVHA"_U_DGSITE
- D TFL^VAFCTFU2(.DGOUT,DGKEY)
- S DGI=0 F S DGI=$O(DGOUT(DGI)) Q:DGI="" I $P(DGOUT(DGI),U,4)=$$GCRNSITE(),$P(DGOUT(DGI),U,2)="PI" S DGRES=1 Q
- Q DGRES
- ;
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HVAFCCRNR 3707 printed Jan 18, 2025@04:02:16 Page 2
- VAFCCRNR ;BIR/JFW-VAFC EHRM MIGRATED FACILITIES FILE (#391.919) Utilities ;2/22/22 13:55
- +1 ;;5.3;Registration;**981,1050,1071**;Aug 13, 1993;Build 4
- +2 ;
- +3 ;Story 961754 (jfw) - Support processes where there is a need to know
- +4 ; which facilities have migrated to CERNER.
- +5 ;DBIA: $$IEN^XUAF4 : Supported - #2171
- +6 QUIT
- +7 ;
- +8 ;Input: VAFCARY - Array of Station #'s migrated to CERNER (*Required by Ref.)
- +9 ; ie. VAFCARY(<Station#>)=""
- +10 ; VAFCRTN - 1 upon processing completed (*Required by Ref.)
- +11 ; Additional Error Info - VAFCRTN(<#>)=Station# ^ Error Code ^ Error Message
- UPDT(VAFCARY,VAFCRTN) ;Add/Update EHRM MIGRATED FACILITIES (#391.919) records
- +1 NEW VAFCSN,VAFCSITE,VAFCRSLT
- +2 ;Remove CERNER ENABLED? Flag if site is no longer using the application
- +3 SET VAFCSN=0
- FOR
- SET VAFCSN=$ORDER(^DGCN(391.919,"ACRNR",VAFCSN))
- if '+VAFCSN
- QUIT
- Begin DoDot:1
- +4 if ('($DATA(VAFCARY(VAFCSN))))
- Begin DoDot:2
- +5 SET VAFCRSLT=$$OFFCRNR($$IEN^XUAF4(VAFCSN))
- +6 if (VAFCRSLT'=1)
- SET VAFCRTN(VAFCSN)=VAFCRSLT
- End DoDot:2
- End DoDot:1
- +7 ;Add/Update Facility entries that have migrated to CERNER if applicable
- +8 SET VAFCSN=0
- FOR
- SET VAFCSN=$ORDER(VAFCARY(VAFCSN))
- if '+VAFCSN
- QUIT
- Begin DoDot:1
- +9 if ('($DATA(^DGCN(391.919,"ACRNR",VAFCSN))))
- Begin DoDot:2
- +10 SET VAFCRSLT=$$ONCRNR($$IEN^XUAF4(VAFCSN))
- +11 if (VAFCRSLT'=1)
- SET VAFCRTN(VAFCSN)=VAFCSN_"^"_VAFCRSLT
- End DoDot:2
- End DoDot:1
- +12 SET VAFCRTN=1
- +13 QUIT
- +14 ;
- +15 ;Input: VAFCSIEN - IEN of the Facility to Add/Update
- +16 ;Output: 1 if Successful or ErrorCode ^ Error Message
- ONCRNR(VAFCSIEN) ;Update EHRM MIGRATED FACILITIES (#391.919) entry to show site migrated to CERNER
- +1 NEW VAFCFDA,VAFCEMSG,VAFCEXST,VAFCFIEN
- +2 if (VAFCSIEN="")
- QUIT "^IEN for Station Number is NOT known!"
- +3 SET VAFCEXST=$DATA(^DGCN(391.919,"B",VAFCSIEN))
- +4 ;Add new facility entry to the file
- +5 if ('VAFCEXST)
- Begin DoDot:1
- +6 SET VAFCFDA(391.919,"+1,",.01)=VAFCSIEN
- +7 SET VAFCFDA(391.919,"+1,",.02)=1
- +8 ;.01 is DINUMED to Site IEN.
- SET VAFCFIEN(1)=VAFCSIEN
- +9 DO UPDATE^DIE("","VAFCFDA","VAFCFIEN","VAFCEMSG")
- End DoDot:1
- +10 ;Updating existing facility entry in the file
- +11 if (VAFCEXST)
- Begin DoDot:1
- +12 SET VAFCFDA(391.919,VAFCSIEN_",",.02)=1
- +13 DO FILE^DIE("K","VAFCFDA","VAFCEMSG")
- End DoDot:1
- +14 QUIT $SELECT('$DATA(VAFCEMSG):1,1:$GET(VAFCEMSG("DIERR",1))_"^"_$GET(VAFCEMSG("DIERR",1,"TEXT",1)))
- +15 ;
- +16 ;Input: VAFCSIEN - IEN of the Facility to Update
- +17 ;Output: 1 if Successful or ErrorCode ^ Error Message
- OFFCRNR(VAFCSIEN) ;Set CERNER ENABLED? field to NO for Site
- +1 NEW VAFCFDA,VAFCEMSG
- +2 if (VAFCSIEN="")
- QUIT "^IEN for Station Number is NOT known!"
- +3 SET VAFCFDA(391.919,VAFCSIEN_",",.02)=0
- +4 DO FILE^DIE("K","VAFCFDA","VAFCEMSG")
- +5 QUIT $SELECT('$DATA(VAFCEMSG):1,1:$GET(VAFCEMSG("DIERR",1))_"^"_$GET(VAFCEMSG("DIERR",1,"TEXT",1)))
- +6 ;
- CRNRSITE(VAFCSTNUM) ;is site cerner enabled ;**1050, VAMPI-10038 (dri)
- +1 ;Input:
- +2 ; VAFCSTNUM - station number to check
- +3 ;
- +4 ;Output;
- +5 ; 0 - not cerner enabled
- +6 ; 1 - cerner enabled
- +7 ;
- +8 IF $GET(VAFCSTNUM)'=""
- IF $ORDER(^DGCN(391.919,"ACRNR",VAFCSTNUM,0))
- QUIT 1
- +9 QUIT 0
- +10 ;
- GCRNSITE() ;Return the CERNER Station Number configured for this VistA Instance
- +1 ;**1071 VAMPI-13671 (dri) new api for VistA consumers needed due to cerner cert/mock accounts
- +2 NEW CRNIEN,CRNSITE
- +3 SET CRNIEN=$ORDER(^MPIF(984.8,"B","FOUR",0))
- IF CRNIEN
- SET CRNSITE=$PIECE($GET(^MPIF(984.8,CRNIEN,0)),"^",5)
- +4 IF $GET(CRNSITE)=""
- SET CRNSITE="200CRNR"
- +5 QUIT CRNSITE
- +6 ;
- ISCRNPAT(DGDFN) ;Is this a Cerner patient (i.e., is 200CRNR in the TFL)?
- +1 ;**1071 VAMPI-13671 (dri) new api for VistA consumers needed due to cerner cert/mock accounts
- +2 ;Input:
- +3 ; DGDFN - pointer to PATIENT (#2) file
- +4 ;
- +5 ;Return:
- +6 ; 1 - yes, 0 - no
- +7 ;
- +8 NEW DGRES,DGOUT,DGSITE,DGKEY,DGI
- +9 SET DGRES=0
- +10 SET DGSITE=$PIECE($$SITE^VASITE,U,3)
- +11 SET DGKEY=DGDFN_U_"PI"_U_"USVHA"_U_DGSITE
- +12 DO TFL^VAFCTFU2(.DGOUT,DGKEY)
- +13 SET DGI=0
- FOR
- SET DGI=$ORDER(DGOUT(DGI))
- if DGI=""
- QUIT
- IF $PIECE(DGOUT(DGI),U,4)=$$GCRNSITE()
- IF $PIECE(DGOUT(DGI),U,2)="PI"
- SET DGRES=1
- QUIT
- +14 QUIT DGRES
- +15 ;