이 글의 목적은 앱 구축 프로세스를 가속화할 수 있는 출발점으로서 GxP 앱 템플릿을 소개하는 것입니다. 이 글에서는 앱의 데이터 구조, 코드 없이도 구성할 수 있는 재사용 가능한 구성 요소, 그리고 GxP 앱 구축 전문가가 되는 데 도움이 되는 추가 리소스에 대해 안내합니다.
GxP 앱 템플릿 내 데이터 구조: 완료 기록 및 테이블
이 앱은 다양한 유형의 정보를 저장하기 위해 테이블과 완료 레코드를 모두 활용합니다. 다른 애플리케이션에서 재사용되도록 설계된 정보는 테이블에 저장됩니다. 검토 목적으로만 필요한 정보는 완료 데이터에 저장됩니다. GxP 앱 템플릿과 Composable MES for Pharma 의 애플리케이션에서 사용하는 모든 테이블은 Tulip의 제약 산업용 공통 데이터 모델(Common Data Model for Pharma)을 기반으로 구축되었습니다.
Composable MES for Pharma에서 사용하는 테이블
Composable MES for Pharma의 앱들은 서로 연결되어 있으며, Common Data Model for Pharma와 연동되어 작동합니다. Common Data Model for Pharma는 데이터를 논리적으로 구성하고 테이블에 수집할 수 있는 출발점을 제공하며, 새로운 앱을 통해 쉽게 확장될 수 있어 팀이 더 빠르게 규모를 확장하고 과제를 해결하는 데 도움을 줍니다.
:::(Info) If you'd like to learn more about Tulip's Common Data Model (CDM)
for Pharma, check out this link.
:::
애플리케이션 내 재사용 가능한 구성 요소
애플리케이션 내 일시 중지 및 재개
Composable MES for Pharma 내 대부분의 애플리케이션은 내장된 로직을 통해 재개 가능한 기능을 지원합니다. 즉, 필요에 따라 진행 상황을 일시 중지했다가 나중에 다시 재개할 수 있습니다.
각 공정 애플리케이션의 기본 레이아웃에는 트리거가 포함되어 있습니다. 이 트리거는 공정 흐름 ( Process Flow ) 테이블에 단계 이름을 저장합니다.
각 프로세스 애플리케이션의 시작 부분에는 여러 개의 트리거가 있습니다. 이 트리거의 기능은 선택한 배치의 진행 중 상태를 확인하는 것입니다. 진행 중 상태가 존재하면, 애플리케이션은 중단된 단계부터 다시 시작됩니다.
탐색 트리거
앱 제품군 내에서는 ‘다음(Next)’, ‘이전(Previous)’, ‘이동(Go to)’, ‘라우팅(Routing)’의 네 가지 유형의 탐색 트리거를 사용합니다. ‘다음(Next )’ 트리거는 이름에서 알 수 있듯이 앱을 다음 단계로 이동시킵니다.

'이전' 트리거는 앱을 이전 단계로 이동시킵니다. 다만, 트리거 내에서 '이전' 옵션을 사용하는 대신 이전 단계의 이름을 직접 지정합니다. 이는 '이전' 탐색이 항상 주요 단계 순서를 참조하도록 하고, '댓글'과 같은 보조 단계로 이동하지 않도록 하기 위함입니다. 예를 들어, 사용자가 댓글을 작성한 후 진행 중인 프로세스 단계로 돌아와 이전 프로세스 단계로 다시 이동하려고 할 때, ‘이전’ 로직을 사용하면 의도치 않게 순서의 이전 단계가 아닌 댓글 단계로 이동하게 됩니다.
'이동( Go to) ' 트리거도 앱 제품군에서 사용됩니다. 이 트리거는 다음 단계나 이전 단계로 이동하는 대신, 트리거 자체 내에서 정의된 특정 단계로 이동합니다.
'경로 지정(Routing)' 트리거는 특정 조건에 따라 앱을 다른 단계로 이동시킵니다. 앱이 이동하는 단계는 어떤 조건이 충족되는지에 따라 결정됩니다.
주석, 예외 및 수정 사항
Composable MES for Pharma의 모든 애플리케이션에서 코멘트, 예외 및 수정 사항을 생성하는 데 일관된 규칙을 적용했습니다. 앱 제품군 내의코멘트는 사용자가 예기치 않은 문제를 상급자에게 보고하거나 표시할 수 있는 도구 역할을 합니다. 각 애플리케이션에는 기본 레이아웃의 일부로 ‘코멘트 보고’ 버튼이 포함되어 있습니다. 이 버튼을 클릭하면 ‘코멘트’ 단계로 이동하며, 사용자는 해당 단계에서 문제를 설명하고 필요에 따라 사진을 첨부할 수 있습니다. ‘코멘트 기록’ 버튼을 클릭하면 애플리케이션이 ‘코멘트 및 예외’ 테이블에 기록을 생성합니다.
Composable MES for Pharma에서는 공정에서 편차가 예상될 때(예: 검사 값이 지정된 한계치 범위를 벗어날 경우) 예외가 사용됩니다. 앱 제품군에는 발생 시점에 따라 예외 단계가 포함되어 있으며, 대부분 편차가 발생할 수 있는 단계 바로 다음에 배치됩니다. 편차가 발생할 가능성이 있는 단계에서, 탐색 버튼에 내장된 조건이 예측된 공정이 예상대로 진행되고 있는지 확인합니다. 예상대로 진행되고 있다면 예외 단계는 건너뛰고, 그렇지 않은 경우 앱은 다음 단계인 ‘예외’ 단계로 이동합니다. 이 단계에서 사용자는 프로세스를 계속 진행하기 위해 예외를 생성해야 합니다.
앱 제품군 내의**‘수정’ 기능은** 앱 사용자가 이전 단계로 돌아가거나 이전에 제공한 정보를 변경한 이유를 기록하는 데 활용됩니다. ‘수정 ( Is correction) ’ 부울 변수는 이전 단계로 이동이 가능한 모든 단계에서 제품군 전반에 걸쳐 사용됩니다. 이 변수는 기본적으로 ‘아니요(No )’로 설정되어 있습니다. 사용자가 앱 내에서 이전 단계로 이동하면 ‘수정’ 변수가 ‘참(true )’으로 전환됩니다.
'다음' 버튼을 클릭하면 앱은 'Is correction' 변수를 평가합니다. 이 변수가 'false'인 경우 다음 단계로 진행합니다. 'true'인 경우, 앱은 단계 이름을 저장하고 수정 단계로 리디렉션합니다. 수정 단계에서 사용자는 정보 변경 사유를 입력해야 하며, 선택적으로 사진을 첨부할 수도 있습니다. '수정 생성' 버튼을 클릭하면 앱은 이를 '수정' 테이블에 기록하고, 'Is correction' 변수를 'No'로 재설정한 후, 이전에 저장된 단계 이름을 기반으로 해당 단계로 되돌아가게 됩니다. 테이블 레코드를 확인하여 수정 내역을 검토할 수 있습니다.

애플리케이션 내 데이터 유효성 검사
Composable MES for Pharma에서는 앱 내 정보를 검증하는 세 가지 방법이 있습니다. 첫 번째 방법은 위젯의 검증 규칙을 사용하는 것입니다. 아래 예시에서, 체크박스가 선택되지 않은 상태에서는 ‘다음’ 버튼이 비활성화된 상태로 유지됩니다.

두 번째 방법은 숫자 입력 위젯에서 유효성 검사 규칙을 활용하는 예시입니다. 먼저, 특정 범위를 지정하는 규칙이 적용됩니다. 입력된 숫자가 이 범위 밖이면 버튼은 비활성화된 상태로 유지됩니다. 또한, 숫자 입력 필드를 모두 채워야 한다는 또 다른 규칙이 적용되며, 이 조건이 충족될 때까지 버튼은 비활성화된 상태로 유지됩니다.
마지막 방법은 버튼 액션에 직접 적용됩니다. 버튼에 연결된 표현식이 스케일의 정리 상태를 확인합니다. 상태가 CLEAN이 아니면 버튼은 비활성화된 상태로 유지됩니다.

전자 서명 위젯
규정 준수를 간편하게 하고 이를 Tulip 플랫폼의 기본 기능으로 통합하기 위해, 전자 서명 위젯은 Tulip 내에서 데이터에 서명할 수 있는 방법을 제공합니다. 21 CFR Part 11에 따라, 이 위젯은 물리적 서명을 법적으로 구속력 있는 형태로 재현합니다. 서명은 변경 불가능하며 애플리케이션의 완료 데이터 내에 기록됩니다. 이 서명은 재할당, 양도 또는 위조가 불가능합니다. Composable MES for Pharma에서는 전자 서명 위젯을 사용합니다. 로그인한 사용자의 경우, 완료 기록을 사용하여 서명을 대체할 수 있습니다. 서명 위젯은 일반적으로 점검(check-by)에 사용됩니다. 따라서 아래 예시에서 볼 수 있듯이, 단일 서명 위젯을 통해 사용자가 프로세스를 승인할 수 있습니다. 추가적인 품질 보증을 위해, 단일 단계에 두 개의 서명 위젯을 배치하여 누가 작업을 수행했고 누가 검토/승인했는지 표시할 수 있습니다.

기록 이력 위젯
기록 이력 위젯을 사용하면 GxP 규정을 엄격히 준수하는 방식으로 데이터를 검토할 수 있습니다. 이 위젯은 배치나 원자재와 같은 특정 아티팩트(테이블 레코드)에 적용된 모든 변경 사항을 표시하도록 구성되어 있습니다. 이 위젯을 사용하려면 프로세스 애플리케이션 전반에 걸쳐 동일한 테이블 세트를 사용하고, 검토 앱에서 ‘연결된 자리 표시자( Linked Placeholder)’에 해당 테이블을 위젯에 추가하십시오.
구성
앱 내 도움말
Composable MES for Pharma의 모든 애플리케이션에는 앱 내 도움말이 포함되어 있습니다. 여기에는 필수 설정 단계에 대한 간략한 설명과 추가 맞춤 설정을 지원하는 앱 빌더 팁이 포함되어 있습니다. 앱을 다운로드한 후에는 이 지침을 반드시 읽은 다음, 애플리케이션을 실행하기 전에 해당 지침을 삭제하십시오.
추가 리소스
앱 예제 및 템플릿
Composable MES for Pharma에는 앱 예제 및 템플릿이 포함되어 있습니다. 앱 예제는 사용자가 앱을 이해하고 테스트하거나 시연하는 데 도움이 되는, 미리 정의된 정보가 내장된 애플리케이션입니다. 각 애플리케이션은 생산 현장에서 발생하는 특정 공정 단계를 나타냅니다. 자세한 내용은 해당 문서나 라이브러리 웹 페이지를 참조하십시오. 템플릿은 다양한 공정에 맞게 쉽게 조정할 수 있는 재사용 가능한 구성 요소를 제공하여 개발의 출발점 역할을 합니다. 각 템플릿에는 로그 항목 자동화, 데이터 보안 보장, 오류 감소를 돕는 GxP 모범 사례가 내장되어 있습니다. Composable MES for Pharma에서 앱 예시와 템플릿을 함께 활용하면, 이러한 앱의 자체 버전을 쉽게 이해하고, 테스트하며, 배포하여 개발 프로세스를 가속화할 수 있습니다. 운영 환경에 맞게 템플릿을 조정한 후에는 이를 표준화하거나 배포하고, 현지 설정을 허용하여 글로벌 배포 프로젝트를 가속화할 수 있습니다.
참고 문헌
Composable MES forPharma 생산 관리 앱제품군제약산업용 공통 데이터 모델(Common Data Model forPharma)전자 로그북
