Actions performed on a patient

Retrieving a patient’s procedures

The logical ID (of the patient to retrieve) is passed as part of the URL. The logical ID is found as the result of a search.

GET https://tw171.open.allscripts.com/FHIR/Patient/id/Procedure
GET https://tw171.open.allscripts.com/FHIR/Patient/id/Procedure?date=eq2016-01-01
Name Required? Type Description
id yes URL Patient’s logical ID. This is retrieved using the search function.
date no string A string representing a date to include in the search. See below for more information.

A DAF Procedure is returned.

Name Type Cardinality Description
identifier 0..* Procedure identifier. These identifiers are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (for example, in CDA documents, or in written/printed documentation).
subject Reference(Patient, Group) 1..1 Person, animal, or group on which the procedure was performed.
status code 1..1 In-progress, aborted, completed, or entered-in-error. For more information on this value set, see procedure-status.
category CodeableConcept 0..1 Classification of the procedure. For more information on this value set, see procedure-category.
code CodeableConcept 1..1 Identification code of the procedure. The value set defines a set of codes that can be used to indicate the type of procedure: a specific code indicating type of procedure performed from CPT, SNOMED CT, and ICD10-PCS. For more information on this value set, see procedure-code.
notPerformed boolean 0..1 Was the procedure not performed as scheduled? (Yes if not scheduled.)
reasonNotPerformed CodeableConcept 0..* Reason procedure was not performed. For more information on this value set, see procedure-not-performed-reason.
bodySite CodeableConcept 0..* Target body sites. For more information on this value set, see body-site.
reasonCodeableConcept CodeableConcept 0..1 Reason why the procedure was performed.
reasonReference Reference(Condition) 0..1 Reason for the procedure.
performer 0..* Individual who performed the procedure. This must be a real person, not equipment.
– performer.actor Reference(Practitioner, Organization, Patient, RelatedPerson) 0..1 Reference to the practitioner.
– performer.role CodeableConcept 0..1 Role the actor was in. Values come from performer-role.
performedDateTime dateTime 0..1 Date/time period over which the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.
performedPeriod Period 0..1 Date/time period during which the procedure was performed.
encounter Reference(Encounter) 0..1 Encounter during which the procedure was performed.
location Reference(Location) 0..1 Location where the procedure was performed.
outcome CodeableConcept 0..1 Result of the procedure. For more information on this value set, see procedure-outcome.
report Reference(DiagnosticReport) 0..* Any report resulting from the procedure.
complication CodeableConcept 0..* Complication following the procedure. For more information on this value set, see condition-code.
followUp CodeableConcept 0..* Instructions for follow up. For more information on this value set, see procedure-followup.
request Reference(CarePlan, DiagnosticOrder, ProcedureRequest, ReferralRequest) 0..1 Request for the procedure.
notes Annotation 0..* Additional information about the procedure.
focalDevice 0..* Device changed during the procedure.
– focalDevice.action CodeableConcept 0..1 Kind of change to device. For more information on this value set, see device-action.
– focalDevice.manipulated Reference(Device) 1..1 Device that was changed during the procedure.
used Reference(Device, Medication, Substance) 0..* Items used during the procedure.

Searching by date

Dates are passed as query parameters on the URL. Since the URL parameters cannot handle comparators (for example, >, <=) these are passed in as part of the date.

date=eq2016-01-01
date=gt2016-01-01

The following comparators are supported:

Comparator Description
eq equal
gt greater than
ge greater than or equal
lt less than
le less than or equal

To search for a date range, pass in the date twice.

e.g. date=ge2010-01-01&date=le2010-12-31

This search would include every day in the year 2010.