This page is part of the US Core (v3.1.0: STU3) based on FHIR R4. The current version which supercedes this version is 5.0.1. For a full list of available versions, see the Directory of published versions
StructureDefinition-us-core-careplan
This profile sets minimum expectations for the CarePlan resource to record, search, and fetch assessment and plan of treatment data associated with a patient. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the resource when using this profile.
Example Usage Scenarios:
The following are example usage scenarios for the US Core-CarePlan profile:
- Query for a care plan belonging to a Patient
- Record or update an existing care plan
Mandatory and Must Support Data Elements
The following data-elements are mandatory (i.e data MUST be present) or must be supported if the data is present in the sending system (Must Support definition). They are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.
Each CarePlan must have:
- a narrative summary of the patient assessment and plan of treatment
- a status
- an intent
- a category code of “assess-plan”
- a patient
Profile specific implementation guidance:
- Additional considerations for systems aligning with HL7 Consolidated (C-CDA) Care Plan requirements:
- US Core Goal SHOULD be present in CarePlan.goal
- US Core Condition SHOULD be present in CarePlan.addresses
- Assement and Plan MAY be included as narrative text
Examples
Formal Views of Profile Content
Description of Profiles, Differentials, and Snapshots.
The official URL for this profile is:
http://hl7.org/fhir/us/core/StructureDefinition/us-core-careplan
Published on Thu Aug 29 00:00:00 AEST 2019 as active by the HL7 US Realm Steering Committee.
This profile builds on CarePlan
CarePlan
Summary of the Mandatory Requirements
- A Narrative in
CarePlan.text
- which must have a code value in
CarePlan.text.status
with a required binding to US Core Narrative Status
- which must have a code value in
- A code in
CarePlan.status
with a required binding to RequestStatus - A code in
CarePlan.intent
with a required binding to Care Plan Intent - One or more CodeableConcepts in
CarePlan.category
with an example binding to Care Plan Category- which must have at least a CodeableConcept value in
CarePlan.category
with an example binding to Care Plan Category- which must have a Coding value in
CarePlan.category.coding
- which must have a fixed
CarePlan.category.coding.system
=http://hl7.org/fhir/us/core/CodeSystem/careplan-category
- which must have a fixed
CarePlan.category.coding.code
=assess-plan
- which must have a fixed
- which must have a Coding value in
- which must have at least a CodeableConcept value in
- A Patient Reference in
CarePlan.subject
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
CarePlan | 0..* | |||
text | S | 1..1 | Narrative | |
status | S | 1..1 | code | Binding: US Core Narrative Status (required) |
status | S | 1..1 | code | Binding: RequestStatus (required) |
intent | S | 1..1 | code | Binding: CarePlanIntent (required) |
category | S | 1..* | (Slice Definition) | Slice: Unordered, Open by pattern:$this |
category:AssessPlan | S | 1..1 | CodeableConcept | Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/us/core/CodeSystem/careplan-category | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: assess-plan | |
subject | S | 1..1 | Reference(US Core Patient Profile) | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
CarePlan | I | 0..* | Healthcare plan for patient or group | |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | SI | 1..1 | Narrative | Text summary of the resource, for human interpretation |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
status | SI | 1..1 | code | generated | extensions | additional | empty Binding: US Core Narrative Status (required) |
div | I | 1..1 | xhtml | Limited xhtml content txt-1: The narrative SHALL contain only the basic html formatting elements and attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes txt-2: The narrative SHALL have some non-whitespace content |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | ΣI | 0..* | Identifier | External Ids for this plan |
instantiatesCanonical | ΣI | 0..* | canonical(PlanDefinition | Questionnaire | Measure | ActivityDefinition | OperationDefinition) | Instantiates FHIR protocol or definition |
instantiatesUri | ΣI | 0..* | uri | Instantiates external protocol or definition |
basedOn | ΣI | 0..* | Reference(CarePlan) | Fulfills CarePlan |
replaces | ΣI | 0..* | Reference(CarePlan) | CarePlan replaced by this CarePlan |
partOf | ΣI | 0..* | Reference(CarePlan) | Part of referenced CarePlan |
status | ?!SΣI | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required) |
intent | ?!SΣI | 1..1 | code | proposal | plan | order | option Binding: CarePlanIntent (required) |
category | SΣI | 1..* | (Slice Definition) | Type of plan Slice: Unordered, Open by pattern:$this Binding: CarePlanCategory (example) |
category:AssessPlan | SΣI | 1..1 | CodeableConcept | Type of plan Binding: CarePlanCategory (example) Required Pattern: At least the following |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/us/core/CodeSystem/careplan-category | |
version | 0..1 | string | Version of the system - if relevant | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: assess-plan | |
display | 0..1 | string | Representation defined by the system | |
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |
text | 0..1 | string | Plain text representation of the concept | |
title | ΣI | 0..1 | string | Human-friendly name for the care plan |
description | ΣI | 0..1 | string | Summary of nature of plan |
subject | SΣI | 1..1 | Reference(US Core Patient Profile) | Who the care plan is for |
encounter | ΣI | 0..1 | Reference(Encounter) | Encounter created as part of |
period | ΣI | 0..1 | Period | Time period plan covers |
created | ΣI | 0..1 | dateTime | Date record was first recorded |
author | ΣI | 0..1 | Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam) | Who is the designated responsible party |
contributor | I | 0..* | Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam) | Who provided the content of the care plan |
careTeam | I | 0..* | Reference(CareTeam) | Who's involved in plan? |
addresses | ΣI | 0..* | Reference(Condition) | Health issues this plan addresses |
supportingInfo | I | 0..* | Reference(Resource) | Information considered as part of plan |
goal | I | 0..* | Reference(Goal) | Desired outcome of plan |
activity | I | 0..* | BackboneElement | Action to occur as part of plan cpl-3: Provide a reference or detail, not both |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
outcomeCodeableConcept | I | 0..* | CodeableConcept | Results of the activity Binding: CarePlanActivityOutcome (example) |
outcomeReference | I | 0..* | Reference(Resource) | Appointment, Encounter, Procedure, etc. |
progress | I | 0..* | Annotation | Comments about the activity status/progress |
reference | I | 0..1 | Reference(Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription | RequestGroup) | Activity details defined in specific resource |
detail | I | 0..1 | BackboneElement | In-line definition of activity |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
kind | I | 0..1 | code | Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription Binding: CarePlanActivityKind (required) |
instantiatesCanonical | I | 0..* | canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition) | Instantiates FHIR protocol or definition |
instantiatesUri | I | 0..* | uri | Instantiates external protocol or definition |
code | I | 0..1 | CodeableConcept | Detail type of activity Binding: ProcedureCodes(SNOMEDCT) (example) |
reasonCode | I | 0..* | CodeableConcept | Why activity should be done or why activity was prohibited Binding: SNOMEDCTClinicalFindings (example) |
reasonReference | I | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | Why activity is needed |
goal | I | 0..* | Reference(Goal) | Goals this activity relates to |
status | ?!I | 1..1 | code | not-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error Binding: CarePlanActivityStatus (required) |
statusReason | I | 0..1 | CodeableConcept | Reason for current status |
doNotPerform | ?!I | 0..1 | boolean | If true, activity is prohibiting action |
scheduled[x] | I | 0..1 | When activity is to occur | |
scheduledTiming | Timing | |||
scheduledPeriod | Period | |||
scheduledString | string | |||
location | I | 0..1 | Reference(Location) | Where it should happen |
performer | I | 0..* | Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device) | Who will be responsible? |
product[x] | I | 0..1 | What is to be administered/supplied Binding: SNOMEDCTMedicationCodes (example) | |
productCodeableConcept | CodeableConcept | |||
productReference | Reference(Medication | Substance) | |||
dailyAmount | I | 0..1 | SimpleQuantity | How to consume/day? |
quantity | I | 0..1 | SimpleQuantity | How much to administer/supply/consume |
description | I | 0..1 | string | Extra info describing activity to perform |
note | I | 0..* | Annotation | Comments about the plan |
Documentation for this format |
CarePlan
Summary of the Mandatory Requirements
- A Narrative in
CarePlan.text
- which must have a code value in
CarePlan.text.status
with a required binding to US Core Narrative Status
- which must have a code value in
- A code in
CarePlan.status
with a required binding to RequestStatus - A code in
CarePlan.intent
with a required binding to Care Plan Intent - One or more CodeableConcepts in
CarePlan.category
with an example binding to Care Plan Category- which must have at least a CodeableConcept value in
CarePlan.category
with an example binding to Care Plan Category- which must have a Coding value in
CarePlan.category.coding
- which must have a fixed
CarePlan.category.coding.system
=http://hl7.org/fhir/us/core/CodeSystem/careplan-category
- which must have a fixed
CarePlan.category.coding.code
=assess-plan
- which must have a fixed
- which must have a Coding value in
- which must have at least a CodeableConcept value in
- A Patient Reference in
CarePlan.subject
Differential View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
CarePlan | 0..* | |||
text | S | 1..1 | Narrative | |
status | S | 1..1 | code | Binding: US Core Narrative Status (required) |
status | S | 1..1 | code | Binding: RequestStatus (required) |
intent | S | 1..1 | code | Binding: CarePlanIntent (required) |
category | S | 1..* | (Slice Definition) | Slice: Unordered, Open by pattern:$this |
category:AssessPlan | S | 1..1 | CodeableConcept | Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/us/core/CodeSystem/careplan-category | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: assess-plan | |
subject | S | 1..1 | Reference(US Core Patient Profile) | |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
CarePlan | I | 0..* | Healthcare plan for patient or group | |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | SI | 1..1 | Narrative | Text summary of the resource, for human interpretation |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
status | SI | 1..1 | code | generated | extensions | additional | empty Binding: US Core Narrative Status (required) |
div | I | 1..1 | xhtml | Limited xhtml content txt-1: The narrative SHALL contain only the basic html formatting elements and attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes txt-2: The narrative SHALL have some non-whitespace content |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | ΣI | 0..* | Identifier | External Ids for this plan |
instantiatesCanonical | ΣI | 0..* | canonical(PlanDefinition | Questionnaire | Measure | ActivityDefinition | OperationDefinition) | Instantiates FHIR protocol or definition |
instantiatesUri | ΣI | 0..* | uri | Instantiates external protocol or definition |
basedOn | ΣI | 0..* | Reference(CarePlan) | Fulfills CarePlan |
replaces | ΣI | 0..* | Reference(CarePlan) | CarePlan replaced by this CarePlan |
partOf | ΣI | 0..* | Reference(CarePlan) | Part of referenced CarePlan |
status | ?!SΣI | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required) |
intent | ?!SΣI | 1..1 | code | proposal | plan | order | option Binding: CarePlanIntent (required) |
category | SΣI | 1..* | (Slice Definition) | Type of plan Slice: Unordered, Open by pattern:$this Binding: CarePlanCategory (example) |
category:AssessPlan | SΣI | 1..1 | CodeableConcept | Type of plan Binding: CarePlanCategory (example) Required Pattern: At least the following |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/us/core/CodeSystem/careplan-category | |
version | 0..1 | string | Version of the system - if relevant | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: assess-plan | |
display | 0..1 | string | Representation defined by the system | |
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |
text | 0..1 | string | Plain text representation of the concept | |
title | ΣI | 0..1 | string | Human-friendly name for the care plan |
description | ΣI | 0..1 | string | Summary of nature of plan |
subject | SΣI | 1..1 | Reference(US Core Patient Profile) | Who the care plan is for |
encounter | ΣI | 0..1 | Reference(Encounter) | Encounter created as part of |
period | ΣI | 0..1 | Period | Time period plan covers |
created | ΣI | 0..1 | dateTime | Date record was first recorded |
author | ΣI | 0..1 | Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam) | Who is the designated responsible party |
contributor | I | 0..* | Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam) | Who provided the content of the care plan |
careTeam | I | 0..* | Reference(CareTeam) | Who's involved in plan? |
addresses | ΣI | 0..* | Reference(Condition) | Health issues this plan addresses |
supportingInfo | I | 0..* | Reference(Resource) | Information considered as part of plan |
goal | I | 0..* | Reference(Goal) | Desired outcome of plan |
activity | I | 0..* | BackboneElement | Action to occur as part of plan cpl-3: Provide a reference or detail, not both |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
outcomeCodeableConcept | I | 0..* | CodeableConcept | Results of the activity Binding: CarePlanActivityOutcome (example) |
outcomeReference | I | 0..* | Reference(Resource) | Appointment, Encounter, Procedure, etc. |
progress | I | 0..* | Annotation | Comments about the activity status/progress |
reference | I | 0..1 | Reference(Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription | RequestGroup) | Activity details defined in specific resource |
detail | I | 0..1 | BackboneElement | In-line definition of activity |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
kind | I | 0..1 | code | Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription Binding: CarePlanActivityKind (required) |
instantiatesCanonical | I | 0..* | canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition) | Instantiates FHIR protocol or definition |
instantiatesUri | I | 0..* | uri | Instantiates external protocol or definition |
code | I | 0..1 | CodeableConcept | Detail type of activity Binding: ProcedureCodes(SNOMEDCT) (example) |
reasonCode | I | 0..* | CodeableConcept | Why activity should be done or why activity was prohibited Binding: SNOMEDCTClinicalFindings (example) |
reasonReference | I | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | Why activity is needed |
goal | I | 0..* | Reference(Goal) | Goals this activity relates to |
status | ?!I | 1..1 | code | not-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error Binding: CarePlanActivityStatus (required) |
statusReason | I | 0..1 | CodeableConcept | Reason for current status |
doNotPerform | ?!I | 0..1 | boolean | If true, activity is prohibiting action |
scheduled[x] | I | 0..1 | When activity is to occur | |
scheduledTiming | Timing | |||
scheduledPeriod | Period | |||
scheduledString | string | |||
location | I | 0..1 | Reference(Location) | Where it should happen |
performer | I | 0..* | Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device) | Who will be responsible? |
product[x] | I | 0..1 | What is to be administered/supplied Binding: SNOMEDCTMedicationCodes (example) | |
productCodeableConcept | CodeableConcept | |||
productReference | Reference(Medication | Substance) | |||
dailyAmount | I | 0..1 | SimpleQuantity | How to consume/day? |
quantity | I | 0..1 | SimpleQuantity | How much to administer/supply/consume |
description | I | 0..1 | string | Extra info describing activity to perform |
note | I | 0..* | Annotation | Comments about the plan |
Documentation for this format |
Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron
Quick Start
Below is an overview of the required set of RESTful FHIR interactions - for example, search and read operations - for this profile. See the Conformance requirements for a complete list of supported RESTful interactions for this IG.
- See the General Guidance section for additional rules and expectations when a server requires status parameters.
- See the General Guidance section for additional guidance on searching for multiple patients.
Mandatory Search Parameters:
The following search parameters and search parameter combinations SHALL be supported.:
-
SHALL support searching using the combination of the
patient
andcategory
search parameters:GET [base]/CarePlan?patient=[reference]&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan
Example:
- GET [base]/CarePlan?patient=1137192&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan
Implementation Notes: Fetches a bundle of all CarePlan resources for the specified patient and category=
assess-plan
(how to search by reference and how to search by token)
Optional Search Parameters:
The following search parameter combinations SHOULD be supported.:
- SHOULD support searching using the combination of the
patient
andcategory
anddate
search parameters:- including support for these
date
comparators:gt,lt,ge,le
- including optional support for composite AND search on
date
(e.g.date=[date]&date=[date]]&...
)
GET [base]/CarePlan?patient=[reference]&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}
Example:
- GET [base]/CarePlan?patient=1137192&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan&date=ge2019
- GET [base]/CarePlan?patient=1137192&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan&date=ge2018&date=le2018
Implementation Notes: Fetches a bundle of all CarePlan resources for the specified patient and category=
assess-plan
and date (how to search by reference and how to search by token and how to search by date) - including support for these
- SHOULD support searching using the combination of the
patient
andcategory
andstatus
search parameters:- including support for composite OR search on
status
(e.g.status={[system]}|[code],{[system]}|[code],...
)
GET [base]/CarePlan?patient=[reference]&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan&status={[system]}|[code]{,{[system]}|[code],...}
Example:
- GET [base]/CarePlan?patient=1137192&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan&status=active
Implementation Notes: Fetches a bundle of all CarePlan resources for the specified patient and category=
assess-plan
and status=active
(how to search by reference and how to search by token) - including support for composite OR search on
- SHOULD support searching using the combination of the
patient
andcategory
andstatus
anddate
search parameters:- including support for composite OR search on
status
(e.g.status={[system]}|[code],{[system]}|[code],...
) - including support for these
date
comparators:gt,lt,ge,le
- including optional support for composite AND search on
date
(e.g.date=[date]&date=[date]]&...
)
GET [base]/CarePlan?patient=[reference]&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan&status={[system]}|[code]{,{[system]}|[code],...}&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}
Example:
- GET [base]/CarePlan?patient=1137192&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan&status=active&date=ge2019
- GET [base]/CarePlan?patient=1137192&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan&status=active&date=ge2018&date=le2019
Implementation Notes: Fetches a bundle of all CarePlan resources for the specified patient and category=
assess-plan
and status=active
and date (how to search by reference and how to search by token and how to search by date) - including support for composite OR search on