Bonjour Chris, je me demande s'il existe une API de gestion d'étude pour réaliser une étude en tant qu'étude en cours dans JMP Clinical. Impossible de le trouver dans le tableau de votre blog.Merci beaucoup. Baoyue Li
JMP Clinical a été lancé il y a 11 ans spécifiquement pour l'analyse et l'examen des essais cliniques en cours centrés sur des données standardisées et structurées. L'intention était qu'un évaluateur reçoive des données à examiner à intervalles réguliers (chaque semaine ou chaque mois) pour rechercher des signaux de sécurité et/ou d'efficacité à l'aide de rapports préprogrammés, permettant à l'évaluateur de se servir lui-même et d'approfondir les données sur -demande. L'espoir était d'accélérer le processus d'examen et de découvrir des anomalies qui autrement pourraient passer inaperçues lors de l'examen de tableaux, de listes et de chiffres statiques.
De plus, l'un des objectifs du logiciel était d'alléger la charge imposée aux équipes de programmation qui produisent les données demandées et les rapports standardisés pour les évaluateurs. Cela nécessitait beaucoup de temps pour exécuter des programmes ou éditer des programmes/scripts/macros pour répondre aux besoins des réviseurs et sur une base fréquente. Les groupes de programmation et de biostatistique souhaitent généralement se concentrer sur les données et les rapports propres à l'étude au lieu du tableau ou du graphique habituel qui est assez cohérent d'une étude à l'autre, ce qui leur permet d'accorder une attention plus robuste et sans distraction aux anomalies spécifiques à l'étude qui nécessitent davantage de connaissances statistiques ou algorithmiques.
Pour l'essentiel, JMP Clinical a atteint ces objectifs, à moins qu'il ne s'agisse d'organisations qui mènent de nombreuses études qui doivent être surveillées et/ou qui doivent fréquemment mettre à jour leurs données. Cela impose une nouvelle charge aux équipes de gestion des données et de biostatistiques pour mettre à jour les études dans JMP Clinical ou impose une charge aux évaluateurs qui n'étaient pas aussi compétents dans le processus ou n'avaient pas le temps. La possibilité de modifier certains rapports dans JMP Clinical et/ou d'exécuter le même modèle de révision de manière planifiée était également intéressante. La demande d'automatisation et d'extension des capacités de JMP Clinical est devenue une demande fréquente.
Entrez dans les API de JMP Clinical. Autour de JMP Clinical 6, nous avons introduit le cadre et l'infrastructure permettant de rendre possible par programmation l'accès basé sur l'API aux fonctions/processus courants. Dans JMP Clinical 7, les API ont été publiées et mises à disposition à l'aide du langage de script JMP (JSL). Dans la version 8 (la dernière), davantage de fonctionnalités ont été publiées. Cet article n'entre pas dans les détails du développement des API. Au lieu de cela, il se concentre sur leur utilisation pratique afin que vous puissiez en profiter.
Je partagerai une série d'articles sur la façon d'invoquer et d'utiliser les API. Nous commençons simplement en introduisant la syntaxe de base et leur utilisation. Ensuite, nous progressons vers des utilisations plus sophistiquées en utilisant JSL. Et enfin, nous combinons les deux catégories d'API invoquées au sein de certains JSL.
Pour ceux qui ne connaissent pas les termes étude, examen, rapport et modèle d'examen dans le contexte de JMP Clinical, veuillez consulter ce lien pour vous familiariser. De plus, ceux qui ne connaissent pas JSL devraient lire et en apprendre davantage sur ce lien . La connaissance des deux est requise pour comprendre l'utilisation des API.
Pour cet article, commençons par les deux catégories principales et ce qui est possible. Les deux catégories principales sont : les fonctions liées à la gestion des études (JMPClinicalStudyManagerAPI) et les fonctions liées à la révision (JMPClinicalReviewAPI). L'idée est de reproduire ce qui peut être fait dans l'interface utilisateur (principalement les clics sur les boutons) là où l'utilisateur n'a pas besoin de décision (comme actualiser les métadonnées des études avec de nouvelles données ou ouvrir un modèle de révision et l'exécuter pour une étude spécifique). Vous trouverez ci-dessous quelques images mettant en évidence les boutons liés à la section Gestion de l'étude et à la section Révision.
Study Management Functions that Relate to JMPClinicalStudyMangerAPIStudy Management Functions that Relate to JMPClinicalStudyMangerAPIStudy Management Functions that Relate to JMPClinicalStudyMangerAPIStudy Management Functions that Relate to JMPClinicalStudyMangerAPIFonctions de gestion d'études liées à JMPClinicalStudyMangerAPI
Review/Review Builder Functions that Related to JMPClinicalReviewAPIReview/Review Builder Functions that Related to JMPClinicalReviewAPIReview/Review Builder Functions that Related to JMPClinicalReviewAPIReview/Review Builder Functions that Related to JMPClinicalReviewAPIFonctions du générateur de révision/révision liées à JMPClinicalReviewAPI
L'API est destinée à prendre en charge les tâches de routine et à les automatiser, comme l'actualisation des études avec de nouvelles métadonnées ou l'ajout/suppression de contenu d'un rapport dans un modèle de révision. Voici un lien pour les fonctions JMPClinicalStudyManagerAPI et un autre lien pour les fonctions JMPClinicalReviewAPI pour référence.
Alors, que peut faire cette API JMPClinicalStudyMangerAPI pour nous ? Il nous fournit deux ensembles de fonctions : les fonctions d'obtention (celles qui obtiennent des informations sur les études) et les fonctions de manipulation (celles qui ajoutent, suppriment ou mettent à jour des études). Voici un tableau de ce qui est possible avec la syntaxe de base pour appeler cette fonction. Les deux points (:) séparent l'appel API et l'appel de fonction. Certaines fonctions ont des entrées et/ou des retours. Consultez les liens ci-dessus pour plus de détails sur ce qui est attendu en tant qu'entrée et retour.
|
API de gestion des études
|
|
Obtenir des fonctions d'information
|
Manipuler les fonctions d'étude
|
|
Obtenez la liste des noms d’études :
API JMPClinicalStudyManager : getStudyList
|
Ajouter une étude :
JMPClinicalStudyManagerAPI : addStudy
|
|
Obtenez le chemin du dossier SDTM :
API JMPClinicalStudyManager : getSDTMFolder
|
Actualiser les métadonnées de l'étude :
JMPClinicalStudyManagerAPI : actualiser les études
|
|
Obtenez le chemin du dossier ADaM :
JMPClinicalStudyManagerAPI : getADaMFolder
|
Supprimer l'étude :
JMPClinicalStudyManagerAPI : supprimer les études
|
|
Obtenir la date de l'étude a été ajouté :
JMPClinicalStudyManagerAPI : getInitialDate
|
Mettre à jour l'étude avec un nouvel instantané :
JMPClinicalStudyManagerAPI : updateSnapshot
|
|
Obtenir la date de la dernière mise à jour de l'étude :
JMPClinicalStudyManagerAPI : getLastUpdatedDate
|
Modifier les dossiers de données d'étude :
JMPClinicalStudyManagerAPI :changeFolders
|
|
Obtenir l'état d'activation de l'instantané :
JMPClinicalStudyManagerAPI : getEnableSnapshot
|
Précalculer les données du profil du patient :
JMPClinicalStudyManagerAPI : precomputeProfileData
|
|
Obtenir le numéro d'instantané :
JMPClinicalStudyManagerAPI : getSnapshotNumber
|
|
|
Obtenez la liste des domaines reconnus :
JMPClinicalStudyManagerAPI : getDomainList
|
|
|
Obtenez la taille du fichier sur le disque :
API JMPClinicalStudyManager : getSizeOnDisk
|
|
|
Obtenez l'ID utilisateur du système d'exploitation Windows qui a créé/ajouté l'étude :
API JMPClinicalStudyManager : getCreatedBy
|
|
|
Obtenez l'ID utilisateur du système d'exploitation Windows qui a mis à jour l'étude pour la dernière fois :
JMPClinicalStudyManagerAPI : getLastUpdatedBy
|
|
Examinons maintenant la deuxième catégorie, les fonctions de révision. Celui-ci dispose également d'un ensemble de fonctions d'obtention et de manipulation, mais pour les avis et les rapports.
|
API de révision
|
|
Obtenir des fonctions d'information
|
Manipuler les fonctions de rapport/révision
|
|
Obtenez une référence à Review Builder :
JMPClinicalReviewAPI :getReviewBuilder
|
Fermer le générateur d'avis :
JMPClinicalReviewAPI : closeReviewBuilder
|
|
Obtenez l’ID et le titre du visualiseur/constructeur d’avis :
JMPClinicalReviewAPI : getReviewViewerIDsAndTitles
|
Modèle d'examen ouvert :
JMPClinicalReviewAPI : openReviewTemplate
|
|
Obtenez une référence à Review Viewer :
JMPClinicalReviewAPI :getReviewViewer
|
Ajouter un rapport à Review Builder :
JMPClinicalReviewAPI : addReport
|
|
Obtenez la table des matières de la visionneuse/du générateur de révision :
JMPClinicalReviewAPI : getReviewTableOfContents
|
Supprimer le générateur d'avis du formulaire de rapport par titre :
JMPClinicalReviewAPI : removeReportByReportTitle
|
|
Obtenez une liste des ID de rapport :
JMPClinicalReviewAPI : getReportIDList
|
Exécuter le rapport dans Review Builder par titre :
JMPClinicalReviewAPI : runReportByReportTitle
|
|
Obtenez une liste des titres de rapport :
JMPClinicalReviewAPI : getReportTitleList
|
Exécutez tous les rapports dans Review Builder :
JMPClinicalReviewAPI : manAllReports
|
|
Obtenez une référence à un rapport par ID :
JMPClinicalReviewAPI : getReportByID
|
Enregistrer le contenu de Review Builder en tant que révision :
JMPClinicalReviewAPI : saveReview
|
|
Obtenez une référence à un rapport par titre :
JMPClinicalReviewAPI : getReportByTitle
|
Ouvrez un avis dans la visionneuse d'avis :
JMPClinicalReviewAPI : openReview
|
|
Obtenez les détails du rapport par titre :
JMPClinicalReviewAPI : getReportDetailsByTitle
|
Insérer une section dans un rapport :
JMPClinicalReviewAPI : insertSectionIntoReportByTitleAndSectionName
|
|
Obtenez une référence aux résultats du rapport :
JMPClinicalReviewAPI : getReportResultsByTitle
|
Supprimer une section d'un rapport :
JMPClinicalReviewAPI : removeSectionFromReportByTitleAndSectionName
|
|
Obtenez une référence à la section Rapport :
JMPClinicalReviewAPI : getReportSectionByTitleAndSectionName
|
Ajouter à la fin de la section du rapport :
JMPClinicalReviewAPI : appendDisplayObjectToReportSectionByTitleAndSectionName
|
|
Obtenez la liste des tables de données utilisées dans le rapport :
JMPClinicalReviewAPI : getDataTablesForSectionByTitleAndSectionName
|
Ajouter au début de la section du rapport :
JMPClinicalReviewAPI :prependDisplayObjectToReportSectionByTitleAndSectionName
|
Nous avons donc maintenant la liste des différentes fonctions et de ce qu’elles peuvent faire. Il est maintenant temps de montrer la syntaxe de base de leur utilisation. La forme de base est la suivante :
JMPClinical<CATEGORY>API :<FUNCTION> ({argument(s)}, {espace de noms}, completeListenerFunction());</FUNCTION></CATEGORY>
J'ai déjà présenté ci-dessus l'appel de base aux fonctions API liées à la gestion des études lorsque j'ai fait référence à JMPClinicalStudyManagerAPI. Ainsi, si je souhaite actualiser les métadonnées des études enregistrées, cela ressemblera à ceci :
JMPClinicalStudyManager:refreshStudies ({studyList},{},{});
Nous analyserons cela davantage et parlerons des utilisations courantes dans la prochaine série d’articles. Pour l'instant, je voulais présenter ce qui est disponible et comment l'invoquer de manière générale dans un script JSL. Le prochain article portera sur un exemple de l'API Study Management, parlera davantage de l'espace de noms et des parties completeListener de l'appel API et commencera à l'envelopper dans JSL ainsi qu'à utiliser JSL à l'intérieur.
En attendant le prochain article, prenez soin de vous !
@BaoyueLi,
Désolé pour la réponse tardive. Je n'ai pas vu ce commentaire dans ce post. Dans JMP Clinical 18 (et 17), vous pouvez définir l'étude en cours. Voici un lien vers la page API du guide de l'utilisateur :
https://www.jmp.com/support/downloads/JMPC180_documentation/Content/JMPCUserGuide/AP_C_0013.htm
En voici une utilisation générique :
JMPClinicalStudyManagerAPI:setCurrentStudy("nom de l'étude")
Définit l'étude actuelle sur celle spécifiée.
Arguments:
study - une chaîne contenant le nom de l'étude à définir comme étude en cours, ou Empty() pour définir l'étude en cours sur
Retour:
Si l'étude en cours a été définie avec succès, 1 ; sinon 0.
merci Chris. Il semble que la commande « setCurrentStudy » ne soit pas disponible dans la version clinique 15 de JMP ?