Table 3:
Suggested library API functions with all requests made in, and responses returned in, YAML+Markdown/JSON/XML formats
Function | User access level | Description | |
---|---|---|---|
Search | Simple search | Public | A free text search, examining the entire contents of the portal and returning a list of phenotypes that match the search criteria |
Advanced search | Public | A free text search, examining specified sections of the portal (e.g., main content, just metadata) and returning a list of phenotypes that match the search criteria | |
Phenotype extraction | Extracting specific phenotype(s) | Public | Given a phenotype ID supplied by a user (or generated by the platform), the API returns the phenotype definition |
Extracting all phenotypes | Public | Return a full list of phenotypes | |
Adding new phenotype(s) | Authorized users | Only authorized users should be allowed to submit either a single or group of phenotype definitions | |
Updating a phenotype definition | Updating the contents of a specific phenotype | Authorized users | Each aspect of a phenotype definition—including constituent code lists, links to datasets where that phenotype appears, and other metadata—can be updated by passing a phenotype ID and the names of the fields to update and their new values. Each update should mark a version number to keep record of any updates over time |
Updating a complete phenotype with multiple features | Authorized users | Update a phenotype's contents by passing a phenotype ID and submitting an updated phenotype definition file to replace the previous version for public view | |
Submission of a new validation case study for an existing phenotype | Authorized users | Adding a new use case to validate an existing phenotype (identified by a phenotype ID) by passing a file | |
Deletion of a phenotype | Removing a phenotype from public view (soft delete) | Private to portal administrators | An administrator of the portal can hide a phenotype definition by providing a phenotype ID |
Removing a phenotype from the library (hard delete) | Private to portal administrators | An administrator of the portal can delete a phenotype definition entirely by providing a phenotype ID |