Retrieval of Real World Data for Clinical Research
1.0.0 - trial-use International flag

This page is part of the Retrieval of Real World Data for Clinical Research (v1.0.0: STU1) based on FHIR R4. This is the current published version. For a full list of available versions, see the Directory of published versions

Cohort Building

One of the basic needs of research is finding groups of patients that meet a set of criteria, for cohort feasibility determination. In many studies, inclusion and exclusion criteria are defined. This guide does not define how those criteria are represented in FHIR but rather assumes that the criteria is defined and can be turned into questions that can be asked of EHRs to find suitable patients.

Through the use cases that were studied, the following data elements were identified that were needed to identify patients. Note that we are using clinical terminology in identifying the elements as opposed to the FHIR resource names.

  • Patient Demographics
    • Birthdate
    • Gender
    • Death Indicator
    • Race / Ethnicity (NOTE: These were found in US studies)
  • Visit
    • Reason for Visit
    • Admission and Discharge Dates
    • Discharge Disposition
  • Diagnosis
    • Diagnosis Code
    • Date
    • Confirmation Flag
    • Diagnosis Type
  • Lab Test
    • Test Code
    • Date
    • Value
    • Interpretation (high, low, abnormal)
  • Procedure
    • Procedure Code
    • Date
    • Outcome
  • Medication
    • Drug Code
    • Administration Dates
    • Order Dates

From the above data elements, it was determined that the profiles listed below are needed.

Diagram showing the cohort criterion mapped to FHIR resources
Figure 2 - Cohort Criterion FHIR Resources

Cohort Building Searches

The sections below detail how a set of patients can be found that match specific search criteria using normal FHIR searching. Depending on patient consent and data access agreements, these FHIR searches may not be possible. The following searches, which include the current method, are different levels that could be used to determine either a cohort or whether an EHR has information that should be accessed to find a cohort:

  • query for number of patients that match the search criteria
  • query for a list of patient IDs that match the search criteria
  • retrieve patient resources that match the search criteria (i.e. normal FHIR searching)

EHRs could use the FHIR MeasureReport resource to return the results of any of those three searches. Details will be found in future versions of this guide.

Conformance Expectations

This IG expects that all of the below profiles SHALL be supported by a clinical system that is providing data including the extra search parameters defined to allow proper searching of data to find and identify suitable patients. NOTE: See the section on Medications for the specifics on the different Medication profiles.

Patient

The base IPA patient profile is sufficient for our needs of searching for and retrieving patient demographic details.

Clinical Element FHIR Element
Birthdate birthDate
Gender gender
Death Indicator deceased
Race/Ethnicity * see note below

The following search parameters defined in the base Patient resource are needed:

  • birthdate
  • gender
  • deceased

Race and Ethnicity

Race and Ethnicity are not part of the base Patient resource nor are they found in the IPS Patient profile as these are not common elements found outside of the United States. For studies that are US based and have need of searching for or retrieving the race and/or ethnicity of a patient, the US Core extensions for Race and Ethnicity provide the normally collected information and can be added to the Patient instance.

Encounter

The FHIR Encounter resource is used for recording hospital visits (and visits in general). To allow searching for encounters, the Encounter profile was created that indicates the minimum supported fields needed to determine if a patient has been hospitalized.

Clinical Element FHIR Element
Reason for Visit reasonCode / reasonReference
Admission Date period.start
Discharge Date period.end
Discharge Disposition hospitalization.dischargeDisposition

Along with the above elements, it was also determined that status was an important FHIR element to support.

The following search parameters defined in the base Encounter resource are needed:

  • reason-code / reason-reference
  • date
  • status

This guide defines an extra search parameter on Encounter to search for the patient’s disposition on discharge.

Condition

The FHIR Condition resource is used for recording diagnoses. Either the base IPA Condition profile or base IPA Problem List Item provide the needed data elements for searching and retrieving condition data.

Clinical Element FHIR Element
Diagnosis Code code
Date onset
Confirmation Flag verificationStatus
Diagnosis Type category

The following search parameters defined in the base Condition resource are needed:

  • code
  • onset-date
  • verification-status
  • clinical-status
  • category

Observation

The FHIR Observation resource is used for recording test results. The Laboratory Observation Results profile was created that inherits from the base IPA Observation profile and adds observation components as elements that should be supported.

Clinical Element FHIR Element
Test Code code
Date effective
Value value
Interpretation interpretation

The following search parameters defined in the base Observation resource are needed:

  • code
  • date
  • status
  • value-concept
  • value-quantity
  • value-string

This guide defines an extra search parameter on Observation to search for Observation interpretations.

Procedure

The FHIR Procedure resource is used for recording procedures. The Procedure profile was created to define the required data elements.

Clinical Element FHIR Element
Procedure Code code
Date performed
Outcome outcome

Along with the above elements, it was also determined that status was an important FHIR element to support.

The following search parameters defined in the base Procedure resource are needed:

  • code
  • date
  • status

This guide defines an extra search parameter on Procedure to search for Procedure outcomes.

Medications

FHIR provides a set of resources for recording the ordering, dispensing, and administering of medications. The MedicationAdministration resource is the prime resource for recording actual use of a medication, but that is rarely found outside of hospital settings. For non-hospital care, the MedicationRequest, the MedicationDispense, and the MedicationStatement resources need to be searched for and have the administration inferred. Here is more information about the use of the Medication resources to determine usage.

The IPA only provides a profie on the MedicatioRequest and MedicationStatement resources. Those are used by this guide along with new profiles on the MedicationDispense and MedicationAdministration resources.

Conformance Expectations

This IG does not expect every system to support all four of the Medication resources listed below. We recognize that some systems do not capture dispenses or administrations, for example. To conform to this guide, a clinical system SHALL support at least one of these Medication resource profiles. Further, the expectation is that if a system DOES capture medication information, it SHALL expose this data using the profiles below.

Clinical Data Required FHIR Profile
Prescriptions MedicationRequest
Dispenses MedicationDispense
Administrations MedicationAdministration
Statements MedicationStatement

MedicationStatement

The MedicationStatement profile was created that inherits from the base IPA MedicationStatement profile and adds derivedFrom as elements that should be supported.

The derivedFrom element SHALL be included if the MedicationStatement information was taken from a MedicationRequest, MedicationDispense, or MedicationAdministration instance. It is not marked as mandatory because there will be instances where a MedicationStatement was directly created and not inferred from another resource instance.

Clinical Element FHIR Element
Drug Code medication
Administration Dates effective
Order Dates n/a

The drug code can be found either as an actual code on the MedicationStatement instance or by following the reference to the Medication instance.

Along with the above elements, it was also determined that status was an important FHIR element to support.

The following search parameters defined in the base MedicationStatement are needed:

  • code / medication.code
  • effective
  • status

MedicationRequest

To allow searching for prescriptions and optionally planned medication requests, the base IPA MedicationRequest profile shall be used.

Clinical Element FHIR Element
Drug Code medication
Administration Dates dosageInstruction.timing.bounds
Order Dates authoredOn

Along with the above elements, it was also determined that status and intent was an important FHIR element to support. The following search parameters defined in the base MedicationRequest are needed:

  • code / medication.code
  • authoredOn
  • date
  • intent
  • status

MedicationDispense

To allow searching for dispenses, the MedicationDispense profile was created that indicates the minimum supported fields needed to determine if a patient has been supplied a certain medication.

Clinical Element FHIR Element
Drug Code medication
Administration Dates dosageInstruction.timing.bounds
Supply Dates whenHandedOver

Along with the above elements, it was also determined that status was an important FHIR element to support. The following search parameters defined in the base MedicationDispense are needed:

  • code / medication.code
  • whenhandedover
  • status

MedicationAdministration

To allow searching for administrations, the MedicationAdministration profile was created that indicates the minimum supported fields needed to determine if a patient has taken a certain medication.

Clinical Element FHIR Element
Drug Code medication
Administration Dates effective

Along with the above elements, it was also determined that status was an important FHIR element to support. The following search parameters defined in the base MedicationDispense are needed:

  • code / medication.code
  • effective-time
  • status