This page is part of the US Core (v2.0.0: STU2) based on FHIR R3. The current version which supercedes this version is 5.0.1. For a full list of available versions, see the Directory of published versions
The Section describes the expected capabilities of the US Core Client which is responsible for creating and initiating the queries for information about an individual patient. The complete list of FHIR profiles, RESTful operations, and search parameters supported by US Core Servers are defined in the Conformance requirements for the US Core Server section. 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.
Description:
The US Core Client SHOULD:
security:
The US Core Client SHALL:
Contents:
Supported Profiles: US Core Patient Profile
Search Criteria:
A client SHOULD be capable of connecting to a server and fetching a patient using:
GET [base]/Patient/[id]
.
A client SHOULD be capable of connecting to a server and fetching a patient by identifier using
GET [base]/Patient?identifier=[system]|[code]
birthdate
for example:
GET [base]/Patient?family=[name]&?given=[name]&gender=[gender]
Supported Profiles: US Core AllergyIntolerance Profile
Search Criteria:
A client SHOULD be capable of connecting to a server and fetching all patient’s allergies using:
GET [base]/AllergyIntolerance?patient=[id]
Supported Profiles: US Core CarePlan Profile
Search Criteria:
A client SHOULD be capable of connecting to a server and fetching all of a patient’s Assessment and Plan of Treatment information using:
GET [base]/CarePlan?patient=[id]&category=assess-plan
A client SHOULD be capable of connecting to a server and fetching a patient’s Assessment and Plan of Treatment information over a specified time period using:
GET [base]/CarePlan?patient=[id]&category=assess-plan&date=[date]
A client SHOULD be capable of connecting to a server and fetching all of a patient’s active Assessment and Plan of Treatment information using
GET [base]/CarePlan?patient=[id]&category=assess-plan&status=active
A client SHOULD be capable of connecting to a server and fetching a patient’s active Assessment and Plan of Treatment information over a specified time period using
GET [base]/CarePlan?patient=[id]&category=assess-plan&status=active&date=[date]
Supported Profiles: US Core CareTeam Profile
Search Criteria:
A client SHOULD be capable of connecting to a server and fetching a patient’s current care team members using:
GET [base]/CareTeam?patient=[id]&status=active
Supported Profiles: US Core Condition Profile
Search Criteria:
A client SHOULD be capable of fetching all problems and health concerns for a patient, including current as well as historical problems and health concerns using:
GET [base]/Condition?patient=[id]
A client SHOULD be capable of connecting to a server and fetching all of a patient’s active problems and health concerns using:
GET [base]/Condition?patient=[id]&clinicalstatus=active,recurrance,remission
A client SHOULD be capable of connecting to a server and fetching all of a patient’s problems or all of patient’s health concerns using:
GET [base]/Condition?patient=[id]&category=[problem|health-concern]
Supported Profiles: US Core Device Profile
Search Criteria:
A client SHOULD be capable of connecting to a server and fetching all Unique device identifier(s)(UDI) for a patient’s implanted device(s):
GET [base]/Device?patient=[id]
Supported Profiles: US Core DiagnosticReport Profile
Search Criteria:
A client SHOULD be capable of connecting to a server and fetching all of a patient’s laboratory diagnostic reports queried by category using:
GET [base]/DiagnosticReport?patient=[id]&category=LAB
A client SHOULD be capable of connecting to a server and fetching all of a patient’s laboratory diagnostic reports queried by category code and date range using:
GET [base]/DiagnosticReport?patient=[id]&category=LAB&date=[date]{&date=[date]}
A client SHOULD be capable of connecting to a server and fetching all of a patient’s laboratory diagnostic reports queried by category and code using:
GET [base]/DiagnosticReport?patient=[id]&category=LAB&code=[LOINC]
A client SHOULD be capable of connecting to a server and fetching all of a patient’s laboratory diagnostic reports queried by category and one or more codes and date range using:
GET [base]/DiagnosticReport?patient=[id]&category=LAB&code=[LOINC1{,LOINC2,LOINC3,…}]&date=[date]{&date=[date]}
Supported Profiles: US Core DocumentReference Profile
Search Criteria:
A client SHOULD be capable of connecting to a server and fetching all of a patient’s DocumentReferences using:
GET [base]/DocumentReference?patient=[id]
A client SHOULD be capable of connecting to a server to execute the $docref operation:
GET [base]/DocumentReference/$docref?patient=[id]
A client SHOULD be capable of connecting to a server and fetching all of a patient’s DocumentReferences for a given time period and document type:
GET [base]/DocumentReference?patient=[id]&type=[type]&period=[date]{&date=[date]}
Supported Profiles: US Core Encounter Profile
Search Criteria:
A client SHOULD be capable of connecting to a server and fetching all of a patient’s encounters using:
GET [base]/Encounter?patient=[id]
A client SHOULD be capable of connecting to a server and fetching all of all of a patient’s encounters over a specified time period using:
GET [base]/Encounter?patient=[id]&date=[date]{&date=[date]}
Supported Profiles: US Core Goal Profile
Search Criteria:
A client SHOULD be capable of connecting to a server and fetching all of a patient’s goals using:
GET [base]/Goal?patient=[id]
A client SHOULD be capable of connecting to a server and fetching all of all of a patient’s goals over a specified time period using:
GET [base]/Goal?patient=[id]&date=[date]{&date=[date]}
Supported Profiles: US Core Immunization Profile
Search Criteria:
A client SHOULD be capable of connecting to a server and fetching all immunizations for a patient using:
GET [base]/Immunization?patient=[id]
Supported Profiles: US Core Location Profile
Search Criteria:
A client SHOULD be capable of connecting to a server and fetching a location by name using:
GET [base]/Location?name=[string]
A client SHOULD be capable of connecting to a server and fetching a location by address using:
GET [base]/Location?address=[string]
Supported Profiles: US Core Medication Profile
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 SHOULD be supported.
Supported Profiles: US Core MedicationStatement Profile
Search Criteria:
The MedicationStatement resources can represent a medication using either a code or refer to the Medication resource. When referencing a Medication resource, the resource may be contained or an external resource. IF, an external reference to Medication is used, the server SHALL support the
_include
parameter for searching this element. The client application SHALL support all methods.
A client SHOULD be capable of connecting to a server and fetching all medications for a patient using both:
GET /MedicationStatement?patient=[id]
and
GET /MedicationStatement?patient=[id]&_include=MedicationStatement:medication
Supported Profiles: US Core MedicationRequest Profile
Search Criteria:
The MedicationRequest resources can represent a medication using either a code or refer to the Medication resource. When referencing a Medication resource, the resource may be contained or an external resource. If, an external reference to Medication is used, the server SHALL support the
_include
parameter for searching this element. The client application SHALL support all methods.
A client SHOULD be capable of connecting to a server and fetching all medications for a patient using both:
GET /MedicationRequest?patient=[id]
and
GET /MedicationRequest?patient=[id]&_include=MedicationRequest:medication
Supported Profiles:
US Core Result Observation Profile
Search Criteria:
A client SHOULD be capable of connecting to a server and fetching all of a patient’s laboratory results queried by category using:
GET [base]/Observation?patient=[id]&category=laboratory
A client SHOULD be capable of connecting to a server and fetching all of a patient’s laboratory results queried by category code and date range using:
GET [base]/Observation?patient=[id]&category=laboratory&date=[date]{&date=[date]}
A client SHOULD be capable of connecting to a server and fetching all of a patient’s laboratory results queried by category and code using:
GET [base]/Observation?patient=[id]&category=laboratory&code=[LOINC]
A client SHOULD be capable of connecting to a server and fetching all of a patient’s laboratory results queried by category and one or more codes and date range using:
GET [base]/Observation?patient=[id]&category=laboratory&code=[LOINC1{,LOINC2,LOINC3,...}]&date=[date]{&date=[date]}
Search Criteria
A client SHOULD be capable of connecting to a server and fetching all of a patient’s vital signs that it supports using:
GET [base]/Observation?patient=[id]&category=vital-signs
A client SHOULD be capable of connecting to a server and fetching all of a patient’s vital signs queried by date range using:
GET [base]/Observation?patient=[id]&category=vital-signs&date=[date]{&date=[date]}
A client SHOULD be capable of connecting to a server and fetching any of a patient’s vital signs queried by one or more of the codes listed below using:
GET [base]/Observation?patient=[id]&code[vital sign LOINC{,LOINC2,LOINC3,…}]
A client SHOULD be capable of connecting to a server and fetching any of a patient’s vital signs queried by one or more of the codes listed below and date range using:
GET [base]/Observation?patient=[id]&code=[LOINC{,LOINC2…}]vital-signs&date=[date]{&date=[date]}
US Core Smoking Status Observation Profile
Search Criteria:
A client SHOULD be capable of connecting to a server and fetching a patient’s smoking status using:
GET [base]/Observation?patient=[id]&code=72166-2
Supported Profiles: US Core Organization Profile
Search Criteria:
A client SHOULD be capable of connecting to a server and fetching an organization by identifier using:
`GET [base]/Organization?identifier=[system] | [code]’ |
A client SHOULD be capable of connecting to a server and fetching an organization by name using:
GET [base]/Organization?name=[string]
A client SHOULD be capable of connecting to a server and fetching an organization by address using:
GET [base]/Organization?address=[string]
Supported Profiles: US Core Practitioner Profile
Search Criteria:
A client SHOULD be capable of connecting to a server and fetching a practitioner by identifier using:
GET [base]/Practitioner?identifier=[system]|[code]
A client SHOULD be capable of connecting to a server and fetching a practitioner by name using:
GET [base]/Practitioner?family=[string]&given=[string]
Supported Profiles: US Core PractitionerRole Profile
Search Criteria:
A client SHOULD be capable of connecting to a server and fetching PractitionerRoles by identifier using:
GET [base]/PractitionerRole?practitioner.identifier=[system]|[code]
A client SHOULD be capable of connecting to a server and fetching a PractitionerRoles by name using:
GET [base]/PractitionerRole?practitioner.family=[string]&given=[string]
A client SHOULD be capable of connecting to a server and fetching a PractitionerRoles by specialty using:
GET [base]/PractitionerRole?specialty=[system]|[code]]
Supported Profiles: US Core Procedure Profile
Search Criteria:
A client SHOULD be capable of connecting to a server and fetching a patient’s procedures using:
GET/Procedure?patient=[id]
A client SHOULD be capable of connecting to a server and fetching all of a patient’s procedures over a specified time period using:
GET /Procedure?patient=[id]&date=[date]{&date=[date]}