Meridian FHIR Server is a read-only RESTful API, based on standards developed by HL7 in FHIR® STU 3. This documentation will guide to access your health resources.
Details of accessing FHIR Server is explained with the help of below mentioned sections.
This section discusses the terms and conditions of using FHIR API Server.
Documentation of FHIR API Server and materials including the support of the FHIR® Specification (referred to as the "Materials") have been made available for development and testing. The Materials are provided to developers as-is with no other warranties expressed or implied. Developers may use the Materials with adherence to the below terms and conditions:
Fhir Server is secured using OAuth2 basic http authentication. The token has an an expiration returned in the expires_in property of the response.Once token is expired Client will need to re-authenticate with the server.
Authentication End Point: {ApiURL}/authtoken
HTTP Client Configuration Steps
HTTP Header:
| Key | Value |
|---|---|
| Content-Type | application/x-www-form-urlencoded |
Body Parameter:
| Key | Value |
|---|---|
| grant_type | password |
| username | <Username> |
| password | <password> |
Authorization Header:
Need to send valid Access token, received after authentication with every request to validate user. If the token is missing or expired, the server will respond with a 401 UNAUTHORIZED.
| Key | Value |
|---|---|
| Authorization | bearer: <access_token> |
This section discusses details about Meridian FHIR API. Covers all the samples to access the Health resources.
| Application Name | URL |
|---|---|
| Authentication End Point | {ApiURL}/authtoken |
| API End Point | {ApiURL}/Fhir |
Search operaters for Date:
| Operator | Description |
|---|---|
| [parameter]=eq2013-01-14 | 2013-01-14T00:00 matches.2013-01-14T10:00 not match - it's not in the range |
| [parameter]=ne2013-01-14 | 2013-01-15T00:00 matches - it's not in the range 2013-01-14T00:00 does not match - it's in the range |
| [parameter]=lt2013-01-14 | 2013-01-13T00:00 matches2013-01-14T00:00 does not match - it's in the range |
| [parameter]=gt2013-01-14 | 2013-01-15T00:00 matches2013-01-14T00:00 does not match - it's in the range |
| [parameter]=ge2013-03-14 | 2013-01-14T00:00 matches2013-01-13T00:00 does not match - it's in the range |
| [parameter]=le2013-03-14 | 2013-01-14T00:00 matches2013-01-15T00:00 does not match - it's in the range |
Meridian FHIR API server maps Individual Data Categories from Common Clinical Dataset to FHIR resources
| Common Clinical Dataset | FHIR Resource | Resource Reference Documentation |
|---|---|---|
| Patient Demographics including Race/Ethnicity | Patient |
Required Search Parameter: Patient Optional Search Parameter: NIL Description: This is method is used to access patient resource. URL Syntax: GET [base_url]/Fhir/Patient/_search?Patient=[id], GET [base_url]/Fhir/Patient/[id] Example: GET https://[base_url]/Fhir/Patient/_search?Patient=1, GET https://[base_url]/Fhir/Patient/1 Return Type: JSON or XML
JSON Result: |
| Medications | MedicationStatement |
Required Search Parameter: Patient Optional Search Parameter: dateasserted Description: This is method is used to access MedicationStatement resource. URL Syntax: GET [base_url]/Fhir/MedicationStatement/_search?Patient=[id]&dateasserted=geYYYY-MM-DD&dateasserted=leYYYY-MM-DD Example: GET [base_url]/Fhir/MedicationStatement/_search?patient=1&dateasserted=ge2017-08-22&dateasserted=le2018-01-22 Return Type: JSON or XML
JSON Result: |
| Problems/Health concerns | Condition |
Required Search Parameter: Patient Optional Search Parameter: onsetDateTime Description: This is method is used to access Problems/Health concerns as Condition resource. URL Syntax: GET [base_url]/Fhir/Condition/_search?Patient=[id]&onsetDateTime=geYYYY-MM-DD&onsetDateTime=leYYYY-MM-DD Example: GET [base_url]/Fhir/Condition/_search?patient=1&onsetDateTime=ge2012-12-15&onsetDateTime=le2012-12-30 Return Type: JSON or XML
JSON Result: |
| Unique Device Identifier(s) for a Patient’s Implantable Device(s) | Device |
Required Search Parameter: Patient Optional Search Parameter: ManufactureDate,ExpirationDate,Date(ImplantDate) Description: This is method is used to access Device resource. URL Syntax: GET [base_url]/Fhir/Device/_search?Patient=[id]&Date=geYYYY-MM-DD&Date=leYYYY-MM-DD Example: GET [base_url]/Fhir/Device/_search?patient=1&date=ge2017-10-12&date=le2017-10-30 Return Type: JSON or XML
JSON Result: |
| Immunizations | Immunization |
Required Search Parameter: Patient Optional Search Parameter: date Description: This is method is used to access Immunization resource. URL Syntax: GET [base_url]/Fhir/Immunization/_search?Patient=[id]&date=geYYYY-MM-DD&date=leYYYY-MM-DD Example: GET [base_url]/Fhir/Immunization/_search?patient=1&date=ge2013-1-15&date=le2013-5-5 Return Type: JSON or XML
JSON Result: |
| Goals | Goal |
Required Search Parameter: Patient Optional Search Parameter: startDate Description: This is method is used to access Goal resource. URL Syntax: GET [base_url]/Fhir/Goal/_search?Patient=[id]&startDate=geYYYY-MM-DD&startDate=leYYYY-MM-DD Example: GET [base_url]/Fhir/Goal?Patient=1&startDate=ge2015-06-21&startDate=le2015-06-25 Return Type: JSON or XML
JSON Result: |
| Medication Allergies | AllergyIntolerance |
Required Search Parameter: Patient Optional Search Parameter: onsetdatetime Description: This is method is used to access Medication Allergies as AllergyIntolerance resource. URL Syntax: GET [base_url]/Fhir/AllergyIntolerance/_search?Patient=[id]&dateasserted=geYYYY-MM-DD&dateasserted=leYYYY-MM-DD Example: GET [base_url]/Fhir/AllergyIntolerance/_search?patient=1&onsetDateTime=ge2012-08-15&onsetDateTime=le2012-10-15 Return Type: JSON or XML
JSON Result: |
| Care Team Member(s) | CareTeam |
Required Search Parameter: Patient Optional Search Parameter: start Description: This is method is used to access Care Team Member(s) as CareTeam resource. URL Syntax: GET [base_url]/Fhir/CareTeam/_search?Patient=[id]&start=geYYYY-MM-DD&start=leYYYY-MM-DD Example: GET [base_url]/Fhir/CareTeam?Patient=1&start=ge2015-06-29&start=le2015-07-29 Return Type: JSON or XML
JSON Result: |
| Vital Signs | Observation |
Required Search Parameter: Patient Optional Search Parameter: effectiveDateTime Description: This is method is used to access Vital Signs as Observation resource. URL Syntax: GET [base_url]/Fhir/Observation/_search?Patient=[id]&effectiveDateTime=geYYYY-MM-DD&effectiveDateTime=leYYYY-MM-DD Example: GET [base_url]/Fhir/Observation?Patient=1&effectiveDateTime=ge2015-6-23&effectiveDateTime=le2015-12-23 Return Type: JSON or XML
JSON Result: |
| Smoking Status | Observation |
Required Search Parameter: Patient Optional Search Parameter: issued Description: This is method is used to access Smoking Status as Observation resource. URL Syntax: GET [base_url]/Fhir/Observation/_search?Patient=[id]&issued=geYYYY-MM-DD&issued=leYYYY-MM-DD Example: GET [base_url]/Fhir/Observation?Patient=1&issued=ge2012-12-15&issued=le2013-02-15 Return Type: JSON or XML
JSON Result: |
| Procedures | Procedure |
Required Search Parameter: Patient Optional Search Parameter: performeddatetime Description: This is method is used to access Procedure resource. URL Syntax: GET [base_url]/Fhir/Procedure/_search?Patient=[id]&performeddatetime=geYYYY-MM-DD&performeddatetime=leYYYY-MM-DD Example: GET [base_url]/Fhir/Procedure?Patient=1&performeddatetime=ge2012-08-1&performeddatetime=le2012-10-15 Return Type: JSON or XML
JSON Result: |
| Assessment and Plan of Treatment | CarePlan |
Required Search Parameter: Patient Optional Search Parameter: start Description: This is method is used to access Assessment and Plan of Treatment as CarePlan resource. URL Syntax: GET [base_url]/Fhir/CarePlan/_search?Patient=[id]&start=geYYYY-MM-DD&start=leYYYY-MM-DD Example: GET [base_url]/Fhir/CarePlan?Patient=1&start=ge2013-01-10&start=le2013-01-30 Return Type: JSON or XML
JSON Result: |
| Laboratory Tests | Observation |
Required Search Parameter: Patient Optional Search Parameter: issued Description: This is method is used to access Laboratory Tests as Observation resource. URL Syntax: GET [base_url]/Fhir/MedicationStatement/_search?Patient=[id]&issued=geYYYY-MM-DD&issued=leYYYY-MM-DD Example: GET [base_url]/Fhir/MedicationStatement?Patient=1&issued=ge2012-07-15&issued=le2012-09-15 Return Type: JSON or XML
JSON Result: |
| Laboratory Values(s)/Result(s) | Observation |
Required Search Parameter: Patient Optional Search Parameter: issued Description: This is method is used to access Laboratory Values(s)/Result(s) as Observation resource. URL Syntax: GET [base_url]/Fhir/Observation/_search?Patient=[id]&issued=geYYYY-MM-DD&issued=leYYYY-MM-DD Example: GET [base_url]/Fhir/Observation?Patient=1&issued=ge2017-10-1&issued=le2017-10-30 Return Type: JSON or XML
JSON Result: |
| CCD | Binary |
Required Search Parameter: Patient Optional Search Parameter: fromDate,toDate Description: This is method is used to access CCD's as Binary resource. URL Syntax: GET [base_url]/Fhir/Binary/_search?Patient=[id]&toDate=YYYY-MM-DD&toDate=YYYY-MM-DD Example: GET [base_url]/Fhir/Binary?Patient=1&fromDate=2017-10-1&toDate=2017-10-30 Return Type: JSON or XML Note: Search will only support (=) operator as mentioned in example
JSON Result: |
Supported request type:
Unsupported request types:
This section discusses about the request and response. FHIR Server is capable of providing the responses in both JSON & XML format
Application/JSON
Application/XML
Description: This endpoint is used to search all the resources with search parameters.
FhirResponse:
| Name | Description | Type |
|---|---|---|
| Resource | Resource |
Description: This endpoint is used to get the resource with Id. Only patient resource can be accessed with this endpoint.
FhirResponse:
| Name | Description | Type |
|---|---|---|
| Resource | Resource |
FHIR Server will return OperationOutcome Resource with error message for all the valid request with status code 200 in XML/JSON format.
Example:
Below is a list of errors messages:
| Error Message | Description |
|---|---|
| Trying to access another user's profile. | Permission is denied to access another patient's profile. |
| Missing required search parameter Patient id ex:Patient=123. | Patient Id is required parameter for all the requests. |
| Only Patient resource can be accessed with identifier ({type}/{id}). | Only Patient resource can be accessed directly with identifier ({type}/{id}). Other resources can be accessed with search. |
Not Found - HTTP Status Code - 404
Unauthorized - HTTP Status Code - 401