Navigation

Overview of Data Models
Common Query Parameters
Coordinate
API Endpoints


Overview of Data Models

Sequence

Sequence resource is used to store data of patient's amino acid, RNA, or DNA sequences. Sequence resource is designed in an abstract and format-nonspecific way such that users don’t have to be worried about various file formats (VCF, GFF, etc) and can focus on the genetics. Data encapsulated by Sequence resource include read of the sequence, genomic position where the sequence is mapped, quantity of the molecule represented by the sequence presenting in the sample, etc.

GeneticObservation

The design of GeneticObservation is one of SMART Genomics’ effort to facilitate the integration of genetics into clinical application. GeneticObservation is an extension of FHIR’s Observation resource, designed to profile the interpretation of patients’ sequencing results.

SequencingLab

SequencingLab is extended from FHIR’s Procedure resource, designed to document sequencing labs performed for patients. In addition to basic information such as date and reason for the Procedure, SequencingLab also includes result files generated from sequencing labs.






Common query parameters


Specifying format of content

SMART Genomics API supports both XML and JSON formats. The default format of the resources being transferred is XML. To specify a format, use the following parameter:
GET {url}?_format={xml|json}&{other parameters}

Searching resources that link to a patient

Most resources in SMART Genomics API can be linked to a Patient Resource. To get resources that link to a particular patient, use the following parameter:
GET {url}?{subject}=patient/{id}&{other parameters}
In the code above, {subject} refers to the term describing the patient in different resources. Generally speaking, {subject} is either patient or subject.
Here's a list of resources that can be searched against a particular patient
  • Sequence - patient
  • Procedure (SequencingLab) - subject
  • Observation (GeneticObservation) - subject





Coordinate

SMART Genomics API identifies a specific region within a genome with the following format:
Chromosome:startPos-endPos
For example, the coordinate below identifies a region between the 3rd base and the 2345th base on chromosome 7:
chr7:43532-43535





Patient

Patient resource is one of the FHIR core resources. See here for detailed resource definition and query parameters.

Get patients

GET /Patient

Permission

  • read:patient


Get a patient

GET /Patient/{id}

Permission

  • read:patient



SequencingLab

SequencingLab is implemented as an extension to the Procedure resource. See here for detailed resource definition and query parameters.

Get SequencingLabs

GET /Procedure?_profile=https://api.genomics.smartplatforms.org/profile/sequencinglab&{search_parameters_for_procedure_resource}

Permission

  • read:procedure

Get a SequencingLab

GET /Procedure/{id}

Permission

  • read:procedure

Update a SequencingLab

PUT /Procedure/{id}

Permission

  • write:procedure

Create a SequencingLab

POST /Procedure

Permission

  • create:procedure




GeneticObservation

GeneticObservation is implemented as an extension to Observation resource. See here for detailed resource definition and query parameters.

GET GeneticObservations

GET /Observation?_profile=http://api.genomics.smartplatforms.org/profile/sequencinglab

Permission

  • read:observation
  • admin:observation

GET a GeneticObservation

GET /Observation/{id}

Permission

  • read:observation
  • admin:observation

Update a GeneticObservation

PUT /Observation/{id}

Permission

  • write:observation
  • admin:observation

Create a GeneticObservation

POST /Observation

Permission

  • create:observation
  • admin:observation




Sequence

Resource Definition
Sequence

Get sequences

GET /Sequence

Permission

  • read:sequence

Get a sequence

GET /Sequence/{id}

Permission

  • read:sequence

Parameters

  • coordinate - A comma-delimited list of coordinates specifying region of interest.
  • type - Type of sequence; possible values are dna, rna, and aa. These correspond to DNA, RNA and amino acid sequence. The default value is dna.

Create Sequences

POST /Sequence
Post sequences from a VCF or GVF file, the file can be an internal one in the server, or posted as an attachment in the POST request.

Permission

  • write:sequence

Parameters

  • file_id - Url of an internal file at the server
  • file - File object being posted
  • type - Type of the variant file; value of this parameter can only be vcf or gvf.