0.1.0 - ci-build
collabreefhirdocumentation - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Profile Definition: MedicationProfile
Collabree supports medication catalogs from Switzerland and Saudi Arabia. Both countries use Open Medication Catalog FHIR R4 NDJSON releases imported via services/resource_updater. Catalogs are scoped in the app using OMC-native identifiers and status=active filters.
The legacy CollabreeMedication profile (Collabree country-code, data-provider-id, and GTIN extensions) applied only to the old Saudi Excel pipeline, which has been replaced by OMC NDJSON.
Medications imported from Open Medication Catalog are stored as-is and are not required to satisfy every CollabreeMedication profile constraint. Azure does not validate the profile on write.
Typical OMC fields used by the app:
code.text: Display namestatus: active or inactive (inactive packages are excluded from search)form: Dose form codingingredient: Ingredient name (strength often absent)amount.numerator: Package quantity when presenthttps://fhir.openmedicationcatalog.org/sid/ch/swissmedic/authorisationhttps://fhir.openmedicationcatalog.org/sid/sa/sfda/register-number.../StructureDefinition/jurisdiction = CH or SAidentifier with https://www.gs1.org/gtin for barcode lookup when presentThe old Saudi Excel processor wrote Collabree identifiers (country-code|SA, data-provider-id|CHI_GOV_SAUDI_ARABIA, Collabree GTIN extension). These rows are removed.
Source: Open Medication Catalog ch-enriched NDJSON release
Import: static/medications/ch/Medication.ndjson via services/resource_updater
Country Code: CH (via OMC jurisdiction extension)
Key Characteristics:
amount.numerator: Number of units (e.g., 30 tablets)amount.denominator: Often {value: 1} onlySingle display name: code.text (German in current release)
Regulatory metadata: Swissmedic authorisation/package identifiers, dose form, active/inactive status
GTIN barcode lookup: https://www.gs1.org/gtin identifier when present in the release
Example Use Case:
Open Medication Catalog NDJSON → resource_updater → FHIR Medication
- German display name in code.text
- Swissmedic identifiers for CH-scoped search
- status=active filters inactive packages from the picker
Source: Open Medication Catalog SA NDJSON release
Import: static/medications/sa/Medication.ndjson via services/resource_updater
Country Code: SA (via OMC jurisdiction extension)
Key Characteristics:
Package-Focused: Package description in code.text and OMC extensions
Regulatory metadata: SFDA register-number identifiers, dose form, active/inactive status
GTIN barcode lookup: https://www.gs1.org/gtin identifier when present
No medication images in OMC; the app falls back to the default medication icon
Example Use Case:
Open Medication Catalog SA NDJSON → resource_updater → FHIR Medication
- Display name in code.text
- SFDA register-number identifiers for SA-scoped search
- status=active filters inactive packages from the picker
The app uses country-specific OMC search because each catalog exposes a different scope identifier:
// Text search: OMC Swissmedic identifier + active status
MedicationSearchParameters(
code: ':text=$query',
status: 'active',
identifier:
'https://fhir.openmedicationcatalog.org/sid/ch/swissmedic/authorisation|',
);
// Barcode search (when GTIN is present)
MedicationSearchParameters(
identifier: 'https://www.gs1.org/gtin|$barcode&'
'https://fhir.openmedicationcatalog.org/sid/ch/swissmedic/authorisation|',
);
// Text search: OMC SFDA register-number identifier + active status
MedicationSearchParameters(
code: ':text=$query',
status: 'active',
identifier:
'https://fhir.openmedicationcatalog.org/sid/sa/sfda/register-number|',
);
// Barcode search (when GTIN is present)
MedicationSearchParameters(
identifier: 'https://www.gs1.org/gtin|$barcode&'
'https://fhir.openmedicationcatalog.org/sid/sa/sfda/register-number|',
);
Both catalogs (OMC, imported as-is):
country-code / data-provider-id)code.text for display namestatus, form, ingredient, optional amounthttps://www.gs1.org/gtin when availablestatic/medications/ch/Medication.ndjson via resource_updaterstatic/medications/sa/Medication.ndjson via resource_updaterAll match Collabree country-code and data-provider-id identifiers only. OMC rows are not affected.
CollabreeMedication on importcode.text, status, OMC identifiers, and GS1 GTIN for searchThis approach provides a flexible foundation for handling diverse medication catalogs while maintaining practical search behaviour for both countries.