diff --git a/p/C0CLA7DD.m b/p/C0CLA7DD.m index 2aefb50..39488f4 100644 --- a/p/C0CLA7DD.m +++ b/p/C0CLA7DD.m @@ -1,4 +1,4 @@ -C0CLA7DD ;WV/JMC - CCD/CCR Post Install DD X-Ref Setup Routine; ;18 May 2009 +C0CLA7DD ;WV/JMC - CCD/CCR Post Install DD X-Ref Setup Routine; ;14 Jun 2009 ;;1.0;C0C;;May 19, 2009; ; ; Tasked by C0C post-install routine C0CENV to create C0C cross-references on V LAB file. @@ -7,6 +7,7 @@ C0CLA7DD ;WV/JMC - CCD/CCR Post Install DD X-Ref Setup Routine; ;18 May 2009 ; ; EN ; Add new style cross-references to V LAB file if it exists. + ; OLD entry point - see new KIDS check points in C0CENV. ; ; ; Quit if AUPNVLAB global does not exist. @@ -15,44 +16,43 @@ EN ; Add new style cross-references to V LAB file if it exists. N MSG ; S MSG="Starting installation of ALR1 cross-reference at "_$$HTE^XLFDT($H,"1Z") - D MES^XPDUTL(MSG) + D BMES(MSG) D ALR1 S MSG="Installation of ALR1 cross-reference completed at "_$$HTE^XLFDT($H,"1Z") - D MES^XPDUTL(MSG) + D BMES(MSG) ; S MSG="Starting installation of ALR2 cross-reference at "_$$HTE^XLFDT($H,"1Z") - D MES^XPDUTL(MSG) + D BMES(MSG) D ALR2 S MSG="Installation of ALR2 cross-reference completed at "_$$HTE^XLFDT($H,"1Z") - D MES^XPDUTL(MSG) + D BMES(MSG) ; S MSG="Starting installation of ALR3 cross-reference at "_$$HTE^XLFDT($H,"1Z") - D MES^XPDUTL(MSG) + D BMES(MSG) D ALR3 S MSG="Installation of ALR3 cross-reference completed at "_$$HTE^XLFDT($H,"1Z") - D MES^XPDUTL(MSG) + D BMES(MSG) ; S MSG="Starting installation of ALR4 cross-reference at "_$$HTE^XLFDT($H,"1Z") - D MES^XPDUTL(MSG) + D BMES(MSG) D ALR4 S MSG="Installation of ALR4 cross-reference completed at "_$$HTE^XLFDT($H,"1Z") - D MES^XPDUTL(MSG) + D BMES(MSG) ; S MSG="Starting installation of ALR5 cross-reference at "_$$HTE^XLFDT($H,"1Z") - D MES^XPDUTL(MSG) + D BMES(MSG) D ALR5 S MSG="Installation of ALR5 cross-reference completed at "_$$HTE^XLFDT($H,"1Z") - D MES^XPDUTL(MSG) + D BMES(MSG) ; Q ; ; -ALR1 ; +ALR1 ; Installation of ALR1 cross-reference ; N C0CFLAG,C0CXR,C0CRES,C0COUT ; - S C0CFLAG="S" - I '$D(ZTQUEUED) S C0CFLAG=COCFLAG_"W" + S C0CFLAG="" ; S C0CXR("FILE")=9000010.09 S C0CXR("NAME")="ALR1" @@ -79,12 +79,11 @@ ALR1 ; Q ; ; -ALR2 ; +ALR2 ; Installation of ALR2 cross-reference ; N C0CFLAG,C0CXR,C0CRES,C0COUT ; - S C0CFLAG="S" - I '$D(ZTQUEUED) S C0CFLAG=COCFLAG_"W" + S C0CFLAG="" ; S C0CXR("FILE")=9000010.09 S C0CXR("NAME")="ALR2" @@ -120,124 +119,150 @@ ALR2 ; Q ; ; -ALR3 ; +ALR3 ; Installation of ALR3 cross-reference ; N C0CFLAG,C0CXR,C0CRES,C0COUT ; - S C0CFLAG="S" - I '$D(ZTQUEUED) S C0CFLAG=COCFLAG_"W" + S C0CFLAG="" ; S C0CXR("FILE")=9000010.09 - S C0CXR("NAME")="ALR2" - S C0CXR("TYPE")="MU" + S C0CXR("NAME")="ALR3" + S C0CXR("TYPE")="R" + S C0CXR("USE")="S" + S C0CXR("EXECUTION")="F" + S C0CXR("ACTIVITY")="IR" + S C0CXR("SHORT DESCR")="X-ref for LOINC code related to test result - any patient" + S C0CXR("DESCR",1)="This cross-reference is used to identify the LOINC codes that has been assigned to a lab result. Allows queries" + S C0CXR("DESCR",2)="to retrieve the LOINC code associated with a specific test result. It allows any patient" + S C0CXR("DESCR",3)="lab results to be identified by LOINC" + S C0CXR("VAL",1)=1113 + S C0CXR("VAL",1,"SUBSCRIPT")=1 + S C0CXR("VAL",1,"COLLATION")="F" + ; + D CREIXN^DDMOD(.C0CXR,C0CFLAG,.C0CRES,"C0COUT") + ; + Q + ; + ; +ALR4 ; Installation of ALR4 cross-reference + ; + N C0CFLAG,C0CXR,C0CRES,C0COUT + ; + S C0CFLAG="" + ; + S C0CXR("FILE")=9000010.09 + S C0CXR("NAME")="ALR4" + S C0CXR("TYPE")="R" S C0CXR("USE")="S" S C0CXR("EXECUTION")="R" S C0CXR("ACTIVITY")="IR" - S C0CXR("SHORT DESCR")="X-ref for LOINC code related to test result." - S C0CXR("DESCR",1)="This cross-reference is used to identify the LOINC codes" - S C0CXR("DESCR",2)="that has been assigned to a lab result. Allows queries to" - S C0CXR("DESCR",3)="retrieve the LOINC code associated with a specific test" - S C0CXR("DESCR",4)="result." - S C0CXR("SET")="S ^AUPNVLAB(""ALR2"",X(1),X(2),X(3),X(4),X(5),DA)=""""" - S C0CXR("KILL")="K ^AUPNVLAB(""ALR2"",X(1),X(2),X(3),X(4),X(5),DA)" - S C0CXR("WHOLE KILL")="K ^AUPNVLAB(""ALR2"")" + S C0CXR("SHORT DESCR")="X-ref by patient and collection date/time" + S C0CXR("DESCR",1)="This cross-reference is used to identify all lab results for a" + S C0CXR("DESCR",2)="patient by collection date/time. This includes results that are only in" + S C0CXR("DESCR",3)="this file and therefore do not have a corresponding entry in LAB DATA" + S C0CXR("DESCR",4)="file (#63)." S C0CXR("VAL",1)=.02 S C0CXR("VAL",1,"SUBSCRIPT")=1 S C0CXR("VAL",1,"COLLATION")="F" S C0CXR("VAL",2)=1201 S C0CXR("VAL",2,"SUBSCRIPT")=2 S C0CXR("VAL",2,"COLLATION")="F" - S C0CXR("VAL",3)=.06 - S C0CXR("VAL",3,"SUBSCRIPT")=3 - S C0CXR("VAL",3,"COLLATION")="F" - S C0CXR("VAL",4)=.01 - S C0CXR("VAL",4,"SUBSCRIPT")=4 - S C0CXR("VAL",4,"COLLATION")="F" - S C0CXR("VAL",5)=1113 - S C0CXR("VAL",5,"SUBSCRIPT")=5 - S C0CXR("VAL",5,"COLLATION")="F" + ; D CREIXN^DDMOD(.C0CXR,C0CFLAG,.C0CRES,"C0COUT") ; Q ; ; -ALR4 ; +ALR5 ; Installation of ALR5 cross-reference ; N C0CFLAG,C0CXR,C0CRES,C0COUT ; - S C0CFLAG="S" - I '$D(ZTQUEUED) S C0CFLAG=COCFLAG_"W" + S C0CFLAG="" ; S C0CXR("FILE")=9000010.09 - S C0CXR("NAME")="ALR2" - S C0CXR("TYPE")="MU" + S C0CXR("NAME")="ALR5" + S C0CXR("TYPE")="R" S C0CXR("USE")="S" S C0CXR("EXECUTION")="R" S C0CXR("ACTIVITY")="IR" - S C0CXR("SHORT DESCR")="X-ref for LOINC code related to test result." - S C0CXR("DESCR",1)="This cross-reference is used to identify the LOINC codes" - S C0CXR("DESCR",2)="that has been assigned to a lab result. Allows queries to" - S C0CXR("DESCR",3)="retrieve the LOINC code associated with a specific test" - S C0CXR("DESCR",4)="result." - S C0CXR("SET")="S ^AUPNVLAB(""ALR2"",X(1),X(2),X(3),X(4),X(5),DA)=""""" - S C0CXR("KILL")="K ^AUPNVLAB(""ALR2"",X(1),X(2),X(3),X(4),X(5),DA)" - S C0CXR("WHOLE KILL")="K ^AUPNVLAB(""ALR2"")" + S C0CXR("SHORT DESCR")="X-ref by patient and results availble date/time" + S C0CXR("DESCR",1)="This cross-reference is used to identify all lab results for a" + S C0CXR("DESCR",2)="patient by results available date/time. This includes results that are only in" + S C0CXR("DESCR",3)="this file and therefore do not have a corresponding entry in LAB DATA" + S C0CXR("DESCR",4)="file (#63)." S C0CXR("VAL",1)=.02 S C0CXR("VAL",1,"SUBSCRIPT")=1 S C0CXR("VAL",1,"COLLATION")="F" - S C0CXR("VAL",2)=1201 + S C0CXR("VAL",2)=1212 S C0CXR("VAL",2,"SUBSCRIPT")=2 S C0CXR("VAL",2,"COLLATION")="F" - S C0CXR("VAL",3)=.06 - S C0CXR("VAL",3,"SUBSCRIPT")=3 - S C0CXR("VAL",3,"COLLATION")="F" - S C0CXR("VAL",4)=.01 - S C0CXR("VAL",4,"SUBSCRIPT")=4 - S C0CXR("VAL",4,"COLLATION")="F" - S C0CXR("VAL",5)=1113 - S C0CXR("VAL",5,"SUBSCRIPT")=5 - S C0CXR("VAL",5,"COLLATION")="F" + ; D CREIXN^DDMOD(.C0CXR,C0CFLAG,.C0CRES,"C0COUT") ; Q ; ; -ALR5 ; +REINDEX ; Set data into indexes for current entries. ; - N C0CFLAG,C0CXR,C0CRES,C0COUT ; - S C0CFLAG="S" - I '$D(ZTQUEUED) S C0CFLAG=COCFLAG_"W" + N %,C0CNT,DA,DIK,MSG + ; + S (C0CNT,DA)=0 + S DIK="^AUPNVLAB(" + S DIK(1)=".02^ALR1^ALR2^ALR4^ALR5" + ; + ; Create checkpoint + S %=$$NEWCP^XPDUTL("RPMS7","","") + ; + ; Retrieve checkpoint value if previously saved + S %=$$PARCP^XPDUTL("RPMS7","") + I %'="" S DA=% + ; + S MSG="Starting indexing of ALR1, ALR2, ALR4, ALR5 indexes" + D BMES(MSG) + ; + I DA'="END" D + . F S DA=$O(^AUPNVLAB(DA)) Q:DA<1 D + . . D EN1^DIK + . . S C0CNT=C0CNT+1 + . . I (C0CNT#100)=0 S %=$$UPCP^XPDUTL("RPMS7",DA) + S %=$$UPCP^XPDUTL("RPMS7","END") + ; + S MSG="Finished indexing of ALR1, ALR2, ALR4, ALR5 indexes" + D BMES(MSG) + ; + K DA,DIK + ; + S (C0CNT,DA)=0 + S DIK="^AUPNVLAB(" + S DIK(1)="1113^ALR3" + ; + ; Create checkpoint + S %=$$NEWCP^XPDUTL("RPMS8","","") + ; + ; Retrieve checkpoint value if previously saved + S %=$$PARCP^XPDUTL("RPMS8","") + I %'="" S DA=% + ; + S MSG="Starting indexing of ALR3 index" + D BMES(MSG) + ; + I DA'="END" D + . F S DA=$O(^AUPNVLAB(DA)) Q:DA<1 D + . . D EN1^DIK + . . S C0CNT=C0CNT+1 + . . I (C0CNT#100)=0 S %=$$UPCP^XPDUTL("RPMS8",DA) + S %=$$UPCP^XPDUTL("RPMS8","END") + ; + S MSG="Finished indexing of ALR3 index" + D BMES(MSG) ; - S C0CXR("FILE")=9000010.09 - S C0CXR("NAME")="ALR2" - S C0CXR("TYPE")="MU" - S C0CXR("USE")="S" - S C0CXR("EXECUTION")="R" - S C0CXR("ACTIVITY")="IR" - S C0CXR("SHORT DESCR")="X-ref for LOINC code related to test result." - S C0CXR("DESCR",1)="This cross-reference is used to identify the LOINC codes" - S C0CXR("DESCR",2)="that has been assigned to a lab result. Allows queries to" - S C0CXR("DESCR",3)="retrieve the LOINC code associated with a specific test" - S C0CXR("DESCR",4)="result." - S C0CXR("SET")="S ^AUPNVLAB(""ALR2"",X(1),X(2),X(3),X(4),X(5),DA)=""""" - S C0CXR("KILL")="K ^AUPNVLAB(""ALR2"",X(1),X(2),X(3),X(4),X(5),DA)" - S C0CXR("WHOLE KILL")="K ^AUPNVLAB(""ALR2"")" - S C0CXR("VAL",1)=.02 - S C0CXR("VAL",1,"SUBSCRIPT")=1 - S C0CXR("VAL",1,"COLLATION")="F" - S C0CXR("VAL",2)=1201 - S C0CXR("VAL",2,"SUBSCRIPT")=2 - S C0CXR("VAL",2,"COLLATION")="F" - S C0CXR("VAL",3)=.06 - S C0CXR("VAL",3,"SUBSCRIPT")=3 - S C0CXR("VAL",3,"COLLATION")="F" - S C0CXR("VAL",4)=.01 - S C0CXR("VAL",4,"SUBSCRIPT")=4 - S C0CXR("VAL",4,"COLLATION")="F" - S C0CXR("VAL",5)=1113 - S C0CXR("VAL",5,"SUBSCRIPT")=5 - S C0CXR("VAL",5,"COLLATION")="F" - D CREIXN^DDMOD(.C0CXR,C0CFLAG,.C0CRES,"C0COUT") + ; + Q + ; + ; +BMES(STR) ; Write BMES^XPDUTL statements + ; + D BMES^XPDUTL($$CJ^XLFSTR(STR,IOM)) ; Q