White Papers


제품화된 룰 = 코딩을 통한 룰 프로그래밍(Custom Functions) 대체

Veeva Vault EDC의 데이터 기반 에딧 체크(Edit Check), 룰, 다이나믹스(Dynamics)

룰, 에딧 체크(Edit check) 및 이와 관련된 테스트 스크립트를 작성하는 작업은 EDC에서 연구 데이터베이스를 구축하는 데 시간이 가장 많이 소요되는 부분입니다. Veeva는 특히 빌더가 가장 최신의 에딧 체크를 설정하고, 강력한 룰 엔진을 사용할 수 있는 향상된 스터디 디자인 환경이 외부가 아닌 EDC 내부 기능으로 내재된 시스템으로 만들기 위해 빌드 환경을 혁신하고 있습니다. Veeva에서 커스텀 룰 프로그래밍(Custom functions)의 필요성을 낮춘 것이 아마도 가장 큰 성과일 것입니다.

커스텀 룰 프로그래밍(Custom functions)의 문제점

  • 구축하는 데 시간이 오래 걸림
  • 테스트하는 데 시간이 오래 걸림
  • 데이터베이스 변경에 따른 위험 증가
  • 인건비 증가
  • 시스템 성능에 영향 유발

용어는 조직마다 다를 수 있으므로 명확성을 위해 이 백서에 사용된 명명법을 기준으로 하겠습니다. 에딧 체크(Edit check)는 오류를 잡아내고 데이터 정확도를 개선하기 위해 전자증례보고서(eCRF) 필드에 적용되는 논리 검사입니다. 데리베이션(Derivation)은 이미 존재하는 기존 데이터를 사용하여 관련 값을 계산합니다(예: 키와 체중을 사용하여 BMI 계산). 데리베이션(Derivation)은 계산을 자동화하고 데이터의 수동 입력 과정을 줄여 시간을 절약합니다. 룰 및 다이나믹스(Dynamics)는 이메일 전송, 치료주기 내에 폼 추가, 숨겨진 필드 표시 등의 작업을 수행하여 자동화 기능을 제공합니다. 커스텀 룰 프로그래밍(Custom functions)은 의도된 작업을 수행하기 위해 EDC 외부에서 작성되어 시스템에 삽입되는 코드입니다.

수년 전 임상시험이 더 간단할 때 개발된 기존 EDC와 달리 지금은 임상시험 디자인이 복잡해지면서 기능을 보강하기 위해 많은 커스텀 룰 프로그래밍(Custom functions)이 필요해졌습니다. 구성 가능한 이메일 전송과 같은 많은 표준 규칙, 교차 폼 에딧 체크(Edit check) 및 유도 기능(Derivation)에는 사용자 지정 함수(Custom functions)가 필요합니다. 대부분의 커스텀 룰 프로그래밍(Custom functions)은 C# 또는 SQL로 작성되기 때문에 기업에서는 전통적인 프로그래밍 기술과 교육을 갖춘 값비싼 소프트웨어 엔지니어를 고용해야 합니다.

Vault EDC에서 룰 및 에딧 체크(Edit check) 만들기

Veeva는 단순 작업은 자동화하고 어려운 작업은 쉽게 처리하는 것을 기본 설계 원칙으로 삼고 있습니다. 이 원칙을 룰 및 에딧 체크(Edit check)에 적용하면 간단한 단변량 검사(Univariate checks) 생성을 자동화하고 복잡한 룰 생성을 단순화하는 직관적인 마법사(Wizard)를 제공한다는 의미입니다.

“임상연구를 구축할 때 가장 어려운 점은 프로그래밍 배경지식이 필요한 에딧 체크(Edit check) 부분에 있습니다. 하지만 Vault EDC에서는 걱정할 필요가 없습니다. 부울 논리 및 조건문을 사용할 줄 안다면 스튜디오에서 에딧 체크(Edit check)를 쉽게 작성할 수 있습니다. 매우 직관적이고 사용하기 쉽습니다.”
– Harbal Sidhu, ICON의 EDC 프로그래밍 디렉터

함수(Function) 추가

룰규칙 표현식에 함수(Function)를 직접 입력하거나 함수 선택기 도구를 사용하여 함수를 추가할 수 있습니다.

1. 함수(Function) 유형별로 옵션을 필터링할 수 있습니다.

2. 함수(Function)를 두 번 클릭하면 표현식에 추가할 수 있습니다.

3. 함수(Function)를 한 번 클릭하면 해당 함수에 대한 간략한 설명을 볼 수 있습니다. 또한 이 함수에 대한 도움말(Help on this function)을 클릭하면 자세한 설명과 사용 방법에 대한 조언을 볼 수 있습니다.

간단한 검사의 자동화

간단한 데이터 밸리데이션 룰은 값의 필수 여부, 지정된 범위내 존재 여부 등과 같은 제약 조건을 필드 값에 적용합니다. 이러한 간단한 검사는 항목을 정의할 때 입력한 속성을 기반으로 시스템에서 생성 및 관리합니다. 예를 들면 체온 필드의 속성 패널에서 최소 체온 및 최대 체온 값을 지정할 수 있습니다. 필수 필드, 범위 검사, 미래 날짜에 대한 데이터 밸리데이션 룰을 프로그래밍할 필요가 없습니다.


글로벌 상위 20개 제약사의 에딧 체크(Edit check) 감소

글로벌 상위 20대 제약사 중 한 곳은 49개의 CRF에서 250건의 에딧 체크(Edit check)를 없앴습니다. 방문이 여러 번 있을 경우를 대비해 CRF 사본을 만들 때 에딧 체크(Edit check)를 재사용하기 때문에 연구 시 이러한 CRF 인스턴스 수를 고려하면 절감 효과가 더욱 커집니다.


복잡한 검사의 단순화

Vault EDC는 에딧 체크(Edit check), 다이나믹스(Dynamics), 데리베이션(Derivation) 등을 생성할 수 있는 강력하면서도 사용하기 쉬운 룰 엔진(Rules Engine)을 제공합니다. 스크립트 편집기 인터페이스를 사용하면 복잡정교한 에딧 체크(Edit check)나 비즈니스 룰규칙을 쉽게 만들 수 있습니다. 먼저 데이터 변수를 지정한 다음 미리 정의된 옵션 라이브러리에서 함수(Function)를 선택합니다. 마지막으로 쿼리(Query) 실행이나 이메일 전송 등 원하는 작업을 지정합니다.

Google 검색어 자동 완성 기능과 마찬가지로 Vault는 룰 작성에 도움이 되는 자동 완성 제안을 제공합니다. Vault는 기존 식별자, 변수, 연산자, 함수(Function)의 컨텍스트를 사용하여 다음 단계에 적합한 옵션을 제안합니다.

Vault는 룰과 입력한 값을 기반으로 다음과 같은 다양한 작업을 수행할 수 있습니다.

  • 이벤트, 방문 및 폼을 추가합니다. 예를 들어, 투약 경로를 기준으로 하여 부합하는 경우 폼을 추가할 수 있도록 설정할 수 있습니다.
  • 이상사례 심각 여부에 “예”로 표시된 경우 이메일을 전송합니다.
  • 관련 항목의 값을 도출합니다. 예를 들어, 환자의 BMI를 계산하거나 두 번째 진료 시 종양 크기가 첫 번째 진료 때보다 작으면 TRUE 값으로 자동 표시됩니다.

룰 및 다이나믹스(Dynamics)를 사용한 고급 임상시험 설계

임상시험에서 룰을 사용하여 사용자가 입력한 데이터를 기반으로 치료 주기, 진료, 폼, 필드를 동적으로 추가할 수 있습니다. 예를 들어, 코호트 또는 무작위 배정 번호를 기준으로 시험대상자의 케이스북(Casebook)에 나와 있는 치료 주기(이벤트 그룹)를 제어하는 룰을 구성할 수 있습니다.

공식에 여러 룰을 연결할 수도 있습니다. 예를 들어, 종양 크기 감소를 반영하는 종양 크기 변화를 도출한 후 관련 진료 및 폼을 사용하여 새로운 치료 주기(이벤트 그룹)를 자동으로 추가합니다. 적응형 플랫폼 종양학 임상시험과 같은 복잡한 연구 설계는 동적 사이클(Dynamic Cycle), 방문, 폼과 상대적으로 적은 수의 룰들로 구성될 수 있으며, 관리 규칙이 상대적으로 적습니다.

설정된 폼 링크(Form Link)

기존 시스템에서는 폼을 링크하려면 커스텀 룰 프로그래밍(Custom functions)을 작성하여 동적 검색 목록을 만들거나 시험기관에서 상호 참조를 위한 올바른 ID를 입력해야 합니다. 동적 검색 목록을 사용하는 경우 테스트에 소요되는 일정이 지연 되며, 성능도 영향을 미치는 등 다양한 리스크가 발생합니다. 시험기관에서 ID를 수동으로 입력하는 경우 여러 ID를 입력할 수 있도록 폼의 형태가 길어지는데, 이는 시험기관의 부담과 인적오류 위험 증가로 이어지며 결과적으로 ID가 일치하는지 확인하기 위한 에딧 체크(Edit check)를 진행해야 합니다.

Veeva는 데이터 입력을 위한 폼 링크 기능을 통해 이러한 번거로운 과정 및 커스텀 룰 프로그래밍(Custom functions)의 필요성을 없애줍니다. 예를 들어, 시험기관 사용자는 클릭하여 하나 이상의 병용약물 폼을 이상사례 또는 병력 폼에 연결하여 관련 데이터를 그룹화하거나 인과 관계를 표시할 수 있습니다. 또한 폼 링크를 사용하면 부작용 이상사례와 병용약물 간의 표시값을 복사하는 등 폼 간에 필드값을 자동으로 복사할 수 있습니다. 이러한 방식 덕분에 중복 데이터를 반복하여 입력할 필요가 없습니다.

폼 링크는 Vault EDC의 또 다른 기능으로, 에딧 체크(Edit check) 및 커스텀 룰 프로그래밍(Custom functions)의 필요성을 줄여 연구 구축의 속도와 품질을 개선합니다.

EDC 기능을 통한 룰 세팅의 효율성 증대

Veeva는 또한 가능한 경우에 룰 엔진(Rules Engine)을 사용하여 에딧 체크(Edit check)의 필요성을 없애줍니다. Vault EDC는 시험기관에서 인치와 센치미터 또는 섭씨와 화씨 단위로 데이터를 입력하도록 요구하고 두 단위에 대한 에딧 체크(Edit check)를 생성하는 대신에 단위 변환 공식을 사용하여 시험기관의 현지화된 입력 형식과 관계없이 입력된 값을 올바른 단위로 변환하고 저장합니다.

Vault EDC 는 스터디에서 요구되는 전반적인 에딧체크의 수가 현저히 줄어 듭니다. 특히 폼 자체 구성 된 체크 기능을 활용을 통해 에딧 체크(edit check) 수를 줄일 수 도 있습니다.

  • 점진적인 화면 표시 로직은 CRF 작동 방식과 데이터 입력을 위해 표시되는 필드를 제어합니다. 더 이상 “진행 중 = 예”와 “종료 날짜 = 완료” 항목과 같이 충돌하는 데이터를 확인하기 위해 룰을 작성할 필요가 없습니다.
  • 예상값의 범위를 미리 정의합니다.

“다른 EDC와 비교했을 때 Vault EDC 장점 중 하나는 에딧 체크(Edit check) 횟수를 대폭 줄일 수 있다는 것입니다. 예를 들어, 일반적인 임상 연구의 경우 미래 날짜를 확인하려면 최소 20개의 에딧 체크(Edit check)를 구성해야 합니다. 1년에 수백 건의 연구를 진행하는 CRO의 경우 2천 개의 에딧 체크(Edit check)를 개발해야 하는 셈입니다. 또한 프로그래밍에 그치는 것이 아니라 미래 날짜, 현재 날짜, 과거 날짜에 대한 세 개의 스크립트를 작성하여 제대로 작동하는지 검사하는 방식으로 밸리데이션도 수행합니다. Veeva를 사용하면 미래 날짜 검사는 하나의 설정일 뿐이므로 스크립트를 작성할 필요가 없습니다.”
– Harbal Sidhu, ICON의 EDC 프로그래밍 디렉터

구성 가능한 날짜 비교 검사

대부분의 연구에서 에딧 체크(Edit check)의 상당 부분이 날짜 비교 룰입니다. 비교적 단순한 룰이긴 하지만, 작성해야 하는 룰 개수가 많고 단조로우며 수작업으로 진행해야 한다는 어려움이 있습니다. 이에 기업은 에딧 체크(Edit check)를 작성해야 할 뿐만 아니라 시험 스크립트를 작성하여 검사 기능이 의도한 대로 작동하는지 확인하는 작업도 수행해야 합니다. Veeva는 “시험대상자 등록 날짜는 시험대상자 동의 날짜 이후여야 함”과 같이 제공된 기준에 따라 날짜 필드 비교 룰을 자동으로 생성하는 구성 도구를 제작했습니다. 스터디 디자이너는 독립적인 사양 문서가 필요 없는 전용 인터페이스 내에서 날짜 비교를 지정할 수 있습니다. 이 사양 도구는 요구 사항을 수집하기 위해 특별히 제작되었기 때문에 Excel보다 사용하기 쉽고 Vault에서 룰 표현식을 자동으로 생성해 줍니다.

비교 구성 도구를 사용하면 개별 날짜 비교를 쉽게 지정할 수 있을 뿐 아니라 이를 To-do list로 활용하여 데이터 관리자에게 전체 연구의 전체 날짜 필드 목록을 보여줍니다. 이 목록은 스터디 디자이너가 고려해야 하는 모든 날짜에 대한 체크리스트로 사용될 수 있습니다. 스터디 디자이너는 각 행에 필요한 비교 항목을 지정하거나 에딧 체크(Edit check)가 필요하지 않음을 표시합니다.

구성 가능한 날짜 검사를 사용하면 빌드 시간을 절약할 수 있을 뿐만 아니라 UAT 중에 이러한 검사를 테스트할 필요가 없습니다. 시스템이 설계된 대로 작동하는지 검증되므로 개별 검사가 필요하지 않습니다. 대신 날짜 비교를 육안으로 검사하여 올바르게 구성되었는지 확인해야 합니다.

비교 도구(Comparison Tool)는 Vault EDC의 중요한 부분으로, EDC 스펙과 디자인 융합의 개념이며, DB 구축에서 케이스북(Casebook) 설정으로의 전환을 의미합니다. 앞으로 설정 도구는 숫자 비교 및 시간 경과에 따른 데이터 포인트 등을 지원할 예정입니다.

결론

임상시험 설계가 점점 더 복잡해지는 추세에 따라 임상 프로그래머는 광범위한 커스텀 룰 프로그래밍(Custom functions)을 통해 기존 EDC 시스템의 기능을 보완해야 하는 부담을 안게 되었습니다.

Vault CDMS의 룰 엔진(Rules Engine)은 스터디 구축 담당자에게 풍부한 기능을 제공하며, 이를 통해 Vault EDC 내에서 직접 향상된 다이나믹스(Dynamics) 및 에딧 체크(Edit check)를 생성할 수 있도록 지원합니다. 또한 룰 엔진(Rules Engine)은 데이터 관리자가 룰에 대한 기술시방서를 작성하는 대신 에딧 체크(Edit check) 및 다이나믹스(Dynamics)를 독립적으로 작성할 수 있도록 설계되었습니다. 드래그 앤 드롭 룰 생성, 케이스북(Casebook) 변수, 자동 제안 등의 다양한 기능은 룰 작성에 대한 기술 장벽을 낮춰 데이터 관리자가 대부분의 룰을 직접 작성할 수 있도록 합니다. Alcon의 임상시험 데이터 관리자는 “스펙을 작성하고 검토하는 데 걸리는 시간에 데이터베이스를 자체적으로 구축할 수 있습니다”라고 말하며 다음과 같이 덧붙였습니다. “데이터 관리자에게 데이터 클리닝 이상의 일을 할 수 있는 권한을 부여할 것을 적극 권장합니다. 이들은 Veeva EDC를직접 구축할 수 있어야 합니다.”

임상시험 속도를 높일 방법을 모색하는 기업들은 Vault CDMS를 도입하여 임상 수행 중 빌드 시간을 단축하고 민첩성(Agility)을 높이는 이점을 누리고 있습니다. Vault CDMS의 강력한 룰 엔진(Rules Engine)은 조직에서 오늘날의 복잡한 임상시험을 지원하는 데 필요한 자동화 및 유연성을 제공합니다.

그림 3. 룰을 보다 쉽고 스마트하게 만드는 6가지 기능

케이스북(Casebook) 변수
룰 표현식을 작성하거나 날짜 비교를 지정할 때 더 짧고 쉽게 액세스할 수 있는 상관예측 케이스북(Casebook) 변수를 사용하여 생년월일 또는 전자동의서 날짜와 같이 일반적으로 사용되는 날짜를 참조합니다.

시퀀스 번호 참조
반복 케이스 그룹 또는 폼의 시퀀스 번호를 참조하여 해당 그룹 또는 폼의 특정 인스턴스에 대해서만 의도한 작업을 수행할 수 있습니다. 예를 들어, 특정 폼은 치료 주기의 첫 번째 진료에만 추가할 수 있으며 특정 진료는 1차 치료 주기에만 추가할 수 있습니다.

룰 복사
현재 연구와 Vault의 다른 연구에서 룰 정의와 룰 작업을 복사합니다. 룰에 참조된 항목이 새 연구에 없는 경우 Vault는 룰을 복사하고 새 연구에서 룰을 활성화하기 전에 식별자를 업데이트하라는 메시지를 표시합니다. 폼을 복사하면 해당 폼과 연관된 규칙도 복사할 수 있습니다.

교차 폼 쿼리(Query)
여러 항목과 폼 간에 데이터 밸리데이션 룰을 만들 수 있습니다. 간단하게 마우스로 제어 가능한 룰 편집기 인터페이스를 사용하면 케이스북(Casebook)의 다른 폼에서 필드를 쉽게 찾아 선택할 수 있습니다.

와일드카드 식별(@Form)
Vault는 와일드카드 식별자가 포함된 폼이 제출될 때마다 룰을 자동으로 평가합니다. 또한 Vault는 룰에 참조하는 폼의 데이터가 변경될 때마다 룰을 다시 평가합니다. 예를 들어, @Form이 진료를 여러 번 받을 때 사용되는 활력징후 폼을 가리키면 Vault는 활력징후 폼이 발생할 때마다 룰을 평가합니다.

지정된 케이스북(Casebook) 버전의 쿼리(Query) 생성
특정 버전의 시험대상자 케이스북(Casebook)만 평가하도록 데이터 밸리데이션 룰을 구성할 수 있습니다. 이 기능은 새로운 설계를 기반으로 룰이 더 이상 유효하지 않도록 케이스북(Casebook)을 업데이트한 경우에 유용합니다.

그림 4. 스크립트 편집기 내에서 에딧 체크(Edit check), 다이나믹스(Dynamics), 계산 등을 수행하는 작업.

작업 유형 결과
쿼리(Query) 입력한 쿼리(Query) 메시지로 선택한 항목이나 케이스 날짜에 대한 쿼리(Query)를 생성합니다.

예: 확장기 혈압이 수축기 혈압보다 높은 경우 쿼리(Query)를 생성합니다.
이벤트 그룹 추가 선택한 이벤트 그룹을 케이스북(Casebook) 일정에 추가합니다.

예: 다음 치료 주기에 적합한 진료 및 폼으로 구성된 새로운 이벤트 그룹을 동적으로 추가합니다.
이벤트 또는 폼 추가 선택한 이벤트 또는 폼을 케이스북(Casebook) 일정에 추가합니다.

예: 사용자가 폼에서 후속 방문 필요 확인란을 선택하면 후속 방문 및 관련 양식을 동적으로 추가합니다.
항목 비활성화 제어 항목 값에 따라 지정된 항목을 비활성화합니다.

예: 시험대상자의 성별 값에 따라 임신 검사 결과 필드를 비활성화합니다.
항목 값 설정 표현식의 계산된 결과로 항목을 채웁니다.

예: 입력한 키 및 체중 값을 기준으로 시험대상자의 체질량지수(BMI)를 계산하고 BMI 필드에 그 결과를 입력합니다.
시험대상자 상태 설정 시험대상자 상태를 선택한 상태로 업데이트하고 상태 변경 날짜를 기록합니다.

예: 스크리닝 케이스에 날짜를 입력하면 시험대상자 상태가 자동으로 스크리닝 중으로 설정됩니다.
이메일 전송 구성된 제목과 메시지를 사용하여 미리 구성된 수신자 그룹에 이메일을 전송합니다.

예: 케이스북(Casebook)에 새로운 이상사례가 추가되면 임상연구의 메디컬 모니터요원에게 자동으로 알림을 보냅니다.
점진적 화면 표시 폼에서 이전에 입력한 값을 기준으로 항목을 표시하거나 활성화합니다.

예: 이상사례 폼은 사용자가 이상사례가 진행 중인지 묻는 질문에 “아니요”를 입력한 후에만 종료 날짜 필드를 화면에 동적으로 표시할 수 있습니다.
검토 계획 재정의 폼의 기본 검토 계획을 선택한 검토 계획으로 재정의합니다.

예: 이상사례가 “심각함”으로 표시된 경우 이상사례의 기본 SDV 계획을 재정의합니다.