Receta electrónica en FHIR
Receta electrónica es una categoría prioritaria del Espacio Europeo de Datos de Salud (artículo 14(1), letra (b) del Reglamento (UE) 2025/327). Se aplica desde el 26 de marzo de 2029. HL7 Europe la cubre con mpd 1.0.0.
- Reglamento
- Regulation (EU) 2025/327, Article 14(1)(b), Annex I
- Se aplica desde
- 26 de marzo de 2029
- Guías HL7 Europe
- hl7.fhir.eu.mpd 1.0.0, publicada
- Modelos lógicos Xt-EHR
- EHDSMedicationPrescription
- Validador
- Abrir el validador de perfiles EHDS
Qué dice el Reglamento
El anexo I del Reglamento describe las características principales de esta categoría. El texto es el original en inglés.
Electronic prescriptionsElectronic health data constituting a prescription for a medicinal product as defined in Article 3, point (k), of Directive 2011/24/EU.
Perfiles FHIR 3
Perfiles definidos por las guías anteriores. La columna de reglas cuenta los elementos en los que el perfil va más allá de FHIR base (obligatorios, prohibidos o limitados), que el validador comprueba; de los slices solo se comprueban los obligatorios que un valor fijo o el tipo de recurso permiten identificar.
| Perfil | Recurso | Guía HL7 Europe | Reglas comprobadas | Slices comprobados / definidos |
|---|---|---|---|---|
Medication: MPD http://hl7.eu/fhir/mpd/StructureDefinition/Medication-eu-mpd | Medication | mpd | 0 | 0 / 12 |
MedicationDispense: MPD http://hl7.eu/fhir/mpd/StructureDefinition/MedicationDispense-eu-mpd | MedicationDispense | mpd | 2 | 0 / 3 |
MedicationRequest: MPD http://hl7.eu/fhir/mpd/StructureDefinition/MedicationRequest-eu-mpd | MedicationRequest | mpd | 2 | 0 / 7 |
Bindings de terminología 0
Value sets a los que los perfiles de esta categoría enlazan elementos con un binding required o extensible. Un binding required solo admite códigos del value set; uno extensible los espera salvo que ninguno encaje. Los value sets que definen los paquetes de HL7 Europe se listan con sus códigos en la referencia de value sets.
Los perfiles de esta categoría no declaran por sí mismos ningún binding required ni extensible. Los perfiles también declaran 0 bindings preferred y 4 example.
Extensiones 1
Extensiones de HL7 Europe que llevan los perfiles de esta categoría, con el elemento que contiene cada una.
| Extensión | Contexto | Valor | Usada en |
|---|---|---|---|
Medication: Package type http://hl7.eu/fhir/StructureDefinition/medication-package-type | Medication | CodeableConcept | MedicationEuMpd extension:packageType 0..1 |
Modelo lógico EHDSMedicationPrescription 30
Elementos del modelo lógico Xt-EHR con su cardinalidad y obligaciones. Las obligaciones indican a productores y consumidores de los datos qué DEBE o DEBERÍA hacer un sistema con cada elemento.
Obligaciones por actor
Cuántos elementos de EHDSMedicationPrescription llevan cada obligación para cada actor.
| Obligación | Actor | Elementos |
|---|---|---|
SHALL:able-to-populate | productor | 11 |
SHALL:process | consumidor | 11 |
SHOULD:able-to-populate | productor | 5 |
SHOULD:display | consumidor | 2 |
SHOULD:process | consumidor | 3 |
Elementos 30
| Elemento | Card. | Obligaciones | Descripción |
|---|---|---|---|
header | 1..1 | Prescription header | |
subject | 1..1 | SHALL:able-to-populate productorSHALL:process consumidorSystem SHALL process the patient information for identification purposes. | The person for whom the medication is prescribed/ordered. [Used for searching] |
identifier | 1..* | SHALL:able-to-populate productorFor a single-item prescription these identifiers SHALL match prescriptionItem.identifier. SHALL:process consumidorSystem SHALL use this prescription identifier for reference in the dispense record. | Business identifier(s) for the prescription. [Used for searching] |
author[x] | 1..* | SHALL:able-to-populate productorSystem SHALL support at least EHDSHealthProfessional data type for the element. SHALL:process consumidor | The prescriber, the person who made the prescription, and who takes the responsibility for the treatment. [Used for searching] |
date | 1..1 | SHALL:able-to-populate productorSHALL:process consumidor | Time of issuing (signing) the prescription by health care professional. [Used for searching] |
status | 1..1 | SHALL:able-to-populate productorSHALL:process consumidorSystem SHALL process the prescription status together with other information to determine dispensability. | Status of authorisation for dispensing the prescription items. This should not be the status of treatment. For a multiple-item prescription, this conveys the aggregate status of the entire prescription. In case of a single-item prescription, prescriptionItem.status shall be the same as EHDSMedicationPrescription.header.status. [Used for searching] |
source | 0..0 | Source of information (e.g. patient, patient's proxy). Used in case the patient has authored the information or the author has submitted patient-stated information. | |
language | 0..1 | Language in which the resource is written. Language is expressed by the IETF language tag. | |
statusReason[x] | 0..1 | Reason for the current status of prescription, for example the reason why the prescription was made invalid or changed from a previous state. | |
presentedForm | 0..* | SHOULD:able-to-populate productorSystem SHOULD be able to provide a rendered, human-readable version of the prescription. SHOULD:display consumidor | Entire prescription as issued. Various formats could be provided, PDF format is recommended. |
prescriptionItem | 1..* | SHALL:able-to-populate productorSHALL:process consumidor | Prescription line for one medication. In many countries, only one item is allowed and there shall be no expectation to be able to manage multiple items. In case multiple medications are allowed, all items need to be authored together. |
identifier | 1..* | SHALL:able-to-populate productorFor a single-item prescription these identifiers SHALL match .identifier. SHALL:process consumidorSystem SHALL use this prescription identifier for reference in the dispense record. | Identifier for a single item on prescription, if exists. In case of single-item prescription, this identifier is typically the same as prescription identifier. [Used for searching] |
status | 1..1 | SHALL:able-to-populate productorSHALL:process consumidorSystem SHALL process the prescription status together with other information to determine dispensability. | Status of a single item of a multi-item prescription. In case of single-item prescriptions, the status of prescription has the same meaning as the status of the item. [Used for searching] |
statusReason[x] | 0..1 | Reason for the current status of prescription, for example the reason why the prescription was made invalid or why the prescription was changed from previous | |
medication | 1..1 | SHALL:able-to-populate productorSHALL:process consumidor | Prescribed product, branded, generic, virtual, extemporal, etc |
indication[x] | 0..* | Reason for the prescription (typically diagnosis, or a procedure) | |
intendedUseType | 0..1 | Intent of the prescription - prophylaxis, treatment, anesthesia, etc | |
periodOfUse | 0..1 | Period over which the medication is to be taken (in case of multiple dosage schemes, this would be the overall period of all dosages.) | |
quantityPrescribed | 0..1 | SHOULD:able-to-populate productorSHOULD:process consumidor | Overall quantity of prescribed product (e.g number of packages or number of tablets). |
dosageInstructions | 1..1 | SHALL:able-to-populate productorSHALL:process consumidor | Dosage and administration instructions |
validityPeriod | 0..1 | SHOULD:able-to-populate productorSHOULD:process consumidor | The period over which the prescription is considered valid and dispensable. validityPeriod.start is, if missing, is assumed to be the date of issuing the prescription. |
substitution | 0..1 | SHOULD:able-to-populate productorSHOULD:process consumidor | Whether and which type of substitution is allowed for this prescription. The legislation in the country of dispense applies, e.g. if this information is missing. |
allowed[x] | 0..1 | SHALL:able-to-populate productorSystem SHALL support at least the boolean data type. SHALL:process consumidorSystem SHALL support at least the boolean data type. | Whether and to what extent substitution is allowed. |
reason[x] | 0..1 | Reason for the substitution requirement (e.g. Biological product, Patient allergic to an excipient in alternative products, etc) | |
numberOfRepeats | 0..1 | Number of refills authorised - how many times the prescription item can be dispensed in addition to the original dispense. The default value is 0 (no repeats). | |
minimumDispenseInterval | 0..1 | Minimum dispense interval. If a prescription allows for repeated dispensations, the interval between dispensations shall be stated here. | |
offLabel | 0..1 | Indicates that the prescriber has knowingly prescribed the medication for an indication, age group, dosage, or route of administration that is not approved by the regulatory agencies and is not mentioned in the prescribing information for the drug | |
isOffLabelUse | 1..1 | Indicates off-label use. Must be 'true' when .reason is provided. | |
reason[x] | 0..* | Reason or related clarification for off-label use | |
note | 0..1 | SHOULD:able-to-populate productorSHOULD:display consumidor | Additional information or comments, e.g. message to the dispenser |
Mapeo de EHDSMedicationPrescription a FHIR 29
Cómo aterriza cada elemento lógico en FHIR, según lo publicado en la guía de HL7 Europe. Mapeado a: MedicationRequestEuMpd.
| Elemento | Relación | Recurso FHIR | Elemento FHIR | Notas |
|---|---|---|---|---|
header | relacionado con | MedicationRequest | . | Backbone element |
subject | equivalente | MedicationRequest | subject | Reference to Patient. |
identifier | más estrecho que el destino | MedicationRequest | identifier | Prescription identifier and prescription item identifier are usually the same in environments using single-item prescriptions. |
identifier | más estrecho que el destino | MedicationRequest | groupIdentifier | Use as the shared prescription identifier for MedicationRequest instances that belong to the same multi-item prescription. |
author[x] | equivalente | MedicationRequest | requester | |
date | equivalente | MedicationRequest | authoredOn | |
status | equivalente | MedicationRequest | status | |
statusReason[x] | equivalente | MedicationRequest | statusReason | The model also allows string data type which maps to CodeableConcept.text , but note element may also be used for additional clarifications. |
presentedForm | sin mapeo | MedicationRequest | Reference a DocumentReference containing the rendered prescription. | |
prescriptionItem | equivalente | MedicationRequest | . | Create one MedicationRequest per prescription item. |
identifier | equivalente | MedicationRequest | identifier | |
status | equivalente | MedicationRequest | status | For single-item prescriptions, same meaning as header.status. |
statusReason[x] | equivalente | MedicationRequest | statusReason | The model also allows string data type which maps to CodeableConcept.text , but note element may also be used for additional clarifications. |
medication | equivalente | MedicationRequest | medication[x] 〔R4〕 medication 〔R5〕 | |
indication[x] | equivalente | MedicationRequest | reasonCode 〔R4〕 reason 〔R5〕 | The model also allows string data type which maps to CodeableConcept.text , but note element may also be used for additional clarifications. |
intendedUseType | más estrecho que el destino | MedicationRequest | category | Use dedicated category code or custom extension if additional granularity is required. |
periodOfUse | relacionado con | MedicationRequest | extension:effectiveDosePeriod 〔R4〕 effectiveDosePeriod 〔R5〕 | |
quantityPrescribed | equivalente | MedicationRequest | dispenseRequest.extension:prescribedQuantity | |
dosageInstructions | equivalente | MedicationRequest | dosageInstruction | Map each EHDSDosage entry to dosageInstruction . |
validityPeriod | equivalente | MedicationRequest | dispenseRequest.validityPeriod | |
substitution | equivalente | MedicationRequest | substitution | |
allowed[x] | equivalente | MedicationRequest | substitution.allowed[x] | The guide requires support for at least Boolean data type. |
reason[x] | equivalente | MedicationRequest | substitution.reason | The model also allows string data type which maps to CodeableConcept.text , but note element may also be used for additional clarifications. |
numberOfRepeats | equivalente | MedicationRequest | dispenseRequest.numberOfRepeatsAllowed | |
minimumDispenseInterval | equivalente | MedicationRequest | dispenseRequest.dispenseInterval | |
offLabel | relacionado con | MedicationRequest | extension:offLabelUse | |
isOffLabelUse | relacionado con | MedicationRequest | extension:offLabelUse | |
reason[x] | relacionado con | MedicationRequest | extension:offLabelUse.reason | The model also allows string data type which maps to CodeableConcept.text , but note element may also be used for additional clarifications. |
note | equivalente | MedicationRequest | note.text | Use note.author / note.time if available. |
Documentos CDA (eHDSI)
La misma categoría se transporta en CDA con estas plantillas de documento eHDSI. Su estructura, sus conjuntos de valores y un validador de documentos CDA están en la guía CDA.
Fuentes
Reglamento (UE) 2025/327, Diario Oficial de la Unión Europea; guías de implementación FHIR de HL7 Europe; modelos lógicos Xt-EHR (xtehr.eu.ehds.models). Las guías en ballot aún pueden cambiar. Esta guía es informativa: no es asesoramiento jurídico ni una certificación de conformidad.
