Skip to content
This repository has been archived by the owner on Dec 14, 2022. It is now read-only.

Data Model

zlister edited this page Jul 7, 2020 · 7 revisions

Data Flow

The data provided comes from a FHIR server and put into a collection bundle along with a set of FHIR Parameters that come from user input.

FHIR Bundle

Here is an example of the format of the FHIR Bundle that is provided to the service for creation of the clinical trial matching API request.

 {
	 "resourceType": "Bundle",
	 "type": "collection",
	 "entry": [
		 {
			 "resource": {
				 "resourceType": "Parameters",
				 "parameter": [
					{
						"name": "zipCode",
						"valueString": "00000"
					},
					{
						 "name": "travelRadius",
						 "valueString": "10"
					},
					{
						 "name": "phase",
						 "valueString": "any"
					},
					{
						 "name": "recruitmentStatus",
						 "valueString": "all"
					}
				]
			}
		},
		{
			"resource": {
				"resourceType": "Patient",
				"id": "1",
				...
			}
		},
		{
			"resource": {
				"resourceType": "Condition",
				"id": "2",
				...
			}
		},
		{
			"resource": {
				"resourceType": "Immunization",
				"id": "3",
				...
			}
		},
		{
			"resource": {
				"resourceType": "Encounter",
				"id": "4",
				...
			}
		}]
}

For more information on the FHIR specifications, please visit these links

FHIR ResearchStudy

Once the data has been pulled from the FHIR Bundle and sent to the trial matching service, the results need to be converted into a FHIR searchset bundle before being return the to the engine. Here is an example of the structure of the searchset bundle

{
	 "resourceType": "Bundle",
	 "type": "searchset",
	 "entry": [
		 {
			 "resource": {
				 "resourceType": "ResearchStudy",
				 "id": "1",
				 "title": "Study Title",
				 "status": "active", // required
				 "identifier": [
					{
					 "system": "http://clinicaltrials.gov",
					 "value": "NCT00000000",
					 "use": "official"
					}],
				 "phase": {
					 "coding": [
						{
							"system": "http://terminology.hl7.org/CodeSystem/research-study-phase",
							"code": "phase-2",
							"display": "Phase 2"
						}
					 ],
					 "text": "Phase 2"
				},
				"category": [
					{
						"text": "Observational"
					}
				],
				"objective": [
					{
						"name": "objective of trial"
					}
				],
				"condition": [
					{
						"text": "condition1"
					},
					{
						"text": "condition2"
					}
				],
				"keyword": [
					{
						"text": "keyword1"
					},
					{
						"text": "keyword2"
					}
				],
				"contact": [
					{
						"name": "contactName",
						"telecom": [
							{
								 "system": "phone",
								 "value": "111-111-1111",
								 "use": "work"
							},
							{
								"system": "email",
								"value": "email@email.org",
								"use": "work"
							}
						]
					}
				],
				"location": [
					{
						"text": "location1"
					},
					{
						"text": "location2"
					}
				],
				"sponsor": {
					"reference": "#org0",
					"type": "Organization"
				},
				"principalInvestigator": {
					"reference": "#practitioner0",
					"type": "Practitioner"
				},
				"site": [
					{
						"reference": "#location0-0",
						"type": "Location"
					},
					{
						"reference": "#location0-1",
						"type": "Location"
					}
				],
				"enrollment": [
					{
						"reference": "#group0",
						"type": "Group",
						"display": "inclusion/exclusion criteria"
					}
				],
				"description": "description of trial",
				"arm": [
					{
						"name": "arm1",
						"type": {
							"text": "type"
						},
						"description": "description"
					},
					{
						"name": "arm2",
						"type": {
							"text": "type"
						},
						"description": "description"
					}
				],
				"contained": [
					{	
						"resourceType": "Group",
						"id": "group0",
						"type": "person",
						"actual": false
					},
					{
						"resourceType": "Organization",
						"id": "org0",
						"name": "orgName"
					},
					{
						"resourceType": "Practitioner",
						"id": "practitioner0",
						"name": [
							{
								"use": "official",
								"text": "practitionerName"
							}
						]
					},
					{
						"resourceType": "Location",
						"id": "location0-0",
						"name": "locationName1",
						"telecom": [
							{
								 "system": "email",
								 "value": "email@email.org",
								 "use": "work"
							},
							{
								"system": "phone",
								"value": "111-111-1111",
								"use": "work"
							}
						],
						"position": 
							{
								"latitude": 40.000000,
								"longitude": -70.000000
							}
					},
					{
						"resourceType": "Location",
						"id": "location0-1",
						"name": "locationName2",
						"position": 
							{
								"latitude": 41.000000,
								"longitude": -71.000000
							}
					}
				]
			},
			"search": 
				{
					"mode": "match",
					"score": 1
				}
			},
			{
			"resource": {
				"resourceType": "ResearchStudy",
				"id": "2",
				...
			}
                }
	],
	"total": 2
}

For more information on the FHIR ResearchStudy and the bundle, visit the FHIR documentation

Clone this wiki locally