[613] | 1 | RORUPD62 ;HCIOFO/SG - HIV-SPECIFIC REGISTRY UPDATE CODE ; 5/11/05 2:17pm
|
---|
| 2 | ;;1.5;CLINICAL CASE REGISTRIES;;Feb 17, 2006
|
---|
| 3 | ;
|
---|
| 4 | ; This routine uses the following IAs:
|
---|
| 5 | ;
|
---|
| 6 | ; #2762 Check for the patient merge (controlled)
|
---|
| 7 | ;
|
---|
| 8 | ;--------------------------------------------------------------------
|
---|
| 9 | ; Registry: [VA HIV]
|
---|
| 10 | ;--------------------------------------------------------------------
|
---|
| 11 | Q
|
---|
| 12 | ;
|
---|
| 13 | ;***** CONVERTS ICR 2.1 RECORDS TO CCR:HIV FORMAT
|
---|
| 14 | ;
|
---|
| 15 | ; RORREG Registry IEN
|
---|
| 16 | ;
|
---|
| 17 | ; Return Values:
|
---|
| 18 | ; <0 Error Code
|
---|
| 19 | ; 0 Ok
|
---|
| 20 | ;
|
---|
| 21 | CONVERT(RORREG) ;
|
---|
| 22 | N CODE,IMRIEN,PATIEN,RC,REGIEN,RULENAME,RULES,TMP
|
---|
| 23 | D LOG^RORLOG(2,"ICR 2.1 Conversion")
|
---|
| 24 | S REGIEN=+RORREG
|
---|
| 25 | ;--- Prepare the selection rules
|
---|
| 26 | S RULENAME="VA HIV 2.1 CONVERSION"
|
---|
| 27 | S TMP=$$SRLIEN^RORUTL02(RULENAME)
|
---|
| 28 | Q:TMP'>0 $$ERROR^RORERR(-3,,RULENAME)
|
---|
| 29 | S RULES(1)=TMP_U_DT
|
---|
| 30 | ;--- Convert the remaining records of ICR v2.1
|
---|
| 31 | S (IMRIEN,RC)=0
|
---|
| 32 | F S IMRIEN=$O(^IMR(158,IMRIEN)) Q:IMRIEN'>0 D Q:RC<0
|
---|
| 33 | . S CODE=$P($G(^IMR(158,IMRIEN,0)),U) Q:CODE'>0
|
---|
| 34 | . S PATIEN=+$$XOR^RORUTL03(CODE) Q:PATIEN'>0
|
---|
| 35 | . ;--- Check if the patient has been merged
|
---|
| 36 | . S TMP=+$G(^DPT(PATIEN,-9)) S:TMP>0 PATIEN=TMP
|
---|
| 37 | . ;--- Check if the patient record in the file #2 is valid
|
---|
| 38 | . Q:$$CHKPTR^RORUTL05(PATIEN)<0
|
---|
| 39 | . ;--- Quit if the patient has already been added to the new registry
|
---|
| 40 | . Q:$$PRRIEN^RORUTL01(PATIEN,REGIEN)>0
|
---|
| 41 | . ;--- Check if the patient is an employee
|
---|
| 42 | . Q:$$SKIPEMPL^RORUTL02(PATIEN,.REGIEN)
|
---|
| 43 | . ;--- Add the patient to the new registry
|
---|
| 44 | . S TMP=$$ADDPAT^RORUPD06(PATIEN,"VA HIV",.RULES)
|
---|
| 45 | ;---
|
---|
| 46 | Q $S(RC<0:RC,1:0)
|
---|
| 47 | ;
|
---|
| 48 | ;***** AFTER UPDATE CALL-BACK ENTRY POINT
|
---|
| 49 | ;
|
---|
| 50 | ; RORIEN An IEN of the newly added registry record
|
---|
| 51 | ; PATIEN Patient IEN
|
---|
| 52 | ; REGIEN Registry IEN
|
---|
| 53 | ;
|
---|
| 54 | ; Return Values:
|
---|
| 55 | ; <0 Error Code
|
---|
| 56 | ; 0 Ok
|
---|
| 57 | ;
|
---|
| 58 | POSTUPD(RORIEN,PATIEN,REGIEN) ;
|
---|
| 59 | N DA,DIK,IENS,RC,RORFDA,RORHIV,RORMSG
|
---|
| 60 | S RORIEN=+$G(RORIEN) Q:RORIEN'>0 0
|
---|
| 61 | ;--- Delete the record if it exists by some reason
|
---|
| 62 | D:$D(^RORDATA(799.4,RORIEN))
|
---|
| 63 | . S DIK="^RORDATA(799.4,",DA=RORIEN D ^DIK
|
---|
| 64 | ;--- Prepare the data
|
---|
| 65 | S IENS="+1,"
|
---|
| 66 | S RORFDA(799.4,IENS,.01)=RORIEN
|
---|
| 67 | S RORHIV(1)=RORIEN
|
---|
| 68 | ;--- Add the record to the ROR HIV STUDY file
|
---|
| 69 | D UPDATE^DIE(,"RORFDA","RORHIV","RORMSG")
|
---|
| 70 | Q:$G(DIERR) $$DBS^RORERR("RORMSG",-9,,,799.4,IENS)
|
---|
| 71 | Q 0
|
---|