FHIR

Introduction

Fast Healthcare Interoperability Resources, or FHIR, is a standard way of defining an API for healthcare resources. More information can be found at the FHIR website.

The InPracSys FHIR API is based on FHIR V4, of the FHIR standard. Updates and definitions for use of the standard can be found on the Link: FHIR V4.

Security

Like many RESTful APIs, the InPracSys FHIR API uses OAuth 2 for security. This means that when making calls to any resource with the InPracSys FHIR API, you must pass a Bearer token. This token is passed in the Authorization Header.

Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWMF...

To obtain a Bearer token, you must call an Authorization Server. The authorization server typically exposes two endpoints:

authorize: typically used to confirm the user’s credentials
token: used to obtain the Bearer token
As per the FHIR specification, the InPracSys FHIR API supports JSON. we limit our examples to JSON.

Overview

Step 1: Search for a patient

Now that we have the Bearer token, we can call the API. We will use it to search for a patient called Jamie.

GET https://fhirips.azurehealthcareapis.com/Patient?given=Jamie

This will return a collection of patient references. FHIR detail: FHIR returns this collection as a Bundle. When writing your client you will need to be aware of this detail, but we will gloss over that for now.

{
  "resourceType": "Bundle",
  "TotalElement": "4",
  "entry":[
   {
    "resource":{"resourceType": "Patient", "id": "7OddVzA6kuw%3d", "language": "",

    "text":{"status": "generated",…}
   },
   {
    "resource":{"resourceType": "Patient", "id": "BpGC1utB9Y8%3d", "language": "",

    "text":{"status": "generated",…}
   },
   {
    "resource":{"resourceType": "Patient", "id": "lypW7ti%2bldg%3d", "language": "",

    "text":{"status": "generated",…}
   },
   {
    "resource":{"resourceType": "Patient", "id": "RGqZr5e2FLU%3d", "language": "",

    "text":{"status": "generated",…}
  }
]}
Step 2: Retrieve a patient

Let’s pick the patient with ID B3fdg1utB9Y8%3d.

To retrieve the patient detail, issue the following request:

GET https://fhirips.azurehealthcareapis.com/Patient?pid=B3fdg1utB9Y8%3d
 
{
 
    "resourceType": "Patient",
 
        "id": "B3fdg1utB9Y8%3d",
 
            "extension": [{
 
                "url": "http://hl7.org/fhir/StructureDefinition/us-core-race",
 
                "valueCodeableConcept": {
 
                    "coding": [{
 
                        "code": "2106-3"
 
                    }]
 
                }
 
            }, {
 
                "url": "http://hl7.org/fhir/StructureDefinition/us-core-ethnicity",
 
                "valueCodeableConcept": {
 
                    "coding": [{
 
                        "code": "2186-5"
 
                    }]
 
                }
 
            }],
 
                "communication": [{
 
                    "language": {
 
                        "coding": [{
 
                            "system": "1.3.6.1.4.1.19376.1.5.3.1.2.1",
 
                            "code": "eng",
 
                            "display": "English"
 
                        }],
 
                        "text": "English"
 
                    },
 
                    "preferred": "true"
 
                }],
 
                    "identifier": [{
 
                        "SystemElement": {
 
                            "Value": "fhirips.azurehealthcareapis.com/Patient"
 
                        },
 
                        "ValueElement": {
 
                            "Value": "B3fdg1utB9Y8%3d"
 
                        }
 
                    }],
 
                        "ActiveElement": {
 
        "Value": "true",
 
            "Name": [{
 
                "FamilyElement": [{
 
                    "Value": "Rosdel"
 
                }],
 
                "GivenElement": [{
 
                    "Value": "Jamie"
 
                }]
 
            }],
 
                "Telecom": [{
 
                    "SystemElement": {
 
                        "Value": "0"
 
                    },
 
                    "ValueElement": {
 
                        "Value": "5557771234"
 
                    },
 
                    "UseElement": {
 
                        "Value": "0"
 
                    }
 
                }],
 
                    "GenderElement": {
 
            "Value": "1"
 
        },
 
        "BirthDateElement": {
 
            "Value": "1970-05-01"
 
        },
 
        "Address": [{
 
            "LineElement": [{
 
                "LineElement": [{
 
                }],
 
                "CityElement": {
 
                    "Value": "BEAVERTON"
 
                },
 
                "StateElement": {
 
                    "Value": "OR"
 
                },
 
                "PostalCodeElement": {
 
                    "Value": "97006"
 
                },
 
                "CountryElement": {
 
                    "Value": "USA"
 
                }
 
            }],
 
            "MaritalStatus": {
 
                "Coding": [{
 
                    "SystemElement": {
 
                        "Value": "http://hl7.org/fhir/ValueSet/marital-status"
 
                    },
 
                    "CodeElement": {
 
                        "Value": "M"
 
                    },
 
                    "DisplayElement": {
 
                        "Value": "Married"
 
                    }
 
                }],
 
                "TextElement": {
 
                    "Value": "Married"
 
                }
 
            }
 
        }
 
}
 
Step 1: Signup for a Developer account

If your have Username, Password, ClientID you will get the accesstoken.

Step 2: Use the above information to obtain a bearer token

The important pieces of information here are

I) https://fhirips.azurehealthcareapis.com/azurehealthcareapisTokenIssuer
Request Body grant_type=password&client_id=ClientID&username=user1&password=Password12

II) You will get Access Token (bearer token).
III) Call the Patient Search List Service
https://fhirips.azurehealthcareapis.com/Patient?given=Jamie

Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWMF…

IV) You will receive the All the patients (Json Response) with the given name “Jamie”.

Step 3: Retrieve a patient

Let’s pick the patient with ID B3fdg1utB9Y8%3d

To retrieve the patient detail, issue the following request

GET https://fhirips.azurehealthcareapis.com/Patient?_id=B3fdg1utB9Y8%3d
Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWMF…

Name

Required?

Type

Description

pid

yes

URL

Patient's logical ID. This is retrieved using the search function.

The Bearer token is the token you retrieved in the previous step. It goes into the Authorization Header.

This will return the patient.

Patients

Searching for a patient

GET https://fhirips.azurehealthcareapis.com/Patient?name=Jamie
GET https://fhirips.azurehealthcareapis.com/Patient?given=Jamie&family=Rosdel
GET https://fhirips.azurehealthcareapis.com/Patient?given=Jamie&family=Rosdel&gender=M

The following parameters can be specified as part of the search query:

Name

Required

Type

Description

name

No

string

A portion of either the family or given name of the patient.

_id

No

string

The logical ID of the patient.

family

Yes

string

A portion of the family (last) name of the patient.

given

Yes

string

A portion of the given (first) name of the patient.

gender

Yes

string

Patient's gender. M-Male, F-female, O-Other, U-Unknown

birthdate

Yes

date

Patient's date of birth.

identifier

Yes

token

Patient's identifier. For example, MRN.

{
    "resourceType": "Bundle",
        "TotalElement": "4",
            "entry": [
                {
                    "resource": {
                        "resourceType": "Patient", "id": "6Odd3aw6kuw%3d", "language": "", "text": { "status": "generated", … }
                    },
    {
                    "resource": {
                        "resourceType": "Patient", "id": "B3fdg1utB9Y8%3d", "language": "", "text": { "status": "generated", … }
                    },
    {
                    "resource": {
                        "resourceType": "Patient", "id": "9wdg7ti%2bldg%3d", "language": "", "text": { "status": "generated", … }
                    },
    {
                    "resource": {
                        "resourceType": "Patient", "id": "qesdt5e2FLU%3d", "language": "", "text": { "status": "generated", … }
                    }
    ]
}

Searching for a patient ID

Very often, you want to find a patient ID so that you can query for additional information. The search function is described in the previous section.

If your response returns one or more patients, the response contains the patient ID (or patient IDs).

{ “resourceType”: “Bundle”, “type”: “searchset”, “entry”:[ { “resource”:{“resourceType”: “Patient”, “id”:”6Odd3aw6kuw%3d”, “language”: “”, “text”:{“status”: “generated”,…} } ]}

Retrieving a patient

The patient’s logical ID (used to retrieve the patient) is passed as part of the URL. The logical ID is found as the result of a search.

GET https://fhirips.azurehealthcareapis.com/Patient?given=Jamie&family=Rosdel

Name

Type

Cardinality

Description

identifier

Identifier

0..*

Patient's identifier. Patients are usually assigned a specific numerical identifier that is unique within the system.

active

boolean

0..1

Is the patient's record active? The default value is true. Need to be able to mark a patient record as not to be used because it was created in error. If a record is inactive, and linked to an active record, then future patient/record updates should occur on the other patient.

name

HumanName

0..*

Name associated with the patient.

telecom

ContactPoint

0..*

Patient contact communication detail. This indicates the value in any kind of telecom details field for the patient. If capturing a phone, fax, or similar contact point, the value is a properly formatted telephone number according to ITU-T E.123. However, this is frequently not possible due to legacy data and/or clerical practices when recording contact details. For this reason, phone, fax, page, and email addresses are not handled as formal URLs.

gender

code

0..1

Patient's gender. Returns Male, Female, Other, or Unknown. For more information on this value set, see Administrative Gender ValueSet.

birthDate

date

0..1

Patient's date of birth. This indicates a specific calendar date or partial date (either a year or a month and year combination). Time zone is not included. Fuzzy (approximate) dates are not valid.

deceasedBoolean

boolean

0..1

Is the patient deceased? If a patient is deceased, it influences the clinical process and human communication. If this value is blank, most systems interpret the missing information as an indication that the patient is alive.

address

Address

0..*

Patient's postal address. Postal addresses are often used to record a location that can be visited to find a patient or person.

maritalStatus

CodeableConcept

0..1

Patient marital (civil) status. For more information on this value set, see Marital Status Codes.

multipleBirthBoolean

boolean

0..1

Was the patient part of a multiple birth?

contact

0..*

Patient's contact party. For example, Guardian, Partner, or Friend).

contact.relationship

CodeableConcept

0..*

Patient contact's relationship with the patient. For more information on this value set, see patient-contact-relationship.

contact.name

HumanName

0..1

Patient contact's name.

contact.telecom

ContactPoint

0..*

Patient contact's detailed information.

contact.address

Address

0..1

Patient contact's address.

communication.language

CodeableConcept

0..*

The language used to communicate with the patient about his or her health. For more information on this value set, see Language ValueSet.

careProvider

Reference(Practitioner)

0..*

Patient's nominated primary care provider.

us-core-race

CodeableConcept

0..1 Patient's race (category of humans sharing history, origin, or nationality). For more information on this value set, see DAF Race ValueSet

us-core-ethnicitye

CodeableConcept

0..1

Patient's ethnicity (category of humans sharing heritage). For more information on this value set, see Ethnicity group.

us-core-religion

CodeableConcept

0..1

Patient's professed religious affiliation. For more information on this value set, see v3 Code System ReligiousAffiliation.

{
    "resourceType": "Patient",
        "id": "B3fdg1utB9Y8%3d",
            "extension": [{
                "url": "http://hl7.org/fhir/StructureDefinition/us-core-race",
                "valueCodeableConcept": {
                    "coding": [{
                        "code": "2106-3"
                    }]
                }
            }, {
                "url": "http://hl7.org/fhir/StructureDefinition/us-core-ethnicity",
                "valueCodeableConcept": {
                    "coding": [{
                        "code": "2186-5"
                    }]
                }
            }],
                "communication": [{
                    "language": {
                        "coding": [{
                            "system": "1.3.6.1.4.1.19376.1.5.3.1.2.1",
                            "code": "eng",
                            "display": "English"
                        }],
                        "text": "English"
                    },
                    "preferred": "true"
                }],
                    "identifier": [{
                        "SystemElement": {
                            "Value": "fhirips.azurehealthcareapis.com/Patient"
                        },
                        "ValueElement": {
                            "Value": "B3fdg1utB9Y8%3d"
                        }
                    }],
                        "ActiveElement": {
        "Value": "true",
            "Name": [{
                "FamilyElement": [{
                    "Value": "Rosdel"
                }],
                "GivenElement": [{
                    "Value": "Jamie"
                }]
            }],
                "Telecom": [{
                    "SystemElement": {
                        "Value": "0"
                    },
                    "ValueElement": {
                        "Value": "5557771234"
                    },
                    "UseElement": {
                        "Value": "0"
                    }
                }],
                    "GenderElement": {
            "Value": "1"
        },
        "BirthDateElement": {
            "Value": "1970-05-01"
        },
        "Address": [{
            "LineElement": [{
                "LineElement": [{
                }],
                "CityElement": {
                    "Value": "BEAVERTON"
                },
                "StateElement": {
                    "Value": "OR"
                },
                "PostalCodeElement": {
                    "Value": "97006"
                },
                "CountryElement": {
                    "Value": "USA"
                }
            }],
            "MaritalStatus": {
                "Coding": [{
                    "SystemElement": {
                        "Value": "http://hl7.org/fhir/ValueSet/marital-status"
                    },
                    "CodeElement": {
                        "Value": "M"
                    },
                    "DisplayElement": {
                        "Value": "Married"
                    }
                }],
                "TextElement": {
                    "Value": "Married"
                }
            }
        }
    }

Smoking status

Retrieving a patient's observations

The patient’s logical ID is passed as part of the URL. The logical ID is returned using the search function.

GET https://fhirips.azurehealthcareapis.com/SmokingStatus?pid=B3fdg1utB9Y8%3d

Name

Required?

Type

Description

pid

yes

URL

Patient's logical ID. This is retrieved using the search function.

Smoking status is returned in a DAF observation. The actual smoking status is returned in valueCodeableConcept.

Name

Type

Cardinality

Description

identifier

0..*

Observation's unique ID. This applies to the instance observation.

status

code

1..1

Observation's status. Values include Registered, Preliminary, Final, or Amended. For more information on this value set, see observation-status.

category

CodeableConcept

0..1

Observation's type of classification. For more information on this value set, see observation-category.

code

CodeableConcept

1..1

Observation's type or code. For more information on this value set, see observation-codes.

subject

Reference(Patient, Group, Device, Location)

0..1

Observation's subject. The patient's (or group of patients) location, or the device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed.

encounter

Reference(Encounter)

0..1

Observation's encounter. The healthcare event (a patient and healthcare provider interaction) during which the observation is made. For some observations it may be important to know the link between an observation and a particular encounter.

effectiveDateTime

dateTime

0..1

Clinically relevant time/time-period for observation.

effectivePeriod

Period

0..1

Clinically relevant time/time-period for the observation. The time or time-period the observed value is asserted as being true. For biological subjects (human patients) this is usually called the "physiologically relevant time." This is usually either the time of the procedure or of specimen collection, but very often the source of the date/time is not known, only the date/time itself.

issued

Hl7.Fhir.Model.Instant

0..1

Date/time the observation was made available. The date and time is typically after the results have been reviewed and verified.

performer

Reference(Practitioner, Organization, Patient, RelatedPerson)

0..*

Individual responsible for the observation.

valueCodeableConcept

CodeableConcept

0..1

The smoking status. Need to track the status of individual results. Some results are finalized before the whole report is finalized. For more information on this value set, see DAF Smoking Status Value Set.

comments

string

0..1

Comments about the result.

Sample Output
{"UrlElement":{"Value":"http://hl7.org/fhir/us/core/ValueSet/us-core-observation-ccdasmokingstatus"},"NameElement":{"Value":"Smoking Status"},"StatusElement":{"Value":1},"ExperimentalElement":{"Value":true},"DateElement":{"Value":"2017-04-30"},"Compose":{"Include":[{"SystemElement":{"Value":"http://snomed.info/sct"},"Concept":[{"CodeElement":{"Value":"266919005"},"DisplayElement":{"Value":"Never smoker"}}]}]},"Text":{"StatusElement":{"Value":0}},"resourceType":"SmokingStatus"} 
Expected Exceptions

I). Invalid Patient ID (Patient ID is the Mandatory parameter)
II).If the patient does not have smoking status, empty bundle json will return.

Condition(Problem)

Detailed information about conditions, problems, or diagnoses

Retrieving a patient's conditions

The patient’s logical ID used to retrieve the patient is passed as part of the URL. The logical ID is found as the result of a search.

GET fhirips.azurehealthcareapis.com/Condition?pid=B3fdg1utB9Y8%3d
GET fhirips.azurehealthcareapis.com/Condition?pid=B3fdg1utB9Y8%3d=&name=Severe
GET fhirips.azurehealthcareapis.com/Condition?pid=B3fdg1utB9Y8%3d=&

Name

Required?

Type

Description

pid

yes

URL

The patient's logical ID. This is retrieved using the search function.

date

no

string

A string representing a date to include in the search. See below for more information.

A DAF condition (problem) is returned.

Name

Type

Cardinality

Description

identifier

Identifier

0..*

External ID for the condition. The ID is defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. For example, in CDA documents or in written or printed documentation. This may include IMO, ICD9/10, or Medcin codes.

patient

Reference(Patient)

1..1

Patient name. This indicates the patient who the condition record is associated with. This is used for querying and retrieving patient demographic information.

encounter

Reference(Encounter)

0..1

Encounter during which the condition was first asserted.

asserter

Reference(Practitioner, Patient)

0..1

Individual who asserts the condition. This is a provider reference.

dateRecorded

date)

0..1

Date when the condition was first recorded. This is not the date on which the condition was last updated.

code

CodeableConcept

1..1

ID of the condition, problem, or diagnosis. The value set includes content from SNOMED. For more information on this value set, see condition-code.

category

CodeableConcept

0..1

Condition category. Valid entries include: Complaint, Symptom, Finding, and Diagnosis. For more information on this value set, see condition-category.

clinicalStatus

code

0..1

Condition clinical status. Valid entries include: Active, Relapse, Remission, and Resolved. For more information on this value set, see condition-clinical.

verificationStatus

code

1..1

Condition verification status. Valid entries include: Provisional, Differential, Confirmed, Refuted, Entered-in-error, and Unknown. For more information on this value set, see condition-ver-status.

severity

CodeableConcept

0..1

Subjective severity of condition. Valid entries include the following SNOMED codes: 399166001 Fatal, 24484000 Severe, 6736007 Moderate, and 255604002 Mild. For more information on this value set, see condition-severity.

onsetDateTime

dateTime

0..1

Estimated or actual date, date-time, or age when the condition statement was documented. The Date Recorded indicates the date when this particular condition record was created in the EHR, not the date of the most recent update. Onset date is pulled from Problem.OnsetFuzzyWhen.

onsetQuantity

Quantity

0..1

Estimated or actual date, date-time, or age.

onsetPeriod

Period

0..1

Estimated or actual date, date-time, or age.

onsetRange

Hl7.Fhir.Model.Range

0..1

Estimated or actual date, date-time, or age.

onsetString

String

0..1

Estimated or actual date, date-time, or age.

abatementDateTime

dateTime

0..1

If/when in resolution/remission.

abatementQuantity

Quantity

0..1

If/when in resolution/remission.

abatementBoolean

Boolean

0..1

If/when in resolution/remission.

abatementPeriod

Period

0..1

If/when in resolution/remission.

abatementRange

Hl7.Fhir.Model.Range

0..1

If/when in resolution/remission.

abatementString

String

0..1

If/when in resolution/remission.

stage

0..1

Stage/grade, usually assessed formally.

stage.summary

CodeableConcept

0..1

Simple summary (disease specific). For more information on this value set, see condition-stage.

stage.assessment

Reference(ClinicalImpression, DiagnosticReport, Observation)

0..*

Formal record of assessment.

evidence

0..*

Supporting evidence.

evidence.code

CodeableConcept

0..1

Manifestation/symptom. For more information on this value set, see manifestation-or-symptom.

evidence.detail

Reference(Resource)

0..*

Supporting information found elsewhere.

bodySite

CodeableConcept

0..*

Anatomical location, if relevant. For more information on this value set, see body-site.

notes

string

0..1

Additional information about the condition.

Searching by Date

Dates are passed as query paramters on the URL. Since the URL parameters cannot handle comparators (for example, >, <=) these are passed in as part of the date.

fromdate<=2016-01-01 todate=>2016-12-31

To search for a date range, pass in the date twice.

e.g. fromdate<=2010-01-01&todate=>2010-12-31

This search would include every day in the year 2010.

Sample Output
{"Patient":{"ReferenceElement":{"Value":"Patient"}},"DateRecordedElement":{"Value":"2011-10-05"},"Code":{"Coding":[{"SystemElement":{"Value":"http://snomed.info/sct"},"CodeElement":{"Value":"59621000"},"DisplayElement":{"Value":"Essential hypertension (Disorder)"}}],"TextElement":{"Value":"Essential hypertension (Disorder)"}},"Category":{"Coding":[{"SystemElement":{"Value":"http://snomed.info/sct"},"CodeElement":{"Value":"59621000"},"DisplayElement":{"Value":"Essential hypertension (Disorder)"}},{"SystemElement":{"Value":"http://snomed.info/sct"},"CodeElement":{"Value":"439401001"},"DisplayElement":{"Value":"Diagnosis"}}]},"VerificationStatusElement":{"Value":2},"Severity":{"Coding":[{"SystemElement":{"Value":"http://snomed.info/sct"},"CodeElement":{"Value":"24484000"},"DisplayElement":{"Value":"Severe"}}]},"Text":{"StatusElement":{"Value":0},"Div":"Essential hypertension (Disorder)"},"resourceType":"Condition"} 
Expected Exceptions

I). Invalid Patient ID (Patient ID is the Mandatory parameter)
II).If the patient does not have Condition (Problems), empty bundle json will return.

Medications

Record of medication being taken by a patient

Retrieving a patient's medication statements

The logical ID (of the patient to retrieve) is passed as part of the URL. The logical ID is found as the result of a search.

GET fhirips.azurehealthcareapis.com/Medication?pid=B3fdg1utB9Y8%3d

Name

Required?

Type

Description

pid

yes

URL

Patient's logical ID. This is retrieved using the search function.

date

no

string

A string representing a date to include in the search. See below for more information.

A DAF MedicationStatement is retuned

Name

Type

Cardinality

Description

identifier

0..*

External identifier. FHIR will generate its own internal identifiers (probably URLs) which do not need to be explicitly managed by the resource. The identifier is one that would be used by another non-FHIR system. For example, an automated medication pump would provide a record each time it operated; an administration while the patient was off the ward might be made with a different system and entered after the event. This is particularly important if these records have to be updated.

patient

Reference(Patient)

1..1

Patient who is or was taking the medication. Defines constraints and extensions on the patient resource for use in querying and retrieving patient demographic information.

informationSource

Reference(Patient, Practitioner, RelatedPerson)

0..1

The person who provided the information about the taking of this medication.

dateAsserted

dateTime

0..1

Date and time when the statement was asserted.

status

code

1..1

Valid entries include: Active, Completed, Entered-in-error, and Intended. For more information on this value set, see medication-statement-status.

wasNotTaken

boolean

0..1

Was the medication not taken? True if medication is/was not being taken.

reasonNotTaken

CodeableConcept

0..*

Instances are not expected or even encouraged to draw from the specified value set. The value set merely provides examples of the types of concepts intended to be included. A code indicating why the medication was not taken. A set of codes indicating the reason why the MedicationAdministration is negated. For example codes, see Reason Medication Not Given Codes. This value set has an inline code system http://hl7.org/fhir/reason-medication-not-given, which defines the following codes: Code "a" - Display "None" - No reason known, Code "b" - Display "Away" - The patient was not available when the dose was scheduled, Code "c" - Display "Asleep" - The patient was asleep when the dose was scheduled, and Code "d" - Display "Vomit" - The patient was given the medication and immediately vomited it back.

reasonForUseCodeableConcept

CodeableConcept

0..1

reasonForUseReference

Reference(Condition)

0..1

effectiveDateTime

dateTime

0..1

Date and time over which the medication was consumed.

effectivePeriod

Period

0..1

The interval of time during which it is being asserted that the patient was taking the medication (or was not taking, when the wasNotGiven element is true). If the medication is still being taken at the time the statement is recorded, the "end" date will be omitted.

note

string

0..1

Further information about the statement.

supportingInformation

Reference(Resource)

0..*

Additional supporting information.

medicationCodeableConcept

CodeableConcept

1..1

The medication that was taken. Defines constraints and extensions on the Medication resource for use in querying and retrieving patient's medication information.

medicationReference

Reference(Medication)

1..1

The medication that was taken.

dosage

0..*

Indicates how the medication is/was used by the patient.

dosage.text

string

0..1

Reported dosage information.

dosage.timing

Hl7.Fhir.Model.Timing

0..1

When/how often was medication taken. The timing schedule for giving the medication to the patient. The Schedule data type allows many different expressions. For example, "Every 8 hours," "Three times a day," "1/2 an hour before breakfast for 10 days from 23-Dec 2011," or "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013".

dosage.asNeededBoolean

Boolean

0..1

Take "as needed" (for x).

dosage.asNeededCodeableConcept

CodeableConcept

0..1

Take "as needed" (for x).

dosage.siteCodeableConcept

CodeableConcept

0..1

Where (on body) medication is/was administered. Instances are encouraged to draw from the specified codes for interoperability purposes but are not required to do so to be considered conformant. A coded specification of the anatomic site where the medication first enters the body. This identifies the body site at which the substance was administered. The codes SHOULD be taken from Vaccine Administered Body Site. All codes from system http://snomed.info/sct. The value set includes codes from the following code systems (actual value set has > 1000 codes included): 91723000 - Anatomical structure (body structure), 280115004 - Acquired body structure (body structure), 258331007 - Anatomical site notations for tumor staging (body structure), 118956008 - Altered from its original anatomical structure (morphologic abnormality), or 91722005 - Entire physical anatomical entity (body structure).

dosage.siteReference

Reference(BodySite)

0..1

Where (on body) medication is/was administered.

dosage.route

CodeableConcept

0..1

Route by which the medication entered the body. Instances are encouraged to draw from the specified codes for interoperability purposes but are not required to do so to be considered conformant. Route of Administration value set is based upon FDA Drug Registration and Listing Database (FDA Orange Book) which are used in FDA structured product and labelling (SPL). This value set includes codes as defined in http://ncimeta.nci.nih.gov.

dosage.method

CodeableConcept

0..1

Technique used to administer the medication.

dosage.quantityQuantity

Quantity

0..1

Amount administered in one dose.

dosage.quantityRange

Hl7.Fhir.Model.Range

0..1

Amount administered in one dose.

dosage.rateRatio

Hl7.Fhir.Model.Ratio

0..1

Identifies the speed with which the medication was or will be introduced into the patient. Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours. Currently we do not specify a default of "�1" in the denominator, but this is being discussed. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours.

dosage.rateRange

Hl7.Fhir.Model.Range

0..1

Dose quantity per unit of time.

dosage.maxDosePerPeriod

Hl7.Fhir.Model.Ratio

0..1

The maximum total quantity of a therapeutic substance that may be administered to a subject over the period of time. For example, 1000mg in 24 hours.

Searching by Date

Dates are passed as query paramters on the URL. Since the URL parameters cannot handle comparators (for example, >, <=) these are passed in as part of the date.

fromdate<=2016-01-01
todate=>2016-12-31

To search for a date range, pass in the date twice.

e.g. fromdate<=2010-01-01&todate=>2010-12-31

This search would include every day in the year 2010.

Sample Output
 {"Code":{"Coding":[{"SystemElement":{"Value":"http://purl.bioontology.org/ontology/RXNORM/309090"},"CodeElement":{"Value":"309090"},"DisplayElement":{"Value":"Ceftriaxone Sodium 100 GM Injection Solution Reconstituted"}}],"TextElement":{"Value":"Ceftriaxone Sodium 100 GM Injection Solution Reconstituted"}},"IsBrandElement":{"Value":true},"Product":{"Form":{"Coding":[{"SystemElement":{"Value":"http://purl.bioontology.org/ontology/RXNORM/309090"},"CodeElement":{"Value":"309090"},"DisplayElement":{"Value":"Ceftriaxone Sodium 100 GM Injection Solution Reconstituted"}}]}},"Text":{"StatusElement":{"Value":0}},"resourceType":"Medication"} 
Expected Exceptions

I). Invalid Patient ID (Patient ID is the Mandatory parameter)
II).If the patient does not have Condition (Problems), empty bundle json will return.

Allergy or Intolerance

Allergy or intolerance (generally: risk of adverse reaction to a substance)

Retrieving a patient's allergy intolerances

The logical ID (of the patient to retrieve) is passed as part of the URL. The logical ID is found as the result of a search.

GET https://fhirips.azurehealthcareapis.com/AllergyIntolerance?pid=B3fdg1utB9Y8%3d

Name

Required?

Type

Description

pid

yes

URL

The logical ID of the patient. This is retrieved using the search function.

date

no

string

A string representing a date to include in the search. See below for more information.

A DAF AllergyIntolerance is returned.

Name

Type

Cardinality

Description

identifier

0..*

Identifier associated with the allergy/intolerance concern that are defined by the business processes and/or used to refer to it when a direct URL reference to the resource is not appropriate. For example, in CDA documents or in written/printed documentation.

onset

dateTime

0..1

Date and/or time of the onset of the allergy or intolerance.

recordedDate

dateTime

0..1

Date when the sensitivity was recorded.

recorder

Reference(Practitioner, Patient)

0..1

Individual who recorded the allergy and takes responsibility for its content. Options include either DAF-Practitioner profile or DAF-Patient profile.

patient

Reference(Patient)

1..1

Defines constraints and extensions on the patient resource for use in querying and retrieving patient demographic information.

reporter

Reference(Patient, RelatedPerson, Practitioner)

0..1

Source of the information about the allergy that is recorded.

substance

CodeableConcept

1..1

Identification of a substance or class of substances that is considered to be responsible for the adverse reaction risk. AllergyIntolerance.substance has an extensible binding to a value set consisting of: NDF-RT (codes for drug class allergies), RXNORM (codes limited to term types- TTY- such as BN or Brand Name, IN or Ingredient, MIN or multiple ingredient, and PIN or precise ingredient for drug ingredient allergies) or SNOMED CT (used when no other code from the other code systems is appropriate, such as No Known Allergies, No Known Food Allergies, No Known Drug Allergies, or No Known Environmental Allergies). For more information on this value set, see: http://hl7.org/fhir/ValueSet/allergyintolerance-substance-code.

status

code

0..1

Assertion about certainty associated with the propensity or potential risk of a reaction to the identified substance. The codes shall be taken from the AllergyIntoleranceStatus value set which includes: Active, Unconfirmed, Confirmed, Inactive, Resolved, Refuted, and Entered in Error. Decision support would typically raise alerts for Unconfirmed, Confirmed, and Resolved and ignore a Refuted reaction. In particular, Refuted may be useful for reconciliation of the Adverse Reaction List. Conformance is required and as such, some implementations may choose to make this field mandatory. For more information on this value set, see: http://hl7.org/fhir/ValueSet/allergy-intolerance-status.

criticality

code

0..1

Estimate of the potential clinical harm or seriousness of the reaction to the identified substance. The codes shall be taken from the AllergyIntoleranceCriticality value set with required conformance and include: CRITL-Low, CRITH-High, and CRITU-Unable to determine. For more information on this value set, see: http://hl7.org/fhir/ValueSet/allergy-intolerance-criticality.

type

code

0..1

Identification of the underlying physiological mechanism for a reaction risk. This value set includes two types: Allergy or Intolerance. For more information on this value set, see: http://hl7.org/fhir/ValueSet/allergy-intolerance-type.

category

code

0..1

Category of the allergy. Options include: Food, Medication, Environment, and Other. For more information on this value set, see: http://hl7.org/fhir/ValueSet/allergy-intolerance-category.

lastOccurence

dateTime

0..1

Date and time of the last known occurrence of the reaction.

note

Annotation

0..1

Additional text not captured in other fields.

reaction

Backbone element - http://www.hl7.org/fhir/daf/daf-allergyintolerance-definitions.html#daf-allergyintolerance.AllergyIntolerance.reaction

0..*

Details about each adverse reaction event linked to exposure to the identified substance.

reaction.substance

CodeableConcept

0..1

Identification of the specific substance considered to be responsible for the adverse reaction event. Note: The substance for a specific reaction may be different from the substance identified as the cause of the risk, but must be consistent with it. For instance, it may be a more specific substance such as a brand medication or a composite substance that includes the identified substance. It must be clinically safe to only process the AllergyIntolerance.substance and ignore the AllergyIntolerance.event.substance. For more information on this value set, see: http://hl7.org/fhir/ValueSet/substance-code.

reaction.manifestation

CodeableConcept

1..*

Clinical symptoms and signs associated with the event. For more information on this value set, see: http://hl7.org/fhir/ValueSet/manifestation-codes.

reaction.description

string

0..1

Description of the event as a whole.

reaction.onset

dateTime

0..1

Date and time when manifestations showed.

reaction.severity

code

0..1

Severity of the reaction or of the event as a whole. Options include: Mild, Moderate, or Severe. For more information on this value set, see: http://hl7.org/fhir/ValueSet/reaction-event-severity.

reaction.exposureRoute

CodeableConcept

0..1

How the subject was exposed to the substance. For more information on this value set, see: http://hl7.org/fhir/ValueSet/route-codes.

reaction.note

Annotation

0..1

Text about the event not captured in other fields.

Searching by Date

Dates are passed as query paramters on the URL. Since the URL parameters cannot handle comparators (for example, >, <=) these are passed in as part of the date.

fromdate<=2016-01-01
todate=>2016-12-31

To search for a date range, pass in the date twice.

e.g. fromdate<=2010-01-01&todate=>2010-12-31

This search would include every day in the year 2010.

Sample Output

{“RecordedDateElement”:{“Value”:”1980-05-10″},”Recorder”:{“ReferenceElement”:{“Value”:”Patient”}},”StatusElement”:{“Value”:0},”CategoryElement”:{“Value”:1},”LastOccurenceElement”:{“Value”:”1980-05-10″},”Reaction”:[{“Substance”:{“Coding”:[{“SystemElement”:{“Value”:”http://www.nlm.nih.gov/research/umls/rxnorm”},”CodeElement”:{“Value”:”0007100000″},”DisplayElement”:{“Value”:”Ampicillin “}}]}}],”resourceType”:”AllergyIntolerance”}

Expected Exceptions

I). Invalid Patient ID (Patient ID is the Mandatory parameter)
II).If the patient does not have Condition (Problems), empty bundle json will return.

Laboratory Result DiagnosticReport

Lab Orders

Retrieving a patient's Feature Lab Orders

The logical ID (of the patient to retrieve) is passed as part of the URL. The logical ID is found as the result of a search.

GET https://fhirips.azurehealthcareapis.com/LabOrders?pid=B3fdg1utB9Y8%3d

Name

Required?

Type

Description

pid

yes

url

The logical ID of the patient. This is retrieved using the search function.

date

no

string

A string representing a date to include in the search. See below for more information.

A DAF CarePlan is returned. The Argonaut Assessment and Plan of Treatment IG provides the API documentation for searching for and fetching patient assessment and plan of treatment data using the CarePlan resource. The search supports the narrative elements of the Assessment and Plan section which is the minimal necessary criteria to support with the ONC Certification criterion Data Category Request 170.315(g)(8).

Name

Type

Cardinality

Description

identifier

0..*

External IDs for this plan. This is a business identifier, not a resource identifier. This records identifiers associated with this care plan that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. For example, in CDA documents or in written/printed documentation.

subject

Reference(Patient, Group)

0..1

Who the care plan is for. This identifies the patient or group whose intended care is described by the plan.

status

code

1..1

Indicates hether the plan is currently acted upon, represents future intentions, or is now a historical record. It allows clinicians to determine whether the plan is actionable or not. Conformance is required, and the valid statuses include: Proposed, Pending, Active, Completed, and Cancelled. For more information on this value set, see: http://hl7.org/fhir/ValueSet/care-plan-status.

category

CodeableConcept

0..*

Identifies what kind of plan this is to support differentiation between multiple co-existing plans. For example, "Home health", "psychiatric", "asthma", "disease management", "wellness plan", and so forth. There may be multiple axis of categorization, and one plan may serve multiple purposes. In some cases, this may be redundant with references to CarePlan.concern. This value set contains 21 concepts. For more information on this value set, see: http://hl7.org/fhir/ValueSet/care-plan-category.

narrative summary

string

0..1

Text or HTML description of the assessment and plan. CarePlan.text.status is either Generated or Additional. This tool uses Generated. For more information on this value set, see: http://hl7.org/fhir/narrative-status, which defines the following codes: Generated, Extensions, Additional, and Empty.

Searching by Date

Dates are passed as query paramters on the URL. Since the URL parameters cannot handle comparators (for example, >, <=) these are passed in as part of the date.

fromdate<=2016-01-01
todate=>2016-12-31

To search for a date range, pass in the date twice.

e.g. fromdate<=2010-01-01&todate=>2010-12-31

This search would include every day in the year 2010.

{"Identifier":[{"ValueElement":{"Value":"YrItVniimrc="}}],"Subject":{"ReferenceElement":{"Value":"Patient/7OddVzA6kuw="},"DisplayElement":{"Value":"Rosdel_b1 Jamie"}},"StatusElement":{"Value":2},"Context":{"ReferenceElement":{"Value":"Encounter/JyXH3oIQtvw="}},"Category":[{"TextElement":{"Value":"The patient was found to have fever and Dr Davis is suspecting Anemia based on the patient history. So Dr Davis asked the patient to closely monitor the temperature and blood pressure and get admitted to Community Health Hospitals if the fever does not subside within a day.<br /><br />Get an EKG done on 6/23/2015.<br /><br />Get a Chest X-ray done on 6/23/2015 showing the Lower Respiratory Tract Structure.<br /><br />Take Clindamycin 300mg three times a day as needed if pain does not subside<br /><br />Schedule follow on visit with Neighborhood Physicians Practice on 7/1/2015<br /><br />"}}],"DescriptionElement":{"Value":"The patient was found to have fever and Dr Davis is suspecting Anemia based on the patient history. So Dr Davis asked the patient to closely monitor the temperature and blood pressure and get admitted to Community Health Hospitals if the fever does not subside within a day.<br /><br />Get an EKG done on 6/23/2015.<br /><br />Get a Chest X-ray done on 6/23/2015 showing the Lower Respiratory Tract Structure.<br /><br />Take Clindamycin 300mg three times a day as needed if pain does not subside<br /><br />Schedule follow on visit with Neighborhood Physicians Practice on 7/1/2015<br /><br />"},"Text":{"StatusElement":{"Value":2}},"resourceType":"LabOrders"} 
Sample Output
Expected Exceptions

I). Invalid Patient ID (Patient ID is the Mandatory parameter)
II).If the patient does not have Condition (Problems), empty bundle json will return.

Laboratory Result Observations

Diagnostic Order:

Diagnostic Order: a combination of requested information, atomic results, images, interpretation, and formatted reports.

Retrieving a patient’s laboratory result diagnostic reports

The logical ID of the patient to retrieve is passed as part of the URL. The logical ID is found as the result of a search.

GET https://fhirips.azurehealthcareapis.com/DiagnosticOrder?pid=B3fdg1utB9Y8%3d
GET https://fhirips.azurehealthcareapis.com/DiagnosticOrder?pid=B3fdg1utB9Y8%3d

Name

Required?

Type

Description

pid

yes

URL

The logical ID of the patient. This is retrieved using the search function.

date

no

string

A string representing a date to include in the search. See below for more information.

A DAF DiagnosticReport is returned.

Name

Type

Cardinality

Description

identifier

0..*

Local ID assigned to the report by the order filler, usually by the information system of the diagnostic service provider. You must know what identifier to use when making queries about this report from the source laboratory and for linking to the report outside FHIR context. Alternate name: ReportID.

status

code

1..1

Status of the diagnostic report as a whole. Diagnostic services routinely issue provisional/incomplete reports, and sometimes withdraw previously released reports. This is labeled as "Is Modifier" because applications need to take appropriate action if a report is withdrawn. The codes shall be taken from the DiagnosticReportStatus value set, which includes the following statuses: Registered, Partial, Final, Corrected, Appended, Cancelled, and Entered-in-Error. For more information on this value set, see: http://hl7.org/fhir/ValueSet/diagnostic-report-status.

category

CodeableConcept

0..1

Code that classifies the clinical discipline, department, or diagnostic service that created the report. For example, cardiology, biochemistry, hematology, or MRI. This is used for searching, sorting, and displaying purposes. The level of granularity is defined by the category concepts in the DiagnosticServiceSectionCodes value set. More filtering is performed using the metadata and/or terminology hierarchy in DiagnosticReport.code. Alternate names: Department, Sub-department, service, discipline. Example codes include: AU- Audiology, CH- Chemistry, MB- Microbiology, and HM- Hematology. For more information on this value set, see: http://hl7.org/fhir/ValueSet/diagnostic-service-sections.

code

CodeableConcept

1..1

Test, panel, or battery that was ordered. The typical patterns for codes are: 1) a LOINC code either as a translation from a "local" code or as a primary code, 2) a local code only if no suitable LOINC exists, or 3) both the local and the LOINC translation. Systems shall be capable of sending the local code if one exists. The codes shall be taken from US Laboratory Observation Profile Observation Name Codes. Other codes may be used where these codes are not suitable. This value set has more than 1000 codes. For more information on this value set, see: http://hl7.org/fhir/ValueSet/report-codes.

subject

Reference(Patient, Group, Device, Location)

1..1

Subject of the report. Usually this is a patient. However, diagnostic services also perform analyses on specimens collected from a variety of other sources.

encounter

Reference(Encounter)

0..1

Link to the healthcare event (encounter) when the order was made.

effectiveDateTime

dateTime

1..1

Specimen Collection Datetime which is the physically relevant dateTime for laboratory tests. If the diagnostic procedure was performed on the patient, this is the time it was performed. If there are specimens, the diagnostically relevant time can be derived from the specimen collection times, but the specimen information is not always available, and the exact relationship between the specimens and the diagnostically relevant time is not always automatic.

effectivePeriod

Period

1..1

Specimen Collection Period which is the physically relevant dateTime for laboratory tests. If the diagnostic procedure was performed on the patient, this is the time it was performed. If there are specimens, the diagnostically relevant time can be derived from the specimen collection times, but the specimen information is not always available, and the exact relationship between the specimens and the diagnostically relevant time is not always automatic. If the start element is missing, the start of the period is not known. If the end element is missing, it means that the period is ongoing, or the start may be in the past, and the end date in the future, which means that period is expected/planned to end at the specified time.

issued

Hl7.Fhir.Model.Instant

1..1

Date and time that this version of the report was released from the source diagnostic service. Clinicians must be able to check the date that the report was released. This may be different from the update time of the resource itself, because that is the status of the record (potentially a secondary copy), not the actual release time of the report. Alternate names: Date Created, Date published, Date Issued.

performer

Reference(Practitioner, Organization)

1..1

Diagnostic service that is responsible for issuing the report. This is helpful to know who to contact if there are queries about the results. You may need to track the source of reports for secondary data analysis. This is not necessarily the source of the atomic data items. It is the entity that takes responsibility for the clinical report. Alternate names: Laboratory, Service, Practitioner, Department, Company.

request

Reference(DiagnosticOrder, ProcedureRequest, ReferralRequest)

1..*

Details concerning a test or procedure requested. You need to be able to track completion of requests based on reports issued and also to report what diagnostic tests were requested (not always the same as what is delivered). You need to be able to track completion of requests based on reports issued and also to report what diagnostic tests were requested (not always the same as what is delivered).

specimen

Reference(Specimen)

0..*

Details about the specimens on which this diagnostic report is based. If the specimen is sufficiently specified with a code in the test result name, then this additional data may be redundant. If there are multiple specimens, these may be represented per observation or group.

result

Reference(Observation)

0..*

Observations that are part of this diagnostic report. Observations can be simple name/value pairs (for example, "atomic" results), or they can be grouping observations that include references to other members of the group (such as "panels"). You need to support individual results, or report groups of results, where the result grouping is arbitrary, but meaningful. This structure is recursive in that observations can contain observations. Alternate names: Data, Atomic Value, Result, Atomic result, Data, Test, Analyte, Battery, or Organizer.

imagingStudy

Reference(ImagingStudy, ImagingObjectSelection)

0..*

One or more links to full details of any imaging performed during the diagnostic investigation. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images. ImagingStudy and ImageObjectStudy and the image element are somewhat overlapping - typically, the list of image references in the image element will also be found in one of the imaging study resources. However each caters to different types of displays for different types of purposes. Neither, either, or both may be provided.

image

0..*

List of key images associated with this report. The images are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (for example, slides of interest).

image.comment

string

0..1

Comment about the image. Typically this is used to provide an explanation for why the image is included, or to draw the viewer's attention to important features. The provider of the report should make a comment about each image included in the report. The comment should be displayed with the image. It would be common for the report to include additional discussion of the image contents in other sections such as the conclusion.

image.link

Reference(Media)

1..1

Reference to the image source.

conclusion

string

0..1

Concise and clinically contextualized narrative interpretation of the diagnostic report. You need to be able to provide a conclusion that is not lost among the basic result data. Typically, a report is either [all data, no narrative (e.g. Core lab)] or [a mix of data with some concluding narrative (e.g. Structured Pathology Report, Bone Density)], or [all narrative (e.g. typical imaging report, histopathology)]. In all of these cases, the narrative goes in "text".

codedDiagnosis

CodeableConcept

0..*

Codes for the conclusion which are SNOMED CT findings codes provided as adjunct diagnosis to the report. The codes should be taken from SNOMED CT Clinical Findings. Included are codes from http://snomed.info/sct where concept is-a 404684003. For more information on this value set, see: http://hl7.org/fhir/ValueSet/clinical-findings.

presentedForm

Hl7.Fhir.Model.Attachment

0..*

Rich text representation of the entire result as issued by the diagnostic service. Multiple formats are allowed but they shall be semantically equivalent. This gives the laboratory the ability to provide its own fully formatted report for clinical fidelity. Note: "application/pdf" is recommended as the most reliable and interoperable in this context.

Searching by Date

Dates are passed as query paramters on the URL. Since the URL parameters cannot handle comparators (for example, >, <=) these are passed in as part of the date.

fromdate<=2016-01-01
todate=>2016-12-31

To search for a date range, pass in the date twice.

e.g. fromdate<=2010-01-01&todate=>2010-12-31

This search would include every day in the year 2010.

Sample Output
{"Contained":[{"StatusElement":{"Value":2},"Code":{"Coding":[{"SystemElement":{"Value":"http://loinc.org"},"CodeElement":{"Value":"5778-6"},"DisplayElement":{"Value":"Color of Urine"}}],"TextElement":{"Value":"URINE PREGNANCY TST VIS COLOR CMPRSN METHS"}},"Subject":{"ReferenceElement":{"Value":"fhirips.azurehealthcareapis.com/Patient/B3fdg1utB9Y8%3d"}},"Performer":[{"DisplayElement":{}}],"IdElement":{"Value":"337"}},{"StatusElement":{"Value":2},"Code":{"Coding":[{"SystemElement":{"Value":"http://loinc.org"},"CodeElement":{"Value":"5811-5"},"DisplayElement":{"Value":"Specific gravity of Urine by Test strip"}}],"TextElement":{"Value":"URINE PREGNANCY TST VIS COLOR CMPRSN METHS"}},"Subject":{"ReferenceElement":{"Value":"fhirips.azurehealthcareapis.com/Patient/B3fdg1utB9Y8%3d"}},"Performer":[{"DisplayElement":{}}],"IdElement":{"Value":"337"}},{"StatusElement":{"Value":2},"Code":{"Coding":[{"SystemElement":{"Value":"http://loinc.org"},"CodeElement":{"Value":"5803-2"},"DisplayElement":{"Value":"pH of Urine by Test strip"}}],"TextElement":{"Value":"URINE PREGNANCY TST VIS COLOR CMPRSN METHS"}},"Subject":{"ReferenceElement":{"Value":"fhirips.azurehealthcareapis.com/Patient/B3fdg1utB9Y8%3d"}},"Performer":[{"DisplayElement":{}}],"ReferenceRange":[{"Low":{"ValueElement":{"Value":5},"UnitElement":{"Value":"5.0 [pH]"},"SystemElement":{"Value":"http://unitsofmeasure.org"}},"High":{"ValueElement":{"Value":8},"UnitElement":{"Value":"5.0 [pH]"},"SystemElement":{"Value":"http://unitsofmeasure.org"}}}],"IdElement":{"Value":"337"}},{"StatusElement":{"Value":2},"Code":{"Coding":[{"SystemElement":{"Value":"http://loinc.org"},"CodeElement":{"Value":"5792-7"},"DisplayElement":{"Value":"Glucose [Mass/volume] in urine by test strip"}}],"TextElement":{"Value":"URINE PREGNANCY TST VIS COLOR CMPRSN METHS"}},"Subject":{"ReferenceElement":{"Value":"fhirips.azurehealthcareapis.com/Patient/B3fdg1utB9Y8%3d"}},"Performer":[{"DisplayElement":{}}],"IdElement":{"Value":"337"}},{"StatusElement":{"Value":2},"Code":{"Coding":[{"SystemElement":{"Value":"http://loinc.org"},"CodeElement":{"Value":"5797-6"},"DisplayElement":{"Value":"Ketones [Mass/Volume] in urine by test strip"}}],"TextElement":{"Value":"URINE PREGNANCY TST VIS COLOR CMPRSN METHS"}},"Subject":{"ReferenceElement":{"Value":"fhirips.azurehealthcareapis.com/Patient/B3fdg1utB9Y8%3d"}},"Performer":[{"DisplayElement":{}}],"IdElement":{"Value":"337"}},{"StatusElement":{"Value":2},"Code":{"Coding":[{"SystemElement":{"Value":"http://loinc.org"},"CodeElement":{"Value":"5804-0"},"DisplayElement":{"Value":"Protein[Mass/Volume] in urine by test strip"}}],"TextElement":{"Value":"URINE PREGNANCY TST VIS COLOR CMPRSN METHS"}},"Subject":{"ReferenceElement":{"Value":"fhirips.azurehealthcareapis.com/Patient/B3fdg1utB9Y8%3d"}},"Performer":[{"DisplayElement":{}}],"IdElement":{"Value":"337"}},{"StatusElement":{"Value":2},"Code":{"Coding":[{"SystemElement":{"Value":"http://loinc.org"},"CodeElement":{"Value":"5767-9"},"DisplayElement":{"Value":"Appearance of Urine"}}],"TextElement":{"Value":"URINE PREGNANCY TST VIS COLOR CMPRSN METHS"}},"Subject":{"ReferenceElement":{"Value":"fhirips.azurehealthcareapis.com/Patient/B3fdg1utB9Y8%3d"}},"Performer":[{"DisplayElement":{}}],"IdElement":{"Value":"337"}}],"resourceType":"DiagnosticOrder"} 
Expected Exceptions

I). Invalid Patient ID (Patient ID is the Mandatory parameter)
II).If the patient does not have Condition (Problems), empty bundle json will return.

VitalSign

Measurements and simple assertions

Retrieving a patient’s vital signs

The logical ID (of the patient to retrieve) is passed as part of the URL. The logical ID is found as the result of a search.

GET https://fhirips.azurehealthcareapis.com/Observation?pid=B3fdg1utB9Y8%3d
GET https://fhirips.azurehealthcareapis.com/Observation?pid=B3fdg1utB9Y8%3d

Name

Required?

Type

Description

pid

yes

URL

The logical ID of the patient. This is retrieved using the search function.

date

no

string

A string representing a date to include in the search. See below for more information.

A DAF Observation is returned.

Name

Type

Cardinality

Description

identifier

0..*

A unique identifier for the simple observation instance. Allows observations to be distinguished and referenced.

status

code

1..1

The status of the vital sign result value. The status of individual results needs to be tracked. Some results are finalized before the whole report is finalized. The conformance on this value set is required. Values include: Registered, Preliminary, Final, Amended, Cancelled, Entered in Error, and Unknown. For more information on this value set, see: http://hl7.org/fhir/ValueSet/observation-status

category

CodeableConcept

0..1

Classification of type of observation. Clinical observations measure the body's basic functions such as such as blood pressure, heart rate, respiratory rate, height, weight, body mass index, head circumference, pulse oximetry, temperature, and body surface area. For more information on this value set, see: http://hl7.org/fhir/ValueSet/observation-category

code

CodeableConcept

1..1

This identifies the vital sign result type. Coded responses are from C-CDA Vital Sign Results. 1. Shall contain exactly one [1..1] code, where the @code should be selected from ValueSet HITSP Vital Sign Result Type. This value set indicates the allowed vital sign result types. The vocabulary selected for this value set aligns with requirements in the Meaningful Use (MU) Stage 2. Note the concept Blood pressure systolic and diastolic (55284-4) is used to group the related observations Systolic blood pressure (8480-6) and Diastolic blood pressure (8462-4). It shall not be used alone, but both 8480-6 and 8462-2 shall also be valued. The codes shall be taken from C-CDA Vital Sign Result; other codes may be used where these codes are not suitable. For more information on this value set, see: http://hl7.org/fhir/ValueSet/observation-codes

subject

Reference(Patient, Group, Device, Location)

0..1

Who and/or what this vital is for. The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed. Indirect characteristics may be those of a specimen, fetus, donor, other observer (for example a relative or EMT), or any observation made about the subject. Observations have no value if you don't know who or what they're about. Note: One would expect this element to be a cardinality of 1..1. The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation shall be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.

encounter

Reference(Encounter)

0..1

The healthcare event (for example, a patient and healthcare provider interaction) during which this vital was obtained. For some observations it may be important to know the link between the vital sign and a particular encounter.

effectiveDateTime

dateTime

0..1

Clinically relevant time/time-period for observation. Often just a dateTime for Vital Signs. Knowing when an observation was deemed true is important to its relevance as well as determining trends. At least a date should be present unless this observation is a historical report.

effectivePeriod

Period

0..1

Clinically relevant time/time-period for observation. Often a dateTime for Vital Signs is preferred but if it is a historical instance, then a time period is sufficient.

issued

Hl7.Fhir.Model.Instant

0..1

Date/Time this was made available.

performer

Reference(Practitioner, Organization, Patient, RelatedPerson)

0..*

Who is responsible for the observation or obtaining the vital sign. May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.

valueQuantity

Quantity

0..1

Vital Sign Value recorded with UCUM. Common UCUM units for recording Vital Signs. The codes shall be taken from Common UCUM units as defined in http://unitsofmeasure.org Examples include % (percent), cm (centimeter), kg (kilogram), mm(Hg) (millimeter of mercury), /min (per minute) and kg/m2 (kilogram). Note: Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "�value" + the type name" with a capital on the first letter of the type).

valueQuantity.value

http://www.hl7.org/fhir/daf/daf-vitalsigns-definitions.html#daf-vitalsigns.Observation.valueQuantity.value

0..1

The value of the measured amount. The value includes an implicit precision in the presentation of the value. Precision is handled implicitly in almost all cases of measurement. The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books).

valueQuantity.unit

http://www.hl7.org/fhir/daf/daf-vitalsigns-definitions.html#daf-vitalsigns.Observation.valueQuantity.unit

0..1

A human-readable form of the unit. There are many representations for units of measure and in many contexts, particular representations are fixed and required. For example, mcg for micrograms.

valueQuantity.system

http://www.hl7.org/fhir/daf/daf-vitalsigns-definitions.html#daf-vitalsigns.Observation.valueQuantity.system

0..1

The identification of the system that provides the coded form of the unit. Need to know the system that defines the coded form of the unit. Fixed value http://unitsofmeasure.org.

valueQuantity.code

http://www.hl7.org/fhir/daf/daf-vitalsigns-definitions.html#daf-vitalsigns.Observation.valueQuantity.code

0..1

Coded responses from the common UCUM units for vital signs value set. Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest. The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency. The context of use may additionally require a code from a particular system.

dataAbsentReason

CodeableConcept

0..1

Provides a reason why the expected value in the element Observation.value[x] is missing. Codes specifying why the result (Observation.value[x]) is missing. The codes shall be taken from Observation Value Absent Reason value set, however other codes may be used where these codes are not suitable. This value set contains 9 concepts. For more information on this value set, see http://hl7.org/fhir/ValueSet/observation-valueabsentreason.

interpretation

CodeableConcept

0..1

This value set defines the set of codes that can be used to indicate the meaning/use of a reference range. The value set is extensible and contains 33 concepts. Examples include A (Abnormal), H (High), L (Low), and N (Normal). For more information on this value set, see http://hl7.org/fhir/ValueSet/observation-interpretation.

referenceRange

BackboneElement http://www.hl7.org/fhir/daf/daf-vitalsigns-definitions.html#daf-vitalsigns.Observation.referenceRange

0..*

Guidance on how to interpret the value by comparison to a normal or recommended range. Knowing what values are considered "normal" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts. Most observations only have one generic reference range. Systems may choose to restrict to only supplying the relevant reference range based on knowledge about the patient (for example, specific to the patient's age, gender, weight, and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them should be provided in the reference range and/or age properties.

— referenceRange.Low

SimpleQuantity http://www.hl7.org/fhir/daf/daf-vitalsigns-definitions.html#daf-vitalsigns.Observation.referenceRange.low

0..1

Indication that the vital result is lower than the defined reference range. Binding is common UCUM units for recording Vital Signs.

— referenceRange.High

SimpleQuantity http://www.hl7.org/fhir/daf/daf-vitalsigns-definitions.html#daf-vitalsigns.Observation.referenceRange.high

0..1

Indication that the vital result is higher than the defined reference range. Binding is common UCUM units for recording Vital Signs.

Respiratory rate

http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Respiratory_Rate_Example

0..1

Recorded under LOINC Code 9279-1 using UOM of (breaths)/min.

Heart rate

http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Heart_Rate_Example

0..1

Recorded under LOINC Code 8867-4 using UOM of (beats)/min.

Oxygen saturation

http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Oxygen_Saturation_Example

0..1

Recorded under LOINC Code 59408-5 using UOM of % Oxygen saturation in Arterial blood by Pulse oximetry.

Body temperature

http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Body_Temperature_Example

0..1

Recorded under LOINC Code 8310-5 using UOM of Cel or [degF].

Body height

http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Body_height_Example

0..1

Recorded under LOINC Code 8302-2 using UOM cm or [in].

Body weight

http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Body_Weight_Example

0..1

Recorded under LOINC Code 29463-7 using UOM g, kg or lb.

Body mass index

http://argonautwiki.hl7.org/index.php?title=Vital_Body_Mass_Example

0..1

Recorded under LOINC Code 39156-5 using UOM kg/m2.

Blood pressure systolic and diastolic

http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Blood_Pressure_Example

1..1

Recorded under LOINC Code 55284-4 using UOM mm[Hg].

Systolic blood pressure

http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Blood_Pressure_Example

1..1

Recorded under LOINC Code 8480-6 using UOM mm[Hg]. When recording a blood pressure using systolic and diastolic as separate entities, both must be recorded in order for the blood pressure to be valid.

Diastolic blood pressure

http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Blood_Pressure_Example

1..1

Recorded under LOINC Code 8462-4 using UOM mm[Hg]. When recording a blood pressure using systolic and diastolic as separate entities, both must be recorded in order for the blood pressure to be valid.

related

code http://www.hl7.org/fhir/daf/daf-vitalsigns-definitions.html#daf-vitalsigns.Observation.related.type

1..1

Codes specifying how two observations are related. This is used when reporting systolic and diastolic blood pressure. The codes shall be taken from the ObservationRelationshipType value set. For more information on this value set, see http://www.hl7.org/fhir/valueset-observation-relationshiptypes.html.

Searching by Date

Dates are passed as query paramters on the URL. Since the URL parameters cannot handle comparators (for example, >, <=) these are passed in as part of the date.

fromdate<=2016-01-01
todate=>2016-12-31

To search for a date range, pass in the date twice.

e.g. fromdate<=2010-01-01&todate=>2010-12-31

This search would include every day in the year 2010.

Sample Output
{"resourceType":"Bundle","id":"bundle-example","type":"searchset","total":"7","entry":[{"fullUrl":"fhirips.azurehealthcareapis.com/Observation?type=weight&_id=8WZzO9hlBzQ%3d","resource":{"resourceType":"Observation","id":"8WZzO9hlBzQ%3d","text":{"status":"generated"},"status":"final","category":{"coding":[{"system":"http://hl7.org/fhir/observation-category","code":"vital-signs","display":"Vital Signs"}],"text":"Vital Signs"},"code":{"coding":[{"system":"http://loinc.org","code":"29463-7","display":"Body Weight"}],"text":"weight"},"subject":{"reference":"Patient/B3fdg1utB9Y8%3d"},"encounter":{"reference":"Encounter/B92iG0czflA%3d"},"effectiveDateTime":"2017-05-02","valueQuantity":{"value":"194","unit":"lbs","system":"http://unitsofmeasure.org","code":"lbs"}}},{"fullUrl":"fhirips.azurehealthcareapis.com/Observation?type=height&_id=8WZzO9hlBzQ%3d","resource":{"resourceType":"Observation","id":"8WZzO9hlBzQ%3d","text":{"status":"generated"},"status":"final","category":{"coding":[{"system":"http://hl7.org/fhir/observation-category","code":"vital-signs","display":"Vital Signs"}],"text":"Vital Signs"},"code":{"coding":[{"system":"http://loinc.org","code":"8302-2","display":"height"}],"text":"height"},"subject":{"reference":"Patient/B3fdg1utB9Y8%3d"},"encounter":{"reference":"Encounter/B92iG0czflA%3d"},"effectiveDateTime":"2017-05-02","valueQuantity":{"value":"177","unit":"cm","system":"http://unitsofmeasure.org","code":"cm"}}},{"fullUrl":"fhirips.azurehealthcareapis.com/Observation?type=BMI&_id=8WZzO9hlBzQ%3d","resource":{"resourceType":"Observation","id":"8WZzO9hlBzQ%3d","text":{"status":"generated"},"status":"final","category":{"coding":[{"system":"http://hl7.org/fhir/observation-category","code":"vital-signs","display":"Vital Signs"}],"text":"Vital Signs"},"code":{"coding":[{"system":"http://loinc.org","code":"59574-4","display":"bmi"}],"text":"bmi"},"subject":{"reference":"Patient/B3fdg1utB9Y8%3d"},"encounter":{"reference":"Encounter/B92iG0czflA%3d"},"effectiveDateTime":"2017-05-02","valueQuantity":{"value":"27.8","unit":"BMIAG","system":"http://unitsofmeasure.org","code":"BMIAG"}}},{"fullUrl":"fhirips.azurehealthcareapis.com/Observation?type=bp&_id=8WZzO9hlBzQ%3d","resource":{"resourceType":"Observation","id":"8WZzO9hlBzQ%3d","text":{"status":"generated"},"status":"final","category":{"coding":[{"system":"http://hl7.org/fhir/observation-category","code":"vital-signs","display":"Vital Signs"}],"text":"Vital Signs"},"code":{"coding":[{"system":"http://loinc.org","code":"55284-4","display":"Blood pressure systolic and diastolic"}],"text":"Blood pressure systolic and diastolic"},"subject":{"reference":"Patient/B3fdg1utB9Y8%3d"},"encounter":{"reference":"Encounter/B92iG0czflA%3d"},"effectiveDateTime":"2017-05-02","component":[{"code":{"coding":[{"system":"http://loinc.org","code":"8480-6","display":"Systolic blood pressure"}],"text":"Systolic blood pressure","valueQuantity":{"value":"145","unit":"mmHg","system":"http://unitsofmeasure.org","code":"mm[Hg]"}}},{"code":{"coding":[{"system":"http://loinc.org","code":"8462-4","display":"Diastolic blood pressure"}],"text":"Diastolic blood pressure"},"valueQuantity":{"value":"88","unit":"mmHg","system":"http://unitsofmeasure.org","code":"mm[Hg]"}}]}},{"fullUrl":"fhirips.azurehealthcareapis.com/Observation?type=rr&_id=8WZzO9hlBzQ%3d","resource":{"resourceType":"Observation","id":"8WZzO9hlBzQ%3d","text":{"status":"generated"},"status":"final","category":{"coding":[{"system":"http://hl7.org/fhir/observation-category","code":"vital-signs","display":"Vital Signs"}],"text":"Vital Signs"},"code":{"coding":[{"system":"http://loinc.org","code":"9279-1","display":"respiratory_rate"}],"text":"respiratory_rate"},"subject":{"reference":"Patient/B3fdg1utB9Y8%3d"},"encounter":{"reference":"Encounter/B92iG0czflA%3d"},"effectiveDateTime":"2017-05-02","valueQuantity":{"value":"18","unit":"breaths per minute","system":"http://unitsofmeasure.org","code":"/min"}}},{"fullUrl":"fhirips.azurehealthcareapis.com/Observation?type=heart&_id=8WZzO9hlBzQ%3d","resource":{"resourceType":"Observation","id":"8WZzO9hlBzQ%3d","text":{"status":"generated"},"status":"final","category":{"coding":[{"system":"http://hl7.org/fhir/observation-category","code":"vital-signs","display":"Vital Signs"}],"text":"Vital Signs"},"code":{"coding":[{"system":"http://loinc.org","code":"8867-4","display":"heart_rate"}],"text":"heart_rate"},"subject":{"reference":"Patient/B3fdg1utB9Y8%3d"},"encounter":{"reference":"Encounter/B92iG0czflA%3d"},"effectiveDateTime":"2017-05-02","valueQuantity":{"value":"80","unit":"{beats}/min","system":"http://unitsofmeasure.org","code":"{beats}/min"}}},{"fullUrl":"fhirips.azurehealthcareapis.com/Observation?type=Oxygen&_id=8WZzO9hlBzQ%3d","resource":{"resourceType":"Observation","id":"8WZzO9hlBzQ%3d","text":{"status":"generated"},"status":"final","category":{"coding":[{"system":"http://hl7.org/fhir/observation-category","code":"vital-signs","display":"Vital Signs"}],"text":"Vital Signs"},"code":{"coding":[{"system":"http://loinc.org","code":"59408-5","display":"Oxygen saturation in Arterial blood by Pulse oximetry "}],"text":"oxygen_saturation"},"subject":{"reference":"Patient/B3fdg1utB9Y8%3d"},"encounter":{"reference":"Encounter/B92iG0czflA%3d"},"effectiveDateTime":"2017-05-02","valueQuantity":{"value":"95","unit":"%O2","system":"http://unitsofmeasure.org","code":"%"}}}]} 
Expected Exceptions

I). Invalid Patient ID (Patient ID is the Mandatory parameter)
II).If the patient does not have Observation (Vitals), empty bundle json will return

Procedure

Procedure: an action that is being or was performed on a patient

Retrieving a patient’s procedures

The logical ID (of the patient to retrieve) is passed as part of the URL. The logical ID is found as the result of a search.

GET https://fhirips.azurehealthcareapis.com/Procedures?pid=B3fdg1utB9Y8%3d
GET https://fhirips.azurehealthcareapis.com/Procedures?pid=B3fdg1utB9Y8%3d

Name

Required?

Type

Description

pid

yes

URL

The logical ID of the patient. This is retrieved using the search function.

date

no

string

A string representing a date to include in the search. See below for more information.

A DAF Procedure is retuned

Name

Type

Cardinality

Description

identifier

0..*

Procedure identifier. These identifiers are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (for example, in CDA documents, or in written/printed documentation).

subject

Reference(Patient, Group)

1..1

The person, animal, or group on which the procedure was performed.

status

code

1..1

in-progress , aborted , completed , entered-in-error. For more information on this value set, see procedure-status.

category

CodeableConcept

0..1

Classification of the procedure. For more information on this value set, see procedure-category.

code

CodeableConcept

1..1

Identification code of the procedure. The value set defines a set of codes that can be used to indicate the type of procedure: a specific code indicating type of procedure performed from CPT, SNOMED CT, and ICD10-PCS. For more information on this value set, see procedure-code.

notPerformed

boolean

0..1

Was the procedure not performed as scheduled? (Yes if not scheduled.)

reasonNotPerformed

CodeableConcept

0..*

Reason procedure was not performed. For more information on this value set, see procedure-not-performed-reason.

bodySite

CodeableConcept

0..*

Target body sites. For more information on this value set, see body-site.

reasonCodeableConcept

CodeableConcept

0..1

Reason why the procedure was performed.

reasonReference

Reference(Condition)

0..1

Reason for the procedure.

performer

0..*

The individual who performed the procedure. This must be a real person, not equipment.

performer.actor

Reference(Practitioner, Organization, Patient, RelatedPerson)

0..1

Reference to the practitioner.

performer.role

CodeableConcept

0..1

The role the actor was in. Values come from performer-role.

performedDateTime

dateTime

0..1

The date/time period over which the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.

performedPeriod

Period

0..1

Date/time period during which the procedure was performed.

encounter

Reference(Encounter)

0..1

Encounter during which the procedure was performed.

location

Reference(Location)

0..1

Location where the procedure was performed.

outcome

CodeableConcept

0..1

The result of procedure. For more information on this value set, see procedure-outcome.

report

Reference(DiagnosticReport)

0..*

Any report resulting from the procedure.

complication

CodeableConcept

0..*

Complication following the procedure. For more information on this value set, see condition-code.

followUp

CodeableConcept

0..*

Instructions for follow up. For more information on this value set, see procedure-followup.

request

Reference(CarePlan, DiagnosticOrder, ProcedureRequest, ReferralRequest)

0..1

A request for the procedure.

notes

Annotation

0..*

Additional information about the procedure.

focalDevice

0..*

Device changed during the procedure.

focalDevice.action

CodeableConcept

0..1

Kind of change to device. For more information on this value set, see device-action.

focalDevice.manipulated

Reference(Device)

1..1

Device that was changed during the procedure.

used

Reference(Device, Medication, Substance)

0..*

Items used during procedure.

Searching by Date

Dates are passed as query paramters on the URL. Since the URL parameters cannot handle comparators (for example, >, <=) these are passed in as part of the date.

fromdate<=2016-01-01
todate=>2016-12-31

To search for a date range, pass in the date twice.

e.g. fromdate<=2010-01-01&todate=>2010-12-31

This search would include every day in the year 2010.

Sample Output
{"Identifier":[{"SystemElement":{"Value":"Procedure"},"ValueElement":{"Value":"104"}}],"StatusElement":{"Value":2},"Code":{"Coding":[{"SystemElement":{"Value":"http://www.ama-assn.org/go/cpt"},"CodeElement":{"Value":"81025"},"DisplayElement":{"Value":"URINE PREGNANCY TST VIS COLOR CMPRSN METHS"}}]},"resourceType":"Procedures"} 
Expected Exceptions

I). Invalid Patient ID (Patient ID is the Mandatory parameter)
II).If the patient does not have Procedure data, empty bundle json will return.

Care Team

Care team for patient

Retrieving a patient’s care team(s)

The logical ID of the patient to retrieve is passed as part of the URL. The logical ID is found as the result of a search.

GET https://fhirips.azurehealthcareapis.com/Practitioner?pid=B3fdg1utB9Y8%3d

Name

Required?

Type

Description

pid

yes

URL

Patient's logical ID. This is retrieved using the search function.

A DAF care plan is returned. Since we are using the CarePlan Resource for identifying the care team members, constraints on that resource are defined for this purpose only. For example, creating a care team profile using care plan.

Name

Type

Cardinality

Description

identifier

0..*

External IDs for this plan. This records identifiers associated with this care team that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. This is a business identifier, not a resource identifier.

subject

Reference(Patient, Group)

0..1

Who the care team is for. Identifies the patient whose intended care is handled by the team.

status

code

1..1

Indicates whether the plan is currently being acted upon, represents future intentions, or is now a historical record. It also allows clinicians to determine whether the plan is actionable or not. Statuses returned include: Proposed, Draft (Pending), Active, Completed, and Cancelled. For more information on this value set, see: http://hl7.org/fhir/ValueSet/care-plan-status.

category

CodeableConcept

0..*

Options could include Problem, Health Concern, Care Team, or Assessment and Plan of Treatment. A type of plan which utilizes "Assessment and Plan of Treatment" - the clinical conclusions and assumptions that guide the patient's treatment and the clinical activities formulated for a patient. Where the category is just "Assessment and Plan," only the category "Assessment and Plan" will be returned. Values come from Argonaut Extension Codes for Care Plan http://argonautwiki.hl7.org/index.php?title=Argonaut_Extension_Codes.

participant

0..*

Members of the team. Identifies all people and organizations who are expected to be involved in the care team. Allows representation of care teams, and helps scope the care plan. In some cases, this may be a determiner of access permissions.

participant.role

CodeableConcept

0..1

Indicates the specific responsibility of an individual within the care team, such as primary physician, team coordinator, or caregiver. Roles may be inferred by type of practitioner. These are relationships that hold only within the context of the care team. General relationships should be handled as properties of the patient resource directly. For more information on this value set, see http://hl7.org/fhir/ValueSet/participant-role.

participant.member

Reference(Practitioner, RelatedPerson, Patient, Organization)

0..1

The specific person or organization who is participating in or expected to participate in the care team. The patient only needs to be listed if they have a role other than subject of care. Member is optional because some participants may be known only by their role, particularly in draft plans.

Searching by Date

Dates are passed as query paramters on the URL. Since the URL parameters cannot handle comparators (for example, >, <=) these are passed in as part of the date.

fromdate<=2016-01-01
todate=>2016-12-31

To search for a date range, pass in the date twice.

e.g. fromdate<=2010-01-01&todate=>2010-12-31

This search would include every day in the year 2010.

Sample Output
{"Identifier":[{"SystemElement":{"Value":"fhirips.azurehealthcareapis.com/Patient/Practitioner"},"ValueElement":{"Value":"DdnwakgKzrk%3d"}}],"ActiveElement":{"Value":true},"Name":{"FamilyElement":[{"Value":"Davis"}],"GivenElement":[{"Value":"Albert"}],"PrefixElement":[{"Value":"Dr"}]},"Address":[{"UseElement":{"Value":1},"LineElement":[{"Value":"2472"}],"CityElement":{"Value":"Beaverton"},"StateElement":{"Value":"OR"},"PostalCodeElement":{"Value":"97006"}}],"Text":{"StatusElement":{"Value":0}},"resourceType":"Practitioner"} 
Expected Exceptions

I). Invalid Patient ID (Patient ID is the Mandatory parameter)
II).If the patient does not have Practitioners (Providers) data, empty bundle json will return.

Immunization

Immunization event information

Retrieving a patient’s immunizations

The logical ID (of the patient to retrieve) is passed as part of the URL. The logical ID is found as the result of a search.

GET https://fhirips.azurehealthcareapis.com/Immunization?pid=B3fdg1utB9Y8%3d
GET https://fhirips.azurehealthcareapis.com/Immunization?pid=B3fdg1utB9Y8%3d&

fromdate<=2012-01-04&todate=>2012-06-04

Name

Required?

Type

Description

pid

yes

URL

The logical ID of the patient. This is retrieved using the search function.

date

no

string

A string representing a date to include in the search. See below for more information.

A DAF Immunization is returned.

Name

Type

Cardinality

Description

identifier

0..*

Immunization record unique identifier.

status

code

1..1 Immunization current status.

Valid entries include: In-Progress, On-Hold, Completed, Entered-In-Error, and Stopped. For more information on this value set, see medication-admin-status.

date

dateTime

0..1

Date and time when the immunization was administered. When immunizations are patient reported, a specific date might not be known. Although partial dates are allowed, an adult patient might not be able to recall the year a childhood immunization was given.

vaccineCode

CodeableConcept

1..1

Vaccine product administered. Values come from vaccine-code.

patient

Reference(Patient)

1..1

Patient who received the immunization. Defines constraints and extensions on the patient resource for use in querying and retrieving patient demographic information.

wasNotGiven

boolean

1..1

Flag for whether immunization was given.

reported

boolean

1..1

Indicates a self-reported record.

performer

Reference(Practitioner)

0..1

Who administered vaccine.

requester

Reference(Practitioner)

0..1

Who ordered vaccination.

encounter

Reference(Encounter)

0..1

Encounter administered as part of.

manufacturer

Reference(Organization)

0..1

Vaccine manufacturer.

location

Reference(Location)

0..1

Where vaccination occurred.

lotNumber

string

0..1

Vaccine lot number.

expirationDate

date)

0..1

Vaccine expiration date.

site

CodeableConcept

0..1

Body site vaccine was administered. For more information on this value set, see immunization-site.

route

CodeableConcept

0..1

How vaccine entered body. For more information on this value set, see immunization-route.

doseQuantity

Hl7.Fhir.Model.SimpleQuantity

0..1

Amount of vaccine administered.

note

Annotation

0..*

Vaccination notes.

explanation

0..1

Administration/non-administration reasons.

explanation.reason

CodeableConcept

0..*

Reason why the immunization occurred. For more information on this value set, see immunization-reason.

explanation.reasonNotGiven

CodeableConcept

0..*

Reason why the immunization did not occur. For more information on this value set, see no-immunization-reason.

reaction

0..*

Details of a reaction that follows the immunization.

reaction.date

dateTime

0..1

Date/time when the reaction started.

reaction.detail

Reference(Observation)

0..1

Additional information about the reaction.

reaction.reported

boolean

0..1

Was the reaction self-reported?

vaccinationProtocol

0..*

Protocol that was followed during the administration of the immunization.

vaccinationProtocol.doseSequence

Hl7.Fhir.Model.PositiveInt

1..1

Dose number within series.

vaccinationProtocol.description

string

0..1

Details of vaccine protocol.

vaccinationProtocol.authority

Reference(Organization)

0..1

Individual who is responsible for immunization protocol.

vaccinationProtocol.series

string

0..1

Name of vaccine series.

vaccinationProtocol.seriesDoses

Hl7.Fhir.Model.PositiveInt

0..1

Recommended number of doses for immunity.

vaccinationProtocol.targetDisease

CodeableConcept

1..*

Disease immunized against. For more information on this value set, see vaccination-protocol-dose-target.

vaccinationProtocol.doseStatus

CodeableConcept

1..1

Indicates if dose counts towards immunity. For more information on this value set, see vaccination-protocol-dose-status.

vaccinationProtocol.doseStatusReason

CodeableConcept

0..1

Why dose does (not) count. For more information on this value set, see vaccination-protocol-dose-status-reason.

Searching by Date

Dates are passed in as Query paramters on the URL. Since the URL parameters cannot handle comparators (e.g. >, <=) these are passed in as pat of the date

fromdate<=2016-01-01
todate=>2016-12-31

To search for a date range, pass in the date twice.

e.g. fromdate<=2010-01-01&todate=>2010-12-31

This search would include every day in the year 2010.

Sample Output
{"Identifier":[{"SystemElement":{"Value":"Immunization"},"ValueElement":{"Value":"245"}}],"StatusElement":{"Value":2},"DateElement":{"Value":"2011-01-14"},"VaccineCode":{"Coding":[{"SystemElement":{"Value":"2.16.840.1.113883.6.59"},"CodeElement":{"Value":"26"},"DisplayElement":{"Value":"cholera vaccine"}}],"TextElement":{"Value":"cholera vaccine"}},"WasNotGivenElement":{"Value":true},"ReportedElement":{"Value":true},"Manufacturer":{"ReferenceElement":{"Value":"Abbott Laboratories"}},"LotNumberElement":{},"ExpirationDateElement":{"Value":"0001-01-01"},"Site":{"Coding":[{"SystemElement":{"Value":"http://hl7.org/fhir/v3/ActSite"},"CodeElement":{"Value":"0"},"DisplayElement":{}}]},"Route":{"Coding":[{"SystemElement":{"Value":"http://hl7.org/fhir/v3/RouteOfAdministration"},"CodeElement":{"Value":"0"},"DisplayElement":{}}]},"DoseQuantity":{"ValueElement":{"Value":0},"SystemElement":{"Value":"http://unitsofmeasure.org"},"CodeElement":{}},"Note":[{"TextElement":{}}],"resourceType":"Immunization"} 
Expected Exceptions

I). Invalid Patient ID (Patient ID is the Mandatory parameter)
II).If the patient does not have Practitioners (Providers) data, empty bundle json will return.

Implantable Devices/UDI

An instance of a manufactured device that is used in the provision of healthcare

Retrieving a patient’s implantable devices/UDI

The logical ID of the patient to retrieve is passed as part of the URL. The logical ID is found as the result of a search.

GET https://fhirips.azurehealthcareapis.com/Device?pid=B3fdg1utB9Y8%3d

Name

Required?

Type

Description

pid

yes

URL

The logical ID of the patient. This is retrieved using the search function.

date

no

string

A string representing a date to include in the search. See below for more information.

A DAF Device is returned.

Name

Type

Cardinality

Description

identifier

0..*

Unique instance identifier assigned to a device by organizations like manufacturers or owners. If the identifier indicates the type of device, Device.type should be used. This is a business identifier, not a resource identifier, often fixed to the device as a barcode, and may include names given to the device in local usage. Note that some of the barcodes affixed to the device identify its type, not its instance. For the FDA mandated Unique Device Identifier (UDI), use the Device.udi element.

type

CodeableConcept

1..1

Code or identifier to indicate a kind of device. For the FDA mandated Unique Device Identifier (UDI), use the Device.udi element.

note

Annotation

0..*

Device notes and comments, including annotations.

status

code

0..1

Status of the device availability. This value set has an inline system that defines the following codes: Available, Not Available, and Entered-in-Error. For more information on this value set, see devicestatus.

manufacturer

string

0..1

Name of device manufacturer.

model

string

0..1

Model ID assigned by the manufacturer.

version

string

0..1

Version number. For example, software.

manufactureDate

dateTime

0..1

Manufacture date.

expiry

dateTime

0..1

Date and time of expiration of this device, if applicable.

udi

string

0..1

FDA mandated Unique Device Identifier.

lotNumber

string

0..1

Lot number of manufacturer.

owner

Reference(Organization)

0..1

Organization responsible for device.

location

Reference(Location)

0..1

Where the resource is found.

patient

Reference(Patient)

0..1

If the resource is affixed to a person.

contact

ContactPoint

0..*

Details for human/organization for support.

url

URI

0..1

Network address to contact device.

Searching by Date

Dates are passed in as Query paramters on the URL. Since the URL parameters cannot handle comparators (e.g. >, <=) these are passed in as pat of the date

fromdate<=2016-01-01
todate=>2016-12-31

To search for a date range, pass in the date twice.

e.g. fromdate<=2010-01-01&todate=>2010-12-31

This search would include every day in the year 2010.

Sample Output
{"resourceType":"Device","id":"prKrfXad%2f80%3d","identifier":[{"system":"fhirips.azurehealthcareapis.com/Device","value":"prKrfXad%2f80%3d"},{"type":{"coding":[{"system":"http://hl7.org/fhir/identifier-type","code":"SNO"}],"text":"Serial Number"},"value":"00643169007222"}],"status":"active","type":{"coding":[{"system":"http://snomed.info/sct","code":"704708004","display":"Cardiac resynchronization therapy implantable defibrillator"}]},"lotNumber":"(01)00643169007222(17)160128(21)BLC200461H","manufacturer":"MEDTRONIC, INC.","model":"DTBA1QQ"} 
Expected Exceptions

I). Invalid Patient ID (Patient ID is the Mandatory parameter)
II).If the patient does not have Implantable Device(s) data, empty bundle json will return.

Assessment and Plan of Treatment

Healthcare plan for patient or group

Retrieving a patient’s assessment and plan of treatments

The logical ID (of the patient to retrieve) is passed as part of the URL. The logical ID is found as the result of a search.

GET https://fhirips.azurehealthcareapis.com/CarePlan?pid=B3fdg1utB9Y8%3d
GET https://fhirips.azurehealthcareapis.com/CarePlan?pid=B3fdg1utB9Y8%3d&

fromdate<=2012-01-04&todate=>2012-06-04

Name

Required?

Type

Description

pid

yes

URL

The logical ID of the patient. This is retrieved using the search function.

date

no

string

A string representing a date to include in the search. See below for more information.

A DAF CarePlan is returned. The Argonaut Assessment and Plan of Treatment IG provides the API documentation for searching for and fetching patient assessment and plan of treatment data using the CarePlan resource. The search supports the narrative elements of the Assessment and Plan section which is the minimal necessary criteria to support the 2015 Edition ONC Certification criterion Data Category Request 170.315(g)(8).

Name

Type

Cardinality

Description

identifier

0..*

External IDs for this plan. This is a business identifier, not a resource identifier. This records identifiers associated with this care plan that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. For example, in CDA documents or in written/printed documentation.

subject

Reference(Patient, Group)

0..1

Who the care plan is for. This identifies the patient or group whose intended care is described by the plan.

status

code

1..1

Indicates hether the plan is currently acted upon, represents future intentions, or is now a historical record. It allows clinicians to determine whether the plan is actionable or not. Conformance is required, and the valid statuses include: Proposed, Pending, Active, Completed, and Cancelled. For more information on this value set, see: http://hl7.org/fhir/ValueSet/care-plan-status.

category

CodeableConcept

0..*

Identifies what kind of plan this is to support differentiation between multiple co-existing plans. For example, "Home health", "psychiatric", "asthma", "disease management", "wellness plan", and so forth. There may be multiple axis of categorization, and one plan may serve multiple purposes. In some cases, this may be redundant with references to CarePlan.concern. This value set contains 21 concepts. For more information on this value set, see: http://hl7.org/fhir/ValueSet/care-plan-category.

narrative summary

string

0..1

Text or HTML description of the assessment and plan. CarePlan.text.status is either Generated or Additional. This tool uses Generated. For more information on this value set, see: http://hl7.org/fhir/narrative-status, which defines the following codes: Generated, Extensions, Additional, and Empty.

Searching by Date

Dates are passed in as Query paramters on the URL. Since the URL parameters cannot handle comparators (e.g. >, <=) these are passed in as pat of the date

fromdate<=2016-01-01
todate=>2016-12-31

To search for a date range, pass in the date twice.

e.g. fromdate<=2010-01-01&todate=>2010-12-31

This search would include every day in the year 2010.

Sample Output
{"Identifier":[{"ValueElement":{"Value":"YrItVniimrc="}}],"Subject":{"ReferenceElement":{"Value":"Patient/7OddVzA6kuw="},"DisplayElement":{"Value":"Rosdel_b1 Jamie"}},"StatusElement":{"Value":2},"Context":{"ReferenceElement":{"Value":"Encounter/JyXH3oIQtvw="}},"Category":[{"TextElement":{"Value":"The patient was found to have fever and Dr Davis is suspecting Anemia based on the patient history. So Dr Davis asked the patient to closely monitor the temperature and blood pressure and get admitted to Community Health Hospitals if the fever does not subside within a day.<br /><br />Get an EKG done on 6/23/2015.<br /><br />Get a Chest X-ray done on 6/23/2015 showing the Lower Respiratory Tract Structure.<br /><br />Take Clindamycin 300mg three times a day as needed if pain does not subside<br /><br />Schedule follow on visit with Neighborhood Physicians Practice on 7/1/2015<br /><br />"}}],"DescriptionElement":{"Value":"The patient was found to have fever and Dr Davis is suspecting Anemia based on the patient history. So Dr Davis asked the patient to closely monitor the temperature and blood pressure and get admitted to Community Health Hospitals if the fever does not subside within a day.<br /><br />Get an EKG done on 6/23/2015.<br /><br />Get a Chest X-ray done on 6/23/2015 showing the Lower Respiratory Tract Structure.<br /><br />Take Clindamycin 300mg three times a day as needed if pain does not subside<br /><br />Schedule follow on visit with Neighborhood Physicians Practice on 7/1/2015<br /><br />"},"Text":{"StatusElement":{"Value":2}},"resourceType":"Assessment"} 
Expected Exceptions

I). Invalid Patient ID (Patient ID is the Mandatory parameter)
II).If the patient does not have Assessment plan data, empty bundle json will return.

Goal

Intended objective(s) for a patient, group or organization

Retrieving a patient’s goals

The logical ID (of the patient to retrieve) is passed as part of the URL. The logical ID is found as the result of a search.

GET https://fhirips.azurehealthcareapis.com/Goal?pid=B3fdg1utB9Y8%3d

Name

Required?

Type

Description

pid

yes

URL

The logical ID of the patient. This is retrieved using the search function.

date

no

string

A string representing a date to include in the search. See below for more information.

A DAF Goal is retuned

Name

Type

Cardinality

Description

identifier

0..*

External ID for this goal. This is a business identifier, not a resource identifier. This records identifiers associated with this care plan that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (for example, in CDA documents, or in written/printed documentation).

subject

Reference(Patient, Group, Organization)

0..1

Who the goal is intended for. Subject identifies the patient, group, or organization for whom the goal is being established, typically the patient. Subject is optional to support anonymized reporting.

startDate

Date

0..1

When the goal pursuit begins. A date or partial date (for example, just year or year + month) as used in human communication. There is no time zone. Dates shall be valid dates.

startCodeableConcept

CodeableConcept

0..1

When the goal pursuit begins. This option is a codable concept that identifies types of events that might trigger the start of a goal as defined in http://snomed.info/sct. For example, Admission to the hospital (32485007), Childbirth (386216000), or Completion time of procedure (442137000).

targetDate

Date

0..1

Reach goal on or before. Indicates either the date or the duration after the start by which the goal should be met. This identifies when the goal should be evaluated. This can be a target date (or partial) or a duration of time.

targetQuantity

Quantity

0..1

Reach goal on or before. Indicates either the date or the duration after start by which the goal should be met. This identifies when the goal should be evaluated. This can be a target date (or partial) or a duration of time.

category

CodeableConcept

0..*

Indicates a category the goal falls within, and allows goals to be filtered and sorted based on a particular category. Examples of category include: Treatment, Dietary, or Behavioral. For more information on this value set, see http://hl7.org/fhir/ValueSet/goal-category.

description

string

1..1

Desired outcome. This is a human-readable description of a specific desired objective of care. Without a description of what's trying to be achieved, the element has no purpose.

status

code

1..1

Indicates whether the goal has been reached and is still considered relevant. Options include: Proposed, Planned, Accepted, Rejected, In-progress, Achieved, Sustaining, On-hold, and Cancelled. For more information on this value set, see http://hl7.org/fhir/ValueSet/goal-status.

statusDate

date)

0..1

When goal status took effect. This identifies the current status. For example, when the goal was initially created, when the goal was achieved, when the goal was cancelled, and so on.

statusReason

CodeableConcept

0..1

Captures the reason for the current status. This is typically captured for statuses such as Rejected, On-hold, or Cancelled but could be present for others. Conformance is set as example. For more information on this value set, see: http://hl7.org/fhir/ValueSet/goal-status-reason.

author

Reference( Patient, Practitioner- https://www.hl7.org/fhir/Practitioner.html or Related Person- https://www.hl7.org/fhir/RelatedPerson.html

0..1

Who is responsible for creating the goal. This indicates whose goal this is: patient goal, practitioner goal, related person goal, and so on. This is the individual responsible for establishing the goal, not necessarily who recorded it. (For that, use the provenance resource.)

priority

CodeableConcept

0..1

Identifies the mutually agreed level of importance associated with reaching and/or sustaining the goal. This is used for sorting and presenting goals. Extensions are available to track priorities as established by each participant. For example, priority from the patient's perspective, different practitioners' perspectives, or family member's perspectives. The ordinal extension on coding can be used to convey a numerically comparable ranking to priority. Conformance is preferred and defines the following codes: High, Medium, and Low. Different coding systems may use "low value=important." For more information on this value set, see: http://hl7.org/fhir/ValueSet/goal-priority.

addresses

Reference(Condition, Observation, MedicationStatement, NutritionOrder, ProcedureRequest, RiskAssessment)

0..*

Identified conditions and other health record elements that are intended to be addressed by the goal. This allows specific goals to be explicitly linked to the concerns they're dealing with which makes the goal more understandable. Reference profiles include: Condition, Observation, MedicationStatement, NutritionOrder, ProcedureRequest, and RiskAssessment.

note

Annotation

0..*

Comments or annotation about the goal. Must capture information about the goal that doesn't actually describe the goal. May be used for progress notes, concerns, or other related information that doesn't actually describe the goal itself. This is also an MU requirement, which determines the narrative portion of the goal.

outcome

0..*

The end result of goal. Outcome identifies the change (or lack of change) at the point where the goal was deemed to be cancelled or achieved. Outcome tracking is a key aspect of care planning. Note that this should not duplicate the goal status.

outcome.resultCodeableConcept

CodeableConcept

0..1

Code or observation that resulted from goal.

outcome.resultReference

Reference(Observation)

0..1

Code or observation that resulted from the goal. This describes what has or has not changed. GoalOutcome: The result of the goal. For example, "25% increase in shoulder mobility," "Anxiety reduced to moderate levels," or "15 kg weight loss sustained over 6 months."

Searching by Date

Dates are passed in as Query paramters on the URL. Since the URL parameters cannot handle comparators (e.g. >, <=) these are passed in as pat of the date

fromdate<=2016-01-01
todate=>2016-12-31

To search for a date range, pass in the date twice.

e.g. fromdate<=2010-01-01&todate=>2010-12-31

This search would include every day in the year 2010.

Sample Output
{"resourceType":"Goal","id":"9H8hiMj2TTM%3d","identifier":[{"value":"9H8hiMj2TTM%3d"}],"status":"on-hold","priority":{"coding":[{"system":"http://hl7.org/fhir/goal-priority","code":"high-priority","display":"High Priority"}],"text":"high"},"description":{"text":"Get rid of intermittent fever that is occurring every few weeks. Need to gain more energy to do reg"},"subject":{"reference":"fhirips.azurehealthcareapis.com/Patient?_id=B3fdg1utB9Y8%3d","display":"Rosdel Jamie"},"startDate":"2017-05-01"} 
Expected Exceptions

I). Invalid Patient ID (Patient ID is the Mandatory parameter)
II).If the patient does not have Patient Goal data, empty bundle json will return.

Health Concern

Detailed information about health concerns

Retrieving a patient’s health concerns

The logical ID (of the patient to retrieve) is passed as part of the URL. The logical ID is found as the result of a search.

GET https://fhirips.azurehealthcareapis.com/HealthcareService?pid=B3fdg1utB9Y8%3d

Name

Required?

Type

Description

pid

yes

URL

Patient's logical ID. This is retrieved using the search function.

A DAF Condition (Problem) is retuned

Name

Type

Cardinality

Description

identifier

0..*

Identifier associated with this condition that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. For example, in CDA documents or in written/printed documentation.

patient

Reference(Patient)

1..1

Indicates the patient who the condition record is associated with. This defines constraints and extensions on the patient resource for use in querying and retrieving patient demographic information.

encounter

Reference(Encounter)

0..1

Encounter during which the condition was first asserted.

asserter

Reference(Practitioner, Patient)

0..1

Individual who is making the condition statement. This could be a provider or patient reference.

dateRecorded

date)

0..1

Indicates the date when this particular condition record was created in the EHR, not the date of the most recent update in terms of when severity, abatement, and so forth were specified. The date of the last record modification can be retrieved from the resource metadata.

code

CodeableConcept

1..1

Identification of the condition, problem, or diagnosis. For more information on this value set, see http://hl7.org/fhir/ValueSet/condition-code.

category

CodeableConcept

0..1

A category assigned to the condition. The categorization is often highly contextual and may appear poorly differentiated or not very useful in other contexts. The value set conformance is preferred and options include: Complaint, Symptom, Finding, and Diagnosis. For more information on this value set, see http://hl7.org/fhir/ValueSet/condition-category.

clinicalStatus

code

0..1

The clinical status of the condition. The value set conformance is preferred and options include: Active, Relapse, Remission, and Resolved. For more information on this value set, see http://hl7.org/fhir/ValueSet/condition-clinical

verificationStatus

code

1..1

The verification status of the condition or rather, the verification status to support or decline the clinical status of the condition or diagnosis. The value set conformance is required and options include: Provisional, Differential, Confirmed, Refuted, Entered-in-error, and Unknown. For more information on this value set, see http://hl7.org/fhir/ValueSet/condition-ver-status.

severity

CodeableConcept

0..1

Subjective severity of condition. The value set conformance is extensible and options include: Fatal, Severe, Moderate, and Mild. Extensions are allowed. For more information on this value set, see http://hl7.org/fhir/ValueSet/condition-severity.

onsetDateTime

dateTime

0..1

Estimated or actual date, date-time, or age. A date, when the Condition statement was documented. The Date Recorded represents the date when this particular Condition record was created in the EHR, not the date of the most recent update in terms of when severity, abatement, etc. were specified. The date of the last record modification can be retrieved from the resource metadata.

onsetQuantity

Quantity

0..1

There shall be a code if there is a value and it shall be an expression of time. If system is present, it shall be UCUM. If value is present, it shall be positive. The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. In this case, it is used to define the onset of the condition.

onsetPeriod

Period

0..1

A time period defined by a start and end date/time. A period specifies a range of times. The context of use will specify whether the entire range applies (for example, "the patient was an inpatient of the hospital for this time range") or one value from the period applies For example, "give to the patient between 2 and 4 pm on 24-Jun 2013."

onsetRange

Hl7.Fhir.Model.Range

0..1

A set of ordered Quantity values defined by a low and high limit. A Range specifies a set of possible values; usually, one value from the range applies. For example, "give the patient between 2 and 4 tablets." Ranges are typically used in instructions.

onsetString

String

0..1

A sequence of Unicode characters to convey the estimated onset of when the condition started.

abatementDateTime

dateTime

0..1

Estimated or actual date or date-time when the Condition statement was resolved or in remission.

abatementQuantity

Quantity

0..1

There shall be a code if there is a value and it shall be an expression of time. If system is present, it shall be UCUM. If value is present, it shall be positive. The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. In this case, it is used to indicate when the condition was resolved or in remission.

abatementBoolean

Boolean

0..1

There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition was resolved or in remission; applications and users should generally assume that the condition is still valid.

abatementPeriod

Period

0..1

A time period defined by a start and end date/time. A period specifies a range of times for if or when the condition was resolved or in remission.

abatementRange

Hl7.Fhir.Model.Range

0..1

A set of ordered quantity values defined by a low and high limit. A range specifies a set of possible values; usually, one value from the range applies. In this case, the range defines if and when the condition was resolved or in remission.

abatementString

String

0..1

A sequence of unicode characters to convey when the condition was resolved or in remission.

stage

0..1

A set of codified values for which the conformance is example and is typically used to indicate stages of cancer and other conditions. Stage/grade, usually assessed formally. For more information on this value set, see http://hl7.org/fhir/valueset-condition-stage.html.

stage.summary

CodeableConcept

0..1

A simple summary of the stage such as "Stage 3." The determination of the stage is disease-specific. For more information on this value set, see http://hl7.org/fhir/ValueSet/condition-stage.

stage.assessment

Reference(ClinicalImpression, DiagnosticReport, Observation)

0..*

Reference to a formal record of the evidence on which the staging assessment is based. Reference resources include: ClinicalImpression, DiagnosticReport, and Observation.

evidence

0..*

Supporting evidence or manifestations that are the basis on which this condition is suspected or confirmed. The evidence may be a simple list of coded symptoms/manifestations, references to observations or formal assessments, or both.

evidence.code

CodeableConcept

0..1

A manifestation or symptom that led to the recording of this condition. This includes a value set where the conformance is examples that describe the manifestations or symptoms. For more information on this value set, see http://hl7.org/fhir/ValueSet/manifestation-or-symptom.

evidence.detail

Reference(Resource)

0..*

Supporting information found elsewhere, such as links to other relevant information, including pathology reports.

bodySite

CodeableConcept

0..*

Anatomical location, if relevant. This value set includes all the Anatomical Structure SNOMED CT codes. For example, codes with an is-a relationship with 91723000: Anatomical structure. For more information on this value set, see http://hl7.org/fhir/ValueSet/body-site.

notes

string

0..1

Additional information about the Condition. This is a general note or comment entry for further description of the condition, diagnosis, and prognosis.

Searching by Date

Dates are passed in as Query paramters on the URL. Since the URL parameters cannot handle comparators (e.g. >, <=) these are passed in as pat of the date

fromdate<=2016-01-01
todate=>2016-12-31

To search for a date range, pass in the date twice.

e.g. fromdate<=2010-01-01&todate=>2010-12-31

This search would include every day in the year 2010.

Sample Output
{"resourceType":"HealthcareService","id":"covHdmRFRAQ%3d","identifier":[{"value":"covHdmRFRAQ%3d"}],"name":"Other","comment":"Chronic Sickness exhibited by patient HealthCare Concerns refer to underlying clinical facts i. Do"}
Expected Exceptions

I). Invalid Patient ID (Patient ID is the Mandatory parameter)
II).If the patient does not have Health Concerns data, empty bundle json will return.