The document discusses using lag variables in Oracle Clinical procedures. It provides an example of using lags to check that episodes of nausea are recorded between assessments of nausea. The example models the assessment and episode forms, writes a validation procedure using lags, and explains how to structure the procedure and compare dates/times in Oracle Clinical. The presenter has over 15 years of experience implementing Oracle Clinical.
Tips and Techniques for Improving the Performance of Validation Procedures in...Perficient, Inc.
Ensuring the validity of patient data in your clinical data management and EDC system is essential. However, without a way to programmatically identify discrepancies and inconsistencies, such a task can inadvertently leave bad data in your system. Through validation procedures, an endless assortment of expressions and formulas, Oracle Clinical offers the powerful ability to clean and compare patient data.
In this slideshare, Perficient's Dr. Steve Rifkin, a leading expert in Oracle Clinical, demonstrates the structure of validation procedures, as well as provides various tips and techniques for developing procedures that improve the performance of edit checks.
Tips and Techniques for Improving the Performance of Validation Procedures in...Perficient, Inc.
Ensuring the validity of patient data in your clinical data management and EDC system is essential. However, without a way to programmatically identify discrepancies and inconsistencies, such a task can inadvertently leave bad data in your system. Through validation procedures, an endless assortment of expressions and formulas, Oracle Clinical offers the powerful ability to clean and compare patient data.
In this slideshare, Perficient's Dr. Steve Rifkin, a leading expert in Oracle Clinical, demonstrates the structure of validation procedures, as well as provides various tips and techniques for developing procedures that improve the performance of edit checks.
Monitoring External Quality Assessment / Proficiency Testing Performance - Investigating the source of the problem.
In order to identify the source of the problem it is useful to be aware of the most common causes of poor EQA performance. Errors can occur at any
stage of the testing process however EQA is most concerned with detecting analytical errors i.e. errors that occur during the analysis of the sample.
Most analytical errors can be easily divided into three main areas; clerical errors, systematic errors and random errors. Systematic errors result in
inaccurate results that consistently show a positive or negative bias. Random errors on the other hand affect precision and result in fluctuations in
either direction.
Are Your Continuous Tests Too Fragile for Agile?Erika Barron
With a fragile test suite, the Continuous Testing that's vital to agile just isn't feasible. If you truly want to automate the execution of a broad test suite—embracing unit, component, integration, functional, performance, and security testing—during continuous integration, discover the tips to ensure your test suite is up to the task.
Logically-componentized: Tests need to be logically-componentized so you can assess the impact at change time. When tests fail and they're logically correlated to components, it is much easier to establish priority and associate tasks to the correct resource.
Incremental: Tests can be built on each other, without impacting the integrity of the original or new test case.
Repeatable: Tests can be executed over and over again with each incremental build, integration, or release process.
Presented at Better Software Conference East 2014 (Agile Development Conference East 2014).
Learn all the features in Innoslate that implement Verification and Validation. This webinar will cover:
- ensuring end-to-end traceability in your project
- developing test cases in Test Center
- creating Independent Verification and Validation (IV&V) plans, test plans, and test processes
This is the deck for Science Advisory Board review of our recent progress in setting up a basic infrastructure -- hybrid system architecture to facilitate automatic question answering in Project Halo -- Vulcan's long-range strong AI effort to attack a key problem in the field of AI research.
Things Could Get Worse: Ideas About Regression TestingTechWell
Michael Bolton, DevelopSense
Tester, consultant, and trainer Michael Bolton is the coauthor (with James Bach) of Rapid Software Testing, a course that presents a methodology and mindset for testing software expertly in uncertain conditions and under extreme time pressure. Michael is a leader in the context-driven software testing movement with twenty years of experience testing, developing, managing, and writing about software. Currently, he leads DevelopSense, a Toronto-based consultancy.
Monitoring External Quality Assessment / Proficiency Testing Performance - Investigating the source of the problem.
In order to identify the source of the problem it is useful to be aware of the most common causes of poor EQA performance. Errors can occur at any
stage of the testing process however EQA is most concerned with detecting analytical errors i.e. errors that occur during the analysis of the sample.
Most analytical errors can be easily divided into three main areas; clerical errors, systematic errors and random errors. Systematic errors result in
inaccurate results that consistently show a positive or negative bias. Random errors on the other hand affect precision and result in fluctuations in
either direction.
Are Your Continuous Tests Too Fragile for Agile?Erika Barron
With a fragile test suite, the Continuous Testing that's vital to agile just isn't feasible. If you truly want to automate the execution of a broad test suite—embracing unit, component, integration, functional, performance, and security testing—during continuous integration, discover the tips to ensure your test suite is up to the task.
Logically-componentized: Tests need to be logically-componentized so you can assess the impact at change time. When tests fail and they're logically correlated to components, it is much easier to establish priority and associate tasks to the correct resource.
Incremental: Tests can be built on each other, without impacting the integrity of the original or new test case.
Repeatable: Tests can be executed over and over again with each incremental build, integration, or release process.
Presented at Better Software Conference East 2014 (Agile Development Conference East 2014).
Learn all the features in Innoslate that implement Verification and Validation. This webinar will cover:
- ensuring end-to-end traceability in your project
- developing test cases in Test Center
- creating Independent Verification and Validation (IV&V) plans, test plans, and test processes
This is the deck for Science Advisory Board review of our recent progress in setting up a basic infrastructure -- hybrid system architecture to facilitate automatic question answering in Project Halo -- Vulcan's long-range strong AI effort to attack a key problem in the field of AI research.
Things Could Get Worse: Ideas About Regression TestingTechWell
Michael Bolton, DevelopSense
Tester, consultant, and trainer Michael Bolton is the coauthor (with James Bach) of Rapid Software Testing, a course that presents a methodology and mindset for testing software expertly in uncertain conditions and under extreme time pressure. Michael is a leader in the context-driven software testing movement with twenty years of experience testing, developing, managing, and writing about software. Currently, he leads DevelopSense, a Toronto-based consultancy.
2. Topics
• Setting up Lags in a procedure
• Lag Example
– Description of the forms and required edit check
– Modeling the Forms
– Writing the validation procedure
– Structure of the procedure
2
Lags in Oracle Clinical
Lags in Procedures
3. Lags …
• Lags retrieve previous instances of the
response to a question
• Lag Aggregates summarize the previous
instances
• Can specify how many previous responses
are remembered (depth) and whether to
count null responses
• Defined on the Procedure Questions Screen
3
Lags in Procedures
4. Lags …
Specify Lag Depth to
Define if the aggregate of
create Lags
the Lags are available
Checks means to include
nulls in the lag count
4
Lags in Procedures
5. Lags
• Lags Variables are referenced
<alias>$<question name>$Ln for value
<alias>$<question name>$In for response_id
<alias>$<question name>$Tn for entry_ts
• Aggregate Lag Values are referenced
<alias>$<question name>$fc
where fc is AV, MN, MX, SM, or CT
5
Lags in Procedures
7. Lag Example …
Make as Assessment of Nausea at scheduled times
and respond ‘Yes’ if there was an Episode of Nausea
since the previous Assessment
If ‘YES’ record the episode(s) on
the Episodes of Nausea Form
7
Lags in Procedures
8. Lag Example
Record Date and Time of each Episode of Nausea and
the intensity of the episode
8
Lags in Procedures
9. Lag Edit Check Description …
Check that if the Assessment of Nausea
form has been marked YES for an
assessment period
Then there is at least one episode of
Nausea indicated on the Episode of Nausea
form in the period since the last
assessment was performed.
9
Lags in Procedures
10. Lag Edit Check Description …
Assessment
Form
02-01-02 07:05
02-01-02 08:04 Nausea
Episode Form
OK! 02-01-02 07:35
02-01-02 07:55
10
Lags in Procedures
11. Lag Edit Check Description
Assessment
Form
02-01-02 07:05
02-01-02 08:04 Nausea
Episode Form
Not OK!
No Nausea Episode
reported between
07:05 and 08:04
11
Lags in Procedures
12. DCM Modeling
• Both forms modeled with Repeating
Question Groups
– Nausea Assessment Form uses Repeating
Defaults for Scheduled Times
– Episodes of Nausea Form uses the (internal)
Repeat_sn field of the DCM Cursor for the
episode number
• Forms collected only at the “1 to 24 Hour
Post Op” Event
12
Lags in Procedures
13. Validation Procedure …
• Two Procedure Question Groups
– Assessment Group
• SCHEDULED_TIME, ACTUAL_DATE, ACTUAL_TIME and EPISODE_YN
questions available
• Lag Depth of 1 specified for each question
– Episode Group
• ACTUAL_DATE and ACTUAL_TIME questions available
• Question Groups not correlated
– Forms collected at a single event
13
Lags in Procedures
14. Validation Procedure
• Qualifying Expressions
– Assessment Group:
• EPISODE_YN in (‘YES’,’NO’) to ignore any scheduled
assessment which is Not Done
– Episode Group:
• Episode ACTUAL DATE TIME is between the lag Assessment
DATE TIME and Current Assessment DATE TIME
• Check ‘Single Repeat Only’ on Episode Group
• Check ‘Create Placeholder’ on Episode Group
• Detail checks EPI$HAS_DATA = ‘N’
14
Lags in Procedures
15. Comparing Dates and Times
• Oracle Clinical stores Dates and Times as
separate variables formatted as character
strings: yyyymmdd and hhmmss
• Oracle Clinical Package function
rxc_date.convert, combines and converts
from OC’s format to native Oracle date
datatype
– allows simple date time comparisons
15
Lags in Procedures
16. rxc_date.convert Function
rxc_date.convert (OC_DATE, OC_TIME)
RETURN date;
• OC_DATE in YYYYMMDD format
– Partial Date returns null
• OC_TIME in HHMMSS format
– Optional argument – 000000 assumed if absent
– Time can be HH, HHMM or HHMMSS – 00 used to
complete the 6 character time
16
Lags in Procedures
17. Episode Group Qualifying
Expression …
EPI.actual_DateTime between
asmt.actual_DateTime$L1
and
asmt.actual_DateTime
is coded
rxc_date.convert(epi.actual_date,epi.actual_time)
between
rxc_date.convert(asmt.actual_date$L1,asmt.actual_time$L1)
and
rxc_date.convert(asmt.actual_date,asmt.actual_time)
But this is not enough!
17
Lags in Procedures
18. Episode Group Qualifying
Expression
Need to account for the first assessment!
EPI.actual_DateTime between
nvl(asmt.actual_DateTime$L1, ’01-JAN-1900’)
and
asmt.actual_DateTime
If LAG variable doesn’t yet exist, the value is null!
18
Lags in Procedures
19. Detail Expression
Create a discrepancy if
Asmt.EPISODE_YN=‘YES’ and EPI$HAS_DATA=‘N’
Only concerned with And if record found
assessments which by the checking
reported Nausea “create placeholder”
19
Lags in Procedures
20. Validation Program Structure
Fetch Patient Data
Initialize Assessment Lags to null
Fetch Current Assessment Repeat where
EPISODE_YN is YES or NO
Fetch 1ST Episode Repeat where DateTime
between last assessment and current
assessment or create a null record if none
Test for null record and that Current
Assessment EPISODE_YN=‘YES’
Set Lag Variables
20
Lags in Procedures
21. Limits on Lags
• Lags are initialized to null when the Patient
Information Cursor is fetched
• Lags are set after post-detail code executes
• Always contain data from the previous
occurrence of the Procedure question group
– Independent of the Clinical Planned Event or
Repeat SN
• Could overcome limits with manual
initialization in pre-detail code
21
Lags in Procedures
22. Contact Information
Steve Rifkin
BioPharm Systems
908 822 0552
srifkin@biopharm.com
22
Lags in Procedures
23. Presenter Bio
Steve Rifkin has over 15 years of Oracle Clinical
experience. As an Oracle Consultant, and then a
Practice Manager at Oracle Clinical consulting, Steve
has assisted about 75 companies with implementation of
Oracle Clinical and RDC, leading the implementation
process, providing training and performing custom
coding. Since joining Biopharm in 2000, Steve has been
responsible for developing Oracle Clinical training
courses, and providing training and implementation
services for Biopharm clients.
23
Lags in Procedures