MedicationStatement CeRX <--> FHIR Considerations

CeRX Element CeRX Element Value Lossless CeRX-> FHIR Considerations Lossless FHIR-> CeRX Considerations
PORX_IN060400CA/ PORX_MT060190CA/ medicationRecord/ combinedMedicationRequest/ id 123456789 Conversion between CeRX -> FHIR is less complicated, particularly if it's updating or creating a local FHIR resource. However, given the possibility of duplicative values when considering multiple identifierSystems (jurisdictional DIS), it's recommended to also include IdentifierType (JHN) and identifierSystem in the FHIR element. URLs for the DIS systems should be used and matched to the OID present in the sender/device/id of the CeRX (ex: 2.16.124.9.101.1.1) In order for the medication statement business identifier on a FHIR resource to always convert to the prescription order number present in combinedMedicationRequest/id… the source of the FHIR resource would need to ensure that the business identifier was globally unique and matched to the prescription that had already passed edits/validation from an EHR/DIS. It would need to conform to the II.BUS_AND_VER business and version data type
PORX_IN060400CA/ PORX_MT060190CA/ medicationRecord/ combinedMedicationRequest/ statusCode active The value "active" in CeRX and the value in FHIR are the same, lossless in this example The value "active" in CeRX and the value in FHIR are the same, lossless in this example
PORX_IN060400CA/ PORX_MT060190CA/ medicationRecord/ combinedMedicationRequest/ directTarget/ COCT_MT220110CA/ medication/ player/ codeSystem 2.16.840.1. 113883.5.1105 OIDs that DIS are using will need to be mapped to the correct code system (HC-DIN, CCDD, GTIN, etc.) in order to convert correctly into a system URL (OIDs not recommended in FHIR element). So long as the DIS uses the correct OIDs and the converter is informed of the correct code system URL, conversion should be lossless. Those FHIR code systems will also need to be populated with expected codes as well if code and display are expected to be supported. Lossless FHIR-> CeRX is only expected if the source of the FHIR resource ensures that the medication code/code system is one of the systems acknowledged in the ClinicalDrug value set identified by infoway. Any code system outside of (hc-AIGC, hc-AIGN, hc-DIN, hc-NPN, and OPINIONS) may not be supported given the CNE binding strength enforced by CeRX for medication codes/code systems
PORX_IN060400CA/ PORX_MT060190CA/ medicationRecord/ combinedMedicationRequest/ directTarget/ COCT_MT220110CA/ medication/ player/ code 628158 CeRX medication/player/code supports SNOMED CT(R) as well as translation between multiple code sets for drugs (e.g. DIN, GTIN, UPC). It's bound to use values from the ClinicalDrug DataSet. As long as the code maps to codes in the provided code system (OID) there shouldn't be an issue with lossless conversion into FHIR.
PORX_IN060400CA/ PORX_MT060190CA/ medicationRecord/ combinedMedicationRequest/ directTarget/ COCT_MT220110CA/ medication/ player/ text APO-AMOXI PWR FOR SUSP 250MG/5ML If text is present and correct as defined in the system (in this case HC DIN), there should be no issues with lossless semantic conversion from CeRX-> FHIR, if display string is not one identified by the known code system or the code system does not define text representations to display, the display element may not be populated in the FHIR output CeRX does not have the same constraints on text display matching the code system/code referenced (that FHIR has). So whatever is entered into medication code display will be converted into medication/player/description as unvalidated free-text, meaning conversion will be lossless but there may not be as many "checks" in place as there is for CeRX-> FHIR
PORX_IN060400CA/ PORX_MT060190CA/ medicationRecord/ combinedMedicationRequest/ subject/ COCT_MT050203CA/ patient/ id 12346 Conversion between CeRX -> FHIR is less complicated, particularly if it's updating or creating a local FHIR resource. Some concerns may arise if jurisdictional HCNs require additional version codes to reduce duplicate numbers in the same jurisdiction. Conversion between FHIR-> CeRX only works if both the source of the FHIR resource and the DIS all agree to use HCN as the business identifier. The CeRX specification notes that DIS can use unique identifiers assigned to a person by Federal, Provincial and Territorial jurisdiction. What identifiers jurisdictional DIS are using in production will be critically to understanding if FHIR-> CeRX for patient IDs is possible in reality
PORX_IN060400CA/ PORX_MT060190CA/ medicationRecord/ combinedMedicationRequest/ fulfillment2/ supplyEventFirstSummary/ effectiveTime 20060101 Conversion between CeRX -> FHIR is almost exact if CeRX only includes YYYYMMDD. There will need to be dashes added if MM and DD are present to conform to the DateTime FHIR format. Hours and minutes are not expected given the CeRX format IVL <TS.FULLDATE> only supports YYYYMMDD. Conversion between FHIR--> CeRX may require reformatting of the DateTime stamp to ensure conformance with the CeRX IVL <TS.FULLDATE> format of YYYYMMDD (changes include removal of dashes)
One potential but not semantically airtight mapping is PORX_IN060400CA/ MCCI_MT000300CA/ creationTime 2.00501E+13 Conversion between CeRX -> FHIR is almost exact if CeRX only includes YYYYMMDDHHMMSS+/-ZZZZ. There will need to be dashes , "T", colons, and potentially time zone added to conform to the DateTime FHIR format. Conversion between FHIR--> CeRX may require reformatting of the DateTime stamp to ensure conformance with the CeRX IVL <TS.FULLDATETIME> format of YYYYMMDDHHMMSS[.S[S[S[S]]]]+/-ZZZZ (changes include removal of dashes, colons, T)
PORX_IN060400CA/ PORX_MT060190CA/ medicationRecord/ combinedMedicationRequest/ author/ COCT_MT090107CA/ assignedPerson/ id 123456 Conversion between CeRX -> FHIR is less complicated, particularly if it's updating or creating or local FHIR resource. Some concerns may arise if in fringe cases whereas single provider could have more than one medical license numbers for the same jurisdiction but it's currently unclear whether that is a risk in any or all jurisdictions. The converter would also have to understand which OIDs used in the CeRX message are identifier systems for providers vs organizations. Conversion between FHIR-> CeRX only possible if the manager of the FHIR resource explicitly uses provincial medical license number as the business identifier and captures which jurisdictional system the medical license number is tied to (ex: so it doesn't unintentionally write a NB medical license number as the assigned personID in a CeRX message for a PEI DIS that assumes the medical license number is for PEI.
PORX_IN060400CA/ PORX_MT060190CA/ medicationRecord/ combinedMedicationRequest/ reason/ PORX_MT980050CA/ indications/ observationDiagnosis/ codeSystem 2.16.840.1. 113883.6.96 OIDs that DIS are using will need to be mapped to the correct code system (SNOMED, ICD-10) in order to convert correctly (OIDs not recommended in FHIR element). So long as the DIS use the correct OIDs and the converter is informed of the correct code system, conversion should be lossless. If the source of the FHIR resource uses a reason code that does not pull from the example binding (SNOMED & ICD 10) and instead references some other code system, it's likely that the converter will not know the appropriate OID for that value system and will not be able to populate the observationDiagnosis code system correctly and conformingly (requires codes from ICD 10 or SNOMED)
PORX_IN060400CA/ PORX_MT060190CA/ medicationRecord/ combinedMedicationRequest/ reason/ PORX_MT980050CA/ indications/ observationDiagnosis/ value 194290005 If a code is present in the CeRX message, it will always map to either SNOMED or ICD 10 value sets and will have be converted losslessly to the FHIR equivalent If the source of the FHIR resource uses a reason code that does not pull from the example binding (SNOMED & ICD 10) and instead references some other code system, it's likely that the converted end product will require ObservationDiagnosis/code to be fixed to "DX" and the ObservationDiagnosis/value to be empty if its not a SNOMED or ICD 10 code (CNE Binding strength in CeRX prohibits use of any value sets outside of those two, without a formal Request For Change in place).
PORX_IN060400CA/ PORX_MT060190CA/ medicationRecord/ combinedMedicationRequest/ reason/ PORX_MT980050CA/ indications/ observationDiagnosis/ text Acute bilateral otitis media (disorder) If text is present and correct as defined in the system (in this case SNOMED), there should be no issues with lossless semantic conversion from CeRX-> FHIR, if display string is not one identified by the known code system or the code system does not define text representations to display, the display element may not be populated in the FHIR output CeRX does not have the same constraints on text display matching the code system/code referenced. So whatever is entered into reason code display will be converted into ObservationDiagnosis/text as unvalidated free-text, meaning conversion will be lossless but there may not be as many "checks" in place as there is for CeRX-> FHIR
PORX_IN060400CA/ PORX_MT060190CA/ medicationRecord/ combinedMedicationRequest/ component1/ administrationInstructions/ text Take 5 mL three times daily until finished. dosageText allows for free-text entry so conversion is expected to be lossless. The dosage text from administration instructions was converted into DosageText for the FHIR Resource. No other structured dosage information (method, site, dosage over time) was present in the example message So long as it doesn’t exceed 2000 characters, conversion of FHIR dosageText to CeRX administration Instructions should be lossless. One design consideration is for FHIR-> CeRX conversion is handling multiple dosage instruction lines when they arise. CeRX has a 1 cardinality for administrative instructions whereas FHIR allows multiple dosage elements that can be separated by dosage sequence integers (may need to be combined into one administration instruction upon conversion)