haau3 FHIR Implementation Guide (HFIG)
1.0.0 - ci-build
haau3 FHIR Implementation Guide (HFIG) - Local Development build (v1.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Official URL: https://haau3.com/fhir/OperationDefinition/reconcile-medications | Version: 1.0.0 | |||
| Active as of 2026-09-25 | Computable Name: ReconcileMedications | |||
Reconciles one patient's medication records, which may come from many sources and overlap, into one clean medication list. The list holds one entry per clinical drug, each a haau3 Reconciled MedicationRequest with a haau3 Reconciled Medication Provenance naming the records it came from. Software computes the list; no person curates it.
Two ways to call it
resource part per record, and one for each Medication a record references, and optionally an asOf part to evaluate the list as of another date and time. The response is the same kind of Bundle.The example request and its response show both ends of a call, and the Parameters example shows asOf.
What it accepts
MedicationRequest, MedicationStatement, MedicationDispense and MedicationAdministration records for one patient, with the Medications they reference, contained in the record, in the same Bundle, or as their own resource parts in the Parameters form. In the Parameters form every part carries an id, and a record's Medication/{id} reference resolves to the part with that id. A request Bundle is a collection or a searchset, and every entry needs a fullUrl so that references between entries resolve.
What it refuses, and what it skips
The whole request is refused, with an OperationOutcome that says why, when it holds a resource of any other type, when its records name two patients or none, when the Bundle is of another type (a transaction, batch, document, message or history), when the body is over 16 MiB, when a resource part in the Parameters form has no id, or when the content is malformed.
A record the operation cannot use is skipped rather than refused: a record that names no medication, or a medicationReference that resolves to nothing in the request. The response's OperationOutcome carries one warning per skipped record and names it only by its fullUrl.
What comes back
A haau3 Reconciled Medication Bundle: one reconciled entry per clinical drug, a Provenance for each, and the OperationOutcome when something was skipped. Every Provenance names the rule-set version and the RxNorm release the list was built against. The same records, evaluated as of the same date under the same rule-set version and RxNorm release, give the same entries with the same evidence. The RxNorm release named in a Provenance is a record of what the list was built against; the service serves its current release, so an older list may name a release that is no longer served.
URL: [base]/$reconcile-medications
| Use | Name | Scope | Cardinality | Type | Binding | Documentation |
| IN | bundle | 0..1 | Bundle | The patient's medication records, as a Bundle of type collection or searchset. This is also the bare-body form: POST the Bundle itself as the request body, with nothing on the URL, and the list is evaluated as of the time of the request. | ||
| IN | resource | 0..* | Resource | One resource per repetition, for the Parameters form: a MedicationRequest, MedicationStatement, MedicationDispense or MedicationAdministration, or a Medication that one of those records references. Every part carries an id. A record's Medication/{id} reference resolves to the Medication part with that id, or to a Medication contained in the record, and the response names each source record as {resourceType}/{id}. | ||
| IN | asOf | 0..1 | dateTime | The date and time to evaluate the list as of. Parameters form only: the bare-body form evaluates the list as of the time of the request. | ||
| OUT | return | 1..1 | Bundle | The reconciled list: a Bundle conforming to haau3 Reconciled Medication Bundle, returned as the response body itself. |
Send bundle, or one or more resource parts, but not both. Every record must name the same patient in subject. A request is refused, with an OperationOutcome that names the reason, for a resource of any other type, records that name two patients or none, a Bundle that is not a collection or searchset, a body over 16 MiB, a resource part with no id, or malformed content. A record that names no medication, or whose medicationReference cannot be resolved, is skipped with a warning that names only its fullUrl. The response is the Bundle itself, conforming to haau3 Reconciled Medication Bundle, not a Parameters resource.