code: def extract_sample_ids_without_missing_phenotypes(
      phenotypes_df, phenotype_str
  ):
      """
      get a list of sample ids that do not have missing phenotypes for a given phenotype
      return sample ids are a list of strings
      """
      phenotypes_df["sample_id"] = phenotypes_df.index
      sample_ids = phenotypes_df[
          phenotypes_df[phenotype_str].notnull()
      ]["sample_id"].tolist()
      sample_ids: Optional[List[str]] = [str(x) for x in sample_ids]
      return sample_ids
  
label_desc: Use image node_id 2 for calling a global function with example usage: extract_sample_ids_without_missing_phenotypes(phenotypes_df, phenotype_str) and returns: sample_ids