Giter Club home page Giter Club logo

blog's Introduction

pharmaverse website

pharmaverse.org

This website is maintained and governed by the pharmaverse Technology and Templates Working Group. Further details of this WG are available here, and all WG members are shown on our homepage. The WG lead is considered the product owner for the website and has final say on any decisions related to the website.

For any questions or enhancements for the site, please make issues at this repo.

Hosted sites:

This website is available at 2 locations:

Development / git flow

When you push to develop OR make a pull request onto develop a github action will run which will render the site, and deploy it to the test server. But the test server is different depending on which route you took.

The code on develop is hosted to: http://openpharma.s3-website.us-east-2.amazonaws.com/develop/

The intended workflows expects that develop is the UAT branch where you check things pre-prod. While the 'build from PR` allows you to work on something very experimental and check results, before pushing it do develop.

This git flow is predicated on it being unlikely to have more than one person actively working on the site at any one time.

You cannot work directly on main branch. The only way to push in is via a PR. And it will be denied if you have not come through develop. Any PR requires approval from one other Technology and Templates WG member.

Data flows

'Scraped' data

Passive data is collected via openpharma.github.io, a sister org that is completely un-opinionated and has
a wider remit spanning discovery to access. This site contains no curated data beyond names - and is instead focused on collecting and sharing data on open source health and related metadata (e.g. CRAN status and riskmetric scores).
Information on the data collected is here: https://openpharma.github.io/#data.

Data is stored in a pharmaverse AWS account.

Package info

Curated package info is stored in the folder data/. pharmaverse packages are in the folder data/packages. Non-pharma packages that get a special mention are in data/nonpharma. Each package is a unique .yaml file.

The general structure is:

name: admiral
repo: pharmaverse/admiral
repo_source: github.com
docs: https://pharmaverse.github.io/admiral/cran-release/
hex: https://github.com/insightsengineering/hex-stickers/raw/main/PNG/admiral.png
task: ADaM
details: (ADaM In R Asset Library) - Modular framework to generate ADaM via R functions relying on community contributions
splash: include # this controls what is shown on the main page. Plan is to deprecate and put all hex's up

It should be self explanatory. Please use the categories in the site for task:.

People

Info on people is in data/people. The yaml should be something like below, with the filename being the github handle.

name: James Black
pharmaverse_roles: tech
company: Roche
company_logo: roche.png
# Following is more a nice to have for profile pages [and optional]
linkedin: https://www.linkedin.com/in/epijim/
site: https://epijim.uk
title: People and Product Family Leader for Insights Engineering, Scientific Computing Environment Product Owner
bio: James is currently leading our pan-study codebase for insights

General content of the site

Site content is in content. It's normal markdown files. See markdown-guide.md.

Calling package info in the site

To call a package, we have two shortcuts. pharmaverse means it's 'pharmaverse' - e.g. in the folder data/packages. otherpackages is for non-pharmaverse packages, in data/nonpharma.

{{< pharmaverse pkg="rtables" >}}

{{< otherpackages pkg="gt" >}}

Council meeting minutes

From 2023 onwards, our monthly council meeting minutes will be published in static/council meeting minutes. Other static files such as images are stored in static also.

blog's People

Contributors

bms63 avatar donyunardi avatar gigikenneth avatar ismaelrdz25 avatar jeffreyad avatar kaz462 avatar khatril avatar manciniedoardo avatar michaelrimler avatar mstackhouse avatar nicholaswe avatar poojakumari05 avatar rossfarrugia avatar sadchla-codes avatar stefanthoma avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

blog's Issues

pharmaverse story in blog

I was thinking of writing a post about what is pharmaverse, why we should choose it, where we can find its packages, and list some useful links.
Most of those information came from Ross Farrugia presentation on R/Pharma 2022 and were the base of the slides that were shared with the Council.

Images for Posts

Long term Strategy for Images for Posts

  • Gets boring with same hex sticker
  • How to differentiate between same high-level subject: functions, process, extension packages.

Identify List of 5-10 potential blogs posts

  • What is purpose/scope of site (Ben)
  • derive_summary_records (Ben)
  • derive_param_computed
  • convert_blanks_to_na (Sadchla)
  • Bayer validation post (Kangjie)
  • Differences between derive and compute
  • Extension packages and use_ad_template (Ben)
  • Version on website and what they mean? (Sadchla)

admiral story in blog

I was thinking of writing a post about what is admiral, its birth (with screenshots), how was and how is the situation in terms of contributors, its extensions, and what is the modularized framework.
Most of those information came from Ross Farrugia presentation on R/Pharma 2022 and were the base of the slides that were shared with the Council.

home page link

@pharmaverse/commswg - hi all

I noticed when clicking around the different posts that we don't have a button to get back to the home page.

Can anyone look into this?

Blog Tags (Create a set)

          > @pharmaverse/commswg

We have to discuss the front images and corresponding tags. The function I created here copies default images for specific tags / image parameter. We should also discuss the tags we want to use. In my opinion, writers should use as many of the predefined tags as possible. Should they be able to create their own?

No I don't think people should make their own tags - we should provide a set and create news one if needed.

Originally posted by @bms63 in #40 (comment)

Template for Blogposts

R-Script to run which creates a blogpost draft for new blogposts.

End result here is not a finished template, but just to set something up for now that can be adjusted later.

How our approach differs from the tidyverse

We should write a blogpost comparing the approaches chosen by tidyverse vs admiral.
I have specifically in mind the use of exprs() when selecting multiple variables compared to vars() in tidyverse.

We can think about mentioning why we diverge from the tidyverse standards (need for reliability) and that we may switch to the tidyverse standard in the future.

There may be other decisions where we diverge from tidyverse standards worth mentioning but they really should have an impact on the end user (in my opinion).

Create a Blog Template

  • Advice on how to choose image for post (most likely hex sticker)
  • Functions that have low probability of being changed/deprecated

admiral website highlights

What's on the website/brief tour

  • Version on website and what they mean?
  • templates versus vignettes
  • families and keywords
  • function documentation strategy
  • ?

change repo name

Discussion point:

I would like to change the name of the repo to better represent what we do here.
This is relevant because the name is featured in all URL's.

github.com/pharmaverse/blog/ would not be bad.
However, that somewhat depends on the scope: is it going to be THE pharmaverse blog?
What about the thing NEST is planning?

What do you think, @pharmaverse/commswg

Highlighting working groups

There are several working groups that stemmed from {admiral}, create a blog that highlights their purpose and scope.

deploy devel version of blog site

Hi Dinakar, @cicdguy

Any chance you could help me set up a devel version of the blog site. Or point me in the right direction/hold some hands while I fumble around in the daark ????

A value level validation use case, where `admiral` is used to validate a small chunk of the data:

          A value level validation use case, where `admiral` is used to validate a small chunk of the data:
  • validate a parameter by using admiral::derive_param_computed.
  • Derivation text: derive new parameter/records for ADEX.PARAMCD = ADPCYMG (Actual Dose per Cycle) based on existing parameters - Actual Dose per Cycle (ADPCYMG) = Total Amount of Dose (TOTDOSE) / Number of Cycles (NUMCYC);
  • admiral::derive_param_computed can add a parameter computed from the analysis value of other parameters.
    In this example, ADEX.AVAL (where ADEX.PARAPMCD = ADPCYMG)
    = ADEX.AVAL (where ADEX.PARAPMCD = TOTDOSE) / ADEX.AVAL (where ADEX.PARAPMCD = NUMCYC)
# read in data
path_ads <- "xxxx"
adex <- haven::read_sas(paste0(path_ads, "adex.sas7bdat")) %>% 
  select(USUBJID, PARAM, PARAMCD, AVAL)

# subset input data to PARAMCD = "TOTDOSE", "NUMCYC"
adex_TOTDOSE_NUMCYC <- adex %>% filter(PARAMCD %in% c("TOTDOSE", "NUMCYC"))
# admiral::derive_param_computed()
val <- 
  derive_param_computed(
  adex_TOTDOSE_NUMCYC,
  by_vars = exprs(USUBJID),
  parameters = c("TOTDOSE", "NUMCYC"),
  analysis_value = AVAL.TOTDOSE / AVAL.NUMCYC,
  set_values_to = exprs(
    PARAMCD = "ADPCYMG",
    PARAM = "Actual Dose per Cycle (mg)"
  )
) 

# compare with primary
diffdf::diffdf(adex %>% filter(PARAMCD == "ADPCYMG"), 
               val %>% filter(PARAMCD == "ADPCYMG"), 
               keys = c("USUBJID", "PARAMCD"))

Originally posted by @kaz462 in #2 (comment)

email adress throws off link checker

In quarto, emails are written in the format:
Person
In markdown, it is:
Person

This is an issue for the link checker, because when converting from quarto to markdown I simply change the extension.

Solution:
In R file responsible for changing extension also delete the "."

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.