eHealth Infrastructure
latest - ci-build

eHealth Infrastructure - Local Development build (vlatest) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

OperationDefinition: Get patient procedures

Official URL: https://careplan.devtest.systematic-ehealth.com/fhir/OperationDefinition/-s-get-patient-procedures Version: latest
Active as of 2024-05-08 Computable Name: get-patient-procedures

This operation returns an overview of patient activities within a time period and filtered by either EpisodeOfCare or Condition code(s). On success, the returned Bundle contains a Parameters structure detailing the count of measurements received and expected. This is done per ServiceRequest with status active for those part of a CarePlan with status active related to eligible EpisodeOfCare resources. Eligible EpisodeOfCare are those with status active that refer to the given Patient and are either given as EpisodeOfCare reference in input or are referencing a Condition with a condition code that matches at least one of the Condition codes possibly given as input. The measurement regime expressed in ServiceRequest.occurrence[x] is, when possible, resolved to time slot(s) corresponding to datetime/period where an action is supposed to take place, typically performed by the Patient. When the occurrenceTiming variant is used, resolved time slots overlapping with the input time periode are considered. For occurrenceTiming expression which are either adhoc or unresolved, the effective datetime/period of a measurement is considered when checked for overlap with input time period.

Input

The operation has three mandatory inputs, a Patient reference, a start date and an end date. Additionally the operation has three optional inputs: a list of reference(s) to EpisodeOfCare, a list of Codings for Condition and a list of Codings for tags.

Patient reference

Mandatory reference for the Patient which the procedure overview is computed for.

Start and end datetimes

Start and end datetime are both mandatory, and together specify the period of interest in the patient procedure overview. As stated above, for resolvable past and future time slots as well as adhoc and unresolved timings there must overlap with this period.

EpisodeOfCare list

The list of EpisodeOfCare references is optional. If EpisodeOfCare are provided, these will be used to further filter which active EpisodeOfCare, CarePlan and ServiceRequest are considered for the patient procedure overview.

Condition Coding list

The list of Coding for Condition is optional. If Condition Coding are provided, the EpisodeOfCare considered are those referring to a Condition matching at least one of the codes in the list. As above, the EpisodeOfCare (one or more) considered further determines which active EpisodeOfCare, CarePlan and ServiceRequest are considered.

Tag Coding list

The list of Coding for tags is optional. If tag Coding are provided, the EpisodeOfCare considered are those including a tag matching at least one of the codes in the list. As above, both the Condition (one or more) and EpisodeOfCare (one or more) considered further determines which active EpisodeOfCare, CarePlan and ServiceRequest are considered.

Extra boolean

This is an optional parameter that can be set to true if activities allowing ‘Extra’ submissions should be included in the response.

Output

For valid inputs, the server will compute and return a Bundle. The Bundle contains a Parameters resource with resolved measurement regimes and associated counts of measurement submitted and counts expected. Such counts are also included in the Parameters structure when the measurement regime is either adhoc or unresolved. In addition, the Bundle contains CarePlan and ServiceRequest referenced in the Parameters. The Bundle can contain an OperationOutcome describing any encountered warnings.

Output Parameters

The output contains rows (encoded in parameters) for each matching and active ServiceRequest with resolved timings overlapping with the requested period.

Rows are represented as Parameters.parameter with names: item_1, item_2, etc. Columns are represented as Parameters.parameter.part with name and value

Example:
'resource': {
    'resourceType': 'Parameters',
    'parameter': [{
            'name': 'item_1',
            'part': [{
                    'name': 'CarePlan',
                    'valueReference': {
                        'reference': 'https://careplan.devtest.systematic-ehealth.com/fhir/CarePlan/164581'
                    }
            }]
    }]
}

Columns

  • CarePlan: Reference to the CarePlan that the ServiceRequest belongs to.
  • ServiceRequest: Reference to the ServiceRequest.
  • ServiceRequestVersionId: The version of the ServiceRequest (version specified at time of submit-measurement or the current version (for expected activities)).
  • Activity: Description of the planned activity.
  • ResolvedTimingStart: A planned start time for the activity in the requested period.
  • ResolvedTimingEnd: A planned end time for the activity in the requested period. May be identical to start if no duration is specified in the measurement regime.
  • TotalSubmitted: The number of measurements already submitted for this ServiceRequest and resolved timing.
  • SubmittedTimely: The number of measurements where the measurement time matches the resolved timing.
  • TimingType:
    • Resolved: a measurement regime that is supported by the infrastructure and where resolved timing and requested number of measurements can be calculated.
    • Unresolved: a measurement regime that is not supported by the infrastructure. Resolved Timing Start, end, submitted timely and Occurrences requested will be empty.
    • Adhoc: A ServiceRequest without a measurement regime or a measurement regime stating ad-hoc.
  • OccurencesRequested: Expected number of measurements.

URL: [base]/$get-patient-procedures

Parameters

UseNameScopeCardinalityTypeBindingDocumentation
INpatient1..1Reference
INepisodeOfCare0..*Reference
INconditionCodings0..*Coding
INstart1..1dateTime
INend1..1dateTime
IN_tag0..*Coding
INextra0..1boolean
OUTreturn0..1Bundle