Manual Reference Source Test
public class | source

Consultation

Expression Extends:

class Consultation extends aggregate(ConsultationModel, Helper)

Helper class representing a Consultation.

Example:

import { Consultation, clinical6 } from 'clinical6';

// Get user consultations
const consultations = await clinical6.getChildren(clinical6.user, Consultation);

Test:

Static Member Summary

Static Public Members
public static get

Constructor Summary

Public Constructor
public

Constructor for helper class representing an Video Consultation

Member Summary

Public Members
public get
public set

Method Summary

Public Methods
public

Deletes a consultation

public

async join(participant: *, meta: {}): Promise<Consultation>

Joins a video consultation (insert if id doesn't exist, update if it does)

public

Saves a video consultation (insert if id doesn't exist, update if it does)

Static Public Members

public static get type: String source

Public Constructors

public constructor(json: Object) source

Constructor for helper class representing an Video Consultation

Params:

NameTypeAttributeDescription
json Object

json api response from server

Public Members

public get participants: ConsultationParticipant[] source

public set participants: ConsultationParticipant[] source

Public Methods

public delete(): Promise source

Deletes a consultation

Return:

Promise

Returns a promise via ajax call.

Example:

import { Consultation, Client } from 'clinical6';

// Removes consultation from server and local storage
const consultation = new Consultation({...});
consultation.delete();

// No longer in storage
Client.instance.storageUtility.has('consultations', { id: 1 });

Test:

public async join(participant: *, meta: {}): Promise<Consultation> source

Joins a video consultation (insert if id doesn't exist, update if it does)

Params:

NameTypeAttributeDescription
participant *
  • optional
  • default: undefined
meta {}
  • optional
  • default: {}

Return:

Promise<Consultation>

Returns a promise via ajax call.

Example:

import { Consultation, clinical6 } from 'clinical6';

// join using current user
const consultations = await clinical6.getChildren(clinical6.user, Consultation);
await consultations[0].join();
myToken = consultations[0].meta.joinToken;

// get the meta token through a pass by reference
const meta = {};
await consultations[0].join(undefined, meta);
myToken = meta.joinToken;

// join using a new participant directly
const consultations = await clinical6.getChildren(clinical6.user, Consultation);
await consultations[0].join(new Participant({...}));
myToken = consultations[0].meta.joinToken;

Test:

public async save(): Promise<Consultation> source

Saves a video consultation (insert if id doesn't exist, update if it does)

Return:

Promise<Consultation>

Returns a promise via ajax call.

Example:

import { Consultation, clinical6 } from 'clinical6';

// Inserts new role (no existing id)
const consultation = new Consultation({
  "data": {
    "type": "video_consultations",
    "attributes": {
      "name": "Video Consultation Name",
      "start_at": "2018-08-09T19:13:20+00:00"
    }
  }
});
consultation.save();

// Updates existing consultation (has existing id)
clinical6.getChildren(clinical6.user, Consultation).then(consultations => consultations[0].save());

Test: