VistA-WorldVistAEHR/r/CLINICAL_CASE_REGISTRIES-ROR/RORUPD62.m

72 lines
2.2 KiB
Mathematica

RORUPD62 ;HCIOFO/SG - HIV-SPECIFIC REGISTRY UPDATE CODE ; 5/11/05 2:17pm
;;1.5;CLINICAL CASE REGISTRIES;;Feb 17, 2006
;
; This routine uses the following IAs:
;
; #2762 Check for the patient merge (controlled)
;
;--------------------------------------------------------------------
; Registry: [VA HIV]
;--------------------------------------------------------------------
Q
;
;***** CONVERTS ICR 2.1 RECORDS TO CCR:HIV FORMAT
;
; RORREG Registry IEN
;
; Return Values:
; <0 Error Code
; 0 Ok
;
CONVERT(RORREG) ;
N CODE,IMRIEN,PATIEN,RC,REGIEN,RULENAME,RULES,TMP
D LOG^RORLOG(2,"ICR 2.1 Conversion")
S REGIEN=+RORREG
;--- Prepare the selection rules
S RULENAME="VA HIV 2.1 CONVERSION"
S TMP=$$SRLIEN^RORUTL02(RULENAME)
Q:TMP'>0 $$ERROR^RORERR(-3,,RULENAME)
S RULES(1)=TMP_U_DT
;--- Convert the remaining records of ICR v2.1
S (IMRIEN,RC)=0
F S IMRIEN=$O(^IMR(158,IMRIEN)) Q:IMRIEN'>0 D Q:RC<0
. S CODE=$P($G(^IMR(158,IMRIEN,0)),U) Q:CODE'>0
. S PATIEN=+$$XOR^RORUTL03(CODE) Q:PATIEN'>0
. ;--- Check if the patient has been merged
. S TMP=+$G(^DPT(PATIEN,-9)) S:TMP>0 PATIEN=TMP
. ;--- Check if the patient record in the file #2 is valid
. Q:$$CHKPTR^RORUTL05(PATIEN)<0
. ;--- Quit if the patient has already been added to the new registry
. Q:$$PRRIEN^RORUTL01(PATIEN,REGIEN)>0
. ;--- Check if the patient is an employee
. Q:$$SKIPEMPL^RORUTL02(PATIEN,.REGIEN)
. ;--- Add the patient to the new registry
. S TMP=$$ADDPAT^RORUPD06(PATIEN,"VA HIV",.RULES)
;---
Q $S(RC<0:RC,1:0)
;
;***** AFTER UPDATE CALL-BACK ENTRY POINT
;
; RORIEN An IEN of the newly added registry record
; PATIEN Patient IEN
; REGIEN Registry IEN
;
; Return Values:
; <0 Error Code
; 0 Ok
;
POSTUPD(RORIEN,PATIEN,REGIEN) ;
N DA,DIK,IENS,RC,RORFDA,RORHIV,RORMSG
S RORIEN=+$G(RORIEN) Q:RORIEN'>0 0
;--- Delete the record if it exists by some reason
D:$D(^RORDATA(799.4,RORIEN))
. S DIK="^RORDATA(799.4,",DA=RORIEN D ^DIK
;--- Prepare the data
S IENS="+1,"
S RORFDA(799.4,IENS,.01)=RORIEN
S RORHIV(1)=RORIEN
;--- Add the record to the ROR HIV STUDY file
D UPDATE^DIE(,"RORFDA","RORHIV","RORMSG")
Q:$G(DIERR) $$DBS^RORERR("RORMSG",-9,,,799.4,IENS)
Q 0