hhaau3platform
ProductsPricingDocs
Sign inGet started
All products
FreeAvailable

MedList API

A patient's medication records in, one clean list out.

POSTapi.haau3.com/v1/fhir/r4/$reconcile-medications
Get started free
api.haau3.com

Request

POST /v1/fhir/r4/$reconcile-medications
{
  "resourceType": "Bundle",
  "type": "collection",
  "entry": [{
    "fullUrl":
      "http://example.org/fhir/MedicationStatement/lisinopril-statement",
    "resource": {
      "resourceType": "MedicationStatement",
      "status": "active",
      "medicationCodeableConcept": {
        "coding": [{
          "system": "http://www.nlm.nih.gov/research/umls/rxnorm",
          "code": "311354" }],
        "text": "lisinopril 5 mg tablet" },
      "subject": {
        "reference": "http://example.org/fhir/Patient/example" },
      "informationSource": {
        "reference": "http://example.org/fhir/Patient/example" },
      "dateAsserted": "2026-09-05"
    }
  }]
}

Response

{
  "resourceType": "Bundle",
  "type": "collection",
  "entry": [{
    "resource": {
      "resourceType": "MedicationRequest",
      "extension": [{
        "url":
          "https://haau3.com/fhir/StructureDefinition/medlist-evidence",
        "valueCoding": {
          "system":
            "https://haau3.com/fhir/CodeSystem/medlist-evidence",
          "code": "patient-reported",
          "display": "Patient-reported use" } }],
      "status": "active",
      "intent": "plan",
      "medicationCodeableConcept": {
        "coding": [{
          "system": "http://www.nlm.nih.gov/research/umls/rxnorm",
          "code": "311354" }],
        "text": "lisinopril 5 mg tablet" }
    }
  }]
}

Many records in. One clean list out.

The implementation guide’s own example: one patient’s records from a prescriber’s order and two statements, and an order that names no drug. MedList answers with one entry per clinical drug, each with the evidence behind its status and the records it was built from, and notes the record it skipped.

A readable view of the same exchange. The API takes and returns the FHIR JSON.

Records sent

  1. MedicationRequest · janumet-order
    status: active
    intent: order
    authoredOn: 2026-08-30
    medicationReference: Medication/janumet
    requester: Example Prescriber, MD
  2. Medication · janumet
    code: RxNorm 861821 metformin hydrochloride 500 MG / sitagliptin phosphate 50 MG Oral Tablet [Janumet]
    code.text: Janumet 50 mg-500 mg tablet
  3. MedicationStatement · janumet-statement
    status: active
    dateAsserted: 2026-09-10
    medicationCodeableConcept: metformin hydrochloride 500 MG / sitagliptin phosphate 50 MG Oral Tablet [Janumet]
    informationSource: http://example.org/fhir/Patient/example
    dosage: 1 tablet twice a day
  4. MedicationStatement · lisinopril-statement
    status: active
    dateAsserted: 2026-09-05
    medicationCodeableConcept: lisinopril 5 mg tablet
    informationSource: http://example.org/fhir/Patient/example
    dosage: 5 mg once daily
  5. MedicationRequest · unnamed-orderskipped
    status: active
    intent: order
    medicationCodeableConcept: not stated

The list that came back

  1. Janumet 50 mg-500 mg tablet

    active
    Dose instructions
    1 tablet twice a day
    Prescriber
    Example Prescriber, MD
    Date written
    2026-08-30
    Why this status
    How the medication was coded
    • RxNorm 861821 metformin hydrochloride 500 MG / sitagliptin phosphate 50 MG Oral Tablet [Janumet]as sent
    • RxNorm 2709491 metformin hydrochloride 500 MG / sitagliptin phosphate 50 MG Oral Tabletadded by haau3
    Built from
    • MedicationRequest · janumet-order
    • MedicationStatement · janumet-statement
    Added by haau3
    • RxNorm 2709491 metformin hydrochloride 500 MG / sitagliptin phosphate 50 MG Oral Tablet

    Rule set 2026-09-27.v3 · RxNorm release 09082026 · evaluated as of 2026-09-25T12:00:00Z

  2. lisinopril 5 mg tablet

    active
    Dose instructions
    5 mg once daily
    Reported by
    http://example.org/fhir/Patient/example
    Why this status
    How the medication was coded
    • RxNorm 311354 lisinopril 5 MG Oral Tabletas sent
    Built from
    • MedicationStatement · lisinopril-statement

    Rule set 2026-09-27.v3 · RxNorm release 09082026 · evaluated as of 2026-09-25T12:00:00Z

Skipped

  • MedicationRequest · unnamed-order
    This record names no medication and was not reconciled.

What the labels mean

Patient-reported use
Use of this medication was reported by the patient or by someone acting for them, such as a family member, recently enough to count it as current.

What it does

  • One entry per clinical drug, so two strengths stay two entries
  • A status on every entry
  • A Provenance per entry naming the records behind it
  • Every source coding kept, and the RxNorm clinical drug added and marked when no source carries it
  • The same records, evaluated as of the same date under the same rule-set version and RxNorm release, give the same list
  • Receives patient records under an executed agreement, and stores nothing it is sent
  • Free in production during the community preview

Built on

FHIR R4US CoreRxNorm

Send a patient's medication orders, fills and statements as a FHIR Bundle and get back one reconciled list: one entry per clinical drug, each with a status, a Provenance naming the records it came from, and every source coding kept. The list follows US Core's Medication List guidance, so it renders in tools that already read US Core. Nothing you send is stored or logged.

Start building today

Detailed developer docs live at docs.haau3.com.

Get started free
hhaau3platform

APIs for the healthcare ecosystem.

© 2026 haau3. All rights reserved.

Products

  • Scheduling
  • MedList
  • Provider Directory
  • Terminology
  • Questionnaires
  • Synthetic Patients
  • Health Links
  • Decision Support
  • Drug Interaction
  • Device Data

Platform

  • Pricing
  • Docs
  • Contact

Legal

  • Terms
  • Privacy