MedicationDispense Transformation Description

CeRX Element CeRX Element Value FHIR Element FHIR Element Value Description of Transformation CeRX -> FHIR
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ id 987654321 MedicationDispense. identifier 987654321 For now, only the identifierValue was transformed into the FHIR example.
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ statusCode COMPLETE MedicationDispense. status completed Had to add a "d" at the end and make it all undercase to match the required value set
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component3/ supplyEvent/ product/ COCT_MT220210CA/ medication/ player/ codeSystem 2.16.840.1. 113883.5.1105 MedicationDispense. medication. CodeableConcept.system http://hl7.org/fhir/ NamingSystem/ca-hc-din OID for HC-DIN (OID) was identified in the CeRX source and replaced with the FHIR URL for the medication codeable concept system. Conversion arose from recommendation of FHIR SMEs to not propagate OIDs during FHIR conversion.
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component3/ supplyEvent/ product/ COCT_MT220210CA/ medication/ player/ code 02466821 MedicationDispense. medication. CodeableConcept.code 02466821 Exact transformation
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component3/ supplyEvent/ product/ COCT_MT220210CA / medication/ player/ text ALMOTRIPTAN (almotriptan (almotriptan malate) 12.5 mg oral tablet) MedicationDispense.medication. CodeableConcept. display ALMOTRIPTAN (almotriptan (almotriptan malate) 12.5 mg oral tablet) Exact transformation
PORX_IN060220CA/ QUQI_MT120000CA/ controlActEvent/ queryByParameter/ parameterList/ patientID/ value 999999999 MedicationDispense. subject Patient/ 999999999 Given that design for how patients could be identified across jurisdictions and organizations fell outside of the scope of this phase, the conversion assumes a reference to the patient resource exists locally on the DIS server. Pointers to the PEI HCN system (https://fhir.infoway-inforoute.ca/NamingSystem/ca-pe-patient-healthcare-id) would be found within that patient resource.
No semantic equivalent. CeRX supports provider role type (e.g. Dr, Pharmacist, Psychiatrist) but it's not the same as performer.function (e.g. Distinguishes the type of performer in the dispense. For example, date enterer, packager, final checker) N/A MedicationDispense. performer.function N/A
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ Performer/ COCT_MT090107CA/ assignedPerson/ id 888888 MedicationDispense. performer.actor Practitioner/ 888888 Given that design for how providers and organizations could be identified across jurisdictions and organizations fell outside of the scope of this phase, the conversion assumes a reference to the practitioner or organization resource exists locally on the DIS server. Pointers to the Medical Society License Number or Pharmacy Board License Number would be found within that practitioner resource. Pointers to the Canada Department of Health organizational identifiers (hospital, pharmacy, etc) also have established OIDs by jurisdiction and would be found within the organization resource.
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ Location/ COCT_MT240003CA/ serviceDeliveryLocation/ id 123445 MedicationDispense. location Organization/ 123445 Given that design for how providers and organizations could be identified across jurisdictions and organizations fell outside of the scope of this phase, the conversion assumes a reference to the practitioner or organization resource exists locally on the DIS server. Pointers to the Medical Society License Number or Pharmacy Board License Number would be found within that practitioner resource. Pointers to the Canada Department of Health organizational identifiers (hospital, pharmacy, etc) also have established OIDs by jurisdiction and would be found within the organization resource.
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ inFulfillmentOf/ substanceAdministrationRequest/ id 222222 MedicationDispense. authorizingPrescription MedicationRequest/ 222222 Exact transformation (if assuming local resource)
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component3/ supplyEvent/ code FF MedicationDispense.type FF Exact transformation (the ActPharmacySupplyType code set same)
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component3/ supplyEvent/ quantity/ value 250 MedicationDispense. quantity.value 250 Quantity is originally expressed as the PQ.DRUG data type which includes a value and unit (which have been split to show how they would be parsed into sub-elements quantityValue and quantityCode). The quantity system (ex: units of measure) is not found in the CeRX field for quantity.
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component3/ supplyEvent/ quantity/ unit mg MedicationDispense. quantity.unit mg Quantity is originally expressed as the PQ.DRUG data type which includes a value and unit (which have been split to show how they would be parsed into sub-elements quantityValue and quantityCode). The quantity system (ex: units of measure) is not found in the CeRX field for quantity.
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component3/ supplyEvent/ expectedUseTime/ value 30 MedicationDispense. daysSupply.value 30 Exact transformation from the PEI test message but potentially more intervention necessary from other CeRX implementors
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component3/ supplyEvent/ expectedUseTime/ width d MedicationDispense. daysSupply.unit d Exact transformation from the PEI test message but potentially more intervention necessary from other CeRX implementors
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component1/ PORX_MT980040CA/ dosageInstruction/ component2/ sequenceNumber 1 MedicationDispense. dosageInstruction.sequence 1 Exact transformation
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component1/ PORX_MT980040CA/ dosageInstruction/ text Take 12.5 mg PO at onset; may repeat once after 2 hours. Not to exceed 25 mg/day. This medication is intended to address Migraines at onset. If you experience Migraines for more than 10 days/month, consult your doctor. MedicationDispense. dosageInstruction.text Take 12.5 mg PO at onset; may repeat once after 2 hours. Not to exceed 25 mg/day. This medication is intended to address Migraines at onset. If you experience Migraines for more than 10 days/month, consult your doctor. Exact transformation
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component1/ PORX_MT980040CA/ dosageInstruction/ effectiveTime/ lowValue 20040101 MedicationDispense. dosageInstruction. timing.repeat.bounds.period.start 2004 -01 -01 Dashes were added
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component1/ PORX_MT980040CA/ dosageInstruction/ effectiveTime/ highValue 20040131 MedicationDispense. dosageInstruction. timing.repeat.bounds. period.end 2004-01-31 Dashes were added
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component1/ PORX_MT980040CA/ dosageInstruction/ approachSiteCode N/A MedicationDispense. dosageInstruction.site N/A No transformation performed because the value wasn't present in the example message (though it will likely be present in other messages where the dispensed drug is not taken orally and instead is administered to a Human Substance Administration Site (like left forearm)
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component1/ PORX_MT980040CA/ dosageInstruction/ routeCode 3 MedicationDispense. dosageInstruction.route 3 Pulled over the code value of "3" and created a system url (fake) based on the gCRT OID used. No human-readable description could be found to describe the code (critical to providing meaning to viewers) =
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component1/ PORX_MT980040CA/ dosageInstruction/ component2/ dosageLine/ doseQuantity/ value 6.25 MedicationDispense. dosageInstruction. doseAndRate. doseQuantity.value 6.25 Exact transformation. The FHIR profile supports both Range and SimpleQuantity data types, whereas the CeRX dosageLine/doseQuantity supports a URG <PQ.DRUG> data type. The value in CeRX example message was appropriately converted into simple quantity (6.25mg)
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component1/ PORX_MT980040CA/ dosageInstruction/ component2/ dosageLine/ doseQuantity/ unit mg MedicationDispense. dosageInstruction. doseAndRate. doseQuantity.unit mg See above
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component1/ PORX_MT980040CA/ dosageInstruction/ component2/ dosageLine/ rateQuantity N/A MedicationDispense. dosageInstruction. doseAndRate .rateRatio N/A No transformation performed because the value wasn't present in the example message (though it will likely be present in other messages where the dispensed drug is administered intravenously or through a route that requires a single dose to be administered over time - like flow rate).
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component1/ PORX_MT980040CA/ dosageInstruction/ maxDoseQuantity/ numeratorValue 25 MedicationDispense. dosageInstruction. maxDosePerPeriod. numeratorValue 25 Exact transformation
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component1/ PORX_MT980040CA/ dosageInstruction/ maxDoseQuantity/ numeratorUnit mg MedicationDispense. dosageInstruction. maxDosePerPeriod. numeratorUnit mg Exact transformation
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component1/ PORX_MT980040CA/ dosageInstruction/ maxDoseQuantity/ denominatorValue 1 MedicationDispense. dosageInstruction. maxDosePerPeriod. denominatorValue 1 Exact transformation
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component1/ PORX_MT980040CA/ dosageInstruction/ maxDoseQuantity/ denominatorUnit day MedicationDispense. dosageInstruction. maxDosePerPeriod. denominatorUnit day Exact transformation
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component2/ substitutionMade/ code N MedicationDispense. substitution.type N Exact transformation, same value set V3 Value Set Act Substance Admin Substitution Code
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component2 / substitutionMade/ reasonCode OS MedicationDispense. substitution.reason OS Exact transformation, same value set V3 Substance Admin Substitution Reason
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ component2/ substitutionMade/ responsibleParty/ agent/ id 2356 MedicationDispense.substitution. responsibleParty Practitioner/ 2356 Given that design for how providers could be identified across jurisdictions, the conversion assumes a reference to the practitioner resource exists locally on the DIS server. Pointers to the Medical Society License Number or Pharmacy license number would be found within the practitioner resource.
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ subjectOf2/ PORX_MT980030CA/ detectedIssueEvent/ statusCode active MedicationDispense. detectedIssue.status N/A (conformance issue) or "unknown" No lossless transformation could be performed, for two reasons: 1) "active" value pulled from the PEI example message is not a recognized value in the required detectedIssue status value set (ObservationStatus), 2) the "active" is also not conformant to the CeRX standard which requires a fixed code of "completed" for dectectedIssue status. Because detectedIssue.status is a required field, One method of addressing is to have the converter hard-code any values not part of the required value set (ObservationStatus) to "unknown"
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ subjectOf2/ PORX_MT980030CA/ detectedIssueEvent/ text The patient has an intolerance to iron oxide found in Almotriptan malate 6.25mg MedicationDispense. detectedIssue.detail The patient has an intolerance to iron oxide found in Almotriptan malate 6.25mg Exact transformation
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ subjectOf2/ PORX_MT980030CA/ detectedIssueEvent/ mitigatedBy/ detectedIssueManagement/ code 5 MedicationDispense.detectedIssue. mitigation.action 5 Exact transformation
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ subjectOf2/ PORX_MT980030CA/ detectedIssueEvent/ mitigatedBy/ detectedIssueManagement / author/ time 20031201100101 MedicationDispense.detectedIssue. mitigation.date 2003-12-01T10:01:01-03:00 Dashes, T, colons, and time zone added to be conformant with the DateTime Data Type (since hours and minutes were known). We had to add a timezone to the example message from PEI, even though it should've been included for conformance to TS.FULLDATETIME
PORX_IN060220CA/ PORX_MT060090CA/ medicationDispense/ subjectOf2/ PORX_MT980030CA/ detectedIssueEvent/ mitigatedBy / detectedIssueManagement/ author/ assignedPerson/ id 555555 MedicationDispense. detectedIssue. mitigation.author Practitioner /555555 (Tech Timmy) Given that design for how providers could be identified across jurisdictions, the conversion assumes a reference to the practitioner resource exists locally on the DIS server. Pointers to the Medical Society License Number or Pharmacy license number would be found within the practitioner resource.