HL7 FHIR® US Core Implementation Guide (Release 3.0.1 STU3 Update for Comment)

This page is part of the US Core (v3.0.1: STU3 Ballot 3) 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

Downloads: CapabilityStatement: (XML, JSON),OpenAPI-Swagger Definition file

US Core Server CapabilityStatement

  • FHIR Version: 4.0.0
  • Supported formats: xml, json
  • Published: 2019-09-03
  • Published by: HL7 International - US Realm Steering Committee

This Section describes the expected capabilities of the US Core Server actor which is responsible for providing responses to the queries submitted by the US Core Requestors. The complete list of FHIR profiles, RESTful operations, and search parameters supported by US Core Servers are defined. Systems implementing this capability statement should meet the ONC 2015 Common Clinical Data Set (CCDS) access requirement for Patient Selection 170.315(g)(7) and Application Access - Data Category Request 170.315(g)(8) and and the latest proposed ONC [U.S. Core Data for Interoperability (USCDI)]. US Core Clients have the option of choosing from this list to access necessary data based on their local use cases and other contextual requirements.

FHIR RESTful Capabilities

The US Core Server SHALL:

  1. Support the US Core Patient resource profile.
  2. Support at least one additional resource profile from the list of US Core Profiles.
  3. Implement the RESTful behavior according to the FHIR specification.
  4. Return the following response classes:
    • (Status 400): invalid parameter
    • (Status 401/4xx): unauthorized request
    • (Status 403): insufficient scope
    • (Status 404): unknown resource
    • (Status 410): deleted resource.
  5. Support json source formats for all US Core interactions.

The US Core Server SHOULD:

  1. Support xml source formats for all US Core interactions.
  2. Identify the US Core profiles supported as part of the FHIR meta.profile attribute for each instance.
  3. Support xml resource formats for all Argonaut questionnaire interactions.

Security:

  1. See the General Security Considerations section for requirements and recommendations.
  2. A server SHALL reject any unauthorized requests by returning an HTTP 401 unauthorized response code.

Summary of System Wide Interactions

  • MAY support the transaction interaction.
  • MAY support the batch interaction.
  • MAY support the search-system interaction.
  • MAY support the history-system interaction.
  • RESTful Capabilities by Resource/Profile:

    Summary of Search Criteria

    Resource TypeSupported ProfilesSupported SearchesSupported _includes Supported Operations
    AllergyIntoleranceUS Core AllergyIntolerance Profile patient, us-core-includeprovenance, _id+us-core-includeprovenance, patient+us-core-includeprovenance, patient+clinical-status
    CarePlanUS Core CarePlan Profile us-core-includeprovenance, patient+us-core-includeprovenance, patient+category+status, patient+category+date, patient+category+status+date, patient+category, _id+us-core-includeprovenance
    CareTeamUS Core CareTeam Profile us-core-includeprovenance, patient+status, _id+us-core-includeprovenance, patient+us-core-includeprovenance
    ConditionUS Core Condition Profile patient, us-core-includeprovenance, patient+us-core-includeprovenance, patient+category, patient+onset-date, patient+code, _id+us-core-includeprovenance, patient+clinical-status
    DeviceUS Core Implantable Device Profile patient, us-core-includeprovenance, _id+us-core-includeprovenance, patient+type, patient+us-core-includeprovenance
    DiagnosticReportUS Core DiagnosticReport Profile for Report and Note exchange, US Core DiagnosticReport Profile for Laboratory Results Reporting us-core-includeprovenance, patient+status, patient+us-core-includeprovenance, patient+code+date, patient+category, patient+code, patient+category+date, patient+category, _id+us-core-includeprovenance, patient+category+date
    DocumentReferenceUS Core DocumentReference Profile _id, patient, us-core-includeprovenance, patient+status, _id+us-core-includeprovenance, patient+type, patient+us-core-includeprovenance, patient+category, patient+type+period, patient+category+date $docref
    EncounterUS Core Encounter Profile _id, identifier, patient, us-core-includeprovenance, patient+status, patient+us-core-includeprovenance, date+patient, patient+type, class+patient, _id+us-core-includeprovenance
    GoalUS Core Goal Profile patient, us-core-includeprovenance, _id+us-core-includeprovenance, patient+us-core-includeprovenance, patient+target-date, patient+lifecycle-status
    ImmunizationUS Core Immunization Profile patient, us-core-includeprovenance, patient+status, patient+date, _id+us-core-includeprovenance, patient+us-core-includeprovenance
    LocationUS Core Location Profile name, address, address-city, address-state, address-postalcode, us-core-includeprovenance, _id+us-core-includeprovenance, patient+us-core-includeprovenance
    MedicationUS Core Medication Profile us-core-includeprovenance
    MedicationRequestUS Core MedicationRequest Profile us-core-includeprovenance, patient+intent, patient+us-core-includeprovenance, patient+intent+authoredon, patient+intent+status, patient+intent+encounter, _id+us-core-includeprovenance MedicationRequest:medication
    ObservationUS Core Smoking Status Observation Profile, US Core Pediatric Weight for Height Observation Profile, US Core Laboratory Result Observation Profile, US Core Pediatric BMI for Age Observation Profile, US Core Pulse Oximetry Profile us-core-includeprovenance, patient+us-core-includeprovenance, patient+code+date, patient+code, patient+category+status, patient+category, _id+us-core-includeprovenance, patient+category+date
    OrganizationUS Core Organization Profile name, address, us-core-includeprovenance, _id+us-core-includeprovenance, patient+us-core-includeprovenance
    PatientUS Core Patient Profile _id, identifier, name, us-core-includeprovenance, family+gender, birthdate+family, patient+us-core-includeprovenance, birthdate+name, gender+name, _id+us-core-includeprovenance
    PractitionerUS Core Practitioner Profile name, identifier, us-core-includeprovenance, _id+us-core-includeprovenance, patient+us-core-includeprovenance
    PractitionerRoleUS Core PractitionerRole Profile specialty, practitioner, us-core-includeprovenance, _id+us-core-includeprovenance, patient+us-core-includeprovenance PractitionerRole:endpoint, PractitionerRole:practitioner
    ProcedureUS Core Procedure Profile patient, us-core-includeprovenance, patient+status, patient+us-core-includeprovenance, patient+code+date, patient+date, _id+us-core-includeprovenance
    ProvenanceUS Core Provenance Profile
    ValueSet $expand

    AllergyIntolerance

    Supported Profiles: US Core AllergyIntolerance Profile

    Reference Policy: resolves

    Profile Interaction Summary:

    • SHALL support search-type, read.
    • SHOULD support vread, history-instance.
    • MAY support create, update, patch, delete, history-type.

    Fetch and Search Criteria:

    • A Server SHALL be capable of returning a AllergyIntolerance resource using:
      GET [base]/AllergyIntolerance/[id]

    Search Parameter Summary:

    ConformanceParameterTypeExample
    MAYclinical-status token GET [base]/AllergyIntolerance?clinical-status=[system]|[code]
    SHALLpatient reference GET [base]/AllergyIntolerance?patient=[patient]
    SHALLus-core-includeprovenance special GET [base]/AllergyIntolerance?us-core-includeprovenance

    Search Parameter Combination Summary:

    ConformanceParameter CombinationTypesExample
    SHALL_id+us-core-includeprovenance token+special GET [base]/AllergyIntolerance?_id=[id]&us-core-includeprovenance
    SHALLpatient+us-core-includeprovenance reference+special GET [base]/AllergyIntolerance?patient=[patient]&us-core-includeprovenance
    SHOULDpatient+clinical-status reference+token GET [base]/AllergyIntolerance?patient=[patient]&clinical-status=[system]|[code]

    CarePlan

    Supported Profiles: US Core CarePlan Profile

    Reference Policy: resolves

    Profile Interaction Summary:

    • SHALL support search-type, read.
    • SHOULD support vread, history-instance.
    • MAY support create, update, patch, delete, history-type.

    Fetch and Search Criteria:

    • A Server SHALL be capable of returning a CarePlan resource using:
      GET [base]/CarePlan/[id]

    Search Parameter Summary:

    ConformanceParameterTypeExample
    MAYcategory token GET [base]/CarePlan?category=[system]|[code]
    MAYdate date GET [base]/CarePlan?date=[date]
    MAYpatient reference GET [base]/CarePlan?patient=[patient]
    MAYstatus token GET [base]/CarePlan?status=[status]
    SHALLus-core-includeprovenance special GET [base]/CarePlan?us-core-includeprovenance

    Search Parameter Combination Summary:

    ConformanceParameter CombinationTypesExample
    SHALLpatient+us-core-includeprovenance reference+special GET [base]/CarePlan?patient=[patient]&us-core-includeprovenance
    SHOULDpatient+category+status reference+token+token GET [base]/CarePlan?patient=[patient]&category=[system]|[code]&status=[status]
    SHOULDpatient+category+date reference+token+date GET [base]/CarePlan?patient=[patient]&category=[system]|[code]&date=[date]
    SHOULDpatient+category+status+date reference+token+token+date GET [base]/CarePlan?patient=[patient]&category=[system]|[code]&status=[status]&date=[date]
    SHALLpatient+category reference+token GET [base]/CarePlan?patient=[patient]&category=[system]|[code]
    SHALL_id+us-core-includeprovenance token+special GET [base]/CarePlan?_id=[id]&us-core-includeprovenance

    CareTeam

    Supported Profiles: US Core CareTeam Profile

    Reference Policy: resolves

    Profile Interaction Summary:

    • SHALL support search-type, read.
    • SHOULD support vread, history-instance.
    • MAY support create, update, patch, delete, history-type.

    Fetch and Search Criteria:

    • A Server SHALL be capable of returning a CareTeam resource using:
      GET [base]/CareTeam/[id]

    Search Parameter Summary:

    ConformanceParameterTypeExample
    MAYpatient reference GET [base]/CareTeam?patient=[patient]
    MAYstatus token GET [base]/CareTeam?status=[status]
    SHALLus-core-includeprovenance special GET [base]/CareTeam?us-core-includeprovenance

    Search Parameter Combination Summary:

    ConformanceParameter CombinationTypesExample
    SHALLpatient+status reference+token GET [base]/CareTeam?patient=[patient]&status=[status]
    SHALL_id+us-core-includeprovenance token+special GET [base]/CareTeam?_id=[id]&us-core-includeprovenance
    SHALLpatient+us-core-includeprovenance reference+special GET [base]/CareTeam?patient=[patient]&us-core-includeprovenance

    Condition

    Supported Profiles: US Core Condition Profile

    Reference Policy: resolves

    Profile Interaction Summary:

    • SHALL support search-type, read.
    • SHOULD support vread, history-instance.
    • MAY support create, update, patch, delete, history-type.

    Fetch and Search Criteria:

    • A Server SHALL be capable of returning a Condition resource using:
      GET [base]/Condition/[id]

    Search Parameter Summary:

    ConformanceParameterTypeExample
    MAYcategory token GET [base]/Condition?category=[system]|[code]
    MAYclinical-status token GET [base]/Condition?clinical-status=[system]|[code]
    SHALLpatient reference GET [base]/Condition?patient=[patient]
    MAYonset-date date GET [base]/Condition?onset-date=[onset-date]
    MAYcode token GET [base]/Condition?code=[system]|[code]
    SHALLus-core-includeprovenance special GET [base]/Condition?us-core-includeprovenance

    Search Parameter Combination Summary:

    ConformanceParameter CombinationTypesExample
    SHALLpatient+us-core-includeprovenance reference+special GET [base]/Condition?patient=[patient]&us-core-includeprovenance
    SHOULDpatient+category reference+token GET [base]/Condition?patient=[patient]&category=[system]|[code]
    SHOULDpatient+onset-date reference+date GET [base]/Condition?patient=[patient]&onset-date=[onset-date]
    SHOULDpatient+code reference+token GET [base]/Condition?patient=[patient]&code=[system]|[code]
    SHALL_id+us-core-includeprovenance token+special GET [base]/Condition?_id=[id]&us-core-includeprovenance
    SHOULDpatient+clinical-status reference+token GET [base]/Condition?patient=[patient]&clinical-status=[system]|[code]

    Device

    Supported Profiles: US Core Implantable Device Profile

    Reference Policy: resolves

    Profile Interaction Summary:

    • SHALL support search-type, read.
    • SHOULD support vread, history-instance.
    • MAY support create, update, patch, delete, history-type.

    Fetch and Search Criteria:

    • A Server SHALL be capable of returning a Device resource using:
      GET [base]/Device/[id]

    Search Parameter Summary:

    ConformanceParameterTypeExample
    SHALLpatient reference GET [base]/Device?patient=[patient]
    MAYtype token GET [base]/Device?type=[system]|[code]
    SHALLus-core-includeprovenance special GET [base]/Device?us-core-includeprovenance

    Search Parameter Combination Summary:

    ConformanceParameter CombinationTypesExample
    SHALL_id+us-core-includeprovenance token+special GET [base]/Device?_id=[id]&us-core-includeprovenance
    SHOULDpatient+type reference+token GET [base]/Device?patient=[patient]&type=[system]|[code]
    SHALLpatient+us-core-includeprovenance reference+special GET [base]/Device?patient=[patient]&us-core-includeprovenance

    DiagnosticReport

    Supported Profiles: US Core DiagnosticReport Profile for Report and Note exchange, US Core DiagnosticReport Profile for Laboratory Results Reporting

    Reference Policy: resolves

    Profile Interaction Summary:

    • SHALL support create, search-type, read.
    • SHOULD support vread, history-instance.
    • MAY support update, patch, delete, history-type.
    create

    This conformance expectation applies only to the US Core DiagnosticReport Profile for Report and Note exchange profile. The conformance expectation for the US Core DiagnosticReport Profile for Laboratory Results Reporting is MAY.

    Fetch and Search Criteria:

    • A Server SHALL be capable of returning a DiagnosticReport resource using:
      GET [base]/DiagnosticReport/[id]

    Search Parameter Summary:

    ConformanceParameterTypeExample
    MAYstatus token GET [base]/DiagnosticReport?status=[status]
    MAYpatient reference GET [base]/DiagnosticReport?patient=[patient]
    MAYcategory token GET [base]/DiagnosticReport?category=[system]|[code]
    MAYcode token GET [base]/DiagnosticReport?code=[system]|[code]
    MAYdate date GET [base]/DiagnosticReport?date=[date]
    SHALLus-core-includeprovenance special GET [base]/DiagnosticReport?us-core-includeprovenance

    Search Parameter Combination Summary:

    ConformanceParameter CombinationTypesExample
    SHOULDpatient+status reference+token GET [base]/DiagnosticReport?patient=[patient]&status=[status]
    SHALLpatient+us-core-includeprovenance reference+special GET [base]/DiagnosticReport?patient=[patient]&us-core-includeprovenance
    SHOULDpatient+code+date reference+token+date GET [base]/DiagnosticReport?patient=[patient]&code=[system]|[code]&date=[date]
    SHOULDpatient+category reference+token GET [base]/DiagnosticReport?patient=[patient]&category=[system]|[code]
    SHALLpatient+code reference+token GET [base]/DiagnosticReport?patient=[patient]&code=[system]|[code]
    SHOULDpatient+category+date reference+token+date GET [base]/DiagnosticReport?patient=[patient]&category=[system]|[code]&date=[date]
    SHALLpatient+category reference+token GET [base]/DiagnosticReport?patient=[patient]&category=[system]|[code]
    SHALL_id+us-core-includeprovenance token+special GET [base]/DiagnosticReport?_id=[id]&us-core-includeprovenance
    SHALLpatient+category+date reference+token+date GET [base]/DiagnosticReport?patient=[patient]&category=[system]|[code]&date=[date]

    DocumentReference

    Supported Profiles: US Core DocumentReference Profile

    Resource Specific Documentation:

    The DocumentReference.type binding SHALL support at a minimum the 5 Common Clinical Notes and may extend to the full US Core DocumentReference Type Value Set

    Reference Policy: resolves

    Profile Interaction Summary:

    • SHALL support create, search-type, read.
    • SHOULD support vread, history-instance.
    • MAY support update, patch, delete, history-type.

    Operation Summary:

    • SHALL support the $docref operation

      A server SHALL be capable of responding to a $docref operation and capable of returning at least a reference to a generated CCD document, if available. MAY provide references to other 'on-demand' and 'stable' documents (or 'delayed/deferred assembly') that meet the query parameters as well. If a context date range is supplied the server ** SHOULD** provide references to any document that falls within the date range If no date range is supplied, then the server SHALL provide references to last or current encounter. SHOULD document what resources, if any, are returned as included resources

      GET [base]/DocumentReference/$docref?patient=[id]

    Fetch and Search Criteria:

    • A Server SHALL be capable of returning a DocumentReference resource using:
      GET [base]/DocumentReference/[id]

    Search Parameter Summary:

    ConformanceParameterTypeExample
    SHALL_id token GET [base]/DocumentReference?_id=[id]
    MAYstatus token GET [base]/DocumentReference?status=[status]
    SHALLpatient reference GET [base]/DocumentReference?patient=[patient]
    MAYcategory token GET [base]/DocumentReference?category=[system]|[code]
    MAYtype token GET [base]/DocumentReference?type=[system]|[code]
    MAYdate date GET [base]/DocumentReference?date=[date]
    MAYperiod date GET [base]/DocumentReference?period=[period]
    SHALLus-core-includeprovenance special GET [base]/DocumentReference?us-core-includeprovenance

    Search Parameter Combination Summary:

    ConformanceParameter CombinationTypesExample
    SHOULDpatient+status reference+token GET [base]/DocumentReference?patient=[patient]&status=[status]
    SHALL_id+us-core-includeprovenance token+special GET [base]/DocumentReference?_id=[id]&us-core-includeprovenance
    SHALLpatient+type reference+token GET [base]/DocumentReference?patient=[patient]&type=[system]|[code]
    SHALLpatient+us-core-includeprovenance reference+special GET [base]/DocumentReference?patient=[patient]&us-core-includeprovenance
    SHALLpatient+category reference+token GET [base]/DocumentReference?patient=[patient]&category=[system]|[code]
    SHOULDpatient+type+period reference+token+date GET [base]/DocumentReference?patient=[patient]&type=[system]|[code]&period=[period]
    SHALLpatient+category+date reference+token+date GET [base]/DocumentReference?patient=[patient]&category=[system]|[code]&date=[date]

    Encounter

    Supported Profiles: US Core Encounter Profile

    Reference Policy: resolves

    Profile Interaction Summary:

    • SHALL support search-type, read.
    • SHOULD support vread, history-instance.
    • MAY support create, update, patch, delete, history-type.

    Fetch and Search Criteria:

    • A Server SHALL be capable of returning a Encounter resource using:
      GET [base]/Encounter/[id]

    Search Parameter Summary:

    ConformanceParameterTypeExample
    SHALL_id token GET [base]/Encounter?_id=[id]
    MAYclass token GET [base]/Encounter?class=[system]|[code]
    MAYdate date GET [base]/Encounter?date=[date]
    SHOULDidentifier token GET [base]/Encounter?identifier=[system]|[code]
    SHALLpatient reference GET [base]/Encounter?patient=[patient]
    MAYstatus token GET [base]/Encounter?status=[status]
    MAYtype token GET [base]/Encounter?type=[system]|[code]
    SHALLus-core-includeprovenance special GET [base]/Encounter?us-core-includeprovenance

    Search Parameter Combination Summary:

    ConformanceParameter CombinationTypesExample
    SHOULDpatient+status reference+token GET [base]/Encounter?patient=[patient]&status=[status]
    SHALLpatient+us-core-includeprovenance reference+special GET [base]/Encounter?patient=[patient]&us-core-includeprovenance
    SHALLdate+patient date+reference GET [base]/Encounter?date=[date]&patient=[patient]
    SHOULDpatient+type reference+token GET [base]/Encounter?patient=[patient]&type=[system]|[code]
    SHOULDclass+patient token+reference GET [base]/Encounter?class=[system]|[code]&patient=[patient]
    SHALL_id+us-core-includeprovenance token+special GET [base]/Encounter?_id=[id]&us-core-includeprovenance

    Goal

    Supported Profiles: US Core Goal Profile

    Reference Policy: resolves

    Profile Interaction Summary:

    • SHALL support search-type, read.
    • SHOULD support vread, history-instance.
    • MAY support create, update, patch, delete, history-type.

    Fetch and Search Criteria:

    • A Server SHALL be capable of returning a Goal resource using:
      GET [base]/Goal/[id]

    Search Parameter Summary:

    ConformanceParameterTypeExample
    MAYlifecycle-status token GET [base]/Goal?lifecycle-status=[system]|[code]
    SHALLpatient reference GET [base]/Goal?patient=[patient]
    MAYtarget-date date GET [base]/Goal?target-date=[target-date]
    SHALLus-core-includeprovenance special GET [base]/Goal?us-core-includeprovenance

    Search Parameter Combination Summary:

    ConformanceParameter CombinationTypesExample
    SHALL_id+us-core-includeprovenance token+special GET [base]/Goal?_id=[id]&us-core-includeprovenance
    SHALLpatient+us-core-includeprovenance reference+special GET [base]/Goal?patient=[patient]&us-core-includeprovenance
    SHOULDpatient+target-date reference+date GET [base]/Goal?patient=[patient]&target-date=[target-date]
    SHOULDpatient+lifecycle-status reference+token GET [base]/Goal?patient=[patient]&lifecycle-status=[system]|[code]

    Immunization

    Supported Profiles: US Core Immunization Profile

    Reference Policy: resolves

    Profile Interaction Summary:

    • SHALL support search-type, read.
    • SHOULD support vread, history-instance.
    • MAY support create, update, patch, delete, history-type.

    Fetch and Search Criteria:

    • A Server SHALL be capable of returning a Immunization resource using:
      GET [base]/Immunization/[id]

    Search Parameter Summary:

    ConformanceParameterTypeExample
    SHALLpatient reference GET [base]/Immunization?patient=[patient]
    MAYstatus token GET [base]/Immunization?status=[status]
    MAYdate date GET [base]/Immunization?date=[date]
    SHALLus-core-includeprovenance special GET [base]/Immunization?us-core-includeprovenance

    Search Parameter Combination Summary:

    ConformanceParameter CombinationTypesExample
    SHOULDpatient+status reference+token GET [base]/Immunization?patient=[patient]&status=[status]
    SHOULDpatient+date reference+date GET [base]/Immunization?patient=[patient]&date=[date]
    SHALL_id+us-core-includeprovenance token+special GET [base]/Immunization?_id=[id]&us-core-includeprovenance
    SHALLpatient+us-core-includeprovenance reference+special GET [base]/Immunization?patient=[patient]&us-core-includeprovenance

    Location

    Supported Profiles: US Core Location Profile

    Reference Policy: resolves

    Profile Interaction Summary:

    • SHALL support search-type, read.
    • SHOULD support vread, history-instance.
    • MAY support create, update, patch, delete, history-type.

    Fetch and Search Criteria:

    • A Server SHALL be capable of returning a Location resource using:
      GET [base]/Location/[id]

    Search Parameter Summary:

    ConformanceParameterTypeExample
    SHALLname string GET [base]/Location?name=[name]
    SHALLaddress string GET [base]/Location?address=[address]
    SHOULDaddress-city string GET [base]/Location?address-city=[address-city]
    SHOULDaddress-state string GET [base]/Location?address-state=[address-state]
    SHOULDaddress-postalcode string GET [base]/Location?address-postalcode=[address-postalcode]
    SHALLus-core-includeprovenance special GET [base]/Location?us-core-includeprovenance

    Search Parameter Combination Summary:

    ConformanceParameter CombinationTypesExample
    SHALL_id+us-core-includeprovenance token+special GET [base]/Location?_id=[id]&us-core-includeprovenance
    SHALLpatient+us-core-includeprovenance reference+special GET [base]/Location?patient=[patient]&us-core-includeprovenance

    Medication

    Supported Profiles: US Core Medication Profile

    Resource Specific Documentation:

    The MedicationStatement and MedicationRequest resources can represent a medication, using an external reference to a Medication resource. If an external Medication Resource is used in a MedicationStatement or a MedicationRequest, then the READ and SEARCH Criteria SHALL be supported.

    Reference Policy: resolves

    Profile Interaction Summary:

    • SHALL support search-type, read.
    • SHOULD support vread, history-instance.
    • MAY support create, update, patch, delete, history-type.

    Fetch and Search Criteria:

    • A Server SHALL be capable of returning a Medication resource using:
      GET [base]/Medication/[id]

    Search Parameter Summary:

    ConformanceParameterTypeExample
    SHALLus-core-includeprovenance special GET [base]/Medication?us-core-includeprovenance

    MedicationRequest

    Supported Profiles: US Core MedicationRequest Profile

    Resource Specific Documentation:

    The MedicationRequest resources can represent a medication using either a code or refer to the Medication resource. When referencing Medication, the resource may be contained or an external resource. The server application MAY choose any one way or more than one method, but if an external reference to Medication is used, the server SHALL support the _include` parameter for searching this element. The client application must support all methods.

    For example, A server SHALL be capable of returning all medications for a patient using one of or both:

    GET /MedicationRequest?patient=[id]

    GET /MedicationRequest?patient=[id]&_include=MedicationRequest:medication

    Reference Policy: resolves

    Profile Interaction Summary:

    • SHALL support search-type, read.
    • SHOULD support vread, history-instance.
    • MAY support create, update, patch, delete, history-type.

    Fetch and Search Criteria:

    • A Server SHALL be capable of returning a MedicationRequest resource using:
      GET [base]/MedicationRequest/[id]

    • A Server SHOULD be capable of supporting the following _includes:
      MedicationRequest:medication - GET [base]/MedicationRequest?[parameter=value]&_include=MedicationRequest:medication

    Search Parameter Summary:

    ConformanceParameterTypeExample
    MAYstatus token GET [base]/MedicationRequest?status=[status]
    MAYintent token GET [base]/MedicationRequest?intent=[system]|[code]
    MAYpatient reference GET [base]/MedicationRequest?patient=[patient]
    MAYencounter reference GET [base]/MedicationRequest?encounter=[encounter]
    MAYauthoredon date GET [base]/MedicationRequest?authoredon=[authoredon]
    SHALLus-core-includeprovenance special GET [base]/MedicationRequest?us-core-includeprovenance

    Search Parameter Combination Summary:

    ConformanceParameter CombinationTypesExample
    SHALLpatient+intent reference+token GET [base]/MedicationRequest?patient=[patient]&intent=[system]|[code]
    SHALLpatient+us-core-includeprovenance reference+special GET [base]/MedicationRequest?patient=[patient]&us-core-includeprovenance
    SHOULDpatient+intent+authoredon reference+token+date GET [base]/MedicationRequest?patient=[patient]&intent=[system]|[code]&authoredon=[authoredon]
    SHALLpatient+intent+status reference+token+token GET [base]/MedicationRequest?patient=[patient]&intent=[system]|[code]&status=[status]
    SHOULDpatient+intent+encounter reference+token+reference GET [base]/MedicationRequest?patient=[patient]&intent=[system]|[code]&encounter=[encounter]
    SHALL_id+us-core-includeprovenance token+special GET [base]/MedicationRequest?_id=[id]&us-core-includeprovenance

    Observation

    Supported Profiles: US Core Smoking Status Observation Profile, US Core Pediatric Weight for Height Observation Profile, US Core Laboratory Result Observation Profile, US Core Pediatric BMI for Age Observation Profile, US Core Pulse Oximetry Profile

    Reference Policy: resolves

    Profile Interaction Summary:

    • SHALL support search-type, read.
    • SHOULD support vread, history-instance.
    • MAY support create, update, patch, delete, history-type.

    Fetch and Search Criteria:

    • A Server SHALL be capable of returning a Observation resource using:
      GET [base]/Observation/[id]

    Search Parameter Summary:

    ConformanceParameterTypeExample
    MAYstatus token GET [base]/Observation?status=[status]
    MAYcategory token GET [base]/Observation?category=[system]|[code]
    MAYcode token GET [base]/Observation?code=[system]|[code]
    MAYdate date GET [base]/Observation?date=[date]
    MAYpatient reference GET [base]/Observation?patient=[patient]
    SHALLus-core-includeprovenance special GET [base]/Observation?us-core-includeprovenance

    Search Parameter Combination Summary:

    ConformanceParameter CombinationTypesExample
    SHALLpatient+us-core-includeprovenance reference+special GET [base]/Observation?patient=[patient]&us-core-includeprovenance
    SHOULDpatient+code+date reference+token+date GET [base]/Observation?patient=[patient]&code=[system]|[code]&date=[date]
    SHALLpatient+code reference+token GET [base]/Observation?patient=[patient]&code=[system]|[code]
    SHOULDpatient+category+status reference+token+token GET [base]/Observation?patient=[patient]&category=[system]|[code]&status=[status]
    SHALLpatient+category reference+token GET [base]/Observation?patient=[patient]&category=[system]|[code]
    SHALL_id+us-core-includeprovenance token+special GET [base]/Observation?_id=[id]&us-core-includeprovenance
    SHALLpatient+category+date reference+token+date GET [base]/Observation?patient=[patient]&category=[system]|[code]&date=[date]

    Organization

    Supported Profiles: US Core Organization Profile

    Reference Policy: resolves

    Profile Interaction Summary:

    • SHALL support search-type, read.
    • SHOULD support vread, history-instance.
    • MAY support create, update, patch, delete, history-type.

    Fetch and Search Criteria:

    • A Server SHALL be capable of returning a Organization resource using:
      GET [base]/Organization/[id]

    Search Parameter Summary:

    ConformanceParameterTypeExample
    SHALLname string GET [base]/Organization?name=[name]
    SHALLaddress string GET [base]/Organization?address=[address]
    SHALLus-core-includeprovenance special GET [base]/Organization?us-core-includeprovenance

    Search Parameter Combination Summary:

    ConformanceParameter CombinationTypesExample
    SHALL_id+us-core-includeprovenance token+special GET [base]/Organization?_id=[id]&us-core-includeprovenance
    SHALLpatient+us-core-includeprovenance reference+special GET [base]/Organization?patient=[patient]&us-core-includeprovenance

    Patient

    Supported Profiles: US Core Patient Profile

    Reference Policy: resolves

    Profile Interaction Summary:

    • SHALL support search-type, read.
    • SHOULD support vread, history-instance.
    • MAY support create, update, patch, delete, history-type.

    Fetch and Search Criteria:

    • A Server SHALL be capable of returning a Patient resource using:
      GET [base]/Patient/[id]

    Search Parameter Summary:

    ConformanceParameterTypeExample
    SHALL_id token GET [base]/Patient?_id=[id]
    MAYbirthdate date GET [base]/Patient?birthdate=[birthdate]
    MAYfamily string GET [base]/Patient?family=[family]
    MAYgender token GET [base]/Patient?gender=[system]|[code]
    MAYgiven string GET [base]/Patient?given=[given]
    SHALLidentifier token GET [base]/Patient?identifier=[system]|[code]
    SHALLname string GET [base]/Patient?name=[name]
    SHALLus-core-includeprovenance special GET [base]/Patient?us-core-includeprovenance

    Search Parameter Combination Summary:

    ConformanceParameter CombinationTypesExample
    SHOULDfamily+gender string+token GET [base]/Patient?family=[family]&gender=[system]|[code]
    SHOULDbirthdate+family date+string GET [base]/Patient?birthdate=[birthdate]&family=[family]
    SHALLpatient+us-core-includeprovenance reference+special GET [base]/Patient?patient=[patient]&us-core-includeprovenance
    SHALLbirthdate+name date+string GET [base]/Patient?birthdate=[birthdate]&name=[name]
    SHALLgender+name token+string GET [base]/Patient?gender=[system]|[code]&name=[name]
    SHALL_id+us-core-includeprovenance token+special GET [base]/Patient?_id=[id]&us-core-includeprovenance

    Practitioner

    Supported Profiles: US Core Practitioner Profile

    Reference Policy: resolves

    Profile Interaction Summary:

    • SHALL support search-type, read.
    • SHOULD support vread, history-instance.
    • MAY support create, update, patch, delete, history-type.

    Fetch and Search Criteria:

    • A Server SHALL be capable of returning a Practitioner resource using:
      GET [base]/Practitioner/[id]

    Search Parameter Summary:

    ConformanceParameterTypeExample
    SHALLname string GET [base]/Practitioner?name=[name]
    SHALLidentifier token GET [base]/Practitioner?identifier=[system]|[code]
    SHALLus-core-includeprovenance special GET [base]/Practitioner?us-core-includeprovenance

    Search Parameter Combination Summary:

    ConformanceParameter CombinationTypesExample
    SHALL_id+us-core-includeprovenance token+special GET [base]/Practitioner?_id=[id]&us-core-includeprovenance
    SHALLpatient+us-core-includeprovenance reference+special GET [base]/Practitioner?patient=[patient]&us-core-includeprovenance

    PractitionerRole

    Supported Profiles: US Core PractitionerRole Profile

    Reference Policy: resolves

    Profile Interaction Summary:

    • SHALL support search-type, read.
    • SHOULD support vread, history-instance.
    • MAY support create, update, patch, delete, history-type.

    Fetch and Search Criteria:

    • A Server SHALL be capable of returning a PractitionerRole resource using:
      GET [base]/PractitionerRole/[id]

    • A Server SHOULD be capable of supporting the following _includes:
      PractitionerRole:endpoint - GET [base]/PractitionerRole?[parameter=value]&_include=PractitionerRole:endpoint PractitionerRole:practitioner - GET [base]/PractitionerRole?[parameter=value]&_include=PractitionerRole:practitioner

    Search Parameter Summary:

    ConformanceParameterTypeExample
    SHALLspecialty token GET [base]/PractitionerRole?specialty=[system]|[code]
    SHALLpractitioner reference GET [base]/PractitionerRole?practitioner=[practitioner]
    SHALLus-core-includeprovenance special GET [base]/PractitionerRole?us-core-includeprovenance

    Search Parameter Combination Summary:

    ConformanceParameter CombinationTypesExample
    SHALL_id+us-core-includeprovenance token+special GET [base]/PractitionerRole?_id=[id]&us-core-includeprovenance
    SHALLpatient+us-core-includeprovenance reference+special GET [base]/PractitionerRole?patient=[patient]&us-core-includeprovenance

    Procedure

    Supported Profiles: US Core Procedure Profile

    Reference Policy: resolves

    Profile Interaction Summary:

    • SHALL support search-type, read.
    • SHOULD support vread, history-instance.
    • MAY support create, update, patch, delete, history-type.

    Fetch and Search Criteria:

    • A Server SHALL be capable of returning a Procedure resource using:
      GET [base]/Procedure/[id]

    Search Parameter Summary:

    ConformanceParameterTypeExample
    MAYstatus token GET [base]/Procedure?status=[status]
    SHALLpatient reference GET [base]/Procedure?patient=[patient]
    MAYdate date GET [base]/Procedure?date=[date]
    MAYcode token GET [base]/Procedure?code=[system]|[code]
    SHALLus-core-includeprovenance special GET [base]/Procedure?us-core-includeprovenance

    Search Parameter Combination Summary:

    ConformanceParameter CombinationTypesExample
    SHOULDpatient+status reference+token GET [base]/Procedure?patient=[patient]&status=[status]
    SHALLpatient+us-core-includeprovenance reference+special GET [base]/Procedure?patient=[patient]&us-core-includeprovenance
    SHOULDpatient+code+date reference+token+date GET [base]/Procedure?patient=[patient]&code=[system]|[code]&date=[date]
    SHALLpatient+date reference+date GET [base]/Procedure?patient=[patient]&date=[date]
    SHALL_id+us-core-includeprovenance token+special GET [base]/Procedure?_id=[id]&us-core-includeprovenance

    Provenance

    Supported Profiles: US Core Provenance Profile

    Resource Specific Documentation:

    If a system receives a provider in Provenance.agent.who as free text they must capture who sent them the information as the organization. On request they SHALL provide this organization as the source and MAY include the free text provider.

    Reference Policy: resolves

    Profile Interaction Summary:

    • SHALL support search-type, read.
    • SHOULD support vread, history-instance.
    • MAY support create, update, patch, delete, history-type.

    Fetch and Search Criteria:

    • A Server SHALL be capable of returning a Provenance resource using:
      GET [base]/Provenance/[id]


    ValueSet

    Operation Summary:

    • SHOULD support the $expand operation

      A client can determine the note and report types support by a server by invoking the standard FHIR Value Set Expansion ($expand) operation defined in the FHIR R4 specification. Because servers may support different read and write formats, it also is used to determine the formats (for example, text, pdf) the server supports read and write transactions.