Prime Data Ingestion API v1
The Prime Data Ingestion (PDI) service offers APIs designed specifically for the ingestion and processing of a stream of data records that represent clinical and financial resources. Given that the PDI service’s record type schemas closely align with the Oracle Health Data Intelligence core resource data models, little to no structural transformation is required during processing of the contributed data. Data contributors must be able to produce records that conform to the JSON schemas supported by the PDI service.
The PDI service’s processing consumes contributed records as inputs and produces partition records as outputs. Each partition record contains a core resource data model (for example, Condition, Immunization, Observation). The Longitudinal Record service and other Health Data Intelligence products and services then consume these partition records.
Contribute Data
Complete the following steps to create and configure a PDI data source to contribute data records:- Create Data Source: First create a data source. A data source is used to organize the contributed data records in the PDI service and generally represents the source from which records originate.
- Create Record Stream: In addition to a data source, create record streams in the data source. A record stream is used to further organize the contributed data records in the data source, as well as define what type of records are allowed to be contributed into the stream. A data source may have multiple record streams.
- Identify Record Type Schema: Identify a specific record type schema, which the contributed resource records must conform to. The available JSON schemas for each record type (the resources) can be retrieved from the PDI service. When contributing a data record, the specified record type schema must align with the record type defined on the specified record stream.
- Contribute Records: A data source, record stream, and record type schema must be specified to upload a data source. Note that data records can be contributed without a processing stream being configured and started in the PDI service.
Process Data
Complete the following steps to create and configure a PDI data partition and processing stream to process contributed data records:- Create Data Partition: First create a target data partition. A data partition is used to organize the output data records, or partition records, produced by the PDI service’s processing. A data source may have multiple child data partitions, supporting a use case where live and validation environments are wanted. Note that consuming services and products (for example, the Longitudinal Record service) specify a data partition to identify the partition records to extract and consume.
- Create Data Set: Create a data set in the data partition. A data set is used to organize the partition records produced by the PDI service’s processing. Additionally, most processing configuration is defined at the data set level, including the following examples:
- The record stream that contains the input contributed records to be processed
- How processing is to build related resource references
- Whether to perform Clinical Document Architecture (CDA) resource extractions
- Configure Data Partition Processing: Currently, you cannot perform this step using the API. A Cerner associate completes this step.
URL: https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1
Processing Streams
Operations about Processing Streams
Create a Processing Stream
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = HTTParty.post('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/107f7f77-4870-5f63-b162-6b563ec20e9d/data-partitions/6c7f71a6-2134-570a-a632-dd01bf78bc65/processing-streams', headers: headers, body: {"description":"The processing steam for patient encounters.","configuration":{"proprietaryToStandardCodeMappingConfiguration":{"consumerId":"51c0ac09-0dfe-4e6d-ac5f-0f372226d668","version":"12345"},"dataSetConfigurations":[{"dataSetId":"b2569893-4601-4487-8239-067168e0d286","recordStreamId":"89343e-ec28-4694-8b93-31ba18b2a90f","resourceReferenceConfigurations":[{"partitionRecordTypeId":"PATIENT","dataPartitionId":"adf83a92-f21c-4103-9bc7-4f7e9deef720","dataSetId":"4021305e-54e7-4e31-a7fb-1bfd368d5bbb"},{"partitionRecordTypeId":"PATIENT_ENCOUNTER","dataPartitionId":"adf83a92-f21c-4103-9bc7-4f7e9deef720","dataSetId":"de3ca31f-d2ac-4143-8f12-dfe87a712683"}]},{"dataSetId":"aa5c0209-3aa3-4d1e-89b5-08455892a2fa","recordStreamId":"33c0b1f7-8c06-435d-9535-d85576371d1e","resourceReferenceConfigurations":[{"partitionRecordTypeId":"PATIENT","dataPartitionId":"adf83a92-f21c-4103-9bc7-4f7e9deef720","dataSetId":"4021305e-54e7-4e31-a7fb-1bfd368d5bbb"}],"cdaResourceExtraction":"true"}]}}.to_json )
print JSON.pretty_generate(result)
# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/107f7f77-4870-5f63-b162-6b563ec20e9d/data-partitions/6c7f71a6-2134-570a-a632-dd01bf78bc65/processing-streams \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"description":"The processing steam for patient encounters.","configuration":{"proprietaryToStandardCodeMappingConfiguration":{"consumerId":"51c0ac09-0dfe-4e6d-ac5f-0f372226d668","version":"12345"},"dataSetConfigurations":[{"dataSetId":"b2569893-4601-4487-8239-067168e0d286","recordStreamId":"89343e-ec28-4694-8b93-31ba18b2a90f","resourceReferenceConfigurations":[{"partitionRecordTypeId":"PATIENT","dataPartitionId":"adf83a92-f21c-4103-9bc7-4f7e9deef720","dataSetId":"4021305e-54e7-4e31-a7fb-1bfd368d5bbb"},{"partitionRecordTypeId":"PATIENT_ENCOUNTER","dataPartitionId":"adf83a92-f21c-4103-9bc7-4f7e9deef720","dataSetId":"de3ca31f-d2ac-4143-8f12-dfe87a712683"}]},{"dataSetId":"aa5c0209-3aa3-4d1e-89b5-08455892a2fa","recordStreamId":"33c0b1f7-8c06-435d-9535-d85576371d1e","resourceReferenceConfigurations":[{"partitionRecordTypeId":"PATIENT","dataPartitionId":"adf83a92-f21c-4103-9bc7-4f7e9deef720","dataSetId":"4021305e-54e7-4e31-a7fb-1bfd368d5bbb"}],"cdaResourceExtraction":"true"}]}}
Example response
{
"id": "2fb52376-cadd-3a98-8181-61cb77fdc3a3",
"description": "The processing steam for patient encounters.",
"status": "PURGED",
"createdAt": "2020-05-03T11:32:57.041Z",
"startedAt": "2020-05-04T10:12:34.025Z",
"stoppedAt": "2020-05-05T09:23:57.041Z",
"purgedAt": "2020-05-06T11:31:56.042Z",
"configuration": {
"updatedAt": "2020-05-03T11:32:57.041Z",
"proprietaryToStandardCodeMappingConfiguration": {
"consumerId": "04cd4afa-4fad-581a-a604-6d2640b9cfd5",
"version": "04cd4afa-4fad-581a-a604-6d2640b9cfd5"
},
"dataSetConfigurations": [
{
"resourceReferences": [
{}
]
}
]
}
}
POST /data-sources/{dataSourceId}/data-partitions/{dataPartitionId}/processing-streams
This endpoint creates a processing stream for a data partition.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The unique ID of the data source. | - |
dataPartitionId | path | string | true | N/A | The unique ID of the data partition. | - |
body | body | postDataSourcesDatasourceidDataPartitionsDatapartitionidProcessingStreams | true | N/A | No description | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | PrimeDataIngestionPublicApi_Entities_V1_ProcessingStream |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
Retrieve a List of Processing Streams
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/{dataSourceId}/data-partitions/{dataPartitionId}/processing-streams', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/{dataSourceId}/data-partitions/{dataPartitionId}/processing-streams \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"items": [
{
"id": "2fb52376-cadd-3a98-8181-61cb77fdc3a3",
"description": "The processing steam for patient encounters.",
"status": "PURGED",
"createdAt": "2020-05-03T11:32:57.041Z",
"startedAt": "2020-05-04T10:12:34.025Z",
"stoppedAt": "2020-05-05T09:23:57.041Z",
"purgedAt": "2020-05-06T11:31:56.042Z",
"configuration": {
"updatedAt": "2020-05-03T11:32:57.041Z",
"proprietaryToStandardCodeMappingConfiguration": {
"consumerId": "04cd4afa-4fad-581a-a604-6d2640b9cfd5",
"version": "04cd4afa-4fad-581a-a604-6d2640b9cfd5"
},
"dataSetConfigurations": [
{
"resourceReferences": [
{}
]
}
]
}
}
],
"totalResults": 1,
"firstLink": "https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/data-partitions/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/processing-streams?offset=0&limit=20",
"lastLink": "https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/data-partitions/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/processing-streams?offset=0&limit=20"
}
GET /data-sources/{dataSourceId}/data-partitions/{dataPartitionId}/processing-streams
This endpoint retrieves a list of all of the available processing streams for a data partition.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The unique ID of the data source. | - |
dataPartitionId | path | string | true | N/A | The unique ID of the data partition. | - |
status | query | array[string] | false | N/A | The current status of the processing stream. | NOT_STARTED, STARTED, STOPPED, RUNNING, PURGED |
orderBy | query | array[string] | false | N/A | The parameter by which processing streams are ordered. | createdAt, -createdAt, startedAt, -startedAt, stoppedAt, -stoppedAt |
offset | query | integer(int32) | false | 0 | The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. | - |
limit | query | integer(int32) | false | 20 | The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The list of processing streams. | ProcessingStreams |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
Retrieve a Processing Stream
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/107f7f77-4870-5f63-b162-6b563ec20e9d/data-partitions/6c7f71a6-2134-570a-a632-dd01bf78bc65/processing-streams/2fb52376-cadd-3a98-8181-61cb77fdc3a3', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/107f7f77-4870-5f63-b162-6b563ec20e9d/data-partitions/6c7f71a6-2134-570a-a632-dd01bf78bc65/processing-streams/2fb52376-cadd-3a98-8181-61cb77fdc3a3 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"id": "2fb52376-cadd-3a98-8181-61cb77fdc3a3",
"description": "The processing steam for patient encounters.",
"status": "PURGED",
"createdAt": "2020-05-03T11:32:57.041Z",
"startedAt": "2020-05-04T10:12:34.025Z",
"stoppedAt": "2020-05-05T09:23:57.041Z",
"purgedAt": "2020-05-06T11:31:56.042Z",
"configuration": {
"updatedAt": "2020-05-03T11:32:57.041Z",
"proprietaryToStandardCodeMappingConfiguration": {
"consumerId": "04cd4afa-4fad-581a-a604-6d2640b9cfd5",
"version": "04cd4afa-4fad-581a-a604-6d2640b9cfd5"
},
"dataSetConfigurations": [
{
"resourceReferences": [
{}
]
}
]
}
}
GET /data-sources/{dataSourceId}/data-partitions/{dataPartitionId}/processing-streams/{processingStreamId}
This endpoint retrieves a processing stream for a data partition.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The unique ID of the data source. | - |
dataPartitionId | path | string | true | N/A | The unique ID of the data partition. | - |
processingStreamId | path | string | true | N/A | The unique ID of the processing stream. | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | PrimeDataIngestionPublicApi_Entities_V1_ProcessingStream |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
Update a Processing Stream
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = HTTParty.put('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/{dataSourceId}/data-partitions/{dataPartitionId}/processing-streams/a426149a-c19c-413a-8d9f-d7988aec4a91', headers: headers, body: {"description":"The processing steam for patient encounters.","configuration":{"proprietaryToStandardCodeMappingConfiguration":{"consumerId":"51c0ac09-0dfe-4e6d-ac5f-0f372226d668","version":"12345"},"dataSetConfigurations":[{"dataSetId":"b2569893-4601-4487-8239-067168e0d286","recordStreamId":"89343e-ec28-4694-8b93-31ba18b2a90f","resourceReferenceConfigurations":[{"partitionRecordTypeId":"PATIENT","dataPartitionId":"adf83a92-f21c-4103-9bc7-4f7e9deef720","dataSetId":"4021305e-54e7-4e31-a7fb-1bfd368d5bbb"},{"partitionRecordTypeId":"PATIENT_ENCOUNTER","dataPartitionId":"adf83a92-f21c-4103-9bc7-4f7e9deef720","dataSetId":"de3ca31f-d2ac-4143-8f12-dfe87a712683"}]},{"dataSetId":"aa5c0209-3aa3-4d1e-89b5-08455892a2fa","recordStreamId":"33c0b1f7-8c06-435d-9535-d85576371d1e","resourceReferenceConfigurations":[{"partitionRecordTypeId":"PATIENT","dataPartitionId":"adf83a92-f21c-4103-9bc7-4f7e9deef720","dataSetId":"4021305e-54e7-4e31-a7fb-1bfd368d5bbb"}],"cdaResourceExtraction":"true"}]}}.to_json )
print JSON.pretty_generate(result)
# You can also use wget
curl -X PUT https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/{dataSourceId}/data-partitions/{dataPartitionId}/processing-streams/a426149a-c19c-413a-8d9f-d7988aec4a91 \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"description":"The processing steam for patient encounters.","configuration":{"proprietaryToStandardCodeMappingConfiguration":{"consumerId":"51c0ac09-0dfe-4e6d-ac5f-0f372226d668","version":"12345"},"dataSetConfigurations":[{"dataSetId":"b2569893-4601-4487-8239-067168e0d286","recordStreamId":"89343e-ec28-4694-8b93-31ba18b2a90f","resourceReferenceConfigurations":[{"partitionRecordTypeId":"PATIENT","dataPartitionId":"adf83a92-f21c-4103-9bc7-4f7e9deef720","dataSetId":"4021305e-54e7-4e31-a7fb-1bfd368d5bbb"},{"partitionRecordTypeId":"PATIENT_ENCOUNTER","dataPartitionId":"adf83a92-f21c-4103-9bc7-4f7e9deef720","dataSetId":"de3ca31f-d2ac-4143-8f12-dfe87a712683"}]},{"dataSetId":"aa5c0209-3aa3-4d1e-89b5-08455892a2fa","recordStreamId":"33c0b1f7-8c06-435d-9535-d85576371d1e","resourceReferenceConfigurations":[{"partitionRecordTypeId":"PATIENT","dataPartitionId":"adf83a92-f21c-4103-9bc7-4f7e9deef720","dataSetId":"4021305e-54e7-4e31-a7fb-1bfd368d5bbb"}],"cdaResourceExtraction":"true"}]}}
PUT /data-sources/{dataSourceId}/data-partitions/{dataPartitionId}/processing-streams/{processingStreamId}
This endpoint updates a processing stream for a data partition.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The unique ID of the data source. | - |
dataPartitionId | path | string | true | N/A | The unique ID of the data partition. | - |
processingStreamId | path | string | true | N/A | The unique ID of the processing stream. | - |
body | body | putDataSourcesDatasourceidDataPartitionsDatapartitionidProcessingStreams | true | N/A | No description | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
Record Types
A record type represents a resource (for example, Condition, Immunization, or Encounter) supported by the PDI service. Each data record contributed to the PDI service is tagged with the record type it represents. The PDI service’s record types closely align with Health Data Intelligence core resource data models.
Retrieve a List of Record Types
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/record-types', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/record-types \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"items": [
{
"id": "PATIENT_DOCUMENT_REFERENCE",
"name": "Patient Document Reference"
}
],
"totalResults": 1,
"firstLink": "https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/record-types?offset=0&limit=20",
"lastLink": "https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/record-types?offset=0&limit=20"
}
GET /record-types
Retrieves the list of supported record types.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
offset | query | integer(int32) | false | 0 | The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. | - |
limit | query | integer(int32) | false | 20 | The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The list of record types. | RecordTypes |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
Retrieve a Single Record Type
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/record-types/PATIENT_DOCUMENT_REFERENCE', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/record-types/PATIENT_DOCUMENT_REFERENCE \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"id": "PATIENT_DOCUMENT_REFERENCE",
"name": "Patient Document Reference"
}
GET /record-types/{recordTypeId}
Retrieves a specific record type by ID.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
recordTypeId | path | string | true | N/A | The unique ID of the record type. | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The record type. | PrimeDataIngestionPublicApi_Entities_V1_RecordType |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
Record Type Schemas
Each record type has one to many schema versions supported by the PDI service. A record type schema represents the structure to which a contributed data record must conform. Currently, the PDI service supports only JSON contributed records; therefore, schemas are represented as JSON schemas. A record type schema must be specified when a data record is uploaded to the PDI service.
Retrieve a List of Record Type Schemas
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/record-types/PATIENT_DOCUMENT_REFERENCE/schemas', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/record-types/PATIENT_DOCUMENT_REFERENCE/schemas \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"items": [
{
"id": "1.0"
}
],
"totalResults": 1,
"firstLink": "https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/record-types-schemas/PATIENT_DOCUMENT_REFERENCE/schemas?offset=0&limit=20",
"lastLink": "https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/record-types-schemas/PATIENT_DOCUMENT_REFERENCE/schemas?offset=0&limit=20"
}
GET /record-types/{recordTypeId}/schemas
Retrieves the collection of schemas for a specific record type.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
recordTypeId | path | string | true | N/A | The unique ID of the record type. | - |
offset | query | integer(int32) | false | 0 | The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. | - |
limit | query | integer(int32) | false | 20 | The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The collection of schemas. | RecordTypeSchemaItems |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
Retrieve a Single Record Type Schema
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/record-types/PATIENT_DOCUMENT_REFERENCE/schemas/1.0', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/record-types/PATIENT_DOCUMENT_REFERENCE/schemas/1.0 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"id": "1.0",
"schema": "<Base64-Encoded String>"
}
GET /record-types/{recordTypeId}/schemas/{schemaId}
Retrieves a specific record type schema instance.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
schemaId | path | string | true | N/A | The ID of a specific schema of a record type. | - |
recordTypeId | path | string | true | N/A | The unique ID of the record type. | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The schema instance. | PrimeDataIngestionPublicApi_Entities_V1_RecordTypeSchema |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
Data Sources
A data source represents a bucket in the PDI service into which contributed data records are loaded. Each data source is owned by the tenant that creates it. A data source must be specified when a data record is uploaded to the PDI service. This means that a data source must first be created in the PDI service before any data records can be uploaded. Typically, a data source represents a source system that contributes records, for example, an electronic health record (EHR), payer, or billing system.
Create a Data Source
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = HTTParty.post('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources', headers: headers, body: {"name":"data_source_1","description":"Data source description","multiContributor":"FALSE","tags":[{"key":"tags","value":"EMR"}]}.to_json )
print JSON.pretty_generate(result)
# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"name":"data_source_1","description":"Data source description","multiContributor":"FALSE","tags":[{"key":"tags","value":"EMR"}]}
POST /data-sources
Creates a prime data source that is owned by the tenant. A data source’s multiContributor settings cannot be modified after it is created.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
body | body | postDataSources | true | N/A | No description | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Create a Data Source | PrimeDataIngestionPublicApi_Entities_V1_DataSource |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
Retrieve a List of Data Sources
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"items": [
{
"id": "f3bc39e9-3efc-4709-95f3-5c153fa8bec4",
"name": "Cerner Demo",
"multiContributor": "FALSE",
"description": "Cerner - Demo EMR",
"tags": {
"key": "tags",
"value": "EMR"
},
"createdAt": "2020-01-20T02:00:00.000Z",
"updatedAt": "2020-01-20T02:00:00.000Z"
}
],
"totalResults": 1,
"firstLink": "https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources?offset=0&limit=20",
"lastLink": "https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources?offset=0&limit=20"
}
GET /data-sources
Retrieves a list of all the data sources that the tenant owns and can contribute data records using the PDI service.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
offset | query | integer(int32) | false | 0 | The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. | - |
limit | query | integer(int32) | false | 20 | The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. | - |
name | query | string | false | N/A | The name of the data source. | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The list of data sources. | DataSources |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
Retrieve a Single Data Source
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/0f6e6e66-376f-4e52-a051-5a452db1fd8c', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/0f6e6e66-376f-4e52-a051-5a452db1fd8c \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
GET /data-sources/{dataSourceId}
Retrieves a single prime data source that the tenant owns.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The unique ID of the data source. | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Single Prime Data Source | PrimeDataIngestionPublicApi_Entities_V1_DataSource |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
Update a Data Source
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = HTTParty.patch('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/0f6e6e66-376f-4e52-a051-5a452db1fd8c', headers: headers, body: {"tags":[{"key":"tags","value":"EMR"}]}.to_json )
print JSON.pretty_generate(result)
# You can also use wget
curl -X PATCH https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/0f6e6e66-376f-4e52-a051-5a452db1fd8c \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"tags":[{"key":"tags","value":"EMR"}]}
PATCH /data-sources/{dataSourceId}
Updates a prime data source that the tenant owns.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The unique ID of the data source. | - |
body | body | patchDataSources | true | N/A | No description | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | No Content | PrimeDataIngestionPublicApi_Entities_V1_DataSource |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
Record Streams
A record stream represents a stream of data records that are received in a data source from a data contributor. A record stream is a child resource of a data source, and therefore is owned by the same tenant that owns the data source. A record stream is used to organize contributed records in a data source. For example, a tenant may want to organize vital signs, measurements, and laboratory result data records into separate record streams. This enables better insight using contributed record volume metrics and more versatility when configuring PDI processing. A record stream must be specified when a data record is uploaded to the PDI service. This means that a record stream must first be created in the PDI service before any data records can be uploaded. When a record stream is created, a single record type must be specified that represents the type of record (for example, Condition or Observation) that is allowed in the record stream.
Add a Record Stream
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = HTTParty.post('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/record-streams', headers: headers, body: {"name":"Vital Measurements","recordTypeId":"0b8edc65-c9e1-4035-9040-9568442ff6b4","description":"Vital Measurements for Record Stream"}.to_json )
print JSON.pretty_generate(result)
# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/record-streams \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"name":"Vital Measurements","recordTypeId":"0b8edc65-c9e1-4035-9040-9568442ff6b4","description":"Vital Measurements for Record Stream"}
Example response
{
"id": "0b8edc65-c9e1-4035-9040-9568442ff6b4",
"name": "Vital Measurements",
"recordType": {
"id": "0b8edc65-c9e1-4035-9040-9568442ff6b4"
},
"description": "Vital Measurements for Record Stream",
"createdAt": "2020-02-14T07:14:27.000Z",
"updatedAt": "2020-02-14T07:15:46.000Z"
}
POST /data-sources/{dataSourceId}/record-streams
Adds a record stream to a data source.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The ID of the data source. | - |
body | body | postDataSourcesDatasourceidRecordStreams | true | N/A | No description | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | PrimeDataIngestionPublicApi_Entities_V1_RecordStream |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
409 | Conflict | Conflict | ConflictError |
Retrieve a List of Record Streams
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/record-streams', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/record-streams \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"items": [
{
"id": "0b8edc65-c9e1-4035-9040-9568442ff6b4",
"name": "Vital Measurements",
"recordType": {
"id": "0b8edc65-c9e1-4035-9040-9568442ff6b4"
},
"description": "Vital Measurements for Record Stream",
"createdAt": "2020-02-14T07:14:27.000Z",
"updatedAt": "2020-02-14T07:15:46.000Z"
}
],
"totalResults": 1,
"firstLink": "https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/record-streams?offset=0&limit=20",
"lastLink": "https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/record-streams?offset=0&limit=20"
}
GET /data-sources/{dataSourceId}/record-streams
Retrieves a list of the defined record streams for a specific data source.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The ID of the data source. | - |
offset | query | integer(int32) | false | 0 | The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. | - |
limit | query | integer(int32) | false | 20 | The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. | - |
recordTypeId | query | string | false | N/A | The type of record that the record stream contains. A record stream can contain only a single record type. | - |
name | query | string | false | N/A | The displayable name of the record stream. | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The collection of record streams. | RecordStreams |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
Update a Record Stream
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = HTTParty.patch('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/record-streams/0b8edc65-c9e1-4035-9040-9568442ff6b4', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X PATCH https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/record-streams/0b8edc65-c9e1-4035-9040-9568442ff6b4 \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
PATCH /data-sources/{dataSourceId}/record-streams/{id}
Updates the name, description, or name and description of a record stream.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The ID of the data source. | - |
id | path | string | true | N/A | The ID of the record stream, provided by the data contributor, that uniquely identifies the record stream in a data source. The record stream ID can contain only alphanumeric characters, underscores, and dashes. | - |
body | body | patchDataSourcesDatasourceidRecordStreams | true | N/A | No description | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | No Content. | None |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
409 | Conflict | Conflict | ConflictError |
Retrieve a Single Record Stream
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/record-streams/0b8edc65-c9e1-4035-9040-9568442ff6b4', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/record-streams/0b8edc65-c9e1-4035-9040-9568442ff6b4 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"id": "0b8edc65-c9e1-4035-9040-9568442ff6b4",
"name": "Vital Measurements",
"recordType": {
"id": "0b8edc65-c9e1-4035-9040-9568442ff6b4"
},
"description": "Vital Measurements for Record Stream",
"createdAt": "2020-02-14T07:14:27.000Z",
"updatedAt": "2020-02-14T07:15:46.000Z"
}
GET /data-sources/{dataSourceId}/record-streams/{id}
Retrieves a single record stream.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The ID of the data source. | - |
id | path | string | true | N/A | The ID of the record stream, provided by the data contributor, that uniquely identifies the record stream in a data source. The record stream ID can contain only alphanumeric characters, underscores, and dashes. | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The record stream for the specified dataSourceId and id values is returned. | PrimeDataIngestionPublicApi_Entities_V1_RecordStream |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
Data Partitions
A data partition represents a bucket in the PDI service into which the PDI service loads the partition records produced as outputs of processing. A data partition is a child resource of a data source, and therefore is owned by the same tenant that owns the data source. While a data partition is owned by a single tenant, it can be shared with other tenants using an authorization process. While most use cases require only a single data partition, the PDI service allows a data source to have multiple child data partitions. For example, a tenant may need to separate the produced partition records into different data partitions so that only a portion of the processed data is shared with another tenant and not all of the data. For another example, a tenant may want to have both active and validation data partitions so that changes (such as a different record stream or different processing configuration) can be validated in a separate data partition. Because of the latter use case, a data partition can be thought of as a means to represent different processing environments. A data partition is not required to upload a data record to the PDI service; however, a data partition is required to process contributed data. PDI processing is configured per data partition, which means that each data partition has its own processing configuration.
Create a Single Data Partition
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = HTTParty.post('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/0f6e6e66-376f-4e52-a051-5a452db1fd8c/data-partitions', headers: headers, body: {"name":"DEMO:EMR","description":"Cerner - Demo EMR"}.to_json )
print JSON.pretty_generate(result)
# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/0f6e6e66-376f-4e52-a051-5a452db1fd8c/data-partitions \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"name":"DEMO:EMR","description":"Cerner - Demo EMR"}
Example response
{
"id": "f3bc39e9-3efc-4709-95f3-5c153fa8bec4",
"name": "DEMO:EMR",
"description": "Cerner - Demo EMR",
"conceptMappingConsumerId": "f81d8106-94b5-4a20-847e-4259b3616b02",
"createdAt": "2020-01-20T02:00:00.000Z",
"updatedAt": "2020-01-20T02:00:00.000Z"
}
POST /data-sources/{dataSourceId}/data-partitions
Adds a data partition or create a data partition to be connected to the service.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The unique ID of the data source. | - |
body | body | postDataSourcesDatasourceidDataPartitions | true | N/A | No description | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | PrimeDataIngestionPublicApi_Entities_V1_DataPartition |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
Retrieve a List of Prime Data Partitions
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/0f6e6e66-376f-4e52-a051-5a452db1fd8c/data-partitions', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/0f6e6e66-376f-4e52-a051-5a452db1fd8c/data-partitions \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"items": [
{
"id": "f3bc39e9-3efc-4709-95f3-5c153fa8bec4",
"name": "DEMO:EMR",
"description": "Cerner - Demo EMR",
"conceptMappingConsumerId": "f81d8106-94b5-4a20-847e-4259b3616b02",
"createdAt": "2020-01-20T02:00:00.000Z",
"updatedAt": "2020-01-20T02:00:00.000Z"
}
],
"totalResults": 1,
"firstLink": "https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/data-partitions?offset=0&limit=20",
"lastLink": "https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/data-partitions?offset=0&limit=20"
}
GET /data-sources/{dataSourceId}/data-partitions
Retrieves a list of all the data partitions that the tenant owns and can contribute data records using the PDI service.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The ID of the data source. | - |
name | query | string | false | N/A | The displayable name of the data partition. | - |
offset | query | integer(int32) | false | 0 | The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. | - |
limit | query | integer(int32) | false | 20 | The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The list of data partitions. | DataPartitions |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
Update a Single Data Partition
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = HTTParty.patch('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/0f6e6e66-376f-4e52-a051-5a452db1fd8c/data-partitions/5b6e6095-1023-46f9-9521-ccf0ae68ab54', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X PATCH https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/0f6e6e66-376f-4e52-a051-5a452db1fd8c/data-partitions/5b6e6095-1023-46f9-9521-ccf0ae68ab54 \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
PATCH /data-sources/{dataSourceId}/data-partitions/{dataPartitionId}
Adds a data partition or create a data partition to be connected to the service.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The unique ID of the data source. | - |
dataPartitionId | path | string | true | N/A | The unique ID of the data partition. | - |
body | body | patchDataSourcesDatasourceidDataPartitions | true | N/A | No description | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | No Content | PrimeDataIngestionPublicApi_Entities_V1_DataPartition |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
Retrieve a Single Data Partition
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/0f6e6e66-376f-4e52-a051-5a452db1fd8c/data-partitions/5b6e6095-1023-46f9-9521-ccf0ae68ab54', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/0f6e6e66-376f-4e52-a051-5a452db1fd8c/data-partitions/5b6e6095-1023-46f9-9521-ccf0ae68ab54 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"id": "f3bc39e9-3efc-4709-95f3-5c153fa8bec4",
"name": "DEMO:EMR",
"description": "Cerner - Demo EMR",
"conceptMappingConsumerId": "f81d8106-94b5-4a20-847e-4259b3616b02",
"createdAt": "2020-01-20T02:00:00.000Z",
"updatedAt": "2020-01-20T02:00:00.000Z"
}
GET /data-sources/{dataSourceId}/data-partitions/{dataPartitionId}
Retrieves a single data partition that is connected to the service.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The unique ID of the data source. | - |
dataPartitionId | path | string | true | N/A | The unique ID of the data partition. | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A single data partition | PrimeDataIngestionPublicApi_Entities_V1_DataPartition |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
Data Sets
A data set represents a unit of processing work that the PDI service performs. A data set is a child resource of a data partition. Data sets enable organizing the PDI processing of contributed data from a data source into the target data partition. Data sets also enable slicing the partition record metrics that provide macro-level insights about the outputs of PDI processing. One or more data sets are required to configure a data partition for processing by the PDI service. When a data set is configured in the context of a data partition, a record stream must be specified to indicate which contributed records are to be processed into the data set. This means that a data set must exist for each record stream that a tenant wants to be processed into the data partition. Typically, the combination of a record stream and a data set represents a clinical or financial data concept. Examples include inpatient encounters, allergies, vital signs, laboratory results, institutional claims, or professional claims.
Create a Single PDI Data Set
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = HTTParty.post('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/107f7f77-4870-5f63-b162-6b563ec20e9d/data-partitions/6c7f71a6-2134-570a-a632-dd01bf78bc65/data-sets', headers: headers, body: {"name":"IMMUNIZATIONS","description":"A data set containing immunizations for a population."}.to_json )
print JSON.pretty_generate(result)
# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/107f7f77-4870-5f63-b162-6b563ec20e9d/data-partitions/6c7f71a6-2134-570a-a632-dd01bf78bc65/data-sets \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"name":"IMMUNIZATIONS","description":"A data set containing immunizations for a population."}
Example response
{
"id": "04cd4afa-4fad-581a-a604-6d2640b9cfd5",
"name": "IMMUNIZATIONS",
"description": "A data set containing immunizations for a population.",
"createdAt": "2020-01-20T02:00:00.000Z",
"updatedAt": "2020-01-20T02:00:00.000Z"
}
POST /data-sources/{dataSourceId}/data-partitions/{dataPartitionId}/data-sets
Creates a single PDI data set for a given data source and data partition.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The unique ID of the data source. | - |
dataPartitionId | path | string | true | N/A | The unique ID of the data partition. | - |
body | body | postDataSourcesDatasourceidDataPartitionsDatapartitionidDataSets | true | N/A | No description | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | PrimeDataIngestionPublicApi_Entities_V1_DataSet |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
Retrieve a list of Prime Data Sets
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/{dataSourceId}/data-partitions/{dataPartitionId}/data-sets', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/{dataSourceId}/data-partitions/{dataPartitionId}/data-sets \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"items": [
{
"id": "04cd4afa-4fad-581a-a604-6d2640b9cfd5",
"name": "IMMUNIZATIONS",
"description": "A data set containing immunizations for a population.",
"createdAt": "2020-01-20T02:00:00.000Z",
"updatedAt": "2020-01-20T02:00:00.000Z"
}
],
"totalResults": 1,
"firstLink": "https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/data-partitions/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/data-sets?offset=0&limit=20",
"lastLink": "https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/data-partitions/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/data-sets?offset=0&limit=20"
}
GET /data-sources/{dataSourceId}/data-partitions/{dataPartitionId}/data-sets
Retrieves a list of all the data sets that belong to a data partition in the PDI service.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The unique ID of the data source. | - |
dataPartitionId | path | string | true | N/A | The unique ID of the data partition. | - |
name | query | string | false | N/A | The human-readable name of the data set. | - |
offset | query | integer(int32) | false | 0 | The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. | - |
limit | query | integer(int32) | false | 20 | The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The list of data sets. | DataSets |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
Update a Single Data Set
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = HTTParty.patch('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/4ef0e5a3-b41e-4a72-912a-4e42d330660e/data-partitions/dbb9be4c-2883-4034-b734-73a577a06af0/data-sets/ec04be5b-c763-48fe-ae7c-b47018b8bbc9', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X PATCH https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/4ef0e5a3-b41e-4a72-912a-4e42d330660e/data-partitions/dbb9be4c-2883-4034-b734-73a577a06af0/data-sets/ec04be5b-c763-48fe-ae7c-b47018b8bbc9 \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
PATCH /data-sources/{dataSourceId}/data-partitions/{dataPartitionId}/data-sets/{dataSetId}
Update a single data set that is configured in the service.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The unique ID of the data source. | - |
dataPartitionId | path | string | true | N/A | The unique ID of the data partition. | - |
dataSetId | path | string | true | N/A | The unique ID of the data set (not the name). | - |
body | body | patchDataSourcesDatasourceidDataPartitionsDatapartitionidDataSets | true | N/A | No description | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | No Content | PrimeDataIngestionPublicApi_Entities_V1_DataSet |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
Retrieve a Single Data Set
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/107f7f77-4870-5f63-b162-6b563ec20e9d/data-partitions/6c7f71a6-2134-570a-a632-dd01bf78bc65/data-sets/27fbdeb0-3108-4f74-9e18-48a5105c05ce', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/107f7f77-4870-5f63-b162-6b563ec20e9d/data-partitions/6c7f71a6-2134-570a-a632-dd01bf78bc65/data-sets/27fbdeb0-3108-4f74-9e18-48a5105c05ce \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"id": "04cd4afa-4fad-581a-a604-6d2640b9cfd5",
"name": "IMMUNIZATIONS",
"description": "A data set containing immunizations for a population.",
"createdAt": "2020-01-20T02:00:00.000Z",
"updatedAt": "2020-01-20T02:00:00.000Z"
}
GET /data-sources/{dataSourceId}/data-partitions/{dataPartitionId}/data-sets/{dataSetId}
Retrieves a single data set that is configured in the service.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The unique ID of the data source. | - |
dataPartitionId | path | string | true | N/A | The unique ID of the data partition. | - |
dataSetId | path | string | true | N/A | The unique ID of the data set (not the name). | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A single data set | PrimeDataIngestionPublicApi_Entities_V1_DataSet |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
Contributed Records
A contributed record represents a data record that was uploaded, validated, and stored in the PDI service. Each received data record is first validated against the specified record type schema for conformance. Each validated contributed record is then stored in the specified data source and the specified record stream in that data source. Therefore, when data records are uploaded, a data source, record stream, and record type schema all must be specified. Contributed records are the inputs into PDI processing.
Upload Records
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'PDI-RecordStreamId' => {
"type": "string"
},
'PDI-RecordTypeSchemaId' => {
"type": "string"
},
'PDI-EnableTracking' => {
"type": "string"
}
}
result = HTTParty.post('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/contributed-records', headers: headers, body: {"records":[{"value":"<Base64-Encoded String>"}]}.to_json )
print JSON.pretty_generate(result)
# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/contributed-records \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \ \
-H 'PDI-RecordStreamId: [object Object]' \ \
-H 'PDI-RecordTypeSchemaId: [object Object]' \ \
-H 'PDI-EnableTracking: [object Object]' \
-d {"records":[{"value":"<Base64-Encoded String>"}]}
Example response
{
"contributedRecords": [
{
"trackingTicketId": "f3bc39e9-3efc-4709-95f3-5c153fa8bec4"
}
],
"contributedRecordCount": "1"
}
POST /data-sources/{dataSourceId}/contributed-records
Uploads one or more records to the specified data source and record stream. The value
field of each individual record in the records
array of the request must contain a Base64-encoded JSON representation of the resource and conform to the record type schema specified in the PDI-RecordTypeSchemaId
header parameter. The specified record type schema must be related to the record type defined for the record stream specified in the PDI-RecordStreamId
header parameter.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
PDI-RecordStreamId | header | string | true | N/A | The ID of the record stream in which the service is to store the record. The record stream must be associated with the specified data source. | - |
PDI-RecordTypeSchemaId | header | string | true | N/A | The ID of the record type schema to which the record structure conforms. The schema must be related to the record type configured for the specified record stream. | - |
PDI-EnableTracking | header | string | false | N/A | If this field is specified with a value of true (case-insensitive), a trackingTicketId value is assigned to each contributed record and returned in the response. The order in the response corresponds to the order of contributed records in the POST request. If this field is not specified, tracking is disabled. |
- |
dataSourceId | path | string | true | N/A | The ID of the data source. | - |
body | body | postDataSourcesDatasourceidContributedRecords | true | N/A | No description | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Indicates that the service successfully received, validated, and stored all records. | PrimeDataIngestionPublicApi_Entities_V1_ContributedRecordsResponse |
400 | Bad Request | Indicates that one or more of the records failed validation or were not stored by the service due to an issue with the request. Most failures have an enumerated failure reason in the errors.reason field in the response. An indication as to which record in the records element of the request failed can be found in the errors.location field of the response, for example, records[0] . Additionally, a detailed failure message is provided in the errors.message field of the response. The following values are possible for the errors.reason field:
|
BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
413 | Payload Too Large | Payload Too Large | PayloadTooLargeError |
Upload Record With an Attachment
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json',
'PDI-RecordStreamId' => {
"type": "string"
},
'PDI-RecordTypeSchemaId' => {
"type": "string"
},
'PDI-EnableTracking' => {
"type": "string"
}
}
result = HTTParty.post('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/contributed-records-with-attachments', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/f3bc39e9-3efc-4709-95f3-5c153fa8bec4/contributed-records-with-attachments \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json' \
-H 'PDI-RecordStreamId: [object Object]' \
-H 'PDI-RecordTypeSchemaId: [object Object]' \
-H 'PDI-EnableTracking: [object Object]'
Example response
{
"contributedRecords": [
{
"trackingTicketId": "f3bc39e9-3efc-4709-95f3-5c153fa8bec4"
}
],
"contributedRecordCount": "1"
}
POST /data-sources/{dataSourceId}/contributed-records-with-attachments
Uploads a single record with one or more content attachments to the specified data source and record stream. The request must use a Multipart/Related content type. The first part object must contain the record and include the following elements:
operation
: The operation to apply to the record in the service. The supported operations areWRITE
andDELETE
. If this field is omitted, the service uses theWRITE
operation. A write operation requires thevalue
field to be specified. For a delete operation, thevalue
field is ignored.version
: A numeric value that represents the version of the resource. The version is used by the service to determine how to order multiple updates received for the same resource as identified by theresourceId
field. The service sorts the versions numerically and only guarantees that the latest version is maintained.resourceId
: The ID of the resource that uniquely identifies the resource in the specified record stream. Generally, a resource ID is a monotonically increasing integer or a universally unique identifier (UUID). Ensure that the resource ID is URL-friendly.value
: The Base64-encoded JSON representation of the resource without any embedded content attachments, which conforms to the specified record type schema in thePDI-RecordTypeSchemaId
header parameter. This field is required for a write operation and ignored for a delete operation.
The subsequent part objects should contain the content attachments referenced in the resource contained in the
value
element of the first part object. Content attachments can be of any valid MIME type, though common types are application/pdf, application/rtf and text/plain. The specified record type schema must be related to the record type defined for the record stream specified in the PDI-RecordStreamId
header parameter. See the RTF 2387 page on the Internet Engineering Task Force (IETF) website for more information about the Multipart/Related content type requests.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
PDI-RecordStreamId | header | string | true | N/A | The ID of the record stream in which the service is to store the record. The record stream must be associated with the specified data source. | - |
PDI-RecordTypeSchemaId | header | string | true | N/A | The ID of the record type schema to which the record structure conforms. The schema must be related to the record type configured for the specified record stream. | - |
PDI-EnableTracking | header | string | false | N/A | If this field is specified with a value of true (case-insensitive), a trackingTicketId value is assigned to each contributed record and returned in the response. The order in the response corresponds to the order of contributed records in the POST request. If this field is not specified, tracking is disabled. |
- |
dataSourceId | path | string | true | N/A | The ID of the data source. | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The tracking information for contributed records with attachments. | PrimeDataIngestionPublicApi_Entities_V1_ContributedRecordsResponse |
400 | Bad Request | Indicates that the record failed validation or was not stored by the service due to an issue with the request. Most failures have an enumerated failure reason in the errors.reason field in the response. Additionally, a detailed failure message is provided in the errors.message field of the response. The following values are possible for the errors.reason field:
|
BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
413 | Payload Too Large | Payload Too Large | PayloadTooLargeError |
Partition Records
A partition record represents a data record produced as output of a PDI processing stream and loaded into a data partition. Each partition record represents a discrete or bundle resource. Identification of a specific resource partition record requires the data partition, data set, processing stream, and resourceId. For a resource that is related to a subject resource (for example, Patient), the PDI service indexes that resource by the subject, and therefore the subject is required for retrieval of the resource partition record.
A partition record also contains the operation (WRITE
or DELETE
) the PDI processing stream assigned to it, which is communicated to downstream products that consume the resource partition records.
Retrieve Binary
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/octet-stream'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/107f7f77-4870-5f63-b162-6b563ec20e9d/data-partitions/6c7f71a6-2134-570a-a632-dd01bf78bc65/binaries/urn:pdi:resv1:5bb306d7-47a5-4b7b-bcbb:172d8f98-2023-41fd-abfb:BINARY:binaryId', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/107f7f77-4870-5f63-b162-6b563ec20e9d/data-partitions/6c7f71a6-2134-570a-a632-dd01bf78bc65/binaries/urn:pdi:resv1:5bb306d7-47a5-4b7b-bcbb:172d8f98-2023-41fd-abfb:BINARY:binaryId \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/octet-stream'
GET /data-sources/{dataSourceId}/data-partitions/{dataPartitionId}/binaries/{binaryURI}
Retrieves binary content as an octet stream from a data partition. Binaries are referenced by URI from resource elements with a type of Attachment (for example, DocumentReference.contents.attachment).
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The unique ID of the data source. | - |
dataPartitionId | path | string | true | N/A | The unique ID of the data partition. | - |
binaryURI | path | string | true | N/A | The URI of the binary content to retrieve from the data partition. | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Retrieved an octet stream representing the binary content of an attachment. | None |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
Retrieve a List of Resource Partition Records
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/0f6e6e66-376f-4e52-a051-5a452db1fd8c/data-partitions/5b6e6095-1023-46f9-9521-ccf0ae68ab54/processing-streams/6b6g6095-1123-56f9-9521-dcf0ae68ab55/partition-records',
query: {
'dataSetId' => 'string',
'subjectResourceId' => 'string'
}, headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/0f6e6e66-376f-4e52-a051-5a452db1fd8c/data-partitions/5b6e6095-1023-46f9-9521-ccf0ae68ab54/processing-streams/6b6g6095-1123-56f9-9521-dcf0ae68ab55/partition-records?dataSetId=type,string&subjectResourceId=type,string \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
GET /data-sources/{dataSourceId}/data-partitions/{dataPartitionId}/processing-streams/{processingStreamId}/partition-records
Retrieves a list of resource partition records related to a specific subject (for example, Patient). Only the metadata for each partition record is returned.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The unique ID of the data source. | - |
dataPartitionId | path | string | true | N/A | The unique ID of the data partition. | - |
processingStreamId | path | string | true | N/A | The unique ID of the processing stream. | - |
dataSetId | query | string | true | N/A | The data set within the data partition containing the resource partition records to be retrieved. | - |
subjectResourceId | query | string | true | N/A | The ID of the resource representing the subject for which to retrieve the resource partition records. | - |
partitionRecordTypeId | query | array[string] | false | N/A | Filters the retrieved resource partition records to only those matching the specified types. | PATIENT_ALLERGY_INTOLERANCE_BUNDLE, PATIENT_CONDITION_BUNDLE, PATIENT_DOCUMENT_REFERENCE, PATIENT_ENCOUNTER, PATIENT_ENCOUNTER_BUNDLE, PATIENT_IMMUNIZATION_BUNDLE, PATIENT_OBSERVATION_BUNDLE, PATIENT_PROCEDURE_BUNDLE, PATIENT_MEDICATION_REQUEST_BUNDLE |
cursor | query | string | false | The next item on the list in the response from the previous request. If you specify this parameter, the response begins with this item on the list. | - | |
limit | query | integer(int32) | false | 20 | The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Ok | PrimeDataIngestionPublicApi_Entities_V1_CursorPaginationEntity |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
Retrieve a Single Resource Partition Record
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/0f6e6e66-376f-4e52-a051-5a452db1fd8c/data-partitions/5b6e6095-1023-46f9-9521-ccf0ae68ab54/processing-streams/6b6g6095-1123-56f9-9521-dcf0ae68ab55/partition-records/888',
query: {
'dataSetId' => 'string',
'partitionRecordTypeId' => 'string'
}, headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/0f6e6e66-376f-4e52-a051-5a452db1fd8c/data-partitions/5b6e6095-1023-46f9-9521-ccf0ae68ab54/processing-streams/6b6g6095-1123-56f9-9521-dcf0ae68ab55/partition-records/888?dataSetId=type,string&partitionRecordTypeId=type,string,enum,PATIENT_ALLERGY_INTOLERANCE_BUNDLE%2CPATIENT_CONDITION_BUNDLE%2CPATIENT_DOCUMENT_REFERENCE%2CPATIENT_ENCOUNTER%2CPATIENT_ENCOUNTER_BUNDLE%2CPATIENT_IMMUNIZATION_BUNDLE%2CPATIENT_OBSERVATION_BUNDLE%2CPATIENT_PROCEDURE_BUNDLE%2CPATIENT_MEDICATION_REQUEST_BUNDLE \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
GET /data-sources/{dataSourceId}/data-partitions/{dataPartitionId}/processing-streams/{processingStreamId}/partition-records/{resourceId}
Retrieves a single resource partition record. The partition record’s metadata, resource, and processing log are returned.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The unique ID of the data source. | - |
dataPartitionId | path | string | true | N/A | The unique ID of the data partition. | - |
processingStreamId | path | string | true | N/A | The unique ID of the processing stream. | - |
resourceId | path | string | true | N/A | The ID of the resource that uniquely identifies the resource in the specified partition record. | - |
dataSetId | query | string | true | N/A | The data set, within the data partition, containing the resource partition record to be retrieved. | - |
partitionRecordTypeId | query | string | true | N/A | The type of the partition record to retrieve. | PATIENT_ALLERGY_INTOLERANCE_BUNDLE, PATIENT_CONDITION_BUNDLE, PATIENT_DOCUMENT_REFERENCE, PATIENT_ENCOUNTER, PATIENT_ENCOUNTER_BUNDLE, PATIENT_IMMUNIZATION_BUNDLE, PATIENT_OBSERVATION_BUNDLE, PATIENT_PROCEDURE_BUNDLE, PATIENT_MEDICATION_REQUEST_BUNDLE |
subjectResourceId | query | string | false | N/A | If the type of resource partition record to retrieve is related to a subject (for example, Patient), then the ID of that subject resource must be provided. | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Ok | PrimeDataIngestionPublicApi_Entities_V1_PartitionRecord |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
Partition Record Metric Event
A partition record metric event represents an execution of the partition record metrics processing job. This job evaluates every partition record produced in the processing stream to calculate insightful macro-level metrics. The calculated metrics include counts of records per partition record type (such as Patient Condition and Patient Observation). They also include counts of records that encountered an anomaly during their production (such as an Observation.issuedDateTime in the future). All metrics of a metric event share the event’s ‘as of’ timestamp, indicating when they were calculated.
Retrieve a List of Partition Record Metric Events
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/0f6e6e66-376f-4e52-a051-5a452db1fd8c/data-partitions/5b6e6095-1023-46f9-9521-ccf0ae68ab54/processing-streams/6b6g6095-1123-56f9-9521-dcf0ae68ab55/partition-record-metric-events', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/0f6e6e66-376f-4e52-a051-5a452db1fd8c/data-partitions/5b6e6095-1023-46f9-9521-ccf0ae68ab54/processing-streams/6b6g6095-1123-56f9-9521-dcf0ae68ab55/partition-record-metric-events \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
GET /data-sources/{dataSourceId}/data-partitions/{dataPartitionId}/processing-streams/{processingStreamId}/partition-record-metric-events
Retrieves a list of partition record metric events for the given processing stream.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The unique ID of the data source. | - |
dataPartitionId | path | string | true | N/A | The unique ID of the data partition. | - |
processingStreamId | path | string | true | N/A | The unique ID of the processing stream. | - |
orderBy | query | array[string] | false | N/A | The parameter by which partition record metric events are ordered. | asOfDate, -asOfDate, startDate, -startDate, endDate, -endDate |
offset | query | integer(int32) | false | 0 | The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. | - |
limit | query | integer(int32) | false | 20 | The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Ok | PartitionRecordEventMetrics |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
Retrieve a Single Partition Record Metric Event
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/0f6e6e66-376f-4e52-a051-5a452db1fd8c/data-partitions/5b6e6095-1023-46f9-9521-ccf0ae68ab54/processing-streams/6b6g6095-1123-56f9-9521-dcf0ae68ab55/partition-record-metric-events/8f1595a9-6a26-4b42-9974-56aeb082d216', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/0f6e6e66-376f-4e52-a051-5a452db1fd8c/data-partitions/5b6e6095-1023-46f9-9521-ccf0ae68ab54/processing-streams/6b6g6095-1123-56f9-9521-dcf0ae68ab55/partition-record-metric-events/8f1595a9-6a26-4b42-9974-56aeb082d216 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
GET /data-sources/{dataSourceId}/data-partitions/{dataPartitionId}/processing-streams/{processingStreamId}/partition-record-metric-events/{eventId}
Retrieves a specific partition record metric event for the given processing stream and event ID.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The unique ID of the data source. | - |
dataPartitionId | path | string | true | N/A | The unique ID of the data partition. | - |
processingStreamId | path | string | true | N/A | The unique ID of the processing stream. | - |
eventId | path | string | true | N/A | The unique ID of the event. | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Ok | PrimeDataIngestionPublicApi_Entities_V1_PartitionRecordEventMetric |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
Partition Record Metric
A partition record metric represents the count of records in a processing stream that match a specific characteristic or a set of characteristics. Some metrics represent counts of records per partition record type (such as Patient Condition and Patient Observation). Other metrics represent counts of records that encountered an anomaly during their production (such as an Observation.issuedDateTime in the future).
Retrieve a List of Partition Record Metric Event Metrics
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/0f6e6e66-376f-4e52-a051-5a452db1fd8c/data-partitions/5b6e6095-1023-46f9-9521-ccf0ae68ab54/processing-streams/6b6g6095-1123-56f9-9521-dcf0ae68ab55/partition-record-metric-events/8f1595a9-6a26-4b42-9974-56aeb082d216/metrics', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/prime-data-ingestion/v1/data-sources/0f6e6e66-376f-4e52-a051-5a452db1fd8c/data-partitions/5b6e6095-1023-46f9-9521-ccf0ae68ab54/processing-streams/6b6g6095-1123-56f9-9521-dcf0ae68ab55/partition-record-metric-events/8f1595a9-6a26-4b42-9974-56aeb082d216/metrics \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
GET /data-sources/{dataSourceId}/data-partitions/{dataPartitionId}/processing-streams/{processingStreamId}/partition-record-metric-events/{eventId}/metrics
Retrieves partition record metrics event metrics for a given processing stream.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | path | string | true | N/A | The unique ID of the data source. | - |
dataPartitionId | path | string | true | N/A | The unique ID of the data partition. | - |
processingStreamId | path | string | true | N/A | The unique ID of the processing stream. | - |
eventId | path | string | true | N/A | The unique ID of the event. | - |
partitionRecordTypeId | query | array[string] | false | N/A | The partition record type or types to retrieve partition record event metrics for. | BINARY, PATIENT_ALLERGY_INTOLERANCE_BUNDLE, PATIENT_CONDITION_BUNDLE, PATIENT_DOCUMENT_REFERENCE, PATIENT_ENCOUNTER, PATIENT_ENCOUNTER_BUNDLE, PATIENT_IMMUNIZATION_BUNDLE, PATIENT_OBSERVATION_BUNDLE, PATIENT_PROCEDURE_BUNDLE, PATIENT_MEDICATION_REQUEST_BUNDLE |
dataSetId | query | array[string] | false | N/A | The unique ID of the data set. | - |
offset | query | integer(int32) | false | 0 | The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. | - |
limit | query | integer(int32) | false | 20 | The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Ok | PartitionRecordMetricEventMetrics |
400 | Bad Request | Bad Request | BadRequestError |
401 | Unauthorized | Unauthorized | UnauthorizedError |
403 | Forbidden | Forbidden | ForbiddenError |
404 | Not Found | Not Found | NotFoundError |
Schema Definitions
PrimeDataIngestionPublicApi_Entities_V1_ContributedRecord
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
operation | string | false | The operation to apply to the record in the service. The supported operations are WRITE and DELETE . If this field is omitted, the service uses WRITE by default. A write operation requires the value field to be specified. For a delete operation, the value field is ignored. |
- |
version | integer(int64) | true | A numeric value that represents the version of the resource. The version is used by the service to determine the order of multiple updates received for the same resource as identified by the resourceId field. The service sorts the versions numerically and only guarantees that the latest version is maintained. |
- |
resourceId | string | true | The ID of the resource that uniquely identifies the resource in the specified record stream. Generally, a resource ID is a monotonically increasing integer or a universally unique identifier (UUID). Ensure that the resource ID is URL-friendly. | - |
value | string | true | The Base64-encoded JSON representation of the resource, which conforms to the specified record type schema. The value field is required for write operations and ignored for delete operations. |
- |
postDataSourcesDatasourceidContributedRecords
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
records | PrimeDataIngestionPublicApi_Entities_V1_ContributedRecord | true | An array of one or more records. | - |
PrimeDataIngestionPublicApi_Entities_V1_ContributedRecordsResponse
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
contributedRecords | [PrimeDataIngestionPublicApi_Entities_V1_ContributedRecordsResponseItem] | false | No description | - |
contributedRecordCount | string | true | The number of contributed records that the service successfully received. | - |
PrimeDataIngestionPublicApi_Entities_V1_ContributedRecordsResponseItem
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
trackingTicketId | string | false | The ID of the ticket that can be used for tracking the uploaded contributed record. Present if tracking is enabled. | - |
UnauthorizedError
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
reason | string | false | A codified value that represents the specific error that caused the current error status. | - |
message | string | true | A human-readable description of the error. | - |
locationType | string | false | The location or type of the field that caused an error. | query, header, path, formData, body |
location | string | false | The name of the field that caused an error. | - |
code | integer(int32) | true | The HTTP response status code that represents the error. | - |
errorDetails | [UnauthorizedErrorErrorDetail] | false | A list of additional error details. | - |
UnauthorizedErrorErrorDetail
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
reason | string | false | A codified value that represents the specific error that caused the current error status. | - |
message | string | false | A human-readable description of an error. | - |
locationType | string | false | The location or type of the field that caused an error. | query, header, path, formData, body |
location | string | false | The name of the field that caused an error. | - |
domain | string | false | A subsystem or context where an error occurred. | - |
ForbiddenError
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
reason | string | false | A codified value that represents the specific error that caused the current error status. | - |
message | string | true | A human-readable description of the error. | - |
locationType | string | false | The location or type of the field that caused an error. | query, header, path, formData, body |
location | string | false | The name of the field that caused an error. | - |
code | integer(int32) | true | The HTTP response status code that represents the error. | - |
errorDetails | [ForbiddenErrorDetail] | false | A list of additional error details. | - |
ForbiddenErrorDetail
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
reason | string | false | A codified value that represents the specific error that caused the current error status. | - |
message | string | false | A human-readable description of an error. | - |
locationType | string | false | The location or type of the field that caused an error. | query, header, path, formData, body |
location | string | false | The name of the field that caused an error. | - |
domain | string | false | A subsystem or context where an error occurred. | - |
NotFoundError
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
reason | string | false | A codified value that represents the specific error that caused the current error status. | - |
message | string | true | A human-readable description of the error. | - |
locationType | string | false | The location or type of the field that caused an error. | query, header, path, formData, body |
location | string | false | The name of the field that caused an error. | - |
code | integer(int32) | true | The HTTP response status code that represents the error. | - |
errorDetails | [NotFoundErrorDetail] | false | A list of additional error details. | - |
NotFoundErrorDetail
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
reason | string | false | A codified value that represents the specific error that caused the current error status. | - |
message | string | false | A human-readable description of an error. | - |
locationType | string | false | The location or type of the field that caused an error. | query, header, path, formData, body |
location | string | false | The name of the field that caused an error. | - |
domain | string | false | A subsystem or context where an error occurred. | - |
PayloadTooLargeError
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
reason | string | false | A codified value that represents the specific error that caused the current error status. | - |
message | string | true | A human-readable description of the error. | - |
locationType | string | false | The location or type of the field that caused an error. | query, header, path, formData, body |
location | string | false | The name of the field that caused an error. | - |
code | integer(int32) | true | The HTTP response status code that represents the error. | - |
errorDetails | [PayloadTooLargeErrorErrorDetail] | false | A list of additional error details. | - |
PayloadTooLargeErrorErrorDetail
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
reason | string | false | A codified value that represents the specific error that caused the current error status. | - |
message | string | false | A human-readable description of an error. | - |
locationType | string | false | The location or type of the field that caused an error. | query, header, path, formData, body |
location | string | false | The name of the field that caused an error. | - |
domain | string | false | A subsystem or context where an error occurred. | - |
BadRequestError
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
reason | string | false | A codified value that represents the specific error that caused the current error status. | - |
message | string | true | A human-readable description of the error. | - |
locationType | string | false | The location or type of the field that caused an error. | query, header, path, formData, body |
location | string | false | The name of the field that caused an error. | - |
code | integer(int32) | true | The HTTP response status code that represents the error. | - |
errorDetails | [BadRequestErrorDetail] | false | A list of additional error details. | - |
BadRequestErrorDetail
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
reason | string | false | A codified value that represents the specific error that caused the current error status. | - |
message | string | false | A human-readable description of an error. | - |
locationType | string | false | The location or type of the field that caused an error. | query, header, path, formData, body |
location | string | false | The name of the field that caused an error. | - |
domain | string | false | A subsystem or context where an error occurred. | - |
postDataSources
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
name | string | true | The name of the data source. | - |
description | string | false | The description of the data source. | - |
multiContributor | boolean | false | Indicates whether the contributed records from this data source originate from a single or multiple contributors. The default is false. | - |
tags | [object] | false | Tags can be used to group related data sources. | - |
» key | string | true | The key of the tag. | - |
» value | string | false | The value of the tag. | - |
PrimeDataIngestionPublicApi_Entities_V1_DataSource
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
id | string | true | The ID of the data source. | - |
name | string | false | The name of the data source. | - |
multiContributor | boolean | false | Indicates whether the contributed records from this data source originate from a single or multiple contributors. The default is false. | - |
description | string | false | The description of the data source. | - |
tags | [PrimeDataIngestionPublicApi_Entities_V1_Tags] | false | Tags can be used to group related data sources. | - |
createdAt | string | false | The date and time when the data source was created. | - |
updatedAt | string | false | The date and time when the data source was updated. | - |
PrimeDataIngestionPublicApi_Entities_V1_Tags
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
key | string | true | The key of the tag. | - |
value | string | false | The value of the tag. | - |
DataSources
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
items | [PrimeDataIngestionPublicApi_Entities_V1_DataSource] | true | An array containing the current page of results. | - |
totalResults | integer(int32) | false | The total number of results for the specified parameters. | - |
firstLink | string | true | The first page of results. | - |
lastLink | string | false | The last page of results. | - |
prevLink | string | false | The previous page of results. | - |
nextLink | string | false | The next page of results. | - |
patchDataSources
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
name | string | false | The name of the data source. | - |
description | string | false | The description of the data source. | - |
tags | [object] | false | Tags can be used to group related data sources. | - |
» key | string | true | The key of the tag. | - |
» value | string | false | The value of the tag. | - |
postDataSourcesDatasourceidRecordStreams
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
name | string | true | The displayable name of the record stream. | - |
recordTypeId | string | true | The type of record that the record stream contains. A record stream can contain only a single record type. | - |
description | string | false | The description of the record stream. | - |
PrimeDataIngestionPublicApi_Entities_V1_RecordStream
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
id | string | true | The ID of the record stream, provided by the data contributor, that uniquely identifies the record stream in a data source. The record stream ID can contain only alphanumeric characters, underscores, and dashes. | - |
name | string | true | The displayable name of the record stream. | - |
recordType | string | true | The type of record that the record stream contains. A record stream can contain only a single record type. | - |
description | string | false | The description of the record stream. | - |
createdAt | string(date-time) | true | The date and time when the record stream was created. | - |
updatedAt | string(date-time) | true | The date and time when the record stream was most recently updated. | - |
ConflictError
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
reason | string | false | A codified value that represents the specific error that caused the current error status. | - |
message | string | true | A human-readable description of the error. | - |
locationType | string | false | The location or type of the field that caused an error. | query, header, path, formData, body |
location | string | false | The name of the field that caused an error. | - |
code | integer(int32) | true | The HTTP response status code that represents the error. | - |
errorDetails | [ConflictErrorDetail] | false | A list of additional error details. | - |
ConflictErrorDetail
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
reason | string | false | A codified value that represents the specific error that caused the current error status. | - |
message | string | false | A human-readable description of an error. | - |
locationType | string | false | The location or type of the field that caused an error. | query, header, path, formData, body |
location | string | false | The name of the field that caused an error. | - |
domain | string | false | A subsystem or context where an error occurred. | - |
RecordStreams
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
items | [PrimeDataIngestionPublicApi_Entities_V1_RecordStream] | true | An array containing the current page of results. | - |
totalResults | integer(int32) | false | The total number of results for the specified parameters. | - |
firstLink | string | true | The first page of results. | - |
lastLink | string | false | The last page of results. | - |
prevLink | string | false | The previous page of results. | - |
nextLink | string | false | The next page of results. | - |
patchDataSourcesDatasourceidRecordStreams
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
name | string | false | The displayable name of the record stream. | - |
description | string | false | The description of the record stream. | - |
postDataSourcesDatasourceidDataPartitions
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
name | string | true | The displayable name of the data partition. | - |
description | string | false | The description of the data partition. | - |
PrimeDataIngestionPublicApi_Entities_V1_DataPartition
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
id | string | true | The ID of the data partition. | - |
name | string | true | The displayable name of the data partition. | - |
description | string | false | The description of the data partition. | - |
conceptMappingConsumerId | string | false | The unique concept mapping ID of the consumer that is used to search for the mapping. | - |
createdAt | string(date-time) | true | The date and time when the data partition was created. | - |
updatedAt | string(date-time) | true | The date and time when the date partition was updated. | - |
DataPartitions
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
items | [PrimeDataIngestionPublicApi_Entities_V1_DataPartition] | true | An array containing the current page of results. | - |
totalResults | integer(int32) | false | The total number of results for the specified parameters. | - |
firstLink | string | true | The first page of results. | - |
lastLink | string | false | The last page of results. | - |
prevLink | string | false | The previous page of results. | - |
nextLink | string | false | The next page of results. | - |
patchDataSourcesDatasourceidDataPartitions
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
name | string | false | The displayable name of the data partition. | - |
description | string | false | The description of the data partition. | - |
postDataSourcesDatasourceidDataPartitionsDatapartitionidDataSets
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
name | string | true | The human-readable name of the data set. | - |
description | string | false | A human-readable description of the data set. | - |
PrimeDataIngestionPublicApi_Entities_V1_DataSet
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
id | string | true | The unique ID of the data set. | - |
name | string | true | The human-readable name of the data set. | - |
description | string | false | A human-readable description of the data set. | - |
createdAt | string(date-time) | true | The date and time when the data set was created. | - |
updatedAt | string(date-time) | true | The date and time when the data set was updated. | - |
DataSets
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
items | [PrimeDataIngestionPublicApi_Entities_V1_DataSet] | true | An array containing the current page of results. | - |
totalResults | integer(int32) | false | The total number of results for the specified parameters. | - |
firstLink | string | true | The first page of results. | - |
lastLink | string | false | The last page of results. | - |
prevLink | string | false | The previous page of results. | - |
nextLink | string | false | The next page of results. | - |
patchDataSourcesDatasourceidDataPartitionsDatapartitionidDataSets
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
name | string | true | The human-readable name of the data set. | - |
description | string | false | A human-readable description of the data set. | - |
postDataSourcesDatasourceidDataPartitionsDatapartitionidProcessingStreams
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
description | string | true | The description of the processing stream. | - |
configuration | object | true | The PDI service requires configuration to start and run the processing stream. Configuration can be updated until the processing stream is started, after which the configuration becomes immutable. | - |
» proprietaryToStandardCodeMappingConfiguration | object | true | The proprietary to standard code mappings configuration to be used by the processing stream. | - |
»» consumerId | string | true | The PCST consumer containing the code mappings to be used during processing. | - |
»» version | string | false | The version of the specified consumer’s coding mappings to be used during processing. If not specified, the most recent version is used. | - |
» dataSetConfigurations | [object] | true | One or more data sets of the data partition that are processed by the processing stream, and the configuration required for each. | - |
»» dataSetId | string | true | A data set of the data partition that is processed by the processing system. | - |
»» recordStreamId | string | true | The record stream of the parent data source, which contains the contributed records that the processing stream uses as the inputs for processing the data set. | - |
»» resourceReferences | [object] | true | The configuration required by processing to produce a PartitionRecordReference, which represents a literal reference to a related resource in the context of the data set. | - |
»»» partitionRecordTypeId | string | true | The partition record type (such as PATIENT or PATIENT_ENCOUNTER) of the related resource. | - |
»»» dataPartitionId | string | true | The data partition containing the related resource. Must be specified even if the related resource is in the same data partition as the referencing resource. | - |
»»» dataSetId | string | false | The data set, in the data partition, containing the related resource. | - |
PrimeDataIngestionPublicApi_Entities_V1_ProcessingStream
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
id | string | true | The unique ID of the processing stream. | - |
description | string | true | The description of the processing stream. | - |
status | string | true | The current status of the processing stream. | NOT_STARTED, STARTED, RUNNING, STOPPED, PURGED |
createdAt | string | true | The date the processing stream was created in International Organization for Standardization (ISO) YYYY-MM-DDThh:mm:ss.SSSZ format. | - |
startedAt | string | false | The date the processing stream was started in ISO YYYY-MM-DDThh:mm:ss.SSSZ format. | - |
stoppedAt | string | false | The date the processing stream was stopped in ISO YYYY-MM-DDThh:mm:ss.SSSZ format. | - |
purgedAt | string | false | The date the processing stream was purged in ISO YYYY-MM-DDThh:mm:ss.SSSZ format. | - |
configuration | PrimeDataIngestionPublicApi_Entities_V1_ProcessingStreamConfiguration | false | The configuration instructing how PDI is to run the processing stream. A processing stream’s configuration can only be modified before the processing stream is started. Once started, the stream’s configuration is immutable. | - |
PrimeDataIngestionPublicApi_Entities_V1_ProcessingStreamConfiguration
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
updatedAt | string | true | The date the processing stream was created, in International Organization for Standardization (ISO) YYYY-MM-DDThh:mm:ss.SSSZ format. | - |
proprietaryToStandardCodeMappingConfiguration | PrimeDataIngestionPublicApi_Entities_V1_CodeMappingConfiguration | false | The proprietary to standard code mappings configuration to be used by the processing stream. | - |
dataSetConfigurations | [PrimeDataIngestionPublicApi_Entities_V1_DataSetConfiguration] | true | The data sets to be processed by the stream, and their respective processing configuration. | - |
PrimeDataIngestionPublicApi_Entities_V1_CodeMappingConfiguration
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
consumerId | string | true | The PCST consumer containing the code mappings to be used during processing. | - |
version | string | true | The version of the specified consumer’s coding mappings to be used during processing. If not specified, the most recent version is used. | - |
PrimeDataIngestionPublicApi_Entities_V1_DataSetConfiguration
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
dataSetId | string | true | A data set, of the data partition, that the stream processes. | - |
recordStreamId | string | true | The record stream, of the parent data source, containing the contributed records that the stream processes for this data set. | - |
resourceReferences | [PrimeDataIngestionPublicApi_Entities_V1_ResourceReferenceConfiguration] | true | The resources (such as Patient and Encounter), referenced by the resource being processed in this data set, and the configuration required to create the respective resource references. | - |
cdaResourceExtraction | boolean | false | Indicates whether the CDA Resource Extraction processing should be performed for this data set. Only applicable to data sets configured to process record streams containing the PatientDocumentReference contributed records. | - |
PrimeDataIngestionPublicApi_Entities_V1_ResourceReferenceConfiguration
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
partitionRecordTypeId | string | true | The ID of the partition record type of the related resource. | - |
dataPartitionId | string | true | The ID of the data partition containing the related resource. | - |
dataSetId | string | false | The ID of the data set in the data partition that contains the related resource. | - |
ProcessingStreams
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
items | [PrimeDataIngestionPublicApi_Entities_V1_ProcessingStream] | true | An array containing the current page of results. | - |
totalResults | integer(int32) | false | The total number of results for the specified parameters. | - |
firstLink | string | true | The first page of results. | - |
lastLink | string | false | The last page of results. | - |
prevLink | string | false | The previous page of results. | - |
nextLink | string | false | The next page of results. | - |
putDataSourcesDatasourceidDataPartitionsDatapartitionidProcessingStreams
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
description | string | true | The description of the processing stream. | - |
configuration | object | true | The PDI service requires configuration to start and run the processing stream. Configuration can be updated until the processing stream is started, after which the configuration becomes immutable. | - |
» proprietaryToStandardCodeMappingConfiguration | object | true | The proprietary to standard code mappings configuration to be used by the processing stream. | - |
»» consumerId | string | true | The PCST consumer containing the code mappings to be used during processing. | - |
»» version | string | false | The version of the specified consumer’s coding mappings to be used during processing. If not specified, the most recent version is used. | - |
» dataSetConfigurations | [object] | true | One or more data sets of the data partition that are processed by the processing stream, and the configuration required for each. | - |
»» dataSetId | string | true | A data set of the data partition that is processed by the processing system. | - |
»» recordStreamId | string | true | The record stream of the parent data source, which contains the contributed records that the processing stream uses as the inputs for processing the data set. | - |
»» resourceReferences | [object] | true | The configuration required by processing to produce a PartitionRecordReference, which represents a literal reference to a related resource in the context of the data set. | - |
»»» partitionRecordTypeId | string | true | The partition record type (such as PATIENT or PATIENT_ENCOUNTER) of the related resource. | - |
»»» dataPartitionId | string | true | The data partition containing the related resource. Must be specified even if the related resource is in the same data partition as the referencing resource. | - |
»»» dataSetId | string | false | The data set, in the data partition, containing the related resource. | - |
PrimeDataIngestionPublicApi_Entities_V1_CursorPaginationEntity
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
items | [PrimeDataIngestionPublicApi_Entities_V1_PartitionRecordMetadata] | true | An array containing the current page of results. | - |
nextLink | string | true | The next page of results. | - |
PrimeDataIngestionPublicApi_Entities_V1_PartitionRecordMetadata
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
uri | string | true | The URI of the resource partition record. | - |
partitionRecordType | PrimeDataIngestionPublicApi_Entities_V1_PartitionRecordType | true | The type of the resource partition record. | - |
resourceId | string | true | The resource ID of the resource partition record. | - |
version | integer(int64) | true | The version of the resource partition record. | - |
operation | string | true | The operation that was performed when the resource partition record was produced. The supported operations are WRITE and DELETE . |
WRITE, DELETE |
PrimeDataIngestionPublicApi_Entities_V1_PartitionRecordType
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
id | string | true | The type of the resource partition record. | - |
PrimeDataIngestionPublicApi_Entities_V1_PartitionRecord
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
uri | string | true | The URI of the resource partition record. | - |
partitionRecordType | PrimeDataIngestionPublicApi_Entities_V1_PartitionRecordType | true | The type of the resource partition record. | - |
id | string | true | The ID of the partition record type. | - |
resourceId | string | true | The resource ID of the resource partition record. | - |
version | integer(int64) | true | The version of the resource partition record. | - |
operation | string | true | The operation that was performed when the resource partition record was produced. The supported operations are WRITE and DELETE . |
WRITE, DELETE |
content | object | false | A JSON representation of the resource (such as DocumentReference or Immunization) contained within the partition record. Only applicable if the partition record has a WRITE operation. |
- |
processingLog | PrimeDataIngestionPublicApi_Entities_V1_ProcessingLog | false | The processing log produced during the production of the resource partition record. | - |
PrimeDataIngestionPublicApi_Entities_V1_ProcessingLog
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
deleteReason | string | false | The reason the partition record was deleted (using a DELETE operation). The following values are possible:
|
SOURCE_DELETED, FILTERED, FAILED |
entries | [PrimeDataIngestionPublicApi_Entities_V1_Descriptor] | false | The log entries produced during the production of the resource partition record. | - |
PrimeDataIngestionPublicApi_Entities_V1_Descriptor
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
descriptor | PrimeDataIngestionPublicApi_Entities_V1_LogEntry | true | A reference to the descriptor, or definition, of the log entry. | - |
PrimeDataIngestionPublicApi_Entities_V1_LogEntry
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
id | string | true | The ID of the descriptor identifying what the processing log entry represents. | - |
PartitionRecordEventMetrics
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
items | [PrimeDataIngestionPublicApi_Entities_V1_PartitionRecordEventMetric] | true | An array containing the current page of results. | - |
totalResults | integer(int32) | false | The total number of results for the specified parameters. | - |
firstLink | string | true | The first page of results. | - |
lastLink | string | false | The last page of results. | - |
prevLink | string | false | The previous page of results. | - |
nextLink | string | false | The next page of results. | - |
PrimeDataIngestionPublicApi_Entities_V1_PartitionRecordEventMetric
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
id | string | true | The event. | - |
asOfDate | string(date-time) | true | The date the event’s metrics were calculated as of the processing job. | - |
status | string | true | The event status. | COMPLETED |
startDate | string(date-time) | true | The date and time when the processing job started. | - |
endDate | string(date-time) | true | The date and time when the processing job ended. | - |
PartitionRecordMetricEventMetrics
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
items | [PrimeDataIngestionPublicApi_Entities_V1_PartitionRecordMetricEventMetrics] | true | An array containing the current page of results. | - |
totalResults | integer(int32) | false | The total number of results for the specified parameters. | - |
firstLink | string | true | The first page of results. | - |
lastLink | string | false | The last page of results. | - |
prevLink | string | false | The previous page of results. | - |
nextLink | string | false | The next page of results. | - |
PrimeDataIngestionPublicApi_Entities_V1_PartitionRecordMetricEventMetrics
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
dataSet | PrimeDataIngestionPublicApi_Entities_V1_DataSetReference | true | The unique ID of the metric event. | - |
partitionRecordType | PrimeDataIngestionPublicApi_Entities_V1_PartitionRecordTypeReference | true | The type of resource partition record. | - |
metricDescriptor | PrimeDataIngestionPublicApi_Entities_V1_MetricDescriptor | true | The type of metric used. | - |
value | integer(int32) | true | A numeric value that represents resource. | - |
PrimeDataIngestionPublicApi_Entities_V1_DataSetReference
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
id | string | true | The unique ID of the data set. | - |
PrimeDataIngestionPublicApi_Entities_V1_PartitionRecordTypeReference
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
id | string | true | The ID of a partition record type of the related resource. | - |
PrimeDataIngestionPublicApi_Entities_V1_MetricDescriptor
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
id | string | true | Metric descriptor ID. | - |
RecordTypes
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
items | [PrimeDataIngestionPublicApi_Entities_V1_RecordType] | true | An array containing the current page of results. | - |
totalResults | integer(int32) | false | The total number of results for the specified parameters. | - |
firstLink | string | true | The first page of results. | - |
lastLink | string | false | The last page of results. | - |
prevLink | string | false | The previous page of results. | - |
nextLink | string | false | The next page of results. | - |
PrimeDataIngestionPublicApi_Entities_V1_RecordType
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
id | string | true | The unique ID of the record type. | - |
name | string | true | The human-readable name of the record type. | - |
RecordTypeSchemaItems
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
items | [PrimeDataIngestionPublicApi_Entities_V1_RecordTypeSchemaItem] | true | An array containing the current page of results. | - |
totalResults | integer(int32) | false | The total number of results for the specified parameters. | - |
firstLink | string | true | The first page of results. | - |
lastLink | string | false | The last page of results. | - |
prevLink | string | false | The previous page of results. | - |
nextLink | string | false | The next page of results. | - |
PrimeDataIngestionPublicApi_Entities_V1_RecordTypeSchemaItem
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
id | string | true | The ID of a specific schema of a record type. | - |
PrimeDataIngestionPublicApi_Entities_V1_RecordTypeSchema
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
id | string | true | The ID of a specific schema of a record type. | - |
schema | string | true | A Base64-encoded JSON schema to which records of this type must adhere. | - |