API Reference

This page contains a full list of valid Indivo API calls, generated from the code. For a more detailed walkthrough of individual calls, see Indivo API.

In the access control for some calls, you might see the phrase full control. In Indivo, this is defined as follows:

full control

A principal is said to be in full control of a record if either:

  • The principal is the owner of the record
  • There is a full share between the record and the principal.

POST /accounts/

Create a new account, and send out initialization emails.

Short Name:

account_create

Accessible By:

Any admin app.

Formdata Parameters:
 
  • primary_secret_p – 0 or 1: Does this account require a primary secret?
  • secondary_secret_p – 0 or 1: Does this account require a secondary secret?
  • contact_email – A valid email at which to reach the account holder.
  • account_id – An identifier for the new account. Must be a valid email address. REQUIRED
  • full_name – The full name to associate with the account.
Returns:

200 OK with information about the new account on success, 400 Bad Request if ACCOUNT_ID isn’t passed or is already used.

Example Return Value:

<Account id="joeuser@indivo.example.org">
  <fullName>Joe User</fullName>
  <contactEmail>joeuser@gmail.com</contactEmail>
  <lastLoginAt>2010-05-04T15:34:23Z</lastLoginAt>
  <totalLoginCount>43</totalLoginCount>
  <failedLoginCount>0</failedLoginCount>
  <state>active</state>
  <lastStateChange>2009-04-03T13:12:12Z</lastStateChange>

  <authSystem name="password" username="joeuser" />
  <authSystem name="hospital_sso" username="Joe_User" />
</Account>

Search for accounts by name or email.

Short Name:

account_search

Accessible By:

Any admin app.

Query Parameters:
 
  • fullname – The full name of the account to search for
  • contact_email – The contact email of the account to search for
Returns:

200 OK with information about matching accounts, or 400 Bad Request if no search parameters are passed.

Example Return Value:

<Accounts>
  <Account id="joeuser@indivo.example.org">
    <fullName>Joe User</fullName>
    <contactEmail>joeuser@gmail.com</contactEmail>
    <lastLoginAt>2010-05-04T15:34:23Z</lastLoginAt>
    <totalLoginCount>43</totalLoginCount>
    <failedLoginCount>0</failedLoginCount>
    <state>active</state>
    <lastStateChange>2009-04-03T13:12:12Z</lastStateChange>

    <authSystem name="password" username="joeuser" />
    <authSystem name="hospital_sso" username="Joe_User" />
  </Account>

  ...

</Accounts>

GET /accounts/{ACCOUNT_EMAIL}

Display information about an account.

Short Name:

account_info

Accessible By:

Any admin app, or the Account owner.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
Returns:

200 OK with information about the account

Example Return Value:

<Account id="joeuser@indivo.example.org">
  <fullName>Joe User</fullName>
  <contactEmail>joeuser@gmail.com</contactEmail>
  <lastLoginAt>2010-05-04T15:34:23Z</lastLoginAt>
  <totalLoginCount>43</totalLoginCount>
  <failedLoginCount>0</failedLoginCount>
  <state>active</state>
  <lastStateChange>2009-04-03T13:12:12Z</lastStateChange>

  <authSystem name="password" username="joeuser" />
  <authSystem name="hospital_sso" username="Joe_User" />
</Account>

POST /accounts/{ACCOUNT_EMAIL}/apps/{PHA_EMAIL}/connect_credentials

Get oAuth credentials for an app to run in Connect or SMART REST mode.

Short Name:

get_connect_credentials

Accessible By:

The Account owner.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account to authorize the connect credentials
  • PHA_EMAIL – The email identifier of the Indivo user app to grant access via the connect credentials
Formdata Parameters:
 
  • record_id – The identifier of the Indivo Record to which to grant access via the connect credentials
Returns:

200 OK with a set of credentials providing access for the app to the record, via Connect-Style Authentication and via Standard oAuth authentication. Additionally, the credentials include a precalculated oAuth Header that the app can use to access the record.

Example Return Value:

<ConnectCredentials>
  <App id="problems@apps.indivo.org" />
  <ConnectToken>1QzyGdx13Da</ConnectToken>
  <ConnectSecret>re3Qg4dxaf9</ConnectSecret>
  <APIBase>http://your_indivo_instance.org:8000</APIBase>
  <RESTToken>7qGer7dx4gC</RESTToken>
  <RESTSecret>5JpXb0G2g4u</RESTSecret>
  <OAuthHeader>OAuth realm="", oauth_version="1.0", oauth_consumer_key="problems%40apps.indivo.org", oauth_signature_method="HMAC-SHA1", oauth_nonce="VNGQuyvdHbGLsFXm2oIL", oauth_timestamp="1334848404", oauth_signature="HHpwLSSCxgRhYfWDw3uLdmjsyMk%3D"</OAuthHeader>
  <ExpiresAt>2012-07-04T00:00:00Z</ExpiresAt>
</ConnectCredentials>

New in version 2.0.0.


DELETE /accounts/{ACCOUNT_EMAIL}/apps/{PHA_EMAIL}/preferences

Delete all app-specific User Preferences for an account.

Short Name:

delete_user_preferences

Accessible By:

The Account owner.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
  • PHA_EMAIL – The email identifier of the Indivo user app
Returns:

200 Success

Example Return Value:

<ok/>

New in version 2.0.0.


GET /accounts/{ACCOUNT_EMAIL}/apps/{PHA_EMAIL}/preferences

Get app-specific User Preferences for an account.

Short Name:

get_user_preferences

Accessible By:

The Account owner.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
  • PHA_EMAIL – The email identifier of the Indivo user app
Returns:

200 OK, with app-specific user preferences

Example Return Value:

Preferences format is defined by the app setting the preferences, and will therefore vary.

New in version 2.0.0.


PUT /accounts/{ACCOUNT_EMAIL}/apps/{PHA_EMAIL}/preferences

Set app-specific User Preferences for an account.

Short Name:

set_user_preferences

Accessible By:

The Account owner.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
  • PHA_EMAIL – The email identifier of the Indivo user app
Returns:

200 Success

Example Return Value:

<ok/>

New in version 2.0.0.


POST /accounts/{ACCOUNT_EMAIL}/authsystems/

Add a new method of authentication to an account.

Short Name:

account_authsystem_add

Accessible By:

Any admin app.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
Formdata Parameters:
 
  • username – The username for this account
  • password – The password for this account
  • system – The identifier of the desired authsystem. password indicates the internal password system.
Returns:

200 Success, 403 Forbidden if the indicated auth system doesn’t exist, and 400 Bad Request if a system and a username weren’t passed, or if the account is already registered with the passed system, or if the username is already taken for the passed authsystem.

Example Return Value:

<ok/>

POST /accounts/{ACCOUNT_EMAIL}/authsystems/password/change

Change a account’s password.

Short Name:

account_password_change

Accessible By:

The Account owner.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
Formdata Parameters:
 
  • new – The desired new password.
  • old – The existing account password.
Returns:

200 Success, 403 Forbidden if the old password didn’t validate, or 400 Bad Request if both a new and old password weren’t passed.

Example Return Value:

<ok/>

POST /accounts/{ACCOUNT_EMAIL}/authsystems/password/set

Force the password of an account to a given value.

Short Name:

account_password_set

Accessible By:

Any admin app.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
Formdata Parameters:
 
  • password – The new password to set.
Returns:

200 Success, or 400 Bad Request if a new password wasn’t passed.

Example Return Value:

<ok/>

POST /accounts/{ACCOUNT_EMAIL}/authsystems/password/set-username

Force the username of an account to a given value.

Short Name:

account_username_set

Accessible By:

Any admin app, or the Account owner.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
Formdata Parameters:
 
  • username – The new username to set.
Returns:

200 Success, 400 Bad Request if a username wasn’t passed.

Example Return Value:

<ok/>

GET /accounts/{ACCOUNT_EMAIL}/check-secrets/{PRIMARY_SECRET}

Validate an account’s primary and secondary secrets.

Short Name:

account_check_secrets

Accessible By:

Any admin app.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
  • PRIMARY_SECRET – A confirmation string sent securely to the patient from Indivo
Query Parameters:
 
  • secondary_secret – The secondary secret of the account to check.
Returns:

200 Success, or 403 Forbidden if validation fails.

Example Return Value:

<ok/>

POST /accounts/{ACCOUNT_EMAIL}/forgot-password

Resets an account if the user has forgotten its password.

Short Name:

account_forgot_password

Accessible By:

Any admin app.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
Returns:

:http:statuscode`200` with the account’s new secondary secret, or 400 Bad Request if the account hasn’t yet been initialized.

Example Return Value:

<secret>123456</secret>

GET /accounts/{ACCOUNT_EMAIL}/inbox/

List messages in an account’s inbox.

Short Name:

account_inbox

Accessible By:

The Account owner.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
Query Parameters:
 
  • status – The account or document status to filter by
  • order_by – See Query Operators
  • limit – See Query Operators
  • include_archive – 0 or 1: whether or not to include archived messages in the result set.
  • offset – See Query Operators
Returns:

200 OK, with a list of inbox messages.

Example Return Value:

<Messages>
  <Message id="879">
    <sender>doctor@example.indivo.org</sender>
    <received_at>2010-09-04T14:12:12Z</received_at>
    <read_at>2010-09-04T17:13:24Z</read_at>
    <subject>your test results are looking good</subject>
    <severity>normal</severity>
    <record id="123" />
    <attachment num="1" type="http://indivo.org/vocab/xml/documents#Models" size="12546" />
  </Message>

  ...

</Messages>

POST /accounts/{ACCOUNT_EMAIL}/inbox/

Send a message to an account.

Short Name:

account_send_message

Accessible By:

Any admin app.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
Formdata Parameters:
 
  • body – The message body. Defaults to [no body].
  • severity – The importance of the message. Options are low, medium, high. Defaults to low.
  • body_type – The formatting of the message body. Options are plaintext, markdown. Defaults to plaintext.
  • message_id – An external identifier for the message, for idempotency.
  • subject – The message subject. Defaults to [no subject].
Returns:

200 Success with XML describing the message, or http:statuscode:400 if the passed message_id is a duplicate. Also emails account to alert them that a new message has arrived.

Example Return Value:

<Message id="63de173d-0dba-4cbd-92bd-5ef3b638ffd2">
    <sender>test@indivo.org</sender>
    <received_at>2012-07-13T15:59:25.102905Z</received_at>
    <read_at></read_at>
    <archived_at></archived_at>
    <subject>subj</subject>
    <severity>low</severity>
    <record id="03302536-a00d-425a-8b87-533d0d37478e" />
</Message>

GET /accounts/{ACCOUNT_EMAIL}/inbox/{MESSAGE_ID}

Retrieve an individual message from an account’s inbox.

Short Name:

account_inbox_message

Accessible By:

The Account owner.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
  • MESSAGE_ID – The unique identifier of the Indivo Message
Returns:

200 OK, with XML describing the message.

Example Return Value:

<Message id="879">
  <sender>doctor@example.indivo.org</sender>
  <received_at>2010-09-04T14:12:12Z</received_at>
  <read_at>2010-09-04T17:13:24Z</read_at>
  <archived_at>2010-09-04T17:15:24Z</archived_at>
  <subject>your test results are looking good</subject>
  <body>Great results!
 It seems you'll live forever!</body>
  <severity>normal</severity>
  <record id="123" />
  <attachment num="1" type="http://indivo.org/vocab/xml/documents#Models" size="12546" />
</Message>

POST /accounts/{ACCOUNT_EMAIL}/inbox/{MESSAGE_ID}/archive

Archive a message.

Short Name:

account_message_archive

Accessible By:

The Account owner.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
  • MESSAGE_ID – The unique identifier of the Indivo Message
Returns:

200 Success.

Example Return Value:

<ok/>

POST /accounts/{ACCOUNT_EMAIL}/inbox/{MESSAGE_ID}/attachments/{ATTACHMENT_NUM}/accept

Accept a message attachment into the record it corresponds to.

Short Name:

account_inbox_message_attachment_accept

Accessible By:

The Account owner.

URL Parameters:
  • ATTACHMENT_NUM – The 1-indexed number corresponding to the message attachment
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
  • MESSAGE_ID – The unique external identifier of the Indivo Message
Returns:

200 Success, or 410 Gone if the attachment has already been saved.

Example Return Value:

<ok/>

POST /accounts/{ACCOUNT_EMAIL}/info-set

Set basic information about an account.

Short Name:

account_info_set

Accessible By:

Any admin app, or the Account owner.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
Formdata Parameters:
 
  • contact_email – A valid email at which to reach the account holder.
  • full_name – The full name of the account.
Returns:

200 OK, or 400 Bad Request if no parameters are passed in.

Example Return Value:

<ok/>

POST /accounts/{ACCOUNT_EMAIL}/initialize/{PRIMARY_SECRET}

Initialize an account, activating it.

Short Name:

account_initialize

Accessible By:

Any Indivo UI app.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
  • PRIMARY_SECRET – A confirmation string sent securely to the patient from Indivo
Formdata Parameters:
 
  • secondary_secret
Returns:

200 Success, 403 Forbidden if the account has already been initialized or if secrets didn’t validate, and 400 Bad Request if a secondary secret was required but missing.

Example Return Value:

<ok/>

GET /accounts/{ACCOUNT_EMAIL}/notifications/

List an account’s notifications.

Short Name:

account_notifications

Accessible By:

The Account owner.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
Query Parameters:
 
Returns:

200 OK with a list of the account’s notifications.

Example Return Value:

<Notifications>
  <Notification id="468">
    <sender>labs@apps.indivo.org</sender>
    <received_at>2010-09-03T15:12:12Z</received_at>
    <content>A new lab result has been delivered to your account</content>
    <record id="123" label="Joe User" />
    <document id="579" label="Lab Test 2" />
  </Notification>

  ...

</Notifications>

GET /accounts/{ACCOUNT_EMAIL}/permissions/

List the carenets that an account has access to.

Short Name:

account_permissions

Accessible By:

The Account owner.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
Returns:

200 OK with a list of carenets.

Example Return Value:

<Carenets record_id="01234">
    <Carenet id="456" name="family" mode="explicit" />
    <Carenet id="567" name="school" mode="explicit" />
</Carenets>

GET /accounts/{ACCOUNT_EMAIL}/primary-secret

Display an account’s primary secret.

Short Name:

account_primary_secret

Accessible By:

Any admin app.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
Returns:

200 OK, with the primary secret.

Example Return Value:

<secret>123absxzyasdg13b</secret>

Deprecated since version 1.0.0: Avoid sending primary secrets over the wire. Instead, use GET /accounts/{ACCOUNT_EMAIL}/check-secrets/{PRIMARY_SECRET}.


GET /accounts/{ACCOUNT_EMAIL}/records/

List all available records for an account.

Short Name:

record_list

Accessible By:

Any admin app, or the Account owner.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
Query Parameters:
 
Returns:

200 OK, with a list of records owned or shared with the account.

Example Return Value:

<Records>
  <Record id="123" label="John R. Smith" />
  <Record id="234" label="John R. Smith Jr. (shared)" shared="true" role_label="Guardian" />
  <Record id="345" label="Juanita R. Smith (carenet)" shared="true" carenet_id="678" carenet_name="family" />

  ...

</Records>

POST /accounts/{ACCOUNT_EMAIL}/reset

Reset an account to an uninitialized state.

Short Name:

account_reset

Accessible By:

Any admin app.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
Returns:

200 Success.

Example Return Value:

<ok/>

GET /accounts/{ACCOUNT_EMAIL}/secret

Return the secondary secret of an account.

Short Name:

account_secret

Accessible By:

Any admin app.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
Returns:

200 OK, with the secondary secret.

Example Return Value:

<secret>123456</secret>

POST /accounts/{ACCOUNT_EMAIL}/secret-resend

Sends an account user their primary secret in case they lost it.

Short Name:

account_resend_secret

Accessible By:

Any admin app.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
Returns:

200 Success. Also emails the account with their new secret.

Example Return Value:

<ok/>

POST /accounts/{ACCOUNT_EMAIL}/set-state

Set the state of an account.

Short Name:

account_set_state

Accessible By:

Any admin app.

URL Parameters:
  • ACCOUNT_EMAIL – The email identifier of the Indivo account
Formdata Parameters:
 
  • state – The desired state of the account. Options are active, disabled, retired.
Returns:

200 Success, or 403 Forbidden if the account has been retired and can no longer change state.

Example Return Value:

<ok/>

GET /apps/

List all available userapps.

Short Name:all_phas
Accessible By:Any principal in Indivo.
Returns:200 OK, with a list of app manifests as JSON on success.

Example Return Value:

[
{
    "name" : "SMART Problems",
    "description" : "Display problems in a table view",
    "author" : "Josh Mandel, Children's Hospital Boston",
    "id" : "problem-list@apps.smartplatforms.org",
    "version" : ".1a",

    "mode" : "ui",
    "scope": "record",

    "index" : "http://fda.gping.org:8012/framework/problem_list/index.html",
    "icon" : "http://fda.gping.org:8012/framework/problem_list/icon.png",

    "requires" : {
        "http://smartplatforms.org/terms#Problem": {
            "methods": ["GET"]
        }
    }
},

... other apps ...

]

Changed in version 2.0.0: Apps are now returned as JSON manifests, not XML


GET /apps/manifests/

List SMART manifests for all available userapps.

Short Name:all_manifests
Accessible By:Any principal in Indivo.
Returns:SMART-style manifests for each app.

Example Return Value:

[
{
    "name" : "SMART Problems",
    "description" : "Display problems in a table view",
    "author" : "Josh Mandel, Children's Hospital Boston",
    "id" : "problem-list@apps.smartplatforms.org",
    "version" : ".1a",

    "mode" : "ui",
    "scope": "record",

    "index" : "http://fda.gping.org:8012/framework/problem_list/index.html",
    "icon" : "http://fda.gping.org:8012/framework/problem_list/icon.png",

    "requires" : {
        "http://smartplatforms.org/terms#Problem": {
            "methods": ["GET"]
        }
    }
},

... other apps ...

]

New in version 2.0.0.


DELETE /apps/{PHA_EMAIL}

Delete a userapp from Indivo.

Short Name:

pha_delete

Accessible By:

The user app itself.

URL Parameters:
  • PHA_EMAIL – The email identifier of the Indivo user app
Returns:

200 Success.

Example Return Value:

<ok/>

GET /apps/{PHA_EMAIL}

Return a description of a single userapp.

Short Name:

pha

Accessible By:

Any principal in Indivo.

URL Parameters:
  • PHA_EMAIL – The email identifier of the Indivo user app
Returns:

200 OK, with the app’s JSON manifest

Example Return Value:

{
    "name" : "SMART Problems",
    "description" : "Display problems in a table view",
    "author" : "Josh Mandel, Children's Hospital Boston",
    "id" : "problem-list@apps.smartplatforms.org",
    "version" : ".1a",

    "mode" : "ui",
    "scope": "record",

    "index" : "http://fda.gping.org:8012/framework/problem_list/index.html",
    "icon" : "http://fda.gping.org:8012/framework/problem_list/icon.png",

    "requires" : {
        "http://smartplatforms.org/terms#Problem": {
            "methods": ["GET"]
        }
    }
}

Changed in version 2.0.0: Apps are now returned as JSON manifests, not XML


GET /apps/{PHA_EMAIL}/documents/

List app-specific documents.

Short Name:

app_document_list

Accessible By:

A user app with an id matching the app email in the URL.

URL Parameters:
  • PHA_EMAIL – The email identifier of the Indivo user app
Query Parameters:
 
Returns:

200 OK with A list of documents, or http:statuscode:404 if an invalid type was passed in the querystring.

Example Return Value:

<Documents record_id="" total_document_count="4" pha="problems@apps.indivo.org">
  <Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
    <createdAt>2009-05-04T17:05:33</createdAt>
    <creator id="steve@indivo.org" type="account">
      <fullname>Steve Zabak</fullname>
    </creator>
    <suppressedAt>2009-05-06T17:05:33</suppressedAt>
    <suppressor id="steve@indivo.org" type="account">
      <fullname>Steve Zabak</fullname>
    </suppressor>
    <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
    <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
    <label>HBA1C reading</label>
    <status>active</status>
    <nevershare>false</nevershare>
    <relatesTo>
      <relation type="http://indivo.org/vocab/documentrels#attachment" count="1" />
      <relation type="http://indivo.org/vocab/documentrels#annotation" count="5" />
    </relatesTo>
    <isRelatedFrom>
      <relation type="http://indivo.org/vocab/documentrels#interpretation" count="1" />
    </isRelatedFrom>
  </Document>

  ...

</Documents>

POST /apps/{PHA_EMAIL}/documents/

Create an app-specific Indivo document.

Short Name:

app_document_create

Accessible By:

A user app with an id matching the app email in the URL.

URL Parameters:
  • PHA_EMAIL – The email identifier of the Indivo user app
Raw Data:

The raw content of the document to create.

Returns:

200 OK with the metadata of the created document, or 400 Bad Request if the new document failed validation.

Example Return Value:

<Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
  <createdAt>2009-05-04T17:05:33</createdAt>
  <creator id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </creator>
  <suppressedAt>2009-05-06T17:05:33</suppressedAt>
  <suppressor id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </suppressor>
  <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
  <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
  <label>HBA1C reading</label>
  <status>active</status>
  <nevershare>false</nevershare>
  <relatesTo>
    <relation type="http://indivo.org/vocab/documentrels#attachment" count="1" />
    <relation type="http://indivo.org/vocab/documentrels#annotation" count="5" />
  </relatesTo>
  <isRelatedFrom>
    <relation type="http://indivo.org/vocab/documentrels#interpretation" count="1" />
  </isRelatedFrom>
</Document>

PUT /apps/{PHA_EMAIL}/documents/external/{EXTERNAL_ID}

Create an app-specific Indivo document with an associated external id.

Short Name:

app_document_create_or_update_ext

Accessible By:

A user app with an id matching the app email in the URL.

URL Parameters:
  • EXTERNAL_ID – The external identifier of the desired resource
  • PHA_EMAIL – The email identifier of the Indivo user app
Raw Data:

The raw content of the document to create.

Returns:

200 OK with the metadata of the created or updated document, or 400 Bad Request if the passed content didn’t validate.

Example Return Value:

<Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
  <createdAt>2009-05-04T17:05:33</createdAt>
  <creator id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </creator>
  <suppressedAt>2009-05-06T17:05:33</suppressedAt>
  <suppressor id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </suppressor>
  <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
  <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
  <label>HBA1C reading</label>
  <status>active</status>
  <nevershare>false</nevershare>
</Document>

GET /apps/{PHA_EMAIL}/documents/external/{EXTERNAL_ID}/meta

Fetch the metadata of an app-specific document identified by external id.

Short Name:

app_document_meta_ext

Accessible By:

A user app with an id matching the app email in the URL.

URL Parameters:
  • EXTERNAL_ID – The external identifier of the desired resource
  • PHA_EMAIL – The email identifier of the Indivo user app
Returns:

200 OK with metadata describing the specified document, or http:statuscode:404 if the external_id is invalid.

Example Return Value:

<Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
  <createdAt>2009-05-04T17:05:33</createdAt>
  <creator id="problems@apps.indivo.org" type="pha">
    <fullname>Steve Zabak</fullname>
  </creator>
  <suppressedAt>2009-05-06T17:05:33</suppressedAt>
  <suppressor id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </suppressor>
  <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
  <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
  <label>HBA1C reading</label>
  <status>active</status>
  <nevershare>false</nevershare>
</Document>

DELETE /apps/{PHA_EMAIL}/documents/{DOCUMENT_ID}

Delete an app-specific document.

Short Name:

app_document_delete

Accessible By:

A user app with an id matching the app email in the URL.

URL Parameters:
  • PHA_EMAIL – The email identifier of the Indivo user app
  • DOCUMENT_ID – The unique identifier of the Indivo document
Returns:

200 Success, or 404 Not Found if DOCUMENT_ID is invalid.

Example Return Value:

</ok>

GET /apps/{PHA_EMAIL}/documents/{DOCUMENT_ID}

Retrive an app-specific document.

Short Name:

app_specific_document

Accessible By:

A user app with an id matching the app email in the URL.

URL Parameters:
  • PHA_EMAIL – The email identifier of the Indivo user app
  • DOCUMENT_ID – The unique identifier of the Indivo document
Returns:

200 OK with the raw content of the document, or 404 Not Found if the document could not be found.

Example Return Value:

<DefaultProblemsPreferences record_id="123">
  <Preference name="hide_void" value="true" />
  <Preference name="show_rels" value="false" />
</DefaultProblemsPreferences>

PUT /apps/{PHA_EMAIL}/documents/{DOCUMENT_ID}

Create or Overwrite an app-specific Indivo document.

Short Name:

app_document_create_or_update

Accessible By:

A user app with an id matching the app email in the URL.

URL Parameters:
  • PHA_EMAIL – The email identifier of the Indivo user app
  • DOCUMENT_ID – The unique identifier of the Indivo document
Raw Data:

The raw content of the document to create.

Returns:

200 OK with metadata describing the created or updated document, or 400 Bad Request if the passed content didn’t validate.

Example Return Value:

<Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
  <createdAt>2009-05-04T17:05:33</createdAt>
  <creator id="problems@apps.indivo.org" type="pha">
  </creator>
  <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
  <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
  <label>HBA1C reading preferences</label>
  <status>active</status>
  <nevershare>false</nevershare>
</Document>

PUT /apps/{PHA_EMAIL}/documents/{DOCUMENT_ID}/label

Set the label of an app-specific document.

Short Name:

app_document_label

Accessible By:

A user app with an id matching the app email in the URL.

URL Parameters:
  • PHA_EMAIL – The email identifier of the Indivo user app
  • DOCUMENT_ID – The unique identifier of the Indivo document
Raw Data:

The new label for the document

Returns:

200 OK with metadata describing the re-labeled document, or 404 Not Found if DOCUMENT_ID is invalid.

Example Return Value:

<Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
  <createdAt>2009-05-04T17:05:33</createdAt>
  <creator id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </creator>
  <suppressedAt>2009-05-06T17:05:33</suppressedAt>
  <suppressor id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </suppressor>
  <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
  <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
  <label>RELABELED: New HBA1C reading</label>
  <status>active</status>
  <nevershare>false</nevershare>
  <relatesTo>
    <relation type="http://indivo.org/vocab/documentrels#attachment" count="1" />
    <relation type="http://indivo.org/vocab/documentrels#annotation" count="5" />
  </relatesTo>
  <isRelatedFrom>
    <relation type="http://indivo.org/vocab/documentrels#interpretation" count="1" />
  </isRelatedFrom>
</Document>

GET /apps/{PHA_EMAIL}/documents/{DOCUMENT_ID}/meta

Fetch the metadata of an app-specific document.

Short Name:

app_document_meta

Accessible By:

A user app with an id matching the app email in the URL.

URL Parameters:
  • PHA_EMAIL – The email identifier of the Indivo user app
  • DOCUMENT_ID – The unique identifier of the Indivo document
Returns:

200 OK with the document metadata, or 404 Not Found if DOCUMENT_ID is invalid.

Example Return Value:

<Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
  <createdAt>2009-05-04T17:05:33</createdAt>
  <creator id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </creator>
  <suppressedAt>2009-05-06T17:05:33</suppressedAt>
  <suppressor id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </suppressor>
  <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
  <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
  <label>HBA1C reading</label>
  <status>active</status>
  <nevershare>false</nevershare>
  <relatesTo>
    <relation type="http://indivo.org/vocab/documentrels#attachment" count="1" />
    <relation type="http://indivo.org/vocab/documentrels#annotation" count="5" />
  </relatesTo>
  <isRelatedFrom>
    <relation type="http://indivo.org/vocab/documentrels#interpretation" count="1" />
  </isRelatedFrom>
</Document>

GET /apps/{PHA_EMAIL}/manifest

Return a SMART manifest for a single userapp.

Short Name:

app_manifest

Accessible By:

Any principal in Indivo.

URL Parameters:
  • PHA_EMAIL – The email identifier of the Indivo user app
Returns:

A SMART-style manifest for the app.

Example Return Value:

{
    "name" : "SMART Problems",
    "description" : "Display problems in a table view",
    "author" : "Josh Mandel, Children's Hospital Boston",
    "id" : "problem-list@apps.smartplatforms.org",
    "version" : ".1a",

    "mode" : "ui",
    "scope": "record",

    "index" : "http://fda.gping.org:8012/framework/problem_list/index.html",
    "icon" : "http://fda.gping.org:8012/framework/problem_list/icon.png",

    "requires" : {
        "http://smartplatforms.org/terms#Problem": {
            "methods": ["GET"]
        }
    }
}

New in version 2.0.0.


GET /apps/{PHA_EMAIL}/records/

Return a list of all records that have this pha enabled.

Short Name:

app_record_list

Accessible By:

Any autonomous user app.

URL Parameters:
  • PHA_EMAIL – The email identifier of the Indivo user app
Returns:

200 OK with a list of records on success.

Example Return Value:

<Records>
  <Record id="123" label="John R. Smith" />
  <Record id = "234" label="Frank Frankson" />

  ...

</Records>

New in version 1.0.0.


POST /apps/{PHA_EMAIL}/records/{RECORD_ID}/access_token

Fetch an access token for an autonomous app to access a record.

Short Name:

autonomous_access_token

Accessible By:

An autonomous user app with a record on which the app is authorized to run.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • PHA_EMAIL – The email identifier of the Indivo user app
Returns:

200 OK with a valid access token for the app bound to the record on success.

Example Return Value:

oauth_token=abcd1fw3gasdgh3&oauth_token_secret=jgrlhre4291hfjas&xoauth_indivo_record_id=123

New in version 1.0.0.


GET /capabilities/

SMART Capabilities

Short Name:smart_capabilities
Accessible By:Any principal in Indivo.
Returns:JSON formatted SMART capabilities

Example Return Value:

{
    "http://smartplatforms.org/terms#Demographics": {
        "methods": [
            "GET"
        ]
    },
    "http://smartplatforms.org/terms#Encounter": {
        "methods": [
            "GET"
        ]
    },
    "http://smartplatforms.org/terms#VitalSigns": {
        "methods": [
            "GET"
        ]
    }
}

New in version 2.0.0.


DELETE /carenets/{CARENET_ID}

Delete a carenet.

Short Name:

carenet_delete

Accessible By:

A principal in full control of the carenet’s record.

URL Parameters:
  • CARENET_ID – The id string associated with the Indivo carenet
Returns:

200 Success.

Example Return Value:

<ok/>

GET /carenets/{CARENET_ID}/accounts/

List the accounts in a carenet.

Short Name:

carenet_account_list

Accessible By:

A principal in the carenet, in full control of the carenet’s record, or any admin app.

URL Parameters:
  • CARENET_ID – The id string associated with the Indivo carenet
Returns:

200 OK with a list of accounts in the specified carenet.

Example Return Value:

<CarenetAccounts>
  <CarenetAccount id="johndoe@indivo.org" fullName="John Doe" write="true" />

  ...

</CarenetAccounts>

POST /carenets/{CARENET_ID}/accounts/

Add an account to a carenet.

Short Name:

carenet_account_create

Accessible By:

A principal in full control of the carenet’s record.

URL Parameters:
  • CARENET_ID – The id string associated with the Indivo carenet
Formdata Parameters:
 
  • writetrue or false. Whether this account can write to the carenet.
  • account_id – An identifier for the account. Must be a valid email address.
Returns:

200 Success, 404 Not Found if the specified account or carenet don’t exist, or 400 Bad Request if an account_id isn’t passed.

Example Return Value:

<ok/>

DELETE /carenets/{CARENET_ID}/accounts/{ACCOUNT_ID}

Remove an account from a carenet.

Short Name:

carenet_account_delete

Accessible By:

A principal in full control of the carenet’s record.

URL Parameters:
  • ACCOUNT_ID – The email identifier of the Indivo account
  • CARENET_ID – The id string associated with the Indivo carenet
Returns:

200 Success, or 404 Not Found if either the passed account or the passed carenet doesn’t exist.

Example Return Value:

<ok/>

GET /carenets/{CARENET_ID}/accounts/{ACCOUNT_ID}/permissions

List the permissions of an account within a carenet.

Short Name:

carenet_account_permissions

Accessible By:

A user app with access to the carenet and proxying the account, a principal in full control of the carenet’s record, or any admin app.

URL Parameters:
  • ACCOUNT_ID – The email identifier of the Indivo account
  • CARENET_ID – The id string associated with the Indivo carenet
Returns:

200 OK with a list of document types that the account can access within a carenet. Currently always returns all document types.

Example Return Value:

<Permissions>
  <DocumentType type="*" write="true" />
</Permissions>

GET /carenets/{CARENET_ID}/apps/

List Apps within a given carenet.

Short Name:

carenet_apps_list

Accessible By:

A principal in the carenet, in full control of the carenet’s record, or any admin app.

URL Parameters:
  • CARENET_ID – The id string associated with the Indivo carenet
Returns:

200 OK with manifests for the apps on success.

Example Return Value:

[
{
    "name" : "SMART Problems",
    "description" : "Display problems in a table view",
    "author" : "Josh Mandel, Children's Hospital Boston",
    "id" : "problem-list@apps.smartplatforms.org",
    "version" : ".1a",

    "mode" : "ui",
    "scope": "record",

    "index" : "http://fda.gping.org:8012/framework/problem_list/index.html",
    "icon" : "http://fda.gping.org:8012/framework/problem_list/icon.png",

    "requires" : {
        "http://smartplatforms.org/terms#Problem": {
            "methods": ["GET"]
        }
    }
},

... other apps ...

]

Changed in version 2.0.0: Apps are now returned as JSON manifests, not XML


DELETE /carenets/{CARENET_ID}/apps/{PHA_EMAIL}

Remove an app from a given carenet.

Short Name:

carenet_apps_delete

Accessible By:

A principal in full control of the carenet’s record.

URL Parameters:
  • PHA_EMAIL – The email identifier of the Indivo user app
  • CARENET_ID – The id string associated with the Indivo carenet
Returns:

200 Success.

Example Return Value:

<ok/>

PUT /carenets/{CARENET_ID}/apps/{PHA_EMAIL}

Add an app to a carenet

Short Name:

carenet_apps_create

Accessible By:

A principal in full control of the carenet’s record.

URL Parameters:
  • PHA_EMAIL – The email identifier of the Indivo user app
  • CARENET_ID – The id string associated with the Indivo carenet
Returns:

200 Success, or 400 Bad Request if the passed PHA is autonomous (autonomous apps can’t be scoped to carenets).

Example Return Value:

<ok/>

GET /carenets/{CARENET_ID}/apps/{PHA_EMAIL}/permissions

Retrieve the permissions for an app within a carenet. NOT IMPLEMENTED.

Short Name:

carenet_app_permissions

Accessible By:

Nobody

URL Parameters:
  • PHA_EMAIL – The email identifier of the Indivo user app
  • CARENET_ID – The id string associated with the Indivo carenet
Returns:

200 OK. This call is unimplemented, and has no effect.

Example Return Value:

<ok/>

Todo

The API Call ‘GET /carenets/{0}/apps/{1}/permissions’ is not yet implemented.


GET /carenets/{CARENET_ID}/demographics

Read demographics from a carenet.

Short Name:

read_demographics_carenet

Accessible By:

A user app with access to the carenet or the entire carenet’s record, an account in the carenet or in control of the record, or any admin app.

URL Parameters:
  • CARENET_ID – The id string associated with the Indivo carenet
Query Parameters:
 
  • response_format – one of application/rdf+xml (SMART RDF/XML), application/json (SDMJ), or application/xml (SDMX). Default is application/rdf+xml
Returns:

200 OK with demographics formatted in the requested response_format (default application/rdf+xml) on success, 404 Not Found when no demographics found, and 400 Bad Request if response_format is invalid

Example Return Value:

application/rdf+xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <rdf:RDF xmlns:dcterms="http://purl.org/dc/terms/"
         xmlns:foaf="http://xmlns.com/foaf/0.1/"
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:sp="http://smartplatforms.org/terms#"   xmlns:v="http://www.w3.org/2006/vcard/ns#">
    <rdf:Description rdf:nodeID="_6730841b-05df-445f-8695-ed64197f4e6a">
        <v:family-name>William</v:family-name>
        <rdf:type rdf:resource="http://www.w3.org/2006/vcard/ns#Name"/>
        <v:given-name>Robinson</v:given-name>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_bcf66b59-e438-49b2-b572-99af4319b297">
        <rdf:value>800-870-3011</rdf:value>
        <rdf:type rdf:resource="http://www.w3.org/2006/vcard/ns#Tel"/>
        <rdf:type rdf:resource="http://www.w3.org/2006/vcard/ns#Home"/>
        <rdf:type rdf:resource="http://www.w3.org/2006/vcard/ns#Pref"/>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_8cbe3da1-fb53-4d31-80b6-19e0d04220ad">
        <dcterms:identifier>http://indivo.org/records/96ff9eb2-3b18-4a0e-9df8-5a731b96d5d6</dcterms:identifier>
        <sp:system>Indivo Record</sp:system>
        <dcterms:title>Indivo Record 96ff9eb2-3b18-4a0e-9df8-5a731b96d5d6</dcterms:title>
        <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_451ade87-b519-4c92-8d07-2bbfcb23999c">
        <rdf:value>800-870-3011</rdf:value>
        <rdf:type rdf:resource="http://www.w3.org/2006/vcard/ns#Tel"/>
        <rdf:type rdf:resource="http://www.w3.org/2006/vcard/ns#Home"/>
        <rdf:type rdf:resource="http://www.w3.org/2006/vcard/ns#Pref"/>
    </rdf:Description>
    <rdf:Description rdf:about="http://indivo.org/records/96ff9eb2-3b18-4a0e-9df8-5a731b96d5d6">
        <rdf:type rdf:resource="http://smartplatforms.org/terms#MedicalRecord"/>
    </rdf:Description>
    <rdf:Description rdf:about="http://indivo.org/records/96ff9eb2-3b18-4a0e-9df8-5a731b96d5d6/demographics">
        <v:tel rdf:nodeID="_bcf66b59-e438-49b2-b572-99af4319b297"/>
        <v:tel rdf:nodeID="_451ade87-b519-4c92-8d07-2bbfcb23999c"/>
        <sp:email>william.robinson@example.com</sp:email>
        <rdf:type rdf:resource="http://smartplatforms.org/terms#Demographics"/>
        <v:bday rdf:datatype="http://www.w3.org/2001/XMLSchema#date">1965-08-09</v:bday>
        <v:adr rdf:nodeID="_9f06ee63-3704-4b2a-9c2a-109cc9c99a57"/>
        <sp:belongsTo rdf:resource="http://indivo.org/records/96ff9eb2-3b18-4a0e-9df8-5a731b96d5d6"/>
        <foaf:gender>male</foaf:gender>
        <sp:preferredLanguage>EN</sp:preferredLanguage>
        <v:n rdf:nodeID="_6730841b-05df-445f-8695-ed64197f4e6a"/>
        <sp:medicalRecordNumber rdf:nodeID="_8cbe3da1-fb53-4d31-80b6-19e0d04220ad"/>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_9f06ee63-3704-4b2a-9c2a-109cc9c99a57">
        <v:street-address>23 Church Rd</v:street-address>
        <v:country>USA</v:country>
        <rdf:type rdf:resource="http://www.w3.org/2006/vcard/ns#Address"/>
        <v:region>OK</v:region>
        <v:locality>Bixby</v:locality>
        <v:postal-code>74008</v:postal-code>
    </rdf:Description>
</rdf:RDF>

application/xml:

    <Models>
        <Model name="Demographics" documentId="44190967-cbaa-43a7-a98c-9f97f094ef2b">
            <Field name="bday">1965-08-09</Field>
            <Field name="email">william.robinson@example.com</Field>
            <Field name="ethnicity"/>
            <Field name="gender">male</Field>
            <Field name="preferred_language">EN</Field>
            <Field name="race"/>
            <Field name="name_given">Robinson</Field>
            <Field name="name_suffix"/>
            <Field name="name_family">William</Field>
            <Field name="name_prefix"/>
            <Field name="tel_2_type">h</Field>
            <Field name="tel_2_preferred_p">True</Field>
            <Field name="tel_2_number">800-870-3011</Field>
            <Field name="adr_region">OK</Field>
            <Field name="adr_country">USA</Field>
            <Field name="adr_postalcode">74008</Field>
            <Field name="adr_city">Bixby</Field>
            <Field name="adr_street">23 Church Rd</Field>
            <Field name="tel_1_type">h</Field>
            <Field name="tel_1_preferred_p">True</Field>
            <Field name="tel_1_number">800-870-3011</Field>
        </Model>
    </Models>

application/json:

    [
        {
            "__modelname__": "Demographics",
            "__documentid__": "44190967-cbaa-43a7-a98c-9f97f094ef2b",
            "name_given": "Robinson",
            "name_family": "William",
            "name_prefix": null,
            "name_suffix": null,
            "gender": "male",
            "race": null,
            "ethnicity": null,
            "bday": "1965-08-09",
            "email": "william.robinson@example.com",
            "preferred_language": "EN",
            "tel_1_type": "h",
            "tel_1_number": "800-870-3011",
            "tel_1_preferred_p": true,
            "tel_2_type": "h",
            "tel_2_number": "800-870-3011",
            "tel_2_preferred_p": true,
            "adr_street": "23 Church Rd",
            "adr_city": "Bixby",
            "adr_postalcode": "74008",
            "adr_region": "OK",
            "adr_country": "USA"
        }
    ]

New in version 2.0.0.


GET /carenets/{CARENET_ID}/documents/

List documents from a given carenet.

Short Name:

carenet_document_list

Accessible By:

A user app with access to the carenet or the entire carenet’s record, or an account in the carenet or in control of the record.

URL Parameters:
  • CARENET_ID – The id string associated with the Indivo carenet
Query Parameters:
 
  • type – The Indivo document type to filter by
Returns:

200 OK with a document list on success, 404 Not Found if type doesn’t exist.

Example Return Value:

<Documents record_id="123" total_document_count="3" pha="" >
  <Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
    <createdAt>2009-05-04T17:05:33</createdAt>
    <creator id="steve@indivo.org" type="account">
      <fullname>Steve Zabak</fullname>
    </creator>
    <suppressedAt>2009-05-06T17:05:33</suppressedAt>
    <suppressor id="steve@indivo.org" type="account">
      <fullname>Steve Zabak</fullname>
    </suppressor>
    <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
    <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
    <label>HBA1C reading</label>
    <status>active</status>
    <nevershare>false</nevershare>
    <relatesTo>
      <relation type="http://indivo.org/vocab/documentrels#attachment" count="1" />
      <relation type="http://indivo.org/vocab/documentrels#annotation" count="5" />
    </relatesTo>
    <isRelatedFrom>
      <relation type="http://indivo.org/vocab/documentrels#interpretation" count="1" />
    </isRelatedFrom>
  </Document>

  ...

</Documents>

GET /carenets/{CARENET_ID}/documents/{DOCUMENT_ID}

Return a document from a carenet.

Short Name:

carenet_document

Accessible By:

A user app with access to the carenet or the entire carenet’s record, or an account in the carenet or in control of the record.

URL Parameters:
  • DOCUMENT_ID – The unique identifier of the Indivo document
  • CARENET_ID – The id string associated with the Indivo carenet
Returns:

200 OK with the document content on success, 404 Not Found if document_id is invalid or if the document is not shared in the carenet.

Example Return Value:

<ExampleDocument>
  <content>That's my content</content>
  <otherField attr="val" />
</ExampleDocument>

GET /carenets/{CARENET_ID}/documents/{DOCUMENT_ID}/meta

Fetch the metadata of a record-specific document via a carenet.

Short Name:

carenet_document_meta

Accessible By:

A user app with access to the carenet or the entire carenet’s record, or an account in the carenet or in control of the record.

URL Parameters:
  • DOCUMENT_ID – The unique identifier of the Indivo document
  • CARENET_ID – The id string associated with the Indivo carenet
Returns:

200 OK with the document’s metadata, or 404 Not Found if document_id doesn’t identify an existing document in the carenet.

Example Return Value:

<Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
  <createdAt>2009-05-04T17:05:33</createdAt>
  <creator id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </creator>
  <suppressedAt>2009-05-06T17:05:33</suppressedAt>
  <suppressor id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </suppressor>
  <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
  <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
  <label>HBA1C reading</label>
  <status>active</status>
  <nevershare>false</nevershare>
  <relatesTo>
    <relation type="http://indivo.org/vocab/documentrels#attachment" count="1" />
    <relation type="http://indivo.org/vocab/documentrels#annotation" count="5" />
  </relatesTo>
  <isRelatedFrom>
    <relation type="http://indivo.org/vocab/documentrels#interpretation" count="1" />
  </isRelatedFrom>
</Document>

GET /carenets/{CARENET_ID}/record

Get basic information about the record to which a carenet belongs.

Short Name:

carenet_record

Accessible By:

A principal in the carenet, in full control of the carenet’s record, or any admin app.

URL Parameters:
  • CARENET_ID – The id string associated with the Indivo carenet
Returns:

200 OK with XML describing the record.

Example Return Value:

<Record id="123" label="Joe User">
  <demographics document_id="467" />
  <created at="2010-10-23T10:23:34Z" by="indivoconnector@apps.indivo.org" />
</Record>

POST /carenets/{CARENET_ID}/rename

Change a carenet’s name.

Short Name:

carenet_rename

Accessible By:

A principal in full control of the carenet’s record.

URL Parameters:
  • CARENET_ID – The id string associated with the Indivo carenet
Formdata Parameters:
 
  • name – The new name for the carenet.
Returns:

200 OK with XML describing the renamed carenet on success, 400 Bad Request if name wasn’t passed or if a carenet named name already exists on this record.

Example Return Value:

<Carenets record_id="123">
    <Carenet id="789" name="Work/School" mode="explicit" />
</Carenets>

GET /carenets/{CARENET_ID}/reports/minimal/equipment/

List the equipment data for a given carenet.

Short Name:

carenet_equipment_list

Accessible By:

A user app with access to the carenet or the entire carenet’s record, or an account in the carenet or in control of the record.

URL Parameters:
  • CARENET_ID – The id string associated with the Indivo carenet
Query Parameters:
 
Returns:

200 OK with a list of equipment, or 400 Bad Request if any invalid query parameters were passed.

Example Return Value:

<Reports xmlns="http://indivo.org/vocab/xml/documents#">
  <Summary total_document_count="2" limit="100" offset="0" order_by="date_measured" />
  <QueryParams>
    <DateRange value="date_measured*1995-03-10T00:00:00Z*" />
    <Filters>
      <Filter name="equipment_name" value="pacemaker"/>
    </Filters>
  </QueryParams>
  <Report>
    <Meta>
      <Document id="261ca370-927f-41af-b001-7b615c7a468e" type="http://indivo.org/vocab/xml/documents#Models" size="1653" digest="0799971784e5a2d199cd6585415a8cd57f7bf9e4f8c8f74ef67a1009a1481cd6" record_id="">
        <createdAt>2011-05-02T17:48:13Z</createdAt>
        <creator id="mymail@mail.ma" type="Account">
          <fullname>full name</fullname>
        </creator>
        <original id="261ca370-927f-41af-b001-7b615c7a468e"/>
        <label>testing</label>
        <status>active</status>
        <nevershare>false</nevershare>
      </Document>
    </Meta>
    <Item>
      <Equipment xmlns="http://indivo.org/vocab/xml/documents#">
        <dateStarted>2009-02-05</dateStarted>
        <dateStopped>2010-06-12</dateStopped>
        <type>cardiac</type>
        <name>Pacemaker</name>
        <vendor>Acme Medical Devices</vendor>
        <id>167-ABC-23</id>
        <description>it works</description>
        <specification>blah blah blah</specification>
      </Equipment>
    </Item>
  </Report>

  ...

</Reports>

GET /carenets/{CARENET_ID}/reports/minimal/measurements/{LAB_CODE}/

List the measurement data for a given carenet.

Short Name:

carenet_measurement_list

Accessible By:

A user app with access to the carenet or the entire carenet’s record, or an account in the carenet or in control of the record.

URL Parameters:
  • CARENET_ID – The id string associated with the Indivo carenet
  • LAB_CODE – The identifier corresponding to the measurement being made.
Query Parameters:
 
Returns:

200 OK with a list of measurements, or 400 Bad Request if any invalid query parameters were passed.

Example Return Value:

<Reports xmlns="http://indivo.org/vocab/xml/documents#">
  <Summary total_document_count="2" limit="100" offset="0" order_by="date_measured" />
  <QueryParams>
    <DateRange value="date_measured*1995-03-10T00:00:00Z*" />
    <Filters>
      <Filter name="lab_type" value="hematology"/>
    </Filters>
  </QueryParams>
  <Report>
    <Meta>
      <Document id="261ca370-927f-41af-b001-7b615c7a468e" type="http://indivo.org/vocab/xml/documents#Measurement" size="1653" digest="0799971784e5a2d199cd6585415a8cd57f7bf9e4f8c8f74ef67a1009a1481cd6" record_id="">
        <createdAt>2011-05-02T17:48:13Z</createdAt>
        <creator id="mymail@mail.ma" type="Account">
          <fullname>full name</fullname>
        </creator>
        <original id="261ca370-927f-41af-b001-7b615c7a468e"/>
        <label>testing</label>
        <status>active</status>
        <nevershare>false</nevershare>
      </Document>
    </Meta>
    <Item>
      <Measurement id="1234" value="120" type="blood pressure systolic" datetime="2011-03-02T00:00:00Z" unit="mmHg" source_doc="3456" />
    </Item>
  </Report>

  ...

</Reports>

GET /carenets/{CARENET_ID}/reports/minimal/procedures/

List the procedure data for a given carenet.

Short Name:

carenet_procedure_list

Accessible By:

A user app with access to the carenet or the entire carenet’s record, or an account in the carenet or in control of the record.

URL Parameters:
  • CARENET_ID – The id string associated with the Indivo carenet
Query Parameters:
 
Returns:

200 OK with a list of procedures, or 400 Bad Request if any invalid query parameters were passed.

Example Return Value:

<Reports xmlns="http://indivo.org/vocab/xml/documents#">
  <Summary total_document_count="2" limit="100" offset="0" order_by="date_measured" />
  <QueryParams>
    <DateRange value="date_measured*1995-03-10T00:00:00Z*" />
    <Filters>
    </Filters>
  </QueryParams>
  <Report>
    <Meta>
      <Document id="261ca370-927f-41af-b001-7b615c7a468e" type="http://indivo.org/vocab/xml/documents#Procedure" size="1653" digest="0799971784e5a2d199cd6585415a8cd57f7bf9e4f8c8f74ef67a1009a1481cd6" record_id="">
        <createdAt>2011-05-02T17:48:13Z</createdAt>
        <creator id="mymail@mail.ma" type="Account">
          <fullname>full name</fullname>
        </creator>
        <original id="261ca370-927f-41af-b001-7b615c7a468e"/>
        <label>testing</label>
        <status>active</status>
        <nevershare>false</nevershare>
      </Document>
    </Meta>
    <Item>
      <Procedure xmlns="http://indivo.org/vocab/xml/documents#">
        <datePerformed>2009-05-16T12:00:00</datePerformed>
        <name type="http://codes.indivo.org/procedures#" value="85" abbrev="append">Appendectomy</name>
        <provider>
          <name>Kenneth Mandl</name>
          <institution>Children's Hospital Boston</institution>
        </provider>
      </Procedure>
    </Item>
  </Report>

  ...

</Reports>

GET /carenets/{CARENET_ID}/reports/minimal/simple-clinical-notes/

List the simple_clinical_notes data for a given carenet.

Short Name:

carenet_simple_clinical_notes_list

Accessible By:

A user app with access to the carenet or the entire carenet’s record, or an account in the carenet or in control of the record.

URL Parameters:
  • CARENET_ID – The id string associated with the Indivo carenet
Query Parameters:
 
Returns:

200 OK with a list of notes, or 400 Bad Request if any invalid query parameters were passed.

Example Return Value:

<Reports xmlns="http://indivo.org/vocab/xml/documents#">
  <Summary total_document_count="2" limit="100" offset="0" order_by="date_measured" />
  <QueryParams>
    <DateRange value="date_measured*1995-03-10T00:00:00Z*" />
    <Filters>
    </Filters>
  </QueryParams>
  <Report>
    <Meta>
      <Document id="261ca370-927f-41af-b001-7b615c7a468e" type="http://indivo.org/vocab/xml/documents#SimpleClinicalNote" size="1653" digest="0799971784e5a2d199cd6585415a8cd57f7bf9e4f8c8f74ef67a1009a1481cd6" record_id="">
        <createdAt>2011-05-02T17:48:13Z</createdAt>
        <creator id="mymail@mail.ma" type="Account">
          <fullname>full name</fullname>
        </creator>
        <original id="261ca370-927f-41af-b001-7b615c7a468e"/>
        <label>testing</label>
        <status>active</status>
        <nevershare>false</nevershare>
      </Document>
    </Meta>
    <Item>
      <SimpleClinicalNote xmlns="http://indivo.org/vocab/xml/documents#">
        <dateOfVisit>2010-02-02T12:00:00Z</dateOfVisit>
        <finalizedAt>2010-02-03T13:12:00Z</finalizedAt>
        <visitType type="http://codes.indivo.org/visit-types#" value="acute">Acute Care</visitType>
        <visitLocation>Longfellow Medical</visitLocation>
        <specialty type="http://codes.indivo.org/specialties#" value="hem-onc">Hematology/Oncology</specialty>

        <signature>
          <at>2010-02-03T13:12:00Z</at>
          <provider>
            <name>Kenneth Mandl</name>
            <institution>Children's Hospital Boston</institution>
          </provider>
        </signature>

        <signature>
          <provider>
            <name>Isaac Kohane</name>
            <institution>Children's Hospital Boston</institution>
          </provider>
        </signature>

        <chiefComplaint>stomach ache</chiefComplaint>
        <content>Patient presents with ... </content>
      </SimpleClinicalNote>
    </Item>
  </Report>

  ...

</Reports>

GET /carenets/{CARENET_ID}/reports/{DATA_MODEL}/

List the Model data for a given carenet.

Short Name:

carenet_generic_list

Accessible By:

A user app with access to the carenet or the entire carenet’s record, or an account in the carenet or in control of the record.

URL Parameters:
  • DATA_MODEL – The name of the data model to report on
  • CARENET_ID – The id string associated with the Indivo carenet
Query Parameters:
 
Returns:

200 OK with a list of DATA_MODELs, or 400 Bad Request if any invalid query parameters were passed.

Example Return Value:

SDMX Example:
   {
    "__modelname__": "TestMedication",
    "__documentid__": "b1d83191-6edd-4aad-be4e-63117cd4c660",
    "name": "ibuprofen",
    "date_started": "2010-10-01T00:00:00Z",
    "date_stopped": "2010-10-31T00:00:00Z",
    "brand_name": "Advil",
    "prescription": {
        "__modelname__": "TestPrescription",
        "__documentid__": "b1d83191-6edd-4aad-be4e-63117cd4c660",
        "prescribed_by_name": "Kenneth D. Mandl",
        "prescribed_by_institution": "Children's Hospital Boston",
        "prescribed_on": "2010-09-30T00:00:00Z",
        "prescribed_stop_on": "2010-10-31T00:00:00Z"
    },
    "fills": [
        {
            "__modelname__": "TestFill",
            "__documentid__": "b1d83191-6edd-4aad-be4e-63117cd4c660",
            "date_filled": "2010-10-01T00:00:00Z",
            "supply_days": "15",
            "filled_at_name": "CVS"
        },
        {
            "__modelname__": "TestFill",
            "__documentid__": "b1d83191-6edd-4aad-be4e-63117cd4c660",
            "date_filled": "2010-10-16T00:00:00Z",
            "supply_days": "15",
            "filled_at_name": "CVS"
        }
    ]
}

SDMX Example:

<Models>
  <Model name="TestMedication" documentId="b1d83191-6edd-4aad-be4e-63117cd4c660">
    <Field name="date_started">2010-10-01T00:00:00Z</Field>
    <Field name="name">ibuprofen</Field>
    <Field name="brand_name">Advil</Field>
    <Field name="date_stopped">2010-10-31T00:00:00Z</Field>
    <Field name="prescription">
      <Model name="TestPrescription"  documentId="b1d83191-6edd-4aad-be4e-63117cd4c660">
        <Field name="prescribed_by_name">Kenneth D. Mandl</Field>
        <Field name="prescribed_by_institution">Children's Hospital Boston</Field>
        <Field name="prescribed_on">2010-09-30T00:00:00Z</Field>
        <Field name="prescribed_stop_on">2010-10-31T00:00:00Z</Field>
      </Model>
    </Field>
    <Field name="fills">
      <Models>
        <Model name="TestFill"  documentId="b1d83191-6edd-4aad-be4e-63117cd4c660">
          <Field name="date_filled">2010-10-01T00:00:00Z</Field>
          <Field name="supply_days">15</Field>
          <Field name="filled_at_name">CVS</Field>
        </Model>
        <Model name="TestFill"  documentId="b1d83191-6edd-4aad-be4e-63117cd4c660">
          <Field name="date_filled">2010-10-16T00:00:00Z</Field>
          <Field name="supply_days">15</Field>
          <Field name="filled_at_name">CVS</Field>
        </Model>
      </Models>
    </Field>
  </Model>
</Models>

GET /codes/systems/

List available codingsystems. NOT IMPLEMENTED.

Short Name:coding_systems_list
Accessible By:Anybody
Returns:500 Internal Server Error, as the system cannot process the call.

Example Return Value:

[{"short_name": "umls-snomed", "name": "UMLS SNOMED", "description" : "..."},
 {..},
 {..}]

Todo

The API Call ‘GET /codes/systems/’ is not yet implemented.


GET /codes/systems/{SYSTEM_SHORT_NAME}/query

Query a codingsystem for a value.

Short Name:

coding_system_query

Accessible By:

Anybody

URL Parameters:
  • SYSTEM_SHORT_NAME
Query Parameters:
 
  • q – The query string to search for
Returns:

200 OK with JSON describing codingsystems entries that matched q, or 404 Not Found if SYSTEM_SHORT_NAME is invalid.

Example Return Value:

[{"abbreviation": null, "code": "38341003", "consumer_value": null,
  "umls_code": "C0020538",
  "full_value": "Hypertensive disorder, systemic arterial (disorder)"},
 {"abbreviation": null, "code": "55822004", "consumer_value": null,
  "umls_code": "C0020473", "full_value": "Hyperlipidemia (disorder)"}]

POST /oauth/access_token

Exchange a request token for a valid access token.

Short Name:exchange_token
Accessible By:A request signed by a RequestToken.
Returns:200 OK with an access token, or 403 Forbidden if the request token didn’t validate.

Example Return Value:

oauth_token=abcd1fw3gasdgh3&oauth_token_secret=jgrlhre4291hfjas&xoauth_indivo_record_id=123

POST /oauth/internal/request_tokens/{REQTOKEN_ID}/approve

Indicate a user’s consent to bind an app to a record or carenet.

Short Name:

request_token_approve

Accessible By:

A principal in the carenet to which the request token is restricted (if the token is restricted), or a principal with full control over the record (if the token is not restricted).

URL Parameters:
  • REQTOKEN_ID
Formdata Parameters:
 
  • record_id – The record to bind to. Either record_id or carenet_id is required.
  • carenet_id – The carenet to bind to. Either record_id or carenet_id is required.
Returns:

200 OK with a redirect url to the app on success, 403 Forbidden if record_id/carenet_id don’t match reqtoken.

Example Return Value:

location=http%3A%2F%2Fapps.indivo.org%2Fproblems%2Fafter_auth%3Foauth_token%3Dabc123%26oauth_verifier%3Dabc123

(which is the urlencoded form of:

http://apps.indivo.org/problems/after_auth?oauth_token=abc123&oauth_verifier=abc123 )

POST /oauth/internal/request_tokens/{REQTOKEN_ID}/claim

Claim a request token on behalf of an account.

Short Name:

request_token_claim

Accessible By:

Any Account.

URL Parameters:
  • REQTOKEN_ID
Returns:

200 OK with the email of the claiming principal, or 403 Forbidden if the token has already been claimed.

Example Return Value:

joeuser@indivo.org

GET /oauth/internal/request_tokens/{REQTOKEN_ID}/info

Get information about a request token.

Short Name:

request_token_info

Accessible By:

Any Account.

URL Parameters:
  • REQTOKEN_ID
Returns:

200 OK with information about the token.

Example Return Value:

<RequestToken token="XYZ">
  <record id="123" />
  <carenet />
  <kind>new</kind>
  <App id="problems@apps.indivo.org">
    <name>Problem List</name>
    <description>Managing your list of problems</description>
    <autonomous>false</autonomous>
    <frameable>true</frameable>
    <ui>true</ui>
  </App>
</RequestToken>

POST /oauth/internal/session_create

Authenticate a user and register a web session for them.

Short Name:

session_create

Accessible By:

Any Indivo UI app.

Formdata Parameters:
 
  • username – The username of the user to authenticate.
  • password – The password to use with username against the internal password auth system. EITHER password or system is Required.
  • system – An external auth system to authenticate the user with. EITHER password or system is Required.
Returns:

200 OK with a valid session token, or 403 Forbidden if the passed credentials were invalid.

Example Return Value:

oauth_token=XYZ&oauth_token_secret=ABC&account_id=joeuser%40indivo.org

GET /oauth/internal/surl-verify

Verify a signed URL.

Short Name:

surl_verify

Accessible By:

Any Account.

Query Parameters:
 
  • surl_sig – The computed signature (base-64 encoded sha1) of the url.
  • surl_timestamp – when the url was generated. Must be within the past hour.
  • surl_token – The access token used to sign the url.
Returns:

200 OK with XML describing whether the surl validated.

Example Return Value:

If the surl validated:

<result>ok</result>

If the surl was too old:

<result>old</result>

If the surl's signature was invalid:

<result>mismatch</result>

POST /oauth/request_token

Get a new request token, bound to a record or carenet if desired.

Short Name:

request_token

Accessible By:

Any user app.

Formdata Parameters:
 
  • indivo_record_id – The record to which to bind the request token. EITHER indivo_record_id or indivo_carenet_id is REQUIRED.
  • indivo_carenet_id – The carenet to which to bind the request token. EITHER indivo_record_id or indivo_carenet_id is REQUIRED.
Returns:

200 OK with the request token on success, 403 Forbidden if the oauth signature on the request of missing or faulty.

Example Return Value:

oauth_token=abcd1fw3gasdgh3&oauth_token_secret=jgrlhre4291hfjas&xoauth_indivo_record_id=123

GET /ontology

Fetch the SMART ontology as RDF/XML.

Short Name:smart_ontology
Accessible By:Any principal in Indivo.
Returns:An OWL file describing the SMART ontology.

Example Return Value:

see http://sandbox-api.smartplatforms.org/ontology

New in version 2.0.0.


POST /records/

Create a new record.

Short Name:record_create
Accessible By:Any admin app.
Raw Data:A valid Indivo Demographics Document (see Indivo Document Demographics Schema).
Returns:200 OK with information about the record on success, 400 Bad Request if the demographics XML was empty or invalid.

Example Return Value:

<Record id="123" label="Joe Smith">
  <demographics document_id="" />
</Record>

PUT /records/external/{PRINCIPAL_EMAIL}/{EXTERNAL_ID}

Create a new record with an associated external id.

Short Name:

record_create_ext

Accessible By:

An admin app with an id matching the principal_email in the URL.

URL Parameters:
  • PRINCIPAL_EMAIL – The email with which to scope an external id.
  • EXTERNAL_ID – The external identifier of the desired resource
Raw Data:

A valid Indivo Demographics Document (see Indivo Document Demographics Schema).

Returns:

200 OK with information about the record on success, 400 Bad Request if the demographics XML was empty or invalid.

Example Return Value:

<Record id="123" label="Joe Smith">
  <demographics document_id="" />
</Record>

Search for records by label (usually the same as full name).

Short Name:

record_search

Accessible By:

Any admin app.

Query Parameters:
 
  • label – A search string to match against record labels.
Returns:

200 OK with a list of matching records on success, 400 Bad Request if no query parameters were passed.

Example Return Value:

<Records>
  <Record id="123" label="John R. Smith" />
  <Record id = "234" label="Frank Frankson" />

  ...

</Records>

New in version 1.0.1.


GET /records/{RECORD_ID}

Get information about an individual record.

Short Name:

record

Accessible By:

A principal in full control of the record, any admin app, or a user app with access to the record.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Returns:

200 OK with information about the record.

Example Return Value:

<Record id="123" label="Joe Smith">
  <demographics document_id="346" />
</Record>

GET /records/{RECORD_ID}/allergies/

SMART allergy list, serialized as RDF/XML.

Short Name:

smart_allergies

Accessible By:

A user app with access to the record, or a principal in full control of the record

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Returns:

SMART RDF describing the record’s allergies and allergy exclusions

Example Return Value:

<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
   xmlns:dcterms="http://purl.org/dc/terms/"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:sp="http://smartplatforms.org/terms#"
>
  <rdf:Description rdf:about="http://purl.bioontology.org/ontology/SNOMEDCT/271807003">
    <dcterms:title>skin rash</dcterms:title>
    <dcterms:identifier>271807003</dcterms:identifier>
    <sp:system>http://purl.bioontology.org/ontology/SNOMEDCT/</sp:system>
    <rdf:type rdf:resource="http://smartplatforms.org/terms/codes/SNOMED"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://indivo.org/records/03059111-af61-4834-8234-befe5f5a2532/allergies/f8efc96a-7677-4b4f-9879-7fc6d6488d0b">
    <sp:category rdf:nodeID="_865481f6-03ca-4707-8a89-ec468952efa5"/>
    <sp:severity rdf:nodeID="_9f6a6981-1173-4041-8fa3-4462238ab8ae"/>
    <sp:foodAllergen rdf:nodeID="_24be52e0-51a4-4d00-9654-25ae9e0ad2f4"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Allergy"/>
    <sp:belongsTo rdf:nodeID="_f63e49ae-5071-4f99-a62d-329a2e23ce85"/>
    <sp:allergicReaction rdf:nodeID="_7912ae70-da78-443f-a0b6-3f955b9e140a"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="_865481f6-03ca-4707-8a89-ec468952efa5">
    <dcterms:title>food allergy</dcterms:title>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#CodedValue"/>
    <sp:code rdf:resource="http://purl.bioontology.org/ontology/SNOMEDCT/414285001"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="_e6301747-0618-4a74-9b52-d7b5f3745463">
    <dcterms:title>drug allergy</dcterms:title>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#CodedValue"/>
    <sp:code rdf:resource="http://purl.bioontology.org/ontology/SNOMEDCT/416098002"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="_b8361d90-8b1e-40cb-b892-80dcb4301d90">
    <dcterms:title>mild</dcterms:title>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#CodedValue"/>
    <sp:code rdf:resource="http://purl.bioontology.org/ontology/SNOMEDCT/255604002"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://purl.bioontology.org/ontology/SNOMEDCT/414285001">
    <dcterms:title>food allergy</dcterms:title>
    <dcterms:identifier>414285001</dcterms:identifier>
    <sp:system>http://purl.bioontology.org/ontology/SNOMEDCT/</sp:system>
    <rdf:type rdf:resource="http://smartplatforms.org/terms/codes/AllergyCategory"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="_7912ae70-da78-443f-a0b6-3f955b9e140a">
    <dcterms:title>anaphylaxis</dcterms:title>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#CodedValue"/>
    <sp:code rdf:resource="http://purl.bioontology.org/ontology/SNOMEDCT/39579001"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="_9f6a6981-1173-4041-8fa3-4462238ab8ae">
    <dcterms:title>severe</dcterms:title>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#CodedValue"/>
    <sp:code rdf:resource="http://purl.bioontology.org/ontology/SNOMEDCT/24484000"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://purl.bioontology.org/ontology/SNOMEDCT/416098002">
    <dcterms:title>drug allergy</dcterms:title>
    <dcterms:identifier>416098002</dcterms:identifier>
    <sp:system>http://purl.bioontology.org/ontology/SNOMEDCT/</sp:system>
    <rdf:type rdf:resource="http://smartplatforms.org/terms/codes/AllergyCategory"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="_2c0973ad-d7fd-4e7f-a6c2-5c625a54aea7">
    <dcterms:title>skin rash</dcterms:title>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#CodedValue"/>
    <sp:code rdf:resource="http://purl.bioontology.org/ontology/SNOMEDCT/271807003"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://indivo.org/records/03059111-af61-4834-8234-befe5f5a2532/allergies/a4abf13b-ec73-4ae4-b0a2-9d71ab2ea368">
    <sp:drugClassAllergen rdf:nodeID="_f06759ab-6668-4832-97da-0794d244d403"/>
    <sp:category rdf:nodeID="_e6301747-0618-4a74-9b52-d7b5f3745463"/>
    <sp:severity rdf:nodeID="_b8361d90-8b1e-40cb-b892-80dcb4301d90"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Allergy"/>
    <sp:belongsTo rdf:nodeID="_f63e49ae-5071-4f99-a62d-329a2e23ce85"/>
    <sp:allergicReaction rdf:nodeID="_2c0973ad-d7fd-4e7f-a6c2-5c625a54aea7"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://purl.bioontology.org/ontology/SNOMEDCT/39579001">
    <dcterms:title>anaphylaxis</dcterms:title>
    <dcterms:identifier>39579001</dcterms:identifier>
    <sp:system>http://purl.bioontology.org/ontology/SNOMEDCT/</sp:system>
    <rdf:type rdf:resource="http://smartplatforms.org/terms/codes/SNOMED"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://purl.bioontology.org/ontology/SNOMEDCT/255604002">
    <dcterms:title>mild</dcterms:title>
    <dcterms:identifier>255604002</dcterms:identifier>
    <sp:system>http://purl.bioontology.org/ontology/SNOMEDCT/</sp:system>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms/codes/AllergySeverity"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="_24be52e0-51a4-4d00-9654-25ae9e0ad2f4">
    <dcterms:title>peanut</dcterms:title>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#CodedValue"/>
    <sp:code rdf:resource="http://fda.gov/UNII/QE1QX6B99R"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://purl.bioontology.org/ontology/NDFRT/N0000175503">
    <dcterms:title>sulfonamide antibacterial</dcterms:title>
    <dcterms:identifier>N0000175503</dcterms:identifier>
    <sp:system>http://purl.bioontology.org/ontology/NDFRT/</sp:system>
    <rdf:type rdf:resource="http://smartplatforms.org/terms/codes/NDFRT"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="_f06759ab-6668-4832-97da-0794d244d403">
    <dcterms:title>sulfonamide antibacterial</dcterms:title>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#CodedValue"/>
    <sp:code rdf:resource="http://purl.bioontology.org/ontology/NDFRT/N0000175503"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="_f63e49ae-5071-4f99-a62d-329a2e23ce85">
    <rdf:type rdf:resource="http://smartplatforms.org/terms#MedicalRecord"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://fda.gov/UNII/QE1QX6B99R">
    <dcterms:title>peanut</dcterms:title>
    <dcterms:identifier>QE1QX6B99R</dcterms:identifier>
    <sp:system>http://fda.gov/UNII/</sp:system>
    <rdf:type rdf:resource="http://smartplatforms.org/terms/codes/UNII"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://purl.bioontology.org/ontology/SNOMEDCT/24484000">
    <dcterms:title>severe</dcterms:title>
    <dcterms:identifier>24484000</dcterms:identifier>
    <sp:system>http://purl.bioontology.org/ontology/SNOMEDCT/</sp:system>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms/codes/AllergySeverity"/>
  </rdf:Description>
</rdf:RDF>

New in version 2.0.0.


GET /records/{RECORD_ID}/allergies/{MODEL_ID}

Retrieve a specific instance of a SMART Allergy/AllergyExclusion.

Short Name:

smart_allergies_instance

Accessible By:

A user app with access to the record, or a principal in full control of the record

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • MODEL_ID – The id of the Allergy/AllergyExclusion
Returns:

SMART RDF describing the AllergyAllergyExclusion

Example Return Value:

<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
xmlns:dcterms="http://purl.org/dc/terms/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:sp="http://smartplatforms.org/terms#"
>
    <rdf:Description rdf:nodeID="_9ea3b5f3-c0c4-40d7-a370-2ab475ea1d6e">
        <rdf:type rdf:resource="http://smartplatforms.org/terms#CodedValue"/>
        <sp:code rdf:resource="http://purl.bioontology.org/ontology/NDFRT/N0000175503"/>
        <dcterms:title>Sulfonamide Antibacterial</dcterms:title>
    </rdf:Description>
    <rdf:Description rdf:about="http://purl.bioontology.org/ontology/SNOMEDCT/416098002">
        <rdf:type rdf:resource="http://smartplatforms.org/terms/codes/AllergyCategory"/>
        <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
        <dcterms:identifier>416098002</dcterms:identifier>
        <dcterms:title>Drug allergy</dcterms:title>
        <sp:system>http://purl.bioontology.org/ontology/SNOMEDCT/</sp:system>
    </rdf:Description>
    <rdf:Description rdf:about="http://purl.bioontology.org/ontology/SNOMEDCT/24484000">
        <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
        <rdf:type rdf:resource="http://smartplatforms.org/terms/codes/AllergySeverity"/>
        <dcterms:identifier>24484000</dcterms:identifier>
        <dcterms:title>Severe</dcterms:title>
        <sp:system>http://purl.bioontology.org/ontology/SNOMEDCT/</sp:system>
    </rdf:Description>
    <rdf:Description rdf:about="http://purl.bioontology.org/ontology/SNOMEDCT/39579001">
        <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
        <rdf:type rdf:resource="http://smartplatforms.org/terms/codes/SNOMED"/>
        <dcterms:identifier>39579001</dcterms:identifier>
        <dcterms:title>Anaphylaxis</dcterms:title>
        <sp:system>http://purl.bioontology.org/ontology/SNOMEDCT/</sp:system>
    </rdf:Description>
    <rdf:Description rdf:about="http://indivo.org/records/b171cd33-00a6-4038-976d-b8380c276ba1/allergies/09eadb0d-9c58-4cac-aad5-c84c29caf5bd">
        <rdf:type rdf:resource="http://smartplatforms.org/terms#Allergy"/>
        <sp:allergicReaction rdf:nodeID="_6538190b-0659-4710-b083-fe3f0462242b"/>
        <sp:category rdf:nodeID="_3572cdcd-7787-4801-b6b3-e153794ace84"/>
        <sp:drugClassAllergen rdf:nodeID="_9ea3b5f3-c0c4-40d7-a370-2ab475ea1d6e"/>
        <sp:severity rdf:nodeID="_e62b76fe-e33b-4d9f-9a2b-dc1221e3eb17"/>
        <sp:belongsTo rdf:resource="http://indivo.org/records/b171cd33-00a6-4038-976d-b8380c276ba1"/>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_6538190b-0659-4710-b083-fe3f0462242b">
        <rdf:type rdf:resource="http://smartplatforms.org/terms#CodedValue"/>
        <sp:code rdf:resource="http://purl.bioontology.org/ontology/SNOMEDCT/39579001"/>
        <dcterms:title>Anaphylaxis</dcterms:title>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_e62b76fe-e33b-4d9f-9a2b-dc1221e3eb17">
        <rdf:type rdf:resource="http://smartplatforms.org/terms#CodedValue"/>
        <sp:code rdf:resource="http://purl.bioontology.org/ontology/SNOMEDCT/24484000"/>
        <dcterms:title>Severe</dcterms:title>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_3572cdcd-7787-4801-b6b3-e153794ace84">
        <rdf:type rdf:resource="http://smartplatforms.org/terms#CodedValue"/>
        <sp:code rdf:resource="http://purl.bioontology.org/ontology/SNOMEDCT/416098002"/>
        <dcterms:title>Drug allergy</dcterms:title>
    </rdf:Description>
    <rdf:Description rdf:about="http://purl.bioontology.org/ontology/NDFRT/N0000175503">
        <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
        <rdf:type rdf:resource="http://smartplatforms.org/terms/codes/NDFRT"/>
        <dcterms:identifier>N0000175503</dcterms:identifier>
        <dcterms:title>Sulfonamide Antibacterial</dcterms:title>
        <sp:system>http://purl.bioontology.org/ontology/NDFRT/</sp:system>
    </rdf:Description>
</rdf:RDF>

New in version 2.1.0.


GET /records/{RECORD_ID}/apps/

List userapps bound to a given record.

Short Name:

record_phas

Accessible By:

A principal in full control of the record, or any admin app.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Query Parameters:
 
  • type – A namespaced document type. If specified, only apps which explicitly declare themselves as supporting that document type will be returned.
Returns:

200 OK with a list of JSON manifests for the userapps.

Example Return Value:

[
{
    "name" : "SMART Problems",
    "description" : "Display problems in a table view",
    "author" : "Josh Mandel, Children's Hospital Boston",
    "id" : "problem-list@apps.smartplatforms.org",
    "version" : ".1a",

    "mode" : "ui",
    "scope": "record",

    "index" : "http://fda.gping.org:8012/framework/problem_list/index.html",
    "icon" : "http://fda.gping.org:8012/framework/problem_list/icon.png",

    "requires" : {
        "http://smartplatforms.org/terms#Problem": {
            "methods": ["GET"]
        }
    }
},

... other apps ...

]

Changed in version 2.0.0: Apps are now returned as JSON manifests, not XML


DELETE /records/{RECORD_ID}/apps/{PHA_EMAIL}

Remove a userapp from a record.

Short Name:

pha_record_delete

Accessible By:

Any admin app, or a principal in full control of the record.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • PHA_EMAIL – The email identifier of the Indivo user app
Returns:

200 Success.

Example Return Value:

<ok/>

GET /records/{RECORD_ID}/apps/{PHA_EMAIL}

Get information about a given userapp bound to a record.

Short Name:

record_pha

Accessible By:

A principal in full control of the record, or any admin app.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • PHA_EMAIL – The email identifier of the Indivo user app
Returns:

200 OK with a JSON manifest for the app, or 404 Not Found if the app isn’t bound to the record.

Example Return Value:

{
    "name" : "SMART Problems",
    "description" : "Display problems in a table view",
    "author" : "Josh Mandel, Children's Hospital Boston",
    "id" : "problem-list@apps.smartplatforms.org",
    "version" : ".1a",

    "mode" : "ui",
    "scope": "record",

    "index" : "http://fda.gping.org:8012/framework/problem_list/index.html",
    "icon" : "http://fda.gping.org:8012/framework/problem_list/icon.png",

    "requires" : {
        "http://smartplatforms.org/terms#Problem": {
            "methods": ["GET"]
        }
    }
}

Changed in version 2.0.0: Apps are now returned as JSON manifests, not XML


PUT /records/{RECORD_ID}/apps/{PHA_EMAIL}

Enable a userapp for a record.

Short Name:

record_pha_enable

Accessible By:

Any admin app, or a principal in full control of the record.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • PHA_EMAIL – The email identifier of the Indivo user app
Returns:

200 OK on success, 404 Not Found if either the specified record or the specified app doesn’t exist.

Example Return Value:

<ok/>

New in version 1.0.0.


GET /records/{RECORD_ID}/apps/{PHA_EMAIL}/documents/

List record-app-specific documents.

Short Name:

record_app_document_list

Accessible By:

A user app with access to the record, with an id matching the app email in the URL.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • PHA_EMAIL – The email identifier of the Indivo user app
Query Parameters:
 
Returns:

200 OK with a list of documents, or 404 Not Found if an invalid type was passed in the querystring.

Example Return Value:

<Documents record_id="123" total_document_count="4" pha="problems@apps.indivo.org">
  <Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
    <createdAt>2009-05-04T17:05:33</createdAt>
    <creator id="steve@indivo.org" type="account">
      <fullname>Steve Zabak</fullname>
    </creator>
    <suppressedAt>2009-05-06T17:05:33</suppressedAt>
    <suppressor id="steve@indivo.org" type="account">
      <fullname>Steve Zabak</fullname>
    </suppressor>
    <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
    <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
    <label>HBA1C reading Preferences</label>
    <status>active</status>
    <nevershare>false</nevershare>
    <relatesTo>
      <relation type="http://indivo.org/vocab/documentrels#attachment" count="1" />
      <relation type="http://indivo.org/vocab/documentrels#annotation" count="5" />
    </relatesTo>
    <isRelatedFrom>
      <relation type="http://indivo.org/vocab/documentrels#interpretation" count="1" />
    </isRelatedFrom>
  </Document>

  ...

</Documents>

POST /records/{RECORD_ID}/apps/{PHA_EMAIL}/documents/

Create a record-app-specific Indivo document.

Short Name:

record_app_document_create

Accessible By:

A user app with access to the record, with an id matching the app email in the URL.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • PHA_EMAIL – The email identifier of the Indivo user app
Raw Data:

The raw content of the document to create.

Returns:

200 OK with the metadata of the created document, or 400 Bad Request if the new document failed validation.

Example Return Value:

<Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
  <createdAt>2009-05-04T17:05:33</createdAt>
  <creator id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </creator>
  <suppressedAt>2009-05-06T17:05:33</suppressedAt>
  <suppressor id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </suppressor>
  <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
  <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
  <label>HBA1C reading Preferences</label>
  <status>active</status>
  <nevershare>false</nevershare>
  <relatesTo>
    <relation type="http://indivo.org/vocab/documentrels#attachment" count="1" />
    <relation type="http://indivo.org/vocab/documentrels#annotation" count="5" />
  </relatesTo>
  <isRelatedFrom>
    <relation type="http://indivo.org/vocab/documentrels#interpretation" count="1" />
  </isRelatedFrom>
</Document>

POST /records/{RECORD_ID}/apps/{PHA_EMAIL}/documents/external/{EXTERNAL_ID}

Create or Overwrite a record-app-specific Indivo document with an associated external id.

Short Name:

record_app_document_create_or_update_ext

Accessible By:

A user app with access to the record, with an id matching the app email in the URL.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • EXTERNAL_ID – The external identifier of the desired resource
  • PHA_EMAIL – The email identifier of the Indivo user app
Raw Data:

The raw content of the document to create/update.

Returns:

200 OK with metadata describing the created or updated document, or 400 Bad Request if the passed content didn’t validate.

Example Return Value:

<Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
  <createdAt>2009-05-04T17:05:33</createdAt>
  <creator id="problems@apps.indivo.org" type="pha">
  </creator>
  <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
  <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
  <label>HBA1C reading preferences</label>
  <status>active</status>
  <nevershare>false</nevershare>
</Document>

PUT /records/{RECORD_ID}/apps/{PHA_EMAIL}/documents/external/{EXTERNAL_ID}

Create or Overwrite a record-app-specific Indivo document with an associated external id.

Short Name:

record_app_document_create_or_update_ext

Accessible By:

A user app with access to the record, with an id matching the app email in the URL.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • EXTERNAL_ID – The external identifier of the desired resource
  • PHA_EMAIL – The email identifier of the Indivo user app
Raw Data:

The raw content of the document to create/update.

Returns:

200 OK with metadata describing the created or updated document, or 400 Bad Request if the passed content didn’t validate.

Example Return Value:

<Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
  <createdAt>2009-05-04T17:05:33</createdAt>
  <creator id="problems@apps.indivo.org" type="pha">
  </creator>
  <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
  <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
  <label>HBA1C reading preferences</label>
  <status>active</status>
  <nevershare>false</nevershare>
</Document>

GET /records/{RECORD_ID}/apps/{PHA_EMAIL}/documents/external/{EXTERNAL_ID}/meta

Fetch the metadata of a record-app-specific document identified by external id.

Short Name:

record_app_document_meta_ext

Accessible By:

A user app with access to the record, with an id matching the app email in the URL.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • EXTERNAL_ID – The external identifier of the desired resource
  • PHA_EMAIL – The email identifier of the Indivo user app
Returns:

200 OK with metadata describing the specified document, or http:statuscode:404 if the external_id is invalid.

Example Return Value:

<Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
  <createdAt>2009-05-04T17:05:33</createdAt>
  <creator id="problems@apps.indivo.org" type="pha">
    <fullname>Steve Zabak</fullname>
  </creator>
  <suppressedAt>2009-05-06T17:05:33</suppressedAt>
  <suppressor id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </suppressor>
  <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
  <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
  <label>HBA1C reading Preferences</label>
  <status>active</status>
  <nevershare>false</nevershare>
</Document>

DELETE /records/{RECORD_ID}/apps/{PHA_EMAIL}/documents/{DOCUMENT_ID}

Delete a record-app-specific document.

Short Name:

record_app_document_delete

Accessible By:

A user app with access to the record, with an id matching the app email in the URL.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • PHA_EMAIL – The email identifier of the Indivo user app
  • DOCUMENT_ID – The unique identifier of the Indivo document
Returns:

200 Success, or 404 Not Found if DOCUMENT_ID is invalid.

Example Return Value:

<ok/>

GET /records/{RECORD_ID}/apps/{PHA_EMAIL}/documents/{DOCUMENT_ID}

Retrieve a record-app-specific document.

Short Name:

record_app_specific_document

Accessible By:

A user app with access to the record, with an id matching the app email in the URL.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • PHA_EMAIL – The email identifier of the Indivo user app
  • DOCUMENT_ID – The unique identifier of the Indivo document
Returns:

200 OK with the raw content of the document, or 404 Not Found if the document could not be found.

Example Return Value:

<ProblemsPreferences record_id="123">
  <Preference name="hide_void" value="true" />
  <Preference name="show_rels" value="false" />
</ProblemsPreferences>

PUT /records/{RECORD_ID}/apps/{PHA_EMAIL}/documents/{DOCUMENT_ID}/label

Set the label of a record-app-specific document.

Short Name:

record_app_document_label

Accessible By:

A user app with access to the record, with an id matching the app email in the URL.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • PHA_EMAIL – The email identifier of the Indivo user app
  • DOCUMENT_ID – The unique identifier of the Indivo document
Raw Data:

The new label for the document

Returns:

200 OK with metadata describing the re-labeled document, or 404 Not Found if DOCUMENT_ID is invalid.

Example Return Value:

<Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
  <createdAt>2009-05-04T17:05:33</createdAt>
  <creator id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </creator>
  <suppressedAt>2009-05-06T17:05:33</suppressedAt>
  <suppressor id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </suppressor>
  <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
  <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
  <label>RELABELED: New HBA1C reading Preferences</label>
  <status>active</status>
  <nevershare>false</nevershare>
  <relatesTo>
    <relation type="http://indivo.org/vocab/documentrels#attachment" count="1" />
    <relation type="http://indivo.org/vocab/documentrels#annotation" count="5" />
  </relatesTo>
  <isRelatedFrom>
    <relation type="http://indivo.org/vocab/documentrels#interpretation" count="1" />
  </isRelatedFrom>
</Document>

GET /records/{RECORD_ID}/apps/{PHA_EMAIL}/documents/{DOCUMENT_ID}/meta

Fetch the metadata of a record-app-specific document.

Short Name:

record_app_document_meta

Accessible By:

A user app with access to the record, with an id matching the app email in the URL.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • PHA_EMAIL – The email identifier of the Indivo user app
  • DOCUMENT_ID – The unique identifier of the Indivo document
Returns:

200 OK with the document metadata, or 404 Not Found if DOCUMENT_ID is invalid.

Example Return Value:

<Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
  <createdAt>2009-05-04T17:05:33</createdAt>
  <creator id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </creator>
  <suppressedAt>2009-05-06T17:05:33</suppressedAt>
  <suppressor id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </suppressor>
  <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
  <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
  <label>HBA1C reading Preferences</label>
  <status>active</status>
  <nevershare>false</nevershare>
  <relatesTo>
    <relation type="http://indivo.org/vocab/documentrels#attachment" count="1" />
    <relation type="http://indivo.org/vocab/documentrels#annotation" count="5" />
  </relatesTo>
  <isRelatedFrom>
    <relation type="http://indivo.org/vocab/documentrels#interpretation" count="1" />
  </isRelatedFrom>
</Document>

POST /records/{RECORD_ID}/apps/{PHA_EMAIL}/setup

Bind an app to a record without user authorization.

Short Name:

record_pha_setup

Accessible By:

Any admin app.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • PHA_EMAIL – The email identifier of the Indivo user app
Raw Data:

Raw content that will be used as a setup document for the record. OPTIONAL.

Returns:

200 OK with a valid access token for the newly set up app.

Example Return Value:

oauth_token=abcd1fw3gasdgh3&oauth_token_secret=jgrlhre4291hfjas&xoauth_indivo_record_id=123

GET /records/{RECORD_ID}/audits/

Return audits of calls touching record.

Short Name:

audit_record_view

Accessible By:

A principal in full control of the record, or a user app with access to the record.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Query Parameters:
 
Returns:

200 OK, with a list of Audit Reports.

Example Return Value:

<Reports xmlns="http://indivo.org/vocab/xml/documents#">
  <Summary total_document_count="2" limit="100" offset="0" order_by="date_measured" />
  <QueryParams>
    <Filters>
    </Filters>
  </QueryParams>
  <Report>
    <Meta>
    </Meta>
    <Item>
      <AuditEntry>
        <BasicInfo datetime="2011-04-27T17:32:23Z" view_func="get_document" request_successful="true" />
        <PrincipalInfo effective_principal="myapp@apps.indivoheatlh.org" proxied_principal="me@indivohealth.org" />
        <Resources carenet_id="" record_id="123" pha_id="" document_id="234" external_id="" message_id="" />
        <RequestInfo req_url="/records/123/documents/acd/" req_ip_address="127.0.0.1" req_domain="localhost"  req_method="GET" />
        <ResponseInfo resp_code="200" />
      </AuditEntry>
    </Item>
  </Report>

  ...

</Reports>

Deprecated since version 0.9.3: Use GET /records/{RECORD_ID}/audits/query/ instead.


GET /records/{RECORD_ID}/audits/documents/{DOCUMENT_ID}/

Return audits of calls touching record and document_id.

Short Name:

audit_document_view

Accessible By:

A principal in full control of the record, or a user app with access to the record.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • DOCUMENT_ID – The unique identifier of the Indivo document
Query Parameters:
 
Returns:

200 OK, with a list of Audit Reports.

Example Return Value:

<Reports xmlns="http://indivo.org/vocab/xml/documents#">
  <Summary total_document_count="2" limit="100" offset="0" order_by="date_measured" />
  <QueryParams>
    <Filters>
      <Filter name="document_id" value="234"/>
    </Filters>
  </QueryParams>
  <Report>
    <Meta>
    </Meta>
    <Item>
      <AuditEntry>
        <BasicInfo datetime="2011-04-27T17:32:23Z" view_func="get_document" request_successful="true" />
        <PrincipalInfo effective_principal="myapp@apps.indivoheatlh.org" proxied_principal="me@indivohealth.org" />
        <Resources carenet_id="" record_id="123" pha_id="" document_id="234" external_id="" message_id="" />
        <RequestInfo req_url="/records/123/documents/acd/" req_ip_address="127.0.0.1" req_domain="localhost"  req_method="GET" />
        <ResponseInfo resp_code="200" />
      </AuditEntry>
    </Item>
  </Report>

  ...

</Reports>

Deprecated since version 0.9.3: Use GET /records/{RECORD_ID}/audits/query/ instead.


GET /records/{RECORD_ID}/audits/documents/{DOCUMENT_ID}/functions/{FUNCTION_NAME}/

Return audits of calls to function_name touching record and document_id.

Short Name:

audit_function_view

Accessible By:

A principal in full control of the record, or a user app with access to the record.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • DOCUMENT_ID – The unique identifier of the Indivo document
  • FUNCTION_NAME – The internal Indivo function name called by the API request
Query Parameters:
 
Returns:

200 OK, with a list of Audit Reports.

Example Return Value:

<Reports xmlns="http://indivo.org/vocab/xml/documents#">
  <Summary total_document_count="2" limit="100" offset="0" order_by="date_measured" />
  <QueryParams>
    <Filters>
      <Filter name="document_id" value="234"/>
      <Filter name="req_view_func" value="record_specific_document"/>
    </Filters>
  </QueryParams>
  <Report>
    <Meta>
    </Meta>
    <Item>
      <AuditEntry>
        <BasicInfo datetime="2011-04-27T17:32:23Z" view_func="get_document" request_successful="true" />
        <PrincipalInfo effective_principal="myapp@apps.indivoheatlh.org" proxied_principal="me@indivohealth.org" />
        <Resources carenet_id="" record_id="123" pha_id="" document_id="234" external_id="" message_id="" />
        <RequestInfo req_url="/records/123/documents/acd/" req_ip_address="127.0.0.1" req_domain="localhost"  req_method="GET" />
        <ResponseInfo resp_code="200" />
      </AuditEntry>
    </Item>
  </Report>

  ...

</Reports>

Deprecated since version 0.9.3: Use GET /records/{RECORD_ID}/audits/query/ instead.


GET /records/{RECORD_ID}/audits/query/

Select Audit Objects via the Query API Interface.

Short Name:

audit_query

Accessible By:

A principal in full control of the record, or a user app with access to the record.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Query Parameters:
 
Returns:

200 OK with a list of audit records, or 400 Bad Request if any of the arguments to the query interface are invalid.

Example Return Value:

<Reports xmlns="http://indivo.org/vocab/xml/documents#">
  <Summary total_document_count="2" limit="100" offset="0" order_by="date_measured" />
  <QueryParams>
    <DateRange value="created_at*1995-03-10T00:00:00Z*" />
    <Filters>
      <Filter name="document_id" value="234"/>
    </Filters>
  </QueryParams>
  <Report>
    <Meta>
    </Meta>
    <Item>
      <AuditEntry>
        <BasicInfo datetime="2011-04-27T17:32:23Z" view_func="get_document" request_successful="true" />
        <PrincipalInfo effective_principal="myapp@apps.indivoheatlh.org" proxied_principal="me@indivohealth.org" />
        <Resources carenet_id="" record_id="123" pha_id="" document_id="234" external_id="" message_id="" />
        <RequestInfo req_url="/records/123/documents/acd/" req_ip_address="127.0.0.1" req_domain="localhost"  req_method="GET" />
        <ResponseInfo resp_code="200" />
      </AuditEntry>
    </Item>
  </Report>

  ...

</Reports>

New in version 0.9.3.


GET /records/{RECORD_ID}/autoshare/bytype/

For a single record, list all carenets that a given doctype is autoshared with.

Short Name:

autoshare_list

Accessible By:

A principal in full control of the record.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Query Parameters:
 
  • type – The document schema type to check autoshares for. REQUIRED.
Returns:

200 OK with a list of carenets, or 404 Not Found if the passed document type is invalid.

Example Return Value:

<Carenets record_id="123">
  <Carenet id="789" name="Work/School" mode="explicit" />

  ...

</Carenets>

GET /records/{RECORD_ID}/autoshare/bytype/all

For a single record, list all doctypes autoshared into carenets.

Short Name:

autoshare_list_bytype_all

Accessible By:

A principal in full control of the record.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Returns:

200 OK with a list of doctypes and their shared carenets.

Example Return Value:

<DocumentSchemas>
  <DocumentSchema type="http://indivo.org/vocab/xml/documents#Medication">
    <Carenet id="123" name="Family" mode="explicit" />

    ...

  </DocumentSchema>

  ...

</DocumentSchemas>

POST /records/{RECORD_ID}/autoshare/carenets/{CARENET_ID}/bytype/set

Automatically share all documents of a certain type into a carenet.

Short Name:

autoshare_create

Accessible By:

A principal in full control of the record.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • CARENET_ID – The id string associated with the Indivo carenet
Formdata Parameters:
 
  • type – the document schema type to create an autoshare for
Returns:

200 OK, or 404 Not Found if the passed document type doesn’t exist.

Example Return Value:

<ok/>

POST /records/{RECORD_ID}/autoshare/carenets/{CARENET_ID}/bytype/unset

Remove an autoshare from a carenet.

Short Name:

autoshare_delete

Accessible By:

A principal in full control of the record.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • CARENET_ID – The id string associated with the Indivo carenet
Formdata Parameters:
 
  • type – the document schema type to remove an autoshare for
Returns:

200 OK, or 404 Not Found if the passed document type doesn’t exist.

Example Return Value:

<ok/>

GET /records/{RECORD_ID}/carenets/

List all carenets for a record.

Short Name:

carenet_list

Accessible By:

A principal in full control of the record, or any admin app.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Returns:

200 OK, with a list of carenets.

Example Return Value:

<Carenets record_id="123">
  <Carenet id="789" name="Work/School" mode="explicit" />

  ...

</Carenets>

POST /records/{RECORD_ID}/carenets/

Create a new carenet for a record.

Short Name:

carenet_create

Accessible By:

A principal in full control of the record, or any admin app.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Formdata Parameters:
 
  • name – The label for the new carenet.
Returns:

200 OK with a description of the new carenet, or 400 Bad Request if the name of the carenet wasn’t passed or already exists.

Example Return Value:

<Carenets record_id="123">
  <Carenet id="789" name="Work/School" mode="explicit" />
</Carenets>

GET /records/{RECORD_ID}/demographics

Read demographics from a record.

Short Name:

read_demographics

Accessible By:

A user app with access to the record, a principal in full control of the record, or any admin app.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Query Parameters:
 
  • response_format – one of application/rdf+xml (SMART RDF/XML), application/json (SDMJ), or application/xml (SDMX). Default is application/rdf+xml
Returns:

200 OK with demographics formatted in the requested response_format (default application/rdf+xml) on success, 404 Not Found when no demographics found, and 400 Bad Request if response_format is invalid

Example Return Value:

application/rdf+xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <rdf:RDF xmlns:dcterms="http://purl.org/dc/terms/"
         xmlns:foaf="http://xmlns.com/foaf/0.1/"
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:sp="http://smartplatforms.org/terms#"   xmlns:v="http://www.w3.org/2006/vcard/ns#">
    <rdf:Description rdf:nodeID="_6730841b-05df-445f-8695-ed64197f4e6a">
        <v:family-name>William</v:family-name>
        <rdf:type rdf:resource="http://www.w3.org/2006/vcard/ns#Name"/>
        <v:given-name>Robinson</v:given-name>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_bcf66b59-e438-49b2-b572-99af4319b297">
        <rdf:value>800-870-3011</rdf:value>
        <rdf:type rdf:resource="http://www.w3.org/2006/vcard/ns#Tel"/>
        <rdf:type rdf:resource="http://www.w3.org/2006/vcard/ns#Home"/>
        <rdf:type rdf:resource="http://www.w3.org/2006/vcard/ns#Pref"/>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_8cbe3da1-fb53-4d31-80b6-19e0d04220ad">
        <dcterms:identifier>http://indivo.org/records/96ff9eb2-3b18-4a0e-9df8-5a731b96d5d6</dcterms:identifier>
        <sp:system>Indivo Record</sp:system>
        <dcterms:title>Indivo Record 96ff9eb2-3b18-4a0e-9df8-5a731b96d5d6</dcterms:title>
        <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_451ade87-b519-4c92-8d07-2bbfcb23999c">
        <rdf:value>800-870-3011</rdf:value>
        <rdf:type rdf:resource="http://www.w3.org/2006/vcard/ns#Tel"/>
        <rdf:type rdf:resource="http://www.w3.org/2006/vcard/ns#Home"/>
        <rdf:type rdf:resource="http://www.w3.org/2006/vcard/ns#Pref"/>
    </rdf:Description>
    <rdf:Description rdf:about="http://indivo.org/records/96ff9eb2-3b18-4a0e-9df8-5a731b96d5d6">
        <rdf:type rdf:resource="http://smartplatforms.org/terms#MedicalRecord"/>
    </rdf:Description>
    <rdf:Description rdf:about="http://indivo.org/records/96ff9eb2-3b18-4a0e-9df8-5a731b96d5d6/demographics">
        <v:tel rdf:nodeID="_bcf66b59-e438-49b2-b572-99af4319b297"/>
        <v:tel rdf:nodeID="_451ade87-b519-4c92-8d07-2bbfcb23999c"/>
        <sp:email>william.robinson@example.com</sp:email>
        <rdf:type rdf:resource="http://smartplatforms.org/terms#Demographics"/>
        <v:bday rdf:datatype="http://www.w3.org/2001/XMLSchema#date">1965-08-09</v:bday>
        <v:adr rdf:nodeID="_9f06ee63-3704-4b2a-9c2a-109cc9c99a57"/>
        <sp:belongsTo rdf:resource="http://indivo.org/records/96ff9eb2-3b18-4a0e-9df8-5a731b96d5d6"/>
        <foaf:gender>male</foaf:gender>
        <sp:preferredLanguage>EN</sp:preferredLanguage>
        <v:n rdf:nodeID="_6730841b-05df-445f-8695-ed64197f4e6a"/>
        <sp:medicalRecordNumber rdf:nodeID="_8cbe3da1-fb53-4d31-80b6-19e0d04220ad"/>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_9f06ee63-3704-4b2a-9c2a-109cc9c99a57">
        <v:street-address>23 Church Rd</v:street-address>
        <v:country>USA</v:country>
        <rdf:type rdf:resource="http://www.w3.org/2006/vcard/ns#Address"/>
        <v:region>OK</v:region>
        <v:locality>Bixby</v:locality>
        <v:postal-code>74008</v:postal-code>
    </rdf:Description>
</rdf:RDF>

application/xml:

    <Models>
        <Model name="Demographics" documentId="44190967-cbaa-43a7-a98c-9f97f094ef2b">
            <Field name="bday">1965-08-09</Field>
            <Field name="email">william.robinson@example.com</Field>
            <Field name="ethnicity"/>
            <Field name="gender">male</Field>
            <Field name="preferred_language">EN</Field>
            <Field name="race"/>
            <Field name="name_given">Robinson</Field>
            <Field name="name_suffix"/>
            <Field name="name_family">William</Field>
            <Field name="name_prefix"/>
            <Field name="tel_2_type">h</Field>
            <Field name="tel_2_preferred_p">True</Field>
            <Field name="tel_2_number">800-870-3011</Field>
            <Field name="adr_region">OK</Field>
            <Field name="adr_country">USA</Field>
            <Field name="adr_postalcode">74008</Field>
            <Field name="adr_city">Bixby</Field>
            <Field name="adr_street">23 Church Rd</Field>
            <Field name="tel_1_type">h</Field>
            <Field name="tel_1_preferred_p">True</Field>
            <Field name="tel_1_number">800-870-3011</Field>
        </Model>
    </Models>

application/json:

    [
        {
            "__modelname__": "Demographics",
            "__documentid__": "44190967-cbaa-43a7-a98c-9f97f094ef2b",
            "name_given": "Robinson",
            "name_family": "William",
            "name_prefix": null,
            "name_suffix": null,
            "gender": "male",
            "race": null,
            "ethnicity": null,
            "bday": "1965-08-09",
            "email": "william.robinson@example.com",
            "preferred_language": "EN",
            "tel_1_type": "h",
            "tel_1_number": "800-870-3011",
            "tel_1_preferred_p": true,
            "tel_2_type": "h",
            "tel_2_number": "800-870-3011",
            "tel_2_preferred_p": true,
            "adr_street": "23 Church Rd",
            "adr_city": "Bixby",
            "adr_postalcode": "74008",
            "adr_region": "OK",
            "adr_country": "USA"
        }
    ]

New in version 2.0.0.


PUT /records/{RECORD_ID}/demographics

Create or update demographics on a record.

Short Name:

set_demographics

Accessible By:

A user app with access to the record, a principal in full control of the record, or any admin app.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Returns:

200 OK with metadata on the updated document, or 400 Bad Request if the new content didn’t validate

Example Return Value:

<Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="http://indivo.org/vocab/xml/documents#Demographics" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
  <createdAt>2009-05-04T17:05:33</createdAt>
  <creator id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </creator>
  <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
  <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
  <status>active</status>
  <nevershare>false</nevershare>
</Document>

New in version 2.0.0.


DELETE /records/{RECORD_ID}/documents/

Delete all documents associated with a record.

Short Name:

documents_delete

Accessible By:

Nobody

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Returns:

200 Success

Example Return Value:

<ok/>

GET /records/{RECORD_ID}/documents/

List record-specific documents.

Short Name:

record_document_list

Accessible By:

A user app with access to the record, or a principal in full control of the record

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Query Parameters:
 
Returns:

200 OK with a list of documents, or 404 Not Found if an invalid type was passed in the querystring.

Example Return Value:

<Documents record_id="123" total_document_count="4">
  <Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
    <createdAt>2009-05-04T17:05:33</createdAt>
    <creator id="steve@indivo.org" type="account">
      <fullname>Steve Zabak</fullname>
    </creator>
    <suppressedAt>2009-05-06T17:05:33</suppressedAt>
    <suppressor id="steve@indivo.org" type="account">
      <fullname>Steve Zabak</fullname>
    </suppressor>
    <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
    <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
    <label>HBA1C reading</label>
    <status>active</status>
    <nevershare>false</nevershare>
    <relatesTo>
      <relation type="http://indivo.org/vocab/documentrels#attachment" count="1" />
      <relation type="http://indivo.org/vocab/documentrels#annotation" count="5" />
    </relatesTo>
    <isRelatedFrom>
      <relation type="http://indivo.org/vocab/documentrels#interpretation" count="1" />
    </isRelatedFrom>
  </Document>

  ...

</Documents>

POST /records/{RECORD_ID}/documents/

Create a record-specific Indivo Document.

Short Name:

document_create

Accessible By:

A user app with access to the record, a principal in full control of the record, or the admin app that created the record.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Raw Data:

The raw content of the document to create.

Returns:

200 OK with the metadata of the created document, or 400 Bad Request if the new document failed validation.

Example Return Value:

<Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
  <createdAt>2009-05-04T17:05:33</createdAt>
  <creator id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </creator>
  <suppressedAt>2009-05-06T17:05:33</suppressedAt>
  <suppressor id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </suppressor>
  <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
  <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
  <label>HBA1C reading</label>
  <status>active</status>
  <nevershare>false</nevershare>
  <relatesTo>
    <relation type="http://indivo.org/vocab/documentrels#attachment" count="1" />
    <relation type="http://indivo.org/vocab/documentrels#annotation" count="5" />
  </relatesTo>
  <isRelatedFrom>
    <relation type="http://indivo.org/vocab/documentrels#interpretation" count="1" />
  </isRelatedFrom>
</Document>

PUT /records/{RECORD_ID}/documents/external/{PHA_EMAIL}/{EXTERNAL_ID}

Create a record-specific Indivo Document with an associated external id.

Short Name:

document_create_by_ext_id

Accessible By:

A user app with access to the record, with an id matching the app email in the URL.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • EXTERNAL_ID – The external identifier of the desired resource
  • PHA_EMAIL – The email identifier of the Indivo user app
Raw Data:

The raw content of the document to create.

Returns:

200 OK with the metadata of the created document, or 400 Bad Request if the new document failed validation, or if the external id was taken.

Example Return Value:

<Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
  <createdAt>2009-05-04T17:05:33</createdAt>
  <creator id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </creator>
  <suppressedAt>2009-05-06T17:05:33</suppressedAt>
  <suppressor id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </suppressor>
  <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
  <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
  <label>HBA1C reading</label>
  <status>active</status>
  <nevershare>false</nevershare>
  <relatesTo>
    <relation type="http://indivo.org/vocab/documentrels#attachment" count="1" />
    <relation type="http://indivo.org/vocab/documentrels#annotation" count="5" />
  </relatesTo>
  <isRelatedFrom>
    <relation type="http://indivo.org/vocab/documentrels#interpretation" count="1" />
  </isRelatedFrom>
</Document>

PUT /records/{RECORD_ID}/documents/external/{PHA_EMAIL}/{EXTERNAL_ID}/label

Set the label of a record-specific document, specified by external id.

Short Name:

record_document_label_ext

Accessible By:

A user app with access to the record, with an id matching the app email in the URL.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • EXTERNAL_ID – The external identifier of the desired resource
  • PHA_EMAIL – The email identifier of the Indivo user app
Raw Data:

The new label for the document

Returns:

200 OK with metadata describing the re-labeled document, or 404 Not Found if EXTERNAL_ID is invalid.

Example Return Value:

<Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
  <createdAt>2009-05-04T17:05:33</createdAt>
  <creator id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </creator>
  <suppressedAt>2009-05-06T17:05:33</suppressedAt>
  <suppressor id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </suppressor>
  <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
  <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
  <label>RELABELED: New HBA1C reading</label>
  <status>active</status>
  <nevershare>false</nevershare>
  <relatesTo>
    <relation type="http://indivo.org/vocab/documentrels#attachment" count="1" />
    <relation type="http://indivo.org/vocab/documentrels#annotation" count="5" />
  </relatesTo>
  <isRelatedFrom>
    <relation type="http://indivo.org/vocab/documentrels#interpretation" count="1" />
  </isRelatedFrom>
</Document>

GET /records/{RECORD_ID}/documents/external/{PHA_EMAIL}/{EXTERNAL_ID}/meta

Fetch the metadata of a record-specific document identified by external id.

Short Name:

record_document_meta_ext

Accessible By:

A user app with access to the record, with an id matching the app email in the URL.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • EXTERNAL_ID – The external identifier of the desired resource
  • PHA_EMAIL – The email identifier of the Indivo user app
Returns:

200 OK with the document metadata, or 404 Not Found if EXTERNAL_ID is invalid.

Example Return Value:

<Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
  <createdAt>2009-05-04T17:05:33</createdAt>
  <creator id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </creator>
  <suppressedAt>2009-05-06T17:05:33</suppressedAt>
  <suppressor id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </suppressor>
  <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
  <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
  <label>HBA1C reading</label>
  <status>active</status>
  <nevershare>false</nevershare>
  <relatesTo>
    <relation type="http://indivo.org/vocab/documentrels#attachment" count="1" />
    <relation type="http://indivo.org/vocab/documentrels#annotation" count="5" />
  </relatesTo>
  <isRelatedFrom>
    <relation type="http://indivo.org/vocab/documentrels#interpretation" count="1" />
  </isRelatedFrom>
</Document>

PUT /records/{RECORD_ID}/documents/{DOCUMENT_ID_0}/rels/{REL}/{DOCUMENT_ID_1}

Create a new relationship between two existing documents.

Short Name:

document_rels

Accessible By:

A user app with access to the record, or a principal in full control of the record

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • DOCUMENT_ID_1 – The id of the document that is the subject of the relationship, i.e. DOCUMENT_ID_1 annotates DOCUMENT_ID_0
  • DOCUMENT_ID_0 – The id of the document that is the object of the relationship, i.e. DOCUMENT_ID_0 is annotated by DOCUMENT_ID_1
  • REL – The type of relationship between the documents, i.e. annotation, interpretation
Returns:

200 Success, or 404 Not Found if DOCUMENT_ID_0, DOCUMENT_ID_1, or REL don’t exist.

Example Return Value:

<ok/>

GET /records/{RECORD_ID}/documents/{DOCUMENT_ID}

Retrieve a record-specific document.

Short Name:

record_specific_document

Accessible By:

A user app with access to the record, or a principal in full control of the record

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • DOCUMENT_ID – The unique identifier of the Indivo document
Returns:

200 OK with the raw content of the document, or 404 Not Found if the document could not be found.

Example Return Value:

<HBA1C xmlns="http://indivo.org/vocab#" value="5.3" unit="percent" datetime="2011-01-15T17:00:00.000Z" />

GET /records/{RECORD_ID}/documents/{DOCUMENT_ID}/carenets/

List all the carenets into which a document has been shared.

Short Name:

document_carenets

Accessible By:

A user app with access to the record, or a principal in full control of the record

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • DOCUMENT_ID – The unique identifier of the Indivo document
Returns:

200 OK with a list of carenets.

Example Return Value:

<Carenets record_id="123">
  <Carenet id="789" name="Work/School" mode="explicit" />

  ...

</Carenets>

DELETE /records/{RECORD_ID}/documents/{DOCUMENT_ID}/carenets/{CARENET_ID}

Unshare a document from a given carenet.

Short Name:

carenet_document_delete

Accessible By:

A principal in full control of the carenet’s record.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • CARENET_ID – The id string associated with the Indivo carenet
  • DOCUMENT_ID – The unique identifier of the Indivo document
Returns:

200 Success, or 404 Not Found if DOCUMENT_ID is invalid or if either the passed carenet or document do not belong to the passed record.

Example Return Value:

<ok/>

PUT /records/{RECORD_ID}/documents/{DOCUMENT_ID}/carenets/{CARENET_ID}

Place a document into a given carenet.

Short Name:

carenet_document_placement

Accessible By:

A principal in full control of the carenet’s record.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • CARENET_ID – The id string associated with the Indivo carenet
  • DOCUMENT_ID – The unique identifier of the Indivo document
Returns:

200 Success, or 404 Not Found if DOCUMENT_ID is invalid or nevershared.

Example Return Value:

<ok/>

POST /records/{RECORD_ID}/documents/{DOCUMENT_ID}/carenets/{CARENET_ID}/autoshare-revert

Revert the document-sharing of a document in a carent to whatever rules are specified by autoshares. NOT IMPLEMENTED.

Short Name:

autoshare_revert

Accessible By:

A principal in full control of the record.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • CARENET_ID – The id string associated with the Indivo carenet
  • DOCUMENT_ID – The unique identifier of the Indivo document
Returns:

200 Success.

Example Return Value:

<ok/>

Todo

The API Call ‘POST /records/{0}/documents/{1}/carenets/{2}/autoshare-revert’ is not yet implemented.


PUT /records/{RECORD_ID}/documents/{DOCUMENT_ID}/label

Set the label of a record-specific document.

Short Name:

record_document_label

Accessible By:

A user app with access to the record, or a principal in full control of the record

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • DOCUMENT_ID – The unique identifier of the Indivo document
Raw Data:

The new label for the document

Returns:

200 OK with metadata describing the re-labeled document, or 404 Not Found if DOCUMENT_ID is invalid.

Example Return Value:

<Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
  <createdAt>2009-05-04T17:05:33</createdAt>
  <creator id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </creator>
  <suppressedAt>2009-05-06T17:05:33</suppressedAt>
  <suppressor id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </suppressor>
  <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
  <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
  <label>RELABELED: New HBA1C reading</label>
  <status>active</status>
  <nevershare>false</nevershare>
  <relatesTo>
    <relation type="http://indivo.org/vocab/documentrels#attachment" count="1" />
    <relation type="http://indivo.org/vocab/documentrels#annotation" count="5" />
  </relatesTo>
  <isRelatedFrom>
    <relation type="http://indivo.org/vocab/documentrels#interpretation" count="1" />
  </isRelatedFrom>
</Document>

GET /records/{RECORD_ID}/documents/{DOCUMENT_ID}/meta

Fetch the metadata of a record-specific document.

Short Name:

record_document_meta

Accessible By:

A user app with access to the record, or a principal in full control of the record

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • DOCUMENT_ID – The unique identifier of the Indivo document
Returns:

200 OK with the document metadata, or 404 Not Found if DOCUMENT_ID is invalid.

Example Return Value:

<Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
  <createdAt>2009-05-04T17:05:33</createdAt>
  <creator id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </creator>
  <suppressedAt>2009-05-06T17:05:33</suppressedAt>
  <suppressor id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </suppressor>
  <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
  <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
  <label>HBA1C reading</label>
  <status>active</status>
  <nevershare>false</nevershare>
  <relatesTo>
    <relation type="http://indivo.org/vocab/documentrels#attachment" count="1" />
    <relation type="http://indivo.org/vocab/documentrels#annotation" count="5" />
  </relatesTo>
  <isRelatedFrom>
    <relation type="http://indivo.org/vocab/documentrels#interpretation" count="1" />
  </isRelatedFrom>
</Document>

PUT /records/{RECORD_ID}/documents/{DOCUMENT_ID}/meta

Set metadata fields on a document. NOT IMPLEMENTED.

Short Name:

update_document_meta

Accessible By:

Nobody

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • DOCUMENT_ID – The unique identifier of the Indivo document
Returns:

200 Success.

Example Return Value:

<ok/>

Todo

The API Call ‘PUT /records/{0}/documents/{1}/meta’ is not yet implemented.


DELETE /records/{RECORD_ID}/documents/{DOCUMENT_ID}/nevershare

Remove the nevershare flag from a document.

Short Name:

document_remove_nevershare

Accessible By:

A principal in full control of the record.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • DOCUMENT_ID – The unique identifier of the Indivo document
Returns:

200 Success, or 404 Not Found if DOCUMENT_ID is invalid.

Example Return Value:

<ok/>

PUT /records/{RECORD_ID}/documents/{DOCUMENT_ID}/nevershare

Flag a document to never be shared, anywhere.

Short Name:

document_set_nevershare

Accessible By:

A principal in full control of the record.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • DOCUMENT_ID – The unique identifier of the Indivo document
Returns:

200 Success, or 404 Not Found if DOCUMENT_ID is invalid.

Example Return Value:

<ok/>

GET /records/{RECORD_ID}/documents/{DOCUMENT_ID}/rels/{REL}/

Get all documents related to the passed document_id by a relation of the passed relation-type.

Short Name:

get_documents_by_rel

Accessible By:

A user app with access to the record, or a principal in full control of the record

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • REL – The type of relationship between the documents, i.e. annotation, interpretation
  • DOCUMENT_ID – The unique identifier of the Indivo document
Query Parameters:
 
  • status – The account or document status to filter by.
  • limit – See Query Operators. CURRENTLY UNIMPLEMENTED.
  • order_by – See Query Operators. CURRENTLY UNIMPLEMENTED.
  • offset – See Query Operators. CURRENTLY UNIMPLEMENTED
Returns:

200 OK with a list of related documents, or 400 Bad Request if DOCUMENT_ID is invalid.

Example Return Value:

<Documents record_id="123" total_document_count="4">
  <Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
    <createdAt>2009-05-04T17:05:33</createdAt>
    <creator id="steve@indivo.org" type="account">
      <fullname>Steve Zabak</fullname>
    </creator>
    <suppressedAt>2009-05-06T17:05:33</suppressedAt>
    <suppressor id="steve@indivo.org" type="account">
      <fullname>Steve Zabak</fullname>
    </suppressor>
    <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
    <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
    <label>HBA1C reading</label>
    <status>active</status>
    <nevershare>false</nevershare>
    <relatesTo>
      <relation type="http://indivo.org/vocab/documentrels#attachment" count="1" />
      <relation type="http://indivo.org/vocab/documentrels#annotation" count="5" />
    </relatesTo>
    <isRelatedFrom>
      <relation type="http://indivo.org/vocab/documentrels#interpretation" count="1" />
    </isRelatedFrom>
  </Document>

  ...

</Documents>

POST /records/{RECORD_ID}/documents/{DOCUMENT_ID}/rels/{REL}/

Create a document and relate it to an existing document.

Short Name:

document_create_by_rel

Accessible By:

A user app with access to the record, or a principal in full control of the record

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • REL – The type of relationship between the documents, i.e. annotation, interpretation
  • DOCUMENT_ID – The unique identifier of the Indivo document
Raw Data:

The raw content of the document to create.

Returns:

200 OK with the metadata of the created document, or 400 Bad Request if the new content was invalid, or 404 Not Found if DOCUMENT_ID or REL are invalid.

Example Return Value:

<Document id="238543a5-e516-4da2-8a70-8c764c65a5a7" type="" size="104" digest="6aaef7aa0fbc24eef18f6cde0bc17120cbea6f35" record_id="e32c3daf-33e3-443e-aa4a-fad22fe559cc">
    <createdAt>2012-07-10T14:58:36.805563Z</createdAt>
    <creator id="bob@indivo.org" type="account">
        <fullname>Bob Loblaw</fullname>
    </creator>
    <original id="238543a5-e516-4da2-8a70-8c764c65a5a7"/>
    <status>active</status>
    <nevershare>false</nevershare>
    <isRelatedFrom>
        <relation type="http://indivo.org/vocab/documentrels#annotation" count="1" />
    </isRelatedFrom>
</Document>

POST /records/{RECORD_ID}/documents/{DOCUMENT_ID}/rels/{REL}/external/{PHA_EMAIL}/{EXTERNAL_ID}

Create a document, assign it an external id, and relate it to an existing document.

Short Name:

document_create_by_rel_with_ext_id

Accessible By:

A user app with access to the record, with an id matching the app email in the URL.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • REL – The type of relationship between the documents, i.e. annotation, interpretation
  • EXTERNAL_ID – The external identifier of the desired resource
  • PHA_EMAIL – The email identifier of the Indivo user app
  • DOCUMENT_ID – The unique identifier of the Indivo document
Raw Data:

The raw content of the document to create.

Returns:

200 OK with the metadata of the created document, or 400 Bad Request if the new content was invalid, or 404 Not Found if DOCUMENT_ID or REL are invalid.

Example Return Value:

<Document id="238543a5-e516-4da2-8a70-8c764c65a5a7" type="" size="104" digest="6aaef7aa0fbc24eef18f6cde0bc17120cbea6f35" record_id="e32c3daf-33e3-443e-aa4a-fad22fe559cc">
    <createdAt>2012-07-10T14:58:36.805563Z</createdAt>
    <creator id="bob@indivo.org" type="account">
        <fullname>Bob Loblaw</fullname>
    </creator>
    <original id="238543a5-e516-4da2-8a70-8c764c65a5a7"/>
    <status>active</status>
    <nevershare>false</nevershare>
    <isRelatedFrom>
        <relation type="http://indivo.org/vocab/documentrels#annotation" count="1" />
    </isRelatedFrom>
</Document>

PUT /records/{RECORD_ID}/documents/{DOCUMENT_ID}/rels/{REL}/external/{PHA_EMAIL}/{EXTERNAL_ID}

Create a document, assign it an external id, and relate it to an existing document.

Short Name:

document_create_by_rel_with_ext_id

Accessible By:

A user app with access to the record, with an id matching the app email in the URL.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • REL – The type of relationship between the documents, i.e. annotation, interpretation
  • EXTERNAL_ID – The external identifier of the desired resource
  • PHA_EMAIL – The email identifier of the Indivo user app
  • DOCUMENT_ID – The unique identifier of the Indivo document
Raw Data:

The raw content of the document to create.

Returns:

200 Success, 400 Bad Request if the new content was invalid, or 404 Not Found if DOCUMENT_ID or REL are invalid.

Example Return Value:

<ok/>

POST /records/{RECORD_ID}/documents/{DOCUMENT_ID}/replace

Create a new version of a record-specific document.

Short Name:

document_version

Accessible By:

A user app with access to the record, a principal in full control of the record, or the admin app that created the record.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • DOCUMENT_ID – The unique identifier of the Indivo document
Raw Data:

The raw content of the document to create.

Returns:

200 OK with metadata on the new document, 400 Bad Request if the old document has already been replaced by a newer version, or 404 Not Found if DOCUMENT_ID is invalid or if the new content is invalid.

Example Return Value:

<Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
  <createdAt>2009-05-04T17:05:33</createdAt>
  <creator id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </creator>
  <suppressedAt>2009-05-06T17:05:33</suppressedAt>
  <suppressor id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </suppressor>
  <replaces id="abe8130e2-ba54-1234-eeef-45a3b6cd9a8e" />
  <original id="abe8130e2-ba54-1234-eeef-45a3b6cd9a8e" />
  <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
  <label>HBA1C reading</label>
  <status>active</status>
  <nevershare>false</nevershare>
  <relatesTo>
    <relation type="http://indivo.org/vocab/documentrels#attachment" count="1" />
    <relation type="http://indivo.org/vocab/documentrels#annotation" count="5" />
  </relatesTo>
  <isRelatedFrom>
    <relation type="http://indivo.org/vocab/documentrels#interpretation" count="1" />
  </isRelatedFrom>
</Document>

PUT /records/{RECORD_ID}/documents/{DOCUMENT_ID}/replace/external/{PHA_EMAIL}/{EXTERNAL_ID}

Create a new version of a record-specific document and assign it an external id.

Short Name:

document_version_by_ext_id

Accessible By:

A user app with access to the record, with an id matching the app email in the URL.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • EXTERNAL_ID – The external identifier of the desired resource
  • PHA_EMAIL – The email identifier of the Indivo user app
  • DOCUMENT_ID – The unique identifier of the Indivo document
Raw Data:

The raw content of the document to create.

Returns:

200 OK with metadata on the new document, 400 Bad Request if the old document has already been replaced by a newer version, or 404 Not Found if DOCUMENT_ID is invalid or if the new content is invalid.

Example Return Value:

<Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
  <createdAt>2009-05-04T17:05:33</createdAt>
  <creator id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </creator>
  <suppressedAt>2009-05-06T17:05:33</suppressedAt>
  <suppressor id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </suppressor>
  <replaces id="abe8130e2-ba54-1234-eeef-45a3b6cd9a8e" />
  <original id="abe8130e2-ba54-1234-eeef-45a3b6cd9a8e" />
  <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
  <label>HBA1C reading</label>
  <status>active</status>
  <nevershare>false</nevershare>
  <relatesTo>
    <relation type="http://indivo.org/vocab/documentrels#attachment" count="1" />
    <relation type="http://indivo.org/vocab/documentrels#annotation" count="5" />
  </relatesTo>
  <isRelatedFrom>
    <relation type="http://indivo.org/vocab/documentrels#interpretation" count="1" />
  </isRelatedFrom>
</Document>

POST /records/{RECORD_ID}/documents/{DOCUMENT_ID}/set-status

Set the status of a record-specific document.

Short Name:

document_set_status

Accessible By:

A user app with access to the record, or a principal in full control of the record

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • DOCUMENT_ID – The unique identifier of the Indivo document
Formdata Parameters:
 
  • status – The new status for the document. Options are active, void, archived.
  • reason – The reason for the status change.
Returns:

200 Success, 400 Bad Request if status or reason are missing, or 404 Not Found if DOCUMENT_ID is invalid.

Example Return Value:

<ok/>

GET /records/{RECORD_ID}/documents/{DOCUMENT_ID}/status-history

List all changes to a document’s status over time.

Short Name:

document_status_history

Accessible By:

A user app with access to the record, or a principal in full control of the record

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • DOCUMENT_ID – The unique identifier of the Indivo document
Returns:

200 OK with a the document’s status history, or 404 Not Found if DOCUMENT_ID is invalid.

Example Return Value:

<DocumentStatusHistory document_id="456">
  <DocumentStatus by="joeuser@indivo.example.org" at="2010-09-03T12:45:12Z" status="archived">
    <reason>no longer relevant</reason>
  </DocumentStatus>

  ...

</DocumentStatusHistory>

GET /records/{RECORD_ID}/documents/{DOCUMENT_ID}/versions/

Retrieve the versions of a document.

Short Name:

document_versions

Accessible By:

A user app with access to the record, or a principal in full control of the record

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • DOCUMENT_ID – The unique identifier of the Indivo document
Query Parameters:
 
Returns:

200 OK with a list of document versions, or 404 Not Found if DOCUMENT_ID is invalid.

Example Return Value:

<Documents record_id="123" total_document_count="4">
  <Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
    <createdAt>2009-05-04T17:05:33</createdAt>
    <creator id="steve@indivo.org" type="account">
      <fullname>Steve Zabak</fullname>
    </creator>
    <suppressedAt>2009-05-06T17:05:33</suppressedAt>
    <suppressor id="steve@indivo.org" type="account">
      <fullname>Steve Zabak</fullname>
    </suppressor>
    <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
    <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
    <label>HBA1C reading</label>
    <status>active</status>
    <nevershare>false</nevershare>
    <relatesTo>
      <relation type="http://indivo.org/vocab/documentrels#attachment" count="1" />
      <relation type="http://indivo.org/vocab/documentrels#annotation" count="5" />
    </relatesTo>
    <isRelatedFrom>
      <relation type="http://indivo.org/vocab/documentrels#interpretation" count="1" />
    </isRelatedFrom>
  </Document>

  ...

</Documents>

POST /records/{RECORD_ID}/inbox/{MESSAGE_ID}

Send a message to a record.

Short Name:

record_send_message

Accessible By:

Any admin app, or a user app with access to the record.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • MESSAGE_ID – The unique external identifier of the Indivo Message, for idempotency.
Formdata Parameters:
 
  • body – The message body. Defaults to [no body].
  • body_type – The formatting for the message body. Options are plaintext, markdown. Defaults to plaintext.
  • num_attachments – The number of attachments this message requires. Attachments are uploaded with calls to POST /records/{RECORD_ID}/inbox/{MESSAGE_ID}/attachments/{ATTACHMENT_NUM}. Defaults to 0.
  • severity – The importance of the message. Options are low, medium, high. Defaults to low.
  • subject – The message subject. Defaults to [no subject].
Returns:

200 Success, or 400 Bad Request if MESSAGE_ID was a duplicate. Also triggers notification emails to accounts authorized to view messages for the passed record.

Example Return Value:

<ok/>

POST /records/{RECORD_ID}/inbox/{MESSAGE_ID}/attachments/{ATTACHMENT_NUM}

Attach a document to an Indivo message.

Short Name:

record_message_attach

Accessible By:

Any admin app, or a user app with access to the record.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • ATTACHMENT_NUM – The 1-indexed number corresponding to the message attachment
  • MESSAGE_ID – The unique identifier of the Indivo Message
Raw Data:

The raw XML attachment data.

Returns:

200 Success, or 400 Bad Request if ATTACHMENT_NUM has already been uploaded.

Example Return Value:

<ok/>

POST /records/{RECORD_ID}/notifications/

Send a notification about a record to all accounts authorized to be notified.

Short Name:

record_notify

Accessible By:

Any admin app, or a user app with access to the record.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Formdata Parameters:
 
  • content – The plaintext content of the notification.
  • app_url – A callback url to the app for more information. OPTIONAL.
  • document_id – The id of the document to which this notification pertains. OPTIONAL.
Returns:

200 Success, or 400 Bad Request if content wasn’t passed.

Example Return Value:

<ok/>

POST /records/{RECORD_ID}/notify

Send a notification about a record to all accounts authorized to be notified.

Short Name:

record_notify

Accessible By:

Any admin app, or a user app with access to the record.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Formdata Parameters:
 
  • content – The plaintext content of the notification.
  • app_url – A callback url to the app for more information. OPTIONAL.
  • document_id – The id of the document to which this notification pertains. OPTIONAL.
Returns:

200 Success, or 400 Bad Request if content wasn’t passed.

Example Return Value:

<ok/>

Deprecated since version 1.0: Use POST /records/{RECORD_ID}/notifications/ instead.


GET /records/{RECORD_ID}/owner

Get the owner of a record.

Short Name:

record_get_owner

Accessible By:

A principal in full control of the record, or any admin app.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Returns:

200 Success.

Example Return Value:

<Account id='joeuser@example.com' />

POST /records/{RECORD_ID}/owner

Set the owner of a record.

Short Name:

record_set_owner

Accessible By:

Any admin app.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Raw Data:

The email address of the new account owner.

Returns:

200 OK with information about the account, or 400 Bad Request if the passed email address is invalid.

Example Return Value:

<Account id="joeuser@indivo.example.org">
  <fullName>Joe User</fullName>
  <contactEmail>joeuser@gmail.com</contactEmail>
  <lastLoginAt>2010-05-04T15:34:23Z</lastLoginAt>
  <totalLoginCount>43</totalLoginCount>
  <failedLoginCount>0</failedLoginCount>
  <state>active</state>
  <lastStateChange>2009-04-03T13:12:12Z</lastStateChange>

  <authSystem name="password" username="joeuser" />
  <authSystem name="hospital_sso" username="Joe_User" />
</Account>

PUT /records/{RECORD_ID}/owner

Set the owner of a record.

Short Name:

record_set_owner

Accessible By:

Any admin app.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Raw Data:

The email address of the new account owner.

Returns:

200 OK with information about the account, or 400 Bad Request if the passed email address is invalid.

Example Return Value:

<Account id="joeuser@indivo.example.org">
  <fullName>Joe User</fullName>
  <contactEmail>joeuser@gmail.com</contactEmail>
  <lastLoginAt>2010-05-04T15:34:23Z</lastLoginAt>
  <totalLoginCount>43</totalLoginCount>
  <failedLoginCount>0</failedLoginCount>
  <state>active</state>
  <lastStateChange>2009-04-03T13:12:12Z</lastStateChange>

  <authSystem name="password" username="joeuser" />
  <authSystem name="hospital_sso" username="Joe_User" />
</Account>

GET /records/{RECORD_ID}/reports/experimental/ccr

Export patient data as a Continuity of Care Record (CCR) document.

Short Name:

report_ccr

Accessible By:

A user app with access to the record, or a principal in full control of the record

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Returns:

200 OK with an EXPERIMENTAL CCR document.

Example Return Value:

<ContinuityOfCareRecord xmlns="urn:astm-org:CCR">
  <CCRDocumentObjectID>0</CCRDocumentObjectID>
  <Language>
    <Text>ENGLISH</Text>
  </Language>
  <Version>V1.0</Version>
  <DateTime>
    <Type>
      <Text>Create</Text>
      <ObjectAttribute>
        <Attribute>DisplayDate</Attribute>
        <AttributeValue>
          <Value>09/30/10</Value>
        </AttributeValue>
      </ObjectAttribute>
    </Type>
    <ExactDateTime>2010-05-04T15:34:23Z</ExactDateTime>
  </DateTime>
  <Patient>
    <ActorID>123</ActorID>
  </Patient>
  <From>
    <ActorLink/>
  </From>
  <Body>
    <Medications>
      <Medication>
     <CCRDataObjectID>789</CCRDataObjectID>
     <DateTime>
       <Type>
         <Text>Dispense date</Text>
       </Type>
       <ExactDateTime>2010-05-04T15:34:23Z</ExactDateTime>
     </DateTime>
     <Status>
       <Text>Active</Text>
     </Status>
     <Product>
       <ProductName>
         <Text>Vioxx</Text>
         <Code>
           <Value>C1234</Value>
           <CodingSystem>RxNorm</CodingSystem>
         </Code>
       </ProductName>
       <Strength>
         <Value>20</Value>
         <Units>
           <Unit>mg</Unit>
         </Units>
       </Strength>
     </Product>
     <Directions>
          <Direction>
            <Dose>
              <Value>1</Value>
              <Units>
             <Unit>Pills</Unit>
              </Units>
            </Dose>
            <Route>
              <Text>Oral</Text>
            </Route>
            <Frequency>
              <Value>1QR</Value>
            </Frequency>
          </Direction>
     </Directions>
      </Medication>

      ...

    </Medications>
    <Immunizations>
      <Immunization>
        <CCRDataObjectID>567</CCRDataObjectID>
     <DateTime>
          <Type>
            <Text>Start date</Text>
          </Type>
       <ExactDateTime>2010-05-04T15:34:23Z</ExactDateTime>
     </DateTime>
      <Product>
        <ProductName>
          <Text>Rubella</Text>
          <Code>
            <Value>C1345</Value>
            <CodingSystem>HL7 Vaccines</CodingSystem>
          </Code>
        </ProductName>
      </Product>
      </Immunization>

      ...

    </Immunizations>
    <VitalSigns>

    ...

    </VitalSigns>

    ...

  </Body>
  <Actors>
  </Actors>
</ContinuityOfCareRecord>

GET /records/{RECORD_ID}/reports/minimal/equipment/

List the equipment data for a given record.

Short Name:

equipment_list

Accessible By:

A user app with access to the record, or a principal in full control of the record

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Query Parameters:
 
Returns:

200 OK with a list of equipment, or 400 Bad Request if any invalid query parameters were passed.

Example Return Value:

<Reports xmlns="http://indivo.org/vocab/xml/documents#">
  <Summary total_document_count="2" limit="100" offset="0" order_by="date_measured" />
  <QueryParams>
    <DateRange value="date_measured*1995-03-10T00:00:00Z*" />
    <Filters>
      <Filter name="equipment_name" value="pacemaker"/>
    </Filters>
  </QueryParams>
  <Report>
    <Meta>
      <Document id="261ca370-927f-41af-b001-7b615c7a468e" type="http://indivo.org/vocab/xml/documents#Models" size="1653" digest="0799971784e5a2d199cd6585415a8cd57f7bf9e4f8c8f74ef67a1009a1481cd6" record_id="">
        <createdAt>2011-05-02T17:48:13Z</createdAt>
        <creator id="mymail@mail.ma" type="Account">
          <fullname>full name</fullname>
        </creator>
        <original id="261ca370-927f-41af-b001-7b615c7a468e"/>
        <label>testing</label>
        <status>active</status>
        <nevershare>false</nevershare>
      </Document>
    </Meta>
    <Item>
      <Equipment xmlns="http://indivo.org/vocab/xml/documents#">
        <dateStarted>2009-02-05</dateStarted>
        <dateStopped>2010-06-12</dateStopped>
        <type>cardiac</type>
        <name>Pacemaker</name>
        <vendor>Acme Medical Devices</vendor>
        <id>167-ABC-23</id>
        <description>it works</description>
        <specification>blah blah blah</specification>
      </Equipment>
    </Item>
  </Report>

  ...

</Reports>

GET /records/{RECORD_ID}/reports/minimal/measurements/{LAB_CODE}/

List the measurement data for a given record.

Short Name:

measurement_list

Accessible By:

A user app with access to the record, or a principal in full control of the record

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • LAB_CODE – The identifier corresponding to the measurement being made.
Query Parameters:
 
Returns:

200 OK with a list of measurements, or 400 Bad Request if any invalid query parameters were passed.

Example Return Value:

<Reports xmlns="http://indivo.org/vocab/xml/documents#">
  <Summary total_document_count="2" limit="100" offset="0" order_by="date_measured" />
  <QueryParams>
    <DateRange value="date_measured*1995-03-10T00:00:00Z*" />
    <Filters>
      <Filter name="lab_type" value="hematology"/>
    </Filters>
  </QueryParams>
  <Report>
    <Meta>
      <Document id="261ca370-927f-41af-b001-7b615c7a468e" type="http://indivo.org/vocab/xml/documents#Measurement" size="1653" digest="0799971784e5a2d199cd6585415a8cd57f7bf9e4f8c8f74ef67a1009a1481cd6" record_id="">
        <createdAt>2011-05-02T17:48:13Z</createdAt>
        <creator id="mymail@mail.ma" type="Account">
          <fullname>full name</fullname>
        </creator>
        <original id="261ca370-927f-41af-b001-7b615c7a468e"/>
        <label>testing</label>
        <status>active</status>
        <nevershare>false</nevershare>
      </Document>
    </Meta>
    <Item>
      <Measurement id="1234" value="120" type="blood pressure systolic" datetime="2011-03-02T00:00:00Z" unit="mmHg" source_doc="3456" />
    </Item>
  </Report>

  ...

</Reports>

GET /records/{RECORD_ID}/reports/minimal/procedures/

List the procedure data for a given record.

Short Name:

procedure_list

Accessible By:

A user app with access to the record, or a principal in full control of the record

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Query Parameters:
 
Returns:

200 OK with a list of procedures, or 400 Bad Request if any invalid query parameters were passed.

Example Return Value:

<Reports xmlns="http://indivo.org/vocab/xml/documents#">
  <Summary total_document_count="2" limit="100" offset="0" order_by="date_measured" />
  <QueryParams>
    <DateRange value="date_measured*1995-03-10T00:00:00Z*" />
    <Filters>
    </Filters>
  </QueryParams>
  <Report>
    <Meta>
      <Document id="261ca370-927f-41af-b001-7b615c7a468e" type="http://indivo.org/vocab/xml/documents#Procedure" size="1653" digest="0799971784e5a2d199cd6585415a8cd57f7bf9e4f8c8f74ef67a1009a1481cd6" record_id="">
        <createdAt>2011-05-02T17:48:13Z</createdAt>
        <creator id="mymail@mail.ma" type="Account">
          <fullname>full name</fullname>
        </creator>
        <original id="261ca370-927f-41af-b001-7b615c7a468e"/>
        <label>testing</label>
        <status>active</status>
        <nevershare>false</nevershare>
      </Document>
    </Meta>
    <Item>
      <Procedure xmlns="http://indivo.org/vocab/xml/documents#">
        <datePerformed>2009-05-16T12:00:00</datePerformed>
        <name type="http://codes.indivo.org/procedures#" value="85" abbrev="append">Appendectomy</name>
        <provider>
          <name>Kenneth Mandl</name>
          <institution>Children's Hospital Boston</institution>
        </provider>
      </Procedure>
    </Item>
  </Report>

  ...

</Reports>

GET /records/{RECORD_ID}/reports/minimal/simple-clinical-notes/

List the simple_clinical_notes data for a given record.

Short Name:

simple_clinical_notes_list

Accessible By:

A user app with access to the record, or a principal in full control of the record

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Query Parameters:
 
Returns:

200 OK with a list of notes, or 400 Bad Request if any invalid query parameters were passed.

Example Return Value:

<Reports xmlns="http://indivo.org/vocab/xml/documents#">
  <Summary total_document_count="2" limit="100" offset="0" order_by="date_measured" />
  <QueryParams>
    <DateRange value="date_measured*1995-03-10T00:00:00Z*" />
    <Filters>
    </Filters>
  </QueryParams>
  <Report>
    <Meta>
      <Document id="261ca370-927f-41af-b001-7b615c7a468e" type="http://indivo.org/vocab/xml/documents#SimpleClinicalNote" size="1653" digest="0799971784e5a2d199cd6585415a8cd57f7bf9e4f8c8f74ef67a1009a1481cd6" record_id="">
        <createdAt>2011-05-02T17:48:13Z</createdAt>
        <creator id="mymail@mail.ma" type="Account">
          <fullname>full name</fullname>
        </creator>
        <original id="261ca370-927f-41af-b001-7b615c7a468e"/>
        <label>testing</label>
        <status>active</status>
        <nevershare>false</nevershare>
      </Document>
    </Meta>
    <Item>
      <SimpleClinicalNote xmlns="http://indivo.org/vocab/xml/documents#">
        <dateOfVisit>2010-02-02T12:00:00Z</dateOfVisit>
        <finalizedAt>2010-02-03T13:12:00Z</finalizedAt>
        <visitType type="http://codes.indivo.org/visit-types#" value="acute">Acute Care</visitType>
        <visitLocation>Longfellow Medical</visitLocation>
        <specialty type="http://codes.indivo.org/specialties#" value="hem-onc">Hematology/Oncology</specialty>

        <signature>
          <at>2010-02-03T13:12:00Z</at>
          <provider>
            <name>Kenneth Mandl</name>
            <institution>Children's Hospital Boston</institution>
          </provider>
        </signature>

        <signature>
          <provider>
            <name>Isaac Kohane</name>
            <institution>Children's Hospital Boston</institution>
          </provider>
        </signature>

        <chiefComplaint>stomach ache</chiefComplaint>
        <content>Patient presents with ... </content>
      </SimpleClinicalNote>
    </Item>
  </Report>

  ...

</Reports>

GET /records/{RECORD_ID}/reports/{DATA_MODEL}/

List the Model data for a given record.

Short Name:

generic_list

Accessible By:

A user app with access to the record, or a principal in full control of the record

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • DATA_MODEL – The name of the data model to report on
Query Parameters:
 
Returns:

200 OK with a list of DATA_MODELs, or 400 Bad Request if any invalid query parameters were passed.

Example Return Value:

SDMJ Example:

   {
    "__modelname__": "TestMedication",
    "__documentid__": "b1d83191-6edd-4aad-be4e-63117cd4c660",
    "name": "ibuprofen",
    "date_started": "2010-10-01T00:00:00Z",
    "date_stopped": "2010-10-31T00:00:00Z",
    "brand_name": "Advil",
    "prescription": {
        "__modelname__": "TestPrescription",
        "__documentid__": "b1d83191-6edd-4aad-be4e-63117cd4c660",
        "prescribed_by_name": "Kenneth D. Mandl",
        "prescribed_by_institution": "Children's Hospital Boston",
        "prescribed_on": "2010-09-30T00:00:00Z",
        "prescribed_stop_on": "2010-10-31T00:00:00Z"
    },
    "fills": [
        {
            "__modelname__": "TestFill",
            "__documentid__": "b1d83191-6edd-4aad-be4e-63117cd4c660",
            "date_filled": "2010-10-01T00:00:00Z",
            "supply_days": "15",
            "filled_at_name": "CVS"
        },
        {
            "__modelname__": "TestFill",
            "__documentid__": "b1d83191-6edd-4aad-be4e-63117cd4c660",
            "date_filled": "2010-10-16T00:00:00Z",
            "supply_days": "15",
            "filled_at_name": "CVS"
        }
    ]
}

SDMX Example:

<Models>
  <Model name="TestMedication" documentId="b1d83191-6edd-4aad-be4e-63117cd4c660">
    <Field name="date_started">2010-10-01T00:00:00Z</Field>
    <Field name="name">ibuprofen</Field>
    <Field name="brand_name">Advil</Field>
    <Field name="date_stopped">2010-10-31T00:00:00Z</Field>
    <Field name="prescription">
      <Model name="TestPrescription"  documentId="b1d83191-6edd-4aad-be4e-63117cd4c660">
        <Field name="prescribed_by_name">Kenneth D. Mandl</Field>
        <Field name="prescribed_by_institution">Children's Hospital Boston</Field>
        <Field name="prescribed_on">2010-09-30T00:00:00Z</Field>
        <Field name="prescribed_stop_on">2010-10-31T00:00:00Z</Field>
      </Model>
    </Field>
    <Field name="fills">
      <Models>
        <Model name="TestFill"  documentId="b1d83191-6edd-4aad-be4e-63117cd4c660">
          <Field name="date_filled">2010-10-01T00:00:00Z</Field>
          <Field name="supply_days">15</Field>
          <Field name="filled_at_name">CVS</Field>
        </Model>
        <Model name="TestFill"  documentId="b1d83191-6edd-4aad-be4e-63117cd4c660">
          <Field name="date_filled">2010-10-16T00:00:00Z</Field>
          <Field name="supply_days">15</Field>
          <Field name="filled_at_name">CVS</Field>
        </Model>
      </Models>
    </Field>
  </Model>
</Models>

GET /records/{RECORD_ID}/shares/

List the shares of a record.

Short Name:

record_shares

Accessible By:

The owner of the record, or any admin app.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Returns:

200 OK with a list of shares.

Example Return Value:

<Shares record="123">
  <Share id="678" account="joeuser@example.com" />
  <Share id="789" pha="problems@apps.indivo.org" />

  ...

</Shares>

POST /records/{RECORD_ID}/shares/

Fully share a record with another account.

Short Name:

record_share_add

Accessible By:

The owner of the record, or any admin app.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
Formdata Parameters:
 
  • account_id – The email address of the recipient account. REQUIRED.
  • role_label – A label for the share, usually the relationship between the owner and the recipient (i.e. Guardian). OPTIONAL.
Returns:

200 Success, 400 Bad Request if account_id was not passed, or 404 Not Found if the passed account_id was invalid.

Example Return Value:

<ok/>

DELETE /records/{RECORD_ID}/shares/{OTHER_ACCOUNT_ID}

Undo a full record share with an account.

Short Name:

record_share_delete

Accessible By:

The owner of the record, or any admin app.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • OTHER_ACCOUNT_ID – The email identifier of the Indivo account to share with
Returns:

200 Success, or 404 Not Found if OTHER_ACCOUNT_ID is invalid.

Example Return Value:

<ok/>

POST /records/{RECORD_ID}/shares/{OTHER_ACCOUNT_ID}/delete

Undo a full record share with an account.

Short Name:

record_share_delete

Accessible By:

The owner of the record, or any admin app.

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • OTHER_ACCOUNT_ID – The email identifier of the Indivo account to share with
Returns:

200 Success, or 404 Not Found if OTHER_ACCOUNT_ID is invalid.

Example Return Value:

<ok/>

Deprecated since version 1.0: Use DELETE /records/{RECORD_ID}/shares/{OTHER_ACCOUNT_ID} instead.


GET /records/{RECORD_ID}/{MODEL_NAME}/

SMART-compatible alias for the generic list view: returns data_models serialized as SMART RDF.

Short Name:

smart_generic

Accessible By:

A user app with access to the record, or a principal in full control of the record

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • MODEL_NAME – The name of the SMART data_model to retrieve (i.e. problems). Options are defined by the SMART API.
Returns:

200 OK with SMART RDF/XML for all items matching MODEL_NAME belonging to the record.

Example Return Value:

<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
   xmlns:dcterms="http://purl.org/dc/terms/"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:sp="http://smartplatforms.org/terms#"
>
  <rdf:Description rdf:about="http://indivo.org/records/8f5fb6c3-e065-41db-9be2-0c1fa4a97e2c/problems/03426213-a50b-4df8-8585-e951fad99898">
    <sp:endDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2010-09-13T00:00:00</sp:endDate>
    <sp:problemName rdf:nodeID="_93f4ebe0-e5dd-4b45-80c1-a1b118871457"/>
    <sp:startDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2007-06-02T00:00:00</sp:startDate>
    <sp:belongsTo rdf:resource="http://indivo.org/records/8f5fb6c3-e065-41db-9be2-0c1fa4a97e2c"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Problem"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="_8e568a92-ab2c-4400-902f-5aa5685b0bdf">
    <dcterms:title>Hyperlipidemia</dcterms:title>
    <sp:code rdf:resource="http://purl.bioontology.org/ontology/SNOMEDCT/55822004"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#CodedValue"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://indivo.org/records/8f5fb6c3-e065-41db-9be2-0c1fa4a97e2c/problems/651c297e-364c-4df8-b22d-280fd805d1fa">
    <sp:endDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2010-09-13T00:00:00</sp:endDate>
    <sp:problemName rdf:nodeID="_ec4d16cf-1f3d-4463-9872-d4494cf44327"/>
    <sp:startDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2007-01-22T00:00:00</sp:startDate>
    <sp:belongsTo rdf:resource="http://indivo.org/records/8f5fb6c3-e065-41db-9be2-0c1fa4a97e2c"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Problem"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://purl.bioontology.org/ontology/SNOMEDCT/165084003">
    <dcterms:title>Clinical finding</dcterms:title>
    <sp:system>http://purl.bioontology.org/ontology/SNOMEDCT/</sp:system>
    <dcterms:identifier>165084003</dcterms:identifier>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms/codes/SNOMED"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://indivo.org/records/8f5fb6c3-e065-41db-9be2-0c1fa4a97e2c/problems/5fb3e8e1-e65f-42f3-bc52-cd4040dbeca8">
    <sp:endDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2010-09-13T00:00:00</sp:endDate>
    <sp:problemName rdf:nodeID="_46c3aa8e-bc89-4012-8aa2-f1aadee29aac"/>
    <sp:startDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2007-09-26T00:00:00</sp:startDate>
    <sp:belongsTo rdf:resource="http://indivo.org/records/8f5fb6c3-e065-41db-9be2-0c1fa4a97e2c"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Problem"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="_93f4ebe0-e5dd-4b45-80c1-a1b118871457">
    <dcterms:title>Chronic non-suppurative otitis media</dcterms:title>
    <sp:code rdf:resource="http://purl.bioontology.org/ontology/SNOMEDCT/21186006"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#CodedValue"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://purl.bioontology.org/ontology/SNOMEDCT/82271004">
    <dcterms:title>Injury of head</dcterms:title>
    <sp:system>http://purl.bioontology.org/ontology/SNOMEDCT/</sp:system>
    <dcterms:identifier>82271004</dcterms:identifier>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms/codes/SNOMED"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://indivo.org/records/8f5fb6c3-e065-41db-9be2-0c1fa4a97e2c/problems/8e474cad-c6b2-46d9-853d-10a02d84ed16">
    <sp:endDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2010-09-13T00:00:00</sp:endDate>
    <sp:problemName rdf:nodeID="_5602c2a0-875e-48ee-b6fb-350a32aeb39c"/>
    <sp:startDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2007-01-28T00:00:00</sp:startDate>
    <sp:belongsTo rdf:resource="http://indivo.org/records/8f5fb6c3-e065-41db-9be2-0c1fa4a97e2c"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Problem"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://indivo.org/records/8f5fb6c3-e065-41db-9be2-0c1fa4a97e2c">
    <rdf:type rdf:resource="http://smartplatforms.org/terms#MedicalRecord"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://purl.bioontology.org/ontology/SNOMEDCT/399963005">
    <dcterms:title>Abrasion or friction burn of other, multiple, and unspecified sites, without mention of infection</dcterms:title>
    <sp:system>http://purl.bioontology.org/ontology/SNOMEDCT/</sp:system>
    <dcterms:identifier>399963005</dcterms:identifier>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms/codes/SNOMED"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://purl.bioontology.org/ontology/SNOMEDCT/21186006">
    <dcterms:title>Chronic non-suppurative otitis media</dcterms:title>
    <sp:system>http://purl.bioontology.org/ontology/SNOMEDCT/</sp:system>
    <dcterms:identifier>21186006</dcterms:identifier>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms/codes/SNOMED"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://indivo.org/records/8f5fb6c3-e065-41db-9be2-0c1fa4a97e2c/problems/7c885267-4a2b-49e8-bee3-c3aaef1512e3">
    <sp:endDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2010-09-13T00:00:00</sp:endDate>
    <sp:problemName rdf:nodeID="_8e568a92-ab2c-4400-902f-5aa5685b0bdf"/>
    <sp:startDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2004-09-20T00:00:00</sp:startDate>
    <sp:belongsTo rdf:resource="http://indivo.org/records/8f5fb6c3-e065-41db-9be2-0c1fa4a97e2c"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Problem"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="_46c3aa8e-bc89-4012-8aa2-f1aadee29aac">
    <dcterms:title>Acute bronchitis</dcterms:title>
    <sp:code rdf:resource="http://purl.bioontology.org/ontology/SNOMEDCT/10509002"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#CodedValue"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://purl.bioontology.org/ontology/SNOMEDCT/34649000">
    <dcterms:title>Closed fracture of malar AND/OR maxillary bones</dcterms:title>
    <sp:system>http://purl.bioontology.org/ontology/SNOMEDCT/</sp:system>
    <dcterms:identifier>34649000</dcterms:identifier>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms/codes/SNOMED"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="_5602c2a0-875e-48ee-b6fb-350a32aeb39c">
    <dcterms:title>Closed fracture of malar AND/OR maxillary bones</dcterms:title>
    <sp:code rdf:resource="http://purl.bioontology.org/ontology/SNOMEDCT/34649000"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#CodedValue"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://indivo.org/records/8f5fb6c3-e065-41db-9be2-0c1fa4a97e2c/problems/c9708111-36d1-4255-84bc-6c4819864e00">
    <sp:endDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2010-09-13T00:00:00</sp:endDate>
    <sp:problemName rdf:nodeID="_f60a3485-ba2c-4f11-9e73-2af6b0621904"/>
    <sp:startDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2007-01-22T00:00:00</sp:startDate>
    <sp:belongsTo rdf:resource="http://indivo.org/records/8f5fb6c3-e065-41db-9be2-0c1fa4a97e2c"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Problem"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="_f0fde196-8295-4cd6-b2ee-b08e39832e63">
    <dcterms:title>Clinical finding</dcterms:title>
    <sp:code rdf:resource="http://purl.bioontology.org/ontology/SNOMEDCT/165084003"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#CodedValue"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="_f60a3485-ba2c-4f11-9e73-2af6b0621904">
    <dcterms:title>Injury of head</dcterms:title>
    <sp:code rdf:resource="http://purl.bioontology.org/ontology/SNOMEDCT/82271004"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#CodedValue"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="_ec4d16cf-1f3d-4463-9872-d4494cf44327">
    <dcterms:title>Abrasion or friction burn of other, multiple, and unspecified sites, without mention of infection</dcterms:title>
    <sp:code rdf:resource="http://purl.bioontology.org/ontology/SNOMEDCT/399963005"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#CodedValue"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://purl.bioontology.org/ontology/SNOMEDCT/10509002">
    <dcterms:title>Acute bronchitis</dcterms:title>
    <sp:system>http://purl.bioontology.org/ontology/SNOMEDCT/</sp:system>
    <dcterms:identifier>10509002</dcterms:identifier>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms/codes/SNOMED"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://indivo.org/records/8f5fb6c3-e065-41db-9be2-0c1fa4a97e2c/problems/bbd612b9-3a47-4d62-b913-5cab6d8cc8cf">
    <sp:endDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2010-09-13T00:00:00</sp:endDate>
    <sp:problemName rdf:nodeID="_f0fde196-8295-4cd6-b2ee-b08e39832e63"/>
    <sp:startDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2004-09-20T00:00:00</sp:startDate>
    <sp:belongsTo rdf:resource="http://indivo.org/records/8f5fb6c3-e065-41db-9be2-0c1fa4a97e2c"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Problem"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://purl.bioontology.org/ontology/SNOMEDCT/55822004">
    <dcterms:title>Hyperlipidemia</dcterms:title>
    <sp:system>http://purl.bioontology.org/ontology/SNOMEDCT/</sp:system>
    <dcterms:identifier>55822004</dcterms:identifier>
    <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
    <rdf:type rdf:resource="http://smartplatforms.org/terms/codes/SNOMED"/>
  </rdf:Description>
</rdf:RDF>

New in version 2.0.0.


GET /records/{RECORD_ID}/{MODEL_NAME}/{MODEL_ID}

Retrieve a specific instance of a SMART model.

Short Name:

smart_generic_instance

Accessible By:

A user app with access to the record, or a principal in full control of the record

URL Parameters:
  • RECORD_ID – The id string associated with the Indivo record
  • MODEL_ID – The id of the SMART data_model to retrieve
  • MODEL_NAME

    The name of the SMART data model to retrieve (i.e. problems). Options are defined by the SMART API.

Returns:

200 OK with SMART RDF/XML for the item matching MODEL_NAME and MODEL_ID belonging to the record.

Example Return Value:

<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
xmlns:dcterms="http://purl.org/dc/terms/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:sp="http://smartplatforms.org/terms#"
xmlns:v="http://www.w3.org/2006/vcard/ns#"
>
    <rdf:Description rdf:about="http://smartplatforms.org/terms/codes/LabResultInterpretation#normal">
        <sp:system>http://smartplatforms.org/terms/codes/LabResultInterpretation#</sp:system>
        <rdf:type rdf:resource="http://smartplatforms.org/terms/codes/LabResultInterpretation"/>
        <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
        <dcterms:title>Normal</dcterms:title>
        <dcterms:identifier>normal</dcterms:identifier>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_16d04766-09ab-4a14-847b-c2cc2aa90544">
        <sp:unit>mEq/L</sp:unit>
        <rdf:type rdf:resource="http://smartplatforms.org/terms#ValueAndUnit"/>
        <sp:value>120</sp:value>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_dc97d85d-c1fd-4996-980a-f2b37195c00a">
        <rdf:type rdf:resource="http://smartplatforms.org/terms#CodedValue"/>
        <dcterms:title>Serum Sodium</dcterms:title>
        <sp:code rdf:resource="http://purl.bioontology.org/ontology/LNC/2951-2"/>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_83b7740f-b37b-40be-8d78-99e80de40790">
        <sp:person rdf:nodeID="_fb3f9793-c486-40af-8be1-54b8105355c9"/>
        <sp:role>Lab Specialist</sp:role>
        <sp:organization rdf:nodeID="_679ad47e-94ca-4dc6-96ed-168ca03610b8"/>
        <rdf:type rdf:resource="http://smartplatforms.org/terms#Participant"/>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_372b5eab-eb4d-4d1f-b131-f6f7a8d82d7f">
        <sp:maximum rdf:nodeID="_ce2e6286-ba4a-4c96-b686-3896189e468e"/>
        <sp:minimum rdf:nodeID="_ce2e6286-ba4a-4c96-b686-3896189e468e"/>
        <rdf:type rdf:resource="http://smartplatforms.org/terms#ValueRange"/>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_ce2e6286-ba4a-4c96-b686-3896189e468e">
        <sp:unit>mEq/L</sp:unit>
        <rdf:type rdf:resource="http://smartplatforms.org/terms#ValueAndUnit"/>
        <sp:value>135</sp:value>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_716ae160-84dd-4f9e-b035-bd3b26b625dd">
        <sp:unit>mEq/L</sp:unit>
        <rdf:type rdf:resource="http://smartplatforms.org/terms#ValueAndUnit"/>
        <sp:value>140</sp:value>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_6fa51a50-1bdc-43b9-8be3-cbe828fab220">
        <sp:normalRange rdf:nodeID="_372b5eab-eb4d-4d1f-b131-f6f7a8d82d7f"/>
        <sp:nonCriticalRange rdf:nodeID="_e60921df-5c19-4a7f-b0c3-acaf46ff81d2"/>
        <sp:valueAndUnit rdf:nodeID="_716ae160-84dd-4f9e-b035-bd3b26b625dd"/>
        <rdf:type rdf:resource="http://smartplatforms.org/terms#QuantitativeResult"/>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_7e185aa4-7394-4cce-b107-d3a2ef01318c">
        <rdf:type rdf:resource="http://smartplatforms.org/terms#CodedValue"/>
        <dcterms:title>Final results: complete and verified</dcterms:title>
        <sp:code rdf:resource="http://smartplatforms.org/terms/codes/LabStatus#final"/>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_c2141794-697e-4917-8cb2-eefc7d612f1a">
        <rdf:type rdf:resource="http://smartplatforms.org/terms#CodedValue"/>
        <dcterms:title>Normal</dcterms:title>
        <sp:code rdf:resource="http://smartplatforms.org/terms/codes/LabResultInterpretation#normal"/>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_679ad47e-94ca-4dc6-96ed-168ca03610b8">
        <v:organization-name>City Lab</v:organization-name>
        <rdf:type rdf:resource="http://smartplatforms.org/terms#Organization"/>
        <v:adr rdf:nodeID="_660a15ce-8650-4c91-ad1d-cdee3015ea97"/>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_fb3f9793-c486-40af-8be1-54b8105355c9">
        <rdf:type rdf:resource="http://smartplatforms.org/terms#Person"/>
        <v:n rdf:nodeID="_0ac2cdea-f2b3-44c6-b703-284a757111d8"/>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_660a15ce-8650-4c91-ad1d-cdee3015ea97">
        <v:postal-code>11111</v:postal-code>
        <v:street-address>20 Elm St</v:street-address>
        <v:region>MA</v:region>
        <rdf:type rdf:resource="http://www.w3.org/2006/vcard/ns#Address"/>
        <v:locality>Springfield</v:locality>
        <v:country>USA</v:country>
    </rdf:Description>
    <rdf:Description rdf:about="http://purl.bioontology.org/ontology/LNC/2951-2">
        <sp:system>http://purl.bioontology.org/ontology/LNC/</sp:system>
        <rdf:type rdf:resource="http://smartplatforms.org/terms/codes/LOINC"/>
        <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
        <dcterms:title>Serum Sodium</dcterms:title>
        <dcterms:identifier>2951-2</dcterms:identifier>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_d8aacfc9-e1f0-4702-8f8e-c1846c5c214a">
        <sp:unit>mEq/L</sp:unit>
        <rdf:type rdf:resource="http://smartplatforms.org/terms#ValueAndUnit"/>
        <sp:value>145</sp:value>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_0ac2cdea-f2b3-44c6-b703-284a757111d8">
        <v:family-name>Finnialispi</v:family-name>
        <rdf:type rdf:resource="http://www.w3.org/2006/vcard/ns#Name"/>
        <v:given-name>Tad</v:given-name>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_e60921df-5c19-4a7f-b0c3-acaf46ff81d2">
        <sp:maximum rdf:nodeID="_16d04766-09ab-4a14-847b-c2cc2aa90544"/>
        <sp:minimum rdf:nodeID="_16d04766-09ab-4a14-847b-c2cc2aa90544"/>
        <rdf:type rdf:resource="http://smartplatforms.org/terms#ValueRange"/>
    </rdf:Description>
    <rdf:Description rdf:about="http://indivo.org/records/f48030f2-5ed6-4fc0-97b2-a925d7d88d94/lab_results/d2ed9b5e-3eab-4cae-a35c-f5d8ce4c9fff">
        <sp:abnormalInterpretation rdf:nodeID="_c2141794-697e-4917-8cb2-eefc7d612f1a"/>
        <sp:notes>Blood sample appears to have hemolyzed</sp:notes>
        <sp:belongsTo rdf:resource="http://indivo.org/records/f48030f2-5ed6-4fc0-97b2-a925d7d88d94"/>
        <rdf:type rdf:resource="http://smartplatforms.org/terms#LabResult"/>
        <sp:quantitativeResult rdf:nodeID="_6fa51a50-1bdc-43b9-8be3-cbe828fab220"/>
        <sp:labName rdf:nodeID="_dc97d85d-c1fd-4996-980a-f2b37195c00a"/>
        <sp:accessionNumber>AC09205823577</sp:accessionNumber>
        <sp:labStatus rdf:nodeID="_7e185aa4-7394-4cce-b107-d3a2ef01318c"/>
        <sp:specimenCollected rdf:nodeID="_0e2687ff-7b32-430e-b04e-d21f334918e4"/>
    </rdf:Description>
    <rdf:Description rdf:about="http://smartplatforms.org/terms/codes/LabStatus#final">
        <sp:system>http://smartplatforms.org/terms/codes/LabStatus#</sp:system>
        <rdf:type rdf:resource="http://smartplatforms.org/terms#Code"/>
        <rdf:type rdf:resource="http://smartplatforms.org/terms/codes/LabResultStatus"/>
        <dcterms:title>Final results: complete and verified</dcterms:title>
        <dcterms:identifier>final</dcterms:identifier>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_0e2687ff-7b32-430e-b04e-d21f334918e4">
        <sp:startDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2010-12-27T17:00:00</sp:startDate>
        <sp:participant rdf:nodeID="_83b7740f-b37b-40be-8d78-99e80de40790"/>
        <rdf:type rdf:resource="http://smartplatforms.org/terms#Attribution"/>
    </rdf:Description>
    <rdf:Description rdf:nodeID="_b5de9335-f855-413c-8544-c80982421244">
        <sp:unit>mEq/L</sp:unit>
        <rdf:type rdf:resource="http://smartplatforms.org/terms#ValueAndUnit"/>
        <sp:value>155</sp:value>
    </rdf:Description>
</rdf:RDF>

New in version 2.1.0.


GET /version

Return the current version of Indivo.

Short Name:get_version
Accessible By:Any principal in Indivo.
Returns:200 OK with the current version of Indivo.

Example Return Value:

1.0.0.0