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>
- GET /accounts/search¶
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:
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:
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:
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: - status – The account or document status to filter by
- limit – See Query Operators
- order_by – See Query Operators
- offset – See Query Operators
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: - status – The account or document status to filter by
- order_by – See Query Operators
- limit – See Query Operators
- offset – See Query Operators
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:
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:
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: - status – The account or document status to filter by
- order_by – See Query Operators
- type – The Indivo document type to filter by
- limit – See Query Operators
- offset – See Query Operators
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:
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: - write – true 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:
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: 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: - status – The account or document status to filter by
- {FIELD} – See Query Operators, Valid Query Fields
- date_group – See Query Operators
- group_by – See Query Operators
- order_by – See Query Operators
- aggregate_by – See Query Operators
- date_range – See Query Operators
- limit – See Query Operators
- offset – See Query Operators
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: - status – The account or document status to filter by
- {FIELD} – See Query Operators, Valid Query Fields
- date_group – See Query Operators
- group_by – See Query Operators
- order_by – See Query Operators
- aggregate_by – See Query Operators
- date_range – See Query Operators
- limit – See Query Operators
- offset – See Query Operators
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: - status – The account or document status to filter by
- {FIELD} – See Query Operators, Valid Query Fields
- date_group – See Query Operators
- group_by – See Query Operators
- order_by – See Query Operators
- aggregate_by – See Query Operators
- date_range – See Query Operators
- limit – See Query Operators
- offset – See Query Operators
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: - status – The account or document status to filter by
- {FIELD} – See Query Operators, Valid Query Fields
- date_group – See Query Operators
- group_by – See Query Operators
- order_by – See Query Operators
- aggregate_by – See Query Operators
- date_range – See Query Operators
- limit – See Query Operators
- offset – See Query Operators
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: - status – The account or document status to filter by
- {FIELD} – See Query Operators, Valid Query Fields
- date_group – See Query Operators
- group_by – See Query Operators
- order_by – See Query Operators
- aggregate_by – See Query Operators
- date_range – See Query Operators
- limit – See Query Operators
- offset – See Query Operators
- response_format – See Response Formats
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>
- GET /records/search¶
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:
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: - status – The account or document status to filter by
- order_by – See Query Operators
- type – The Indivo document type to filter by
- limit – See Query Operators
- offset – See Query Operators
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: - limit – See Query Operators
- order_by – See Query Operators
- offset – See Query Operators
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: - limit – See Query Operators
- order_by – See Query Operators
- offset – See Query Operators
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: - limit – See Query Operators
- order_by – See Query Operators
- offset – See Query Operators
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: - status – The account or document status to filter by
- {FIELD} – See Query Operators, Querying the Audit System
- date_group – See Query Operators
- group_by – See Query Operators
- order_by – See Query Operators
- aggregate_by – See Query Operators
- date_range – See Query Operators
- limit – See Query Operators
- offset – See Query Operators
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.
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>
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>
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/>
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: 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:
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: - status – The account or document status to filter by
- order_by – See Query Operators
- type – The Indivo document type to filter by
- limit – See Query Operators
- offset – See Query Operators
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/>
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:
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:
Example Return Value:
<ok/>
Todo
The API Call ‘PUT /records/{0}/documents/{1}/meta’ is not yet implemented.
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/>
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: - status – The account or document status to filter by.
- limit – See Query Operators.
- order_by – See Query Operators.
- offset – See Query Operators.
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:
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: - status – The account or document status to filter by
- {FIELD} – See Query Operators, Valid Query Fields
- date_group – See Query Operators
- group_by – See Query Operators
- order_by – See Query Operators
- aggregate_by – See Query Operators
- date_range – See Query Operators
- limit – See Query Operators
- offset – See Query Operators
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: - status – The account or document status to filter by
- {FIELD} – See Query Operators, Valid Query Fields
- date_group – See Query Operators
- group_by – See Query Operators
- order_by – See Query Operators
- aggregate_by – See Query Operators
- date_range – See Query Operators
- limit – See Query Operators
- offset – See Query Operators
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: - status – The account or document status to filter by
- {FIELD} – See Query Operators, Valid Query Fields
- date_group – See Query Operators
- group_by – See Query Operators
- order_by – See Query Operators
- aggregate_by – See Query Operators
- date_range – See Query Operators
- limit – See Query Operators
- offset – See Query Operators
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: - status – The account or document status to filter by
- {FIELD} – See Query Operators, Valid Query Fields
- date_group – See Query Operators
- group_by – See Query Operators
- order_by – See Query Operators
- aggregate_by – See Query Operators
- date_range – See Query Operators
- limit – See Query Operators
- offset – See Query Operators
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: - status – The account or document status to filter by
- {FIELD} – See Query Operators, Valid Query Fields
- date_group – See Query Operators
- group_by – See Query Operators
- order_by – See Query Operators
- aggregate_by – See Query Operators
- date_range – See Query Operators
- limit – See Query Operators
- offset – See Query Operators
- response_format – See Response Formats
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>
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>
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/>
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/>
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