FHIR Chat · Immunization and Medication · implementers

Stream: implementers

Topic: Immunization and Medication


view this post on Zulip Craig Newman (Jun 26 2020 at 14:47):

Currently, Immunization.vaccineCode is used to indicate the administered vaccines (typically with a CVX code, NDC, SNOMED code, etc). Sometimes that code is very specific (eg. an NDC) if the administering provider is documenting and sometimes it's very vague (eg. "flu") if it's a historical dose being documented. @Jose Costa Teixeira has expressed interest in using Medication instead of a just a code and we're looking for feedback on how to implement this. The simplest thing might be to change vaccineCode to be a CodeableReference that allows a code and/or reference to Medication. This would be inline with how MedicationUsage and MedicationAdministration do things. Or we could leave vaccineCode as it is and add a new .administeredProduct element as a CodeableReference. Is there a preference from folks? Either way we need to consider the future of the existing exiprationDate and lotNumber elements. These are long standing elements in Immunization but are also part of Medication. If we add the option of referencing Medication, should we remove these elements from Immunization? If we do, that forces systems to use Medication (probably as a contained resource) if they want to document these concepts. Or can we leave them for systems to use if they don't want to create a Medication resource? Any opinions would be appreciated.

view this post on Zulip Craig Newman (Jun 26 2020 at 14:48):

if it makes a difference, we expect that many systems won't have an internal record corresponding to the Medication at the same level of granularity as the resource (something that represents an inventory item for the vaccine for each lot number they have).

view this post on Zulip Jose Costa Teixeira (Jun 26 2020 at 15:10):

Using CodeableReference to Medication does not mean that we create a medication on the server. It may be a simple contained resource.
An example administeredProduct, with a code (no batch or expiry)

  {
  "resourceType": "Immunization",
  "id": "example",
  "status": "completed",
  "vaccineCode": {
    "coding": [
      {
        "system": "http://hl7.org/fhir/sid/cvx",
        "code": "03",
        "display": "MMR"
      }
    ]
  }
  "administeredProduct": {
    "concept": {
        "coding": [
        {
            "system": "....cnk-hosp",
            "code": "0749465",
            "display": "Priorix"
        }
        ]
    }
  }
}

and with a reference that contains some information:

  {
  "resourceType": "Immunization",
  "id": "example",
  "contained": [
    {
      "resourceType": "Medication",
      "id": "000000",
      "code": {
        "coding": [
          {
            "system": "....cti",
            "code": "190872-12",
            "display": "Priorix"
          }
        ]
      },
      "batch": { "lotNumber":"1231245", "expirationDate":"20201111"}
      }
  ],
  "status": "completed",
  "vaccineCode": {
    "coding": [
      {
        "system": "http://hl7.org/fhir/sid/cvx",
        "code": "03",
        "display": "MMR"
      }
    ]
  }
  "administeredProduct": {
    "reference": {   "reference": "#000000"     }
    }
  }
}

and with a reference that contains a lot more information, like the product's several codes:

  {
  "resourceType": "Immunization",
  "id": "example",
  "contained": [
    {
      "resourceType": "Medication",
      "id": "000000",
      "code": {
        "coding": [
          {
            "system": "....cti",
            "code": "190872-12",
            "display": "Priorix"
          },
          {
            "system": "....cnk-hosp",
            "code": "0749465",
            "display": "Priorix"
          },
          {
            "system": "....cnk-pub",
            "code": "1358167",
            "display": "Priorix"
          },

        ]
      },
      "batch": { "lotNumber":"1231245", "expirationDate":"20201111"}
      }
  ],
  "status": "completed",
  "vaccineCode": {
    "coding": [
      {
        "system": "http://hl7.org/fhir/sid/cvx",
        "code": "03",
        "display": "MMR"
      }
    ]
  }
  "administeredProduct": {
    "reference": {   "reference": "#000000" },
  }
}

view this post on Zulip Richard Townley-O'Neill (Jun 30 2020 at 06:02):

Sometimes a record of vaccination documents the disease vaccinated against rather than the substance administered.
The Medication resource is based on the concept of a substance that can be administered.
This suggests that Medication is only suitable for one class of values of Immunization.vaccineCode.

view this post on Zulip Richard Townley-O'Neill (Jun 30 2020 at 06:03):

Do you need to support rich descriptions of vaccines that are described in terms of the disease rather than the substance?

view this post on Zulip Lloyd McKenzie (Jun 30 2020 at 06:08):

It's legitimate to send a code for "rubella" as an Immunization.code. (Note that Immunization doesn't use the Medication resource.)

view this post on Zulip Lloyd McKenzie (Jun 30 2020 at 06:09):

In our discussion on workflow today, we decided it's appropriate for it to stay that way.

view this post on Zulip Jose Costa Teixeira (Jun 30 2020 at 10:51):

Yes. Imunization.code can contain the codes for the product (GTIN, Commercial product code, generic product code..) and the "type" of code e.g. "MMR"

view this post on Zulip Arianne van de Wetering (Sep 17 2021 at 12:41):

@Craig Newman This is a bit of an old thread, but we would like to support @Jose Costa Teixeira request for a reference from Immunization to Medication and the .administeredProduct option sounds good.

view this post on Zulip Craig Newman (Sep 17 2021 at 12:53):

@Arianne van de Wetering @Jose Costa Teixeira I know the timing may not be great for everyone, but on Wednesday Q4 of next week's WGM, the Public Health WG is hosting a vaccination discussion where we can further discuss this topic if people are able to make it.

view this post on Zulip Jose Costa Teixeira (Sep 17 2021 at 13:27):

I would like to join.
3 topics: the 2 above + the role of ImmunizationRecommendation - from these chats I think we had some conclusion that for explicit ordering of a vaccine, we'd look at medicationrequest, but this is not clear in the spec

view this post on Zulip Craig Newman (Sep 17 2021 at 16:25):

As well, the Public Health WG has a regular immunization discussion group that has been meeting on the third Friday of every month. This group has decided to meet more often, so beginning on Friday October 1st (at 11AM Eastern (North America), we’ll start meeting every other week. The call information in the HL7 Conference Call Center has been updated. Everyone is welcome to join the call and contribute topics to discuss. As well, don't forget that there is now a vaccination dedicated HL7 list serv group under the Public Health WG umbrella that everyone is encouraged to join and use.

view this post on Zulip Craig Newman (Sep 22 2021 at 21:11):

@Jose Costa Teixeira , @Arianne van de Wetering The general feeling of the Q4 call was that people were OK with extending .vaccineCode to be a CodeableReference (referencing Medication) but that it would make sense to leave the lot number, manufacturer and expiration date elements in Immunization so that if a use case required constraining vaccineCode to a coded concept (not a Medication reference) these elements could still be conveyed in Immunization. Any concern about such an approach?

view this post on Zulip Jose Costa Teixeira (Sep 22 2021 at 21:27):

That is how we use it in Belgium. I don't think it is ideal but is a good step

view this post on Zulip Arianne van de Wetering (Sep 23 2021 at 06:52):

I agree it's not ideal to have the same concept in two places. The Netherlands will strive to always use a MedicationReference for consistency purposes and to make implementation more straightforward (only one place to find lot number).

view this post on Zulip Craig Newman (Sep 23 2021 at 12:35):

I agree, I don't like having multiple ways of doing the same thing, but I'm not sure we can restrict it in the base standard. An IG can always constrain things to meet a particular use case.

view this post on Zulip Jose Costa Teixeira (Sep 23 2021 at 15:46):

We can simply remove the lot and expiry from the resource. And then they'd be under the medication

view this post on Zulip Lloyd McKenzie (Sep 23 2021 at 17:26):

Agree with that. It's ok to have Immunization.substance (or whatever you rename Immunization.code to be when changing it to CodeableReference) and Immunization.substance.resolve().code as two different ways of saying the same thing, but it would be a bad idea to keep lot and expiry on Immunization if you change to CodeableReference.

view this post on Zulip Craig Newman (Sep 23 2021 at 19:34):

But then if a use case constrained .vaccineCode to only be a CodeableConcept (couldn't be a Medication reference) then there is no way to send those concepts just in Immunization.

view this post on Zulip Daniel Venton (Sep 23 2021 at 21:18):

If somebody removes the attributes from the Immunization resource
AND a use case constrained the .vaccineCode to CodeableConcept
THEN that use case is indirectly stating that the lot an expiry are not needed for this use case.

view this post on Zulip Lloyd McKenzie (Sep 23 2021 at 23:36):

What it means is that if you want to send lot or expiry, you'll always use Medication reference - though it might just be to a contained Medication that only has code, lot and expiry.

view this post on Zulip Lloyd McKenzie (Sep 23 2021 at 23:37):

Agree with Daniel.

view this post on Zulip Eric Graves (Sep 24 2021 at 19:39):

What are people using to store information about a Vaccine product? We need to store things like AdministrationCodes and manufacturer and are struggling to come up with something that feels right. Our first pass created a MedicinalProduct for each covid vaccine on the market that stores administration codes in an extension. Is there a resource that can store complete information about a Vaccine product such as manufacturer and other metadata?

view this post on Zulip Lloyd McKenzie (Sep 24 2021 at 21:01):

@Craig Newman

view this post on Zulip Jose Costa Teixeira (Sep 24 2021 at 21:36):

If I were to make a catalog of vaccines I'd follow the Catalog project

view this post on Zulip Jose Costa Teixeira (Sep 24 2021 at 21:37):

(Btw, I think it's not manufacturer and other metadata but manufacturer and other master data)

view this post on Zulip Jose Costa Teixeira (Sep 24 2021 at 21:38):

The catalog project: https://build.fhir.org/ig/HL7/fhir-order-catalog/

view this post on Zulip Craig Newman (Sep 27 2021 at 12:10):

I would ask Pharmacy (@Melva Peters @John Hatem . They may have some ideas. It may depend on why you are storing the information. Is it for patient care (Medication) or some other purpose (MedicinalProductDefinition)

view this post on Zulip Craig Newman (Sep 27 2021 at 12:15):

Back to the topic of .vaccineCode - If the answer is "just create a contained Medication resource" than why have it CodeableReference at all and not just a reference to Medication. If Medication is the right answer for to convey two data elements (code and lot number for example) why is it not the right answer for just one data element (code)? Is there a problem with using Medication for historical immunizations where the vaccine is something generic like "flu vaccine"?

view this post on Zulip Jose Costa Teixeira (Sep 27 2021 at 12:30):

I would ask Pharmacy (Melva Peters John Hatem . They may have some ideas. It may depend on why you are storing the information. Is it for patient care (Medication) or some other purpose (MedicinalProductDefinition)

There is a known difficulty with the medication boundary to definitional resources. But I would NOT use the MedicinalProductDefinition in a catalog (the Catalog project is using MedicationKnowledge which I agree is atm the best solution).

view this post on Zulip Jose Costa Teixeira (Sep 27 2021 at 12:37):

Back to the topic of .vaccineCode - If the answer is "just create a contained Medication resource" than why have it CodeableReference at all and not just a reference to Medication. If Medication is the right answer for to convey two data elements (code and lot number for example) why is it not the right answer for just one data element (code)? Is there a problem with using Medication for historical immunizations where the vaccine is something generic like "flu vaccine"?

There is no real problem with only using a reference, but that is not how all other resources work now. Sometimes what you know is just 'patient took the Pfizer vaccine" and in that case you'd avoid the need for a resource. I think that is one of the reasons for the existence of CodeableReference.

view this post on Zulip Rik Smithies (Sep 27 2021 at 14:00):

in the interest of balance - several large European projects are using MedicinalProductDefinition for drug catalogs.

view this post on Zulip Melva Peters (Sep 27 2021 at 17:42):

The project out of PHAST from France is using MedicationKnowledge to create a catalog.


Last updated: Apr 12 2022 at 19:14 UTC