JMP臨床11 年前發布,專門用於分析和審查以標準化和結構化數據為中心的正在進行的臨床試驗。 其目的是讓審閱者定期(每週或每月)接收數據以供審閱,以使用預編程的報告尋找安全性和/或有效性信號,使審閱者能夠自助服務並更深入地挖掘數據-要求。 希望加快審查過程,並發現在查看靜態表格、列表和數字時可能會遺漏的異常情況。
此外,該軟件的一個目標是減輕為審閱者生成所需數據和標準化報告的編程團隊的負擔。 這需要大量時間來頻繁地運行程序或編輯程序/腳本/宏以滿足審閱者的需要。 編程和生物統計學小組通常希望關注研究獨有的數據和報告,而不是在不同研究之間非常一致的常用表格或圖表,使他們能夠對特定於研究的異常給予更強有力和不受干擾的關注需要更多的統計或算法知識。
在大多數情況下,JMP Clinical 實現了這些目標,除非我們談論的組織有許多需要監測和/或頻繁更新數據的研究。 這給數據管理和生物統計學團隊帶來了新的負擔,以更新 JMP Clinical 內的研究,或者給不精通該過程或沒有時間的審閱者帶來負擔。 同樣令人感興趣的是能夠在 JMP Clinical 中修改一些報告和/或按計劃運行相同的審查模板。 對 JMP Clinical 功能的自動化和擴展的需求成為一個常見的要求。
輸入 JMP Clinical 的 API。 圍繞 JMP Clinical 6,我們引入了框架和基礎設施,使基於 API 的通用功能/流程以編程方式訪問成為可能。 在 JMP Clinical 7 中,API 使用 JMP 腳本語言 (JSL) 發布並提供。 在版本 8(最新版本)中,發布了更多功能。 這篇文章不涉及 API 開發的細節。 相反,它側重於它們的實際使用,以便您可以利用它們。
我將分享一系列關於如何調用和使用 API 的帖子。 我們從介紹基本語法及其用法開始。 然後我們在使用 JSL 時進入更複雜的用途。 最後,我們將在某些 JSL 中調用的兩類 API 結合起來。
對於那些不熟悉 JMP Clinical 上下文中的術語研究、審查、報告和審查模板的人,請參閱此關聯結識。 此外,那些不熟悉 JSL 的人應該閱讀並了解更多信息關聯. 了解 API 的使用需要兩者的知識。
對於這篇文章,讓我們從兩個主要類別和可能的內容開始。 兩個主要類別是:研究管理相關功能 (JMPClinicalStudyManagerAPI) 和審查相關功能 (JMPClinicalReviewAPI)。 這個想法是複制用戶界面中可以完成的操作(主要是按鈕點擊),用戶不需要做出決定(例如用新數據刷新研究的元數據或打開審查模板並為特定研究運行它)。 下面是一些突出顯示與研究管理部分和審查部分相關的按鈕的圖像。
與 JMPClinicalStudyMangerAPI 相關的研究管理功能
查看/查看與 JMPClinicalReviewAPI 相關的構建器函數
該 API 旨在執行常規任務並將其自動化,例如使用新元數據刷新研究或從審查模板中的報告中添加/刪除內容。 這是一個鏈接JMP臨床研究管理器API功能和另一個鏈接JMPClinicalReviewAPI功能供參考。
那麼,這個 JMPClinicalStudyMangerAPI API 能為我們做什麼呢? 它為我們提供了兩組函數:獲取函數(獲取研究信息的函數)和操作函數(添加、刪除或更新研究的函數)。 下表列出了調用該函數的基本語法。 冒號 (:) 將 API 調用和函數調用分開。 一些函數具有輸入和/或返回。 有關預期輸入和返回內容的詳細信息,請參閱上述鏈接。
學習管理 API
|
獲取信息功能
|
操作研究函數
|
獲取研究名稱列表:
JMPClinicalStudyManagerAPI:getStudyList
|
添加研究:
JMPClinicalStudyManagerAPI:addStudy
|
獲取 SDTM 文件夾路徑:
JMPClinicalStudyManagerAPI:getSDTMFolder
|
刷新研究元數據:
JMPClinicalStudyManagerAPI:refreshStudies
|
獲取 ADaM 文件夾路徑:
JMPClinicalStudyManagerAPI:getADAMFolder
|
刪除研究:
JMPClinicalStudyManagerAPI:deleteStudies
|
添加了獲取日期研究:
JMPClinicalStudyManagerAPI:getInitialDate
|
使用新快照更新研究:
JMPClinicalStudyManagerAPI:updateSnapshot
|
獲取日期研究持續更新:
JMPClinicalStudyManagerAPI:getLastUpdatedDate
|
更改研究數據文件夾:
JMPClinicalStudyManagerAPI:changeFolders
|
獲取快照啟用狀態:
JMPClinicalStudyManagerAPI:getEnableSnapshot
|
預先計算患者資料數據:
JMPClinicalStudyManagerAPI:precomputeProfileData
|
獲取快照編號:
JMPClinicalStudyManagerAPI:getSnapshotNumber
|
|
獲取已識別域的列表:
JMPClinicalStudyManagerAPI:getDomainList
|
|
獲取磁盤上的文件大小:
JMPClinicalStudyManagerAPI:getSizeOnDisk
|
|
獲取創建/添加研究的 Windows 操作系統用戶 ID:
JMPClinicalStudyManagerAPI:getCreatedBy
|
|
獲取上次更新的 Windows 操作系統用戶 ID 研究:
JMPClinicalStudyManagerAPI:getLastUpdatedBy
|
|
現在讓我們看看第二個類別,Review 函數。 這個也有一組獲取和操作函數,但用於評論和報告。
審核 API
|
獲取信息功能
|
操作報告/審查功能
|
獲取對 Review Builder 的引用:
JMPClinicalReviewAPI:getReviewBuilder
|
關閉評論生成器:
JMPClinicalReviewAPI:closeReviewBuilder
|
獲取評論查看器/構建器 ID 和標題:
JMPClinicalReviewAPI:getReviewViewerIDsAndTitles
|
打開評論模板:
JMPClinicalReviewAPI:openReviewTemplate
|
獲取對評論查看器的引用:
JMPClinicalReviewAPI:getReviewViewer
|
向 Review Builder 添加報告:
JMPClinicalReviewAPI:addReport
|
獲取評論查看器/構建器的目錄:
JMPClinicalReviewAPI:getReviewTableOfContents
|
按標題刪除報告表單審核生成器:
JMPClinicalReviewAPI:removeReportByReportTitle
|
獲取報告 ID 列表:
JMPClinicalReviewAPI:getReportIDList
|
按標題在 Review Builder 中運行報告:
JMPClinicalReviewAPI:runReportByReportTitle
|
獲取報告標題列表:
JMPClinicalReviewAPI:getReportTitleList
|
在 Review Builder 中運行所有報告:
JMPClinicalReviewAPI:runAllReports
|
通過 ID 獲取對報告的引用:
JMPClinicalReviewAPI:getReportByID
|
將評論生成器內容保存為評論:
JMPClinicalReviewAPI:saveReview
|
按標題獲取對報告的引用:
JMPClinicalReviewAPI:getReportByTitle
|
在評論查看器中打開評論:
JMPClinicalReviewAPI:openReview
|
按標題獲取報告詳細信息:
JMPClinicalReviewAPI:getReportDetailsByTitle
|
在報告中插入部分:
JMPClinicalReviewAPI:insertSectionIntoReportByTitleAndSectionName
|
獲取對報告結果的引用:
JMPClinicalReviewAPI:getReportResultsByTitle
|
從報告中刪除部分:
JMPClinicalReviewAPI:removeSectionFromReportByTitleAndSectionName
|
獲取對報告部分的引用:
JMPClinicalReviewAPI:getReportSectionByTitleAndSectionName
|
添加到報告部分的末尾:
JMPClinicalReviewAPI:appendDisplayObjectToReportSectionByTitleAndSectionName
|
獲取報告中使用的數據表列表:
JMPClinicalReviewAPI:getDataTablesForSectionByTitleAndSectionName
|
添加到報告部分的開頭:
JMPClinicalReviewAPI:prependDisplayObjectToReportSectionByTitleAndSectionName
|
所以現在我們列出了不同的功能以及它們可以做什麼。 現在是展示它們使用的基本語法的時候了。 基本形式是這樣的:
JMPClinical<CATEGORY>API:<FUNCTION> ({argument(s)}, {namespace}, completeListenerFunction());</FUNCTION></CATEGORY>
上面提到JMPClinicalStudyManagerAPI時,已經介紹了對Study Management相關API函數的基本調用。 因此,如果我想刷新已註冊研究的元數據,它將如下所示:
JMPClinicalStudyManager:refreshStudies ({studyList},{},{});
我們將在下一組帖子中對此進行更多剖析並討論常見用法。 現在,我想介紹可用的內容以及如何在 JSL 腳本中調用它。 下一篇文章將是關於 Study Management API 的一個示例,更多地討論 API 調用的命名空間和 completeListener 部分,並開始將其包裝在 JSL 中並在其中使用 JSL。
直到下一篇文章,保重!