Nationella informationsmängder
0.1 - draft
Nationella informationsmängder - Local Development build (v0.1). See the Directory of published versions
Defining URL: | https://informationsstruktur.socialstyrelsen.se/nim/hos/fhir/StructureDefinition/NIMMedication |
Version: | 0.1 |
Name: | NIMMedication |
Title: | Läkemedelsprodukt |
Status: | Active as of 2021-03-30T19:36:18+02:00 |
Definition: | NIM läkemedelsprodukt används för att beskriva läkemedelsprodukter som ordineras och hanteras inom hälso- och sjukvård. |
Publisher: | Socialstyrelsen |
Source Resource: | XML / JSON / Turtle |
The official URL for this profile is:
https://informationsstruktur.socialstyrelsen.se/nim/hos/fhir/StructureDefinition/NIMMedication
Läkemedelsprodukt (Medication) has a single name and a single form.
There is a one to many relationship between Medication and Styrka (Strength) which means that a single Medication can have many Strengths.
The natural relationship is that a Medication can contain many ingredients that have their respective strengths. Now the relationship between ingredient and strength is missing.
A recommendation would be to include ingredient/substance in the model in order to attach strength, the alternative is to enforce a 0..1 relationship, only noting the primary ingredient (not recommended).
If the idea is to have a combined name/group and a list of strengths (i.e. “Oxycodone/Naloxone” “5mg/2,5mg” or “cocillanaextrakt/senegaextrakt” “8,8mg/ml/7,8mg/ml”), structure is lost and data becomes harder to comprehend.
Description of Profiles, Differentials, Snapshots and how the different presentations work.
Other representations of profile: Schematron
Path | Conformance | ValueSet |
Medication.language | preferred | CommonLanguages Max Binding: AllLanguages |
Medication.identifier:nplpackid.use | required | IdentifierUse |
Medication.identifier:nplpackid.type | extensible | Identifier Type Codes |
Medication.identifier:varunr.use | required | IdentifierUse |
Medication.identifier:varunr.type | extensible | Identifier Type Codes |
Medication.code | example | SNOMEDCTMedicationCodes |
Medication.code.coding | required | http://hl7.org/fhir/uv/ips/ValueSet/whoatc-uv-ips |
Medication.status | required | Medication Status Codes |
Medication.form | example | SNOMEDCTFormCodes |
Id | Path | Details | Requirements |
dom-2 | Medication | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | Medication | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | Medication | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | Medication | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Medication | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | Medication.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Medication.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Medication.extension:nplid | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Medication.extension:nplid | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Medication.extension:tradename | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Medication.extension:tradename | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Medication.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Medication.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Medication.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.identifier:nplpackid | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.identifier:nplpackid.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Medication.identifier:nplpackid.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Medication.identifier:nplpackid.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.identifier:nplpackid.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.identifier:nplpackid.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.identifier:nplpackid.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.identifier:nplpackid.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.identifier:nplpackid.assigner | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.identifier:varunr | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.identifier:varunr.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Medication.identifier:varunr.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Medication.identifier:varunr.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.identifier:varunr.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.identifier:varunr.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.identifier:varunr.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.identifier:varunr.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.identifier:varunr.assigner | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.code.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Medication.code.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Medication.code.coding | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.code.coding.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Medication.code.coding.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Medication.code.coding.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.code.coding.version | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.code.coding.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.code.coding.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.code.coding.userSelected | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.code.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.manufacturer | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.form | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.form.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Medication.form.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Medication.form.coding | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.form.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.amount | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.ingredient | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.ingredient.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Medication.ingredient.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Medication.ingredient.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Medication.ingredient.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Medication.ingredient.item[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.ingredient.item[x]:itemReference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.ingredient.isActive | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.ingredient.strength | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.batch | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.batch.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Medication.batch.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Medication.batch.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Medication.batch.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Medication.batch.lotNumber | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.batch.expirationDate | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |