Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UnitCode valueset mapping problems #38

Closed
dvribeira opened this issue Nov 6, 2023 · 9 comments
Closed

UnitCode valueset mapping problems #38

dvribeira opened this issue Nov 6, 2023 · 9 comments
Assignees
Labels
question Further information is requested valueset Something about valuesets

Comments

@dvribeira
Copy link
Contributor

dvribeira commented Nov 6, 2023

After the feedback from Laure-Zoé K. during the PMP Days preparatory tests concerning the problems of the displayed units and trying to find a suitable mapping with the Presco team, it was decided that a solution should be found to have a differentiation between units of presentation like applicator and their administration use (for dosage) counterparts, e.g. application.

The first suggestion during a PMP specs bi-weekly meeting was to simply discriminate by usage (a mechanism supported by FHIR), which would mean that we would have different displays for different uses and not only for different languages as it is the case now. This would mean that we would still use the same value set for both units of presentation (packaging) and for the dosages, but that for cases like applicator we would display application instead of applicator. This had the advantage of presenting minimal changes and no actual codes to be changed or added. Disadvantages included the fact that semantically application and applicator are not the same thing and that it would not be a very elegant solution.

During the last PMP specs bi-weekly meeting this solution was rejected by Oliver E. and Michaela Z. who proposed instead that we should open a CH-EMED issue to add whichever codes are missing and keep using the same value set for both packaging and dosage.

Now, after having again a look at this, the current problematic concerning the solution proposed by Oliver and Michaela is the following:

  1. The UnitCode values come from both UCUM and SNOMED, but the SNOMED codes are international and not Swiss. I don't think it is feasible to think that any codes can be added to any of those. Any further codes will have to be either added to a new system, maybe a complementary SNOMED for the missing ones or maybe just creating a new Swiss SNOMED for all the codes used in this value set.
  2. SNOMED has a value set for units of presentation which is the one used for the UnitCode value set, but it also has Unit of drug administration (https://browser.ihtsdotools.org/?perspective=full&conceptId1=408103002&edition=MAIN&release=&languages=en) which would align more with our needs for the dosage. This is not however a magical solution, work would have to be done with the primary systems to ensure proper mappings are done. This will be needed for cases like the prescription of a pessary, the planning/prescription software should take well into account that indeed the packaging unit is the pessary and that is the prescribed article, but there can be no associated dosage (at least not as an structured periodic intake).

The first solution seems highly unlikely to be accepted to me, since it seems a much better idea to keep to the SNOMED codes as they are for this problematic. There is nothing particularly Swiss about this problem and the international codes will not be touched. Creating a SNOMED complementary system or even worse, forking the whole international one seems overkill to say the least.
The second solution seems more reasonable, but it implies more work now to ensure that this works for all the integrators involved.

@dvribeira dvribeira added question Further information is requested valueset Something about valuesets labels Nov 6, 2023
@dvribeira dvribeira added this to the 1.0.0 milestone Nov 6, 2023
@dvribeira dvribeira self-assigned this Nov 6, 2023
@dvribeira
Copy link
Contributor Author

dvribeira commented Nov 6, 2023

Check whether the second solution (using unit of drug administration for the dosage) would work for the integrators:

  • Check with PRESCO
  • Check with HCI
  • Check with Proactive
  • Check with Cerner

@dvribeira
Copy link
Contributor Author

dvribeira commented Nov 8, 2023

After the PMP specs meeting today present integrators (or representatives) for HCI and Cerner stated that the proposed use of https://browser.ihtsdotools.org/?perspective=full&conceptId1=408103002&edition=MAIN&release=&languages=en (or rather the Unit dose child) is also OK for them. Cerner is not even filling the medication amount (packaging, unit of presentation) at the moment.

Next step is to present the proposal and provide some JSON examples in hl7ch/ch-emed#234 as related to the UCUM changes to the same value set.

@dvribeira
Copy link
Contributor Author

Added issue to CH EMED repo: hl7ch/ch-emed#250

@dvribeira
Copy link
Contributor Author

dvribeira commented Nov 29, 2023

After yet another round of feedback with S. Spahni, L-Z. Kaestli and F. Mesia, it was decided that:

  • For now, for application dosages, the generic Dose code should be used.
  • For next CH EMED release, we should try to get a code for Application added to the UnitCode value set. The option of two value sets would need also codes to be added to the SNOMED set of units of administration anyway. Having to add units to both, if adding a unit to the current UnitCode is feasible, this would just be easier for everybody.
  • Integrators should provide a small analysis result providing the units they use in their GUIs and that they would need mapping and/or support for. This has been already commented in the weekly coordination meeting. A more formal communication should also be sent forward to the integrators' contacts.

@dvribeira dvribeira removed this from the 1.0.0 milestone Nov 29, 2023
@dvribeira
Copy link
Contributor Author

dvribeira commented Nov 30, 2023

Integrators contacted (again) for providing units feedback:

  • SwissMeds (HUG)
  • HCI (include a reminder about the proposal to use whatever mapping they already have also for emediplan)
  • Oracle/Cerner/CHUV
  • Proactive (include a question about how is it going with the integration of the indexes)
  • Presco (HUG)

Feedback received:

  • SwissMeds (HUG)
  • HCI
  • Oracle/Cerner/CHUV
  • Proactive (include a question about how is it going with the integration of the indexes)
  • Presco (HUG)

@dvribeira
Copy link
Contributor Author

dvribeira commented Nov 30, 2023

Feedbacks:

  • SwissMeds: provided a table with mapping between the galenic forms retrieved from medindex and the corresponding dosing display unit they use.
    • From their table I can see the following units are missing in UnitCode:
      • inhalation -> should use actuation for now
      • anneau (vaginal ring) -> ?
      • application -> should use dose for now
      • injection -> ?
      • dragée -> ?
      • spray -> actuation ?
  • HCI:
    • Units used internally are the INDEX CODE type 9. Mapping provided between these codes and CH-EMED UnitCode valueset. Note this mapping was done by the developer and not subject to professional validation.
    • INDEX codes missing from mapping:
      • E Einheit Unité -> should be 767525000 Unit
      • kg -> should be kg
      • L Liter litre -> should be L
      • mcl Mikroliter microlitre -> should be uL
      • mol -> mol
      • MU Millionen Einheiten -> 396186001
      • ng -> ng
      • nmol
      • Patr Patrone cartouche -> should be 732988008 cartridge
      • Pfl Pflaster patch -> 733010002 pflaster|plaster|emplâtre or 733005001 patch|patch|patch ?
      • Teilpck Teilpackung emballage individuel -> 1681000175101 package ?
    • Particular attention to N/A code, i.e. unknown that can be used for mapping from unsupported fhir units (if any) to index based.
  • Oracle/Cerner:
    • An excel file with inbound and outbound unit mapping is provided to CHUV for them to keep up to date. This can then be uploaded to a Vocabulary mapping table. Local units used by Soarian are the units specified by a 3rd party medication provider.
      • Outbound (local -> fhir) mapping, units without mapping:
        • {BR} {BR}
        • DB db
        • {H.B.} {H.B.}
        • AMPSER amp ser
        • APP applications
        • APPAREIL appareil(s) -> could be mapped to System?
        • BANDEL bandelettes
        • BILLES bille(s)
        • BIT bit (?)
        • BOITES boite(s) -> could be mapped to Package???
        • BREATH INSPIRATION -> use Actuation for now?
        • CLYST clystère(s)
        • COMPR compresse(s) -> normally mapped to Dressing
        • CONC conc (??)
        • COTONS cotons
        • CPREFF cpr eff -> normally mapped to Tablet?
        • DOSESUPP doses (supp)
        • DRAG drag (dragée?)
        • DRAGRET drag ret
        • EACH chaque
        • FL fl
        • FLEX flex -> Presco mapped to Bag
        • G/UI g/UI
        • INST instillation
        • LAVEMENT lavement(s)
        • MCG/24H mcg/24h
        • MECHE mèche(s)
        • MG/CM2 mg/cm2
        • MG/UI mg/UI
        • MMOL/KG/DAY mMol/kg/j
        • MMOL/KG/DOSE mMol/kg/dose
        • NDEFC N Def (créé)
        • OVLU ovule(s) -> should be mapped to Pessary
        • pce pce -> '{Piece}' ?
        • PFC PFC
        • PRESS pression -> Actuation?
        • PUFF pulvéris. -> Actuation ?
        • SANGSUE sangsue(s)
        • SETS set(s)
        • SPRAY VAPORISATEUR -> Actuation?
        • STYLOINJ stylo inject
        • TESTS test(s)
        • UI ui -> [iU] ?
        • UNIDOSE unidose(s)
        • UNITPLAQ _Unité_plaqu.
        • UNITS Unités -> Unit
      • Inbound provided, no analysis made yet.
      • When an inbound unit cannot be mapped, the dose fields are not filled: dose quantity is blank and the default unit for the drug is used.
      • When an outbound unit cannot be mapped, the doseAndRate fields are not filled, but the dosage information is added to the patientInstructions as narrative (as well as to dosage.text same as when mapped).
  • Proactive: no progress, no mapping. Tablet is used for everything as hardcoded unit.
  • Presco: list of units provided. Mapping agreed in meeting.
    • Application unit is needed but missing, adding it to current value set (and not having two) is the preferred solution. In the meantime, Dose will be used instead of Application.

@dvribeira
Copy link
Contributor Author

nmol (UCUM) and application (SNOMED) will be added to CH EMED's UnitCode value set, this should complete the set of values needed for a mapping of HCI's Code type 9 and Presco's units in their enterity.

@dvribeira
Copy link
Contributor Author

nmol (UCUM) and application (SNOMED) will be added to CH EMED's UnitCode value set, this should complete the set of values needed for a mapping of HCI's Code type 9 and Presco's units in their enterity.

done.

@dvribeira
Copy link
Contributor Author

Follow-up of unit code value set concerns taken by CARA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested valueset Something about valuesets
Projects
None yet
Development

No branches or pull requests

1 participant