Service Oriented Architecture ModelBased Transformation Service Key Concepts
Service Oriented Architecture: Model-Based Transformation Service
Key Concepts Message Model - an information model or data model with sufficient detail to determine if a particular message conforms to the constraints of that model Message - a set of elements and associated variable values Model-Associations - lexical or rules-based mappings between elements in message models Element - an atomic unit of data with precise semantics
Interfaces to provide transformation of a source message into a target message. Includes administrative functions and transformation execution functions. Model Associations Source Message Model Target Message Model Transformation Engine Source Message Target Message
Model-based transformation chosen for architecture because it provides robust method for transformations, not because of architectural preference. Associations between message models provide for transformation of all messages conforming to that model. Model Associations Source Message Model Target Message Model
The term “message model” has implementation specific boundaries that are not considered in this functional specification. For example, HL 7 V 2 is a “message model, ” however for a specific implementation without a comprehensive HL 7 V 2 model available, the ADT message may represent a “message model. ”
MBTS Actors Transformation Service Executioner - person or program that performs model transformations and model comparisons, among other activities Transformation Service Administrator - person responsible for ensuring the availability and overall maintenance of the transformation service Transformation-Enabled Application Developer - actor that develops software that make explicit use of model transformations
Business Scenarios Administrator Scenarios Search/Query Scenarios Execution Scenarios Import Model Content - add models or model-associations to the model store for transformation Retrieve Available Models Perform message transformation - invoke transformation service to transform the data in a source message into a target message Remove Model Content - remove models or model-associations from the model store Modify Content Status - activate or inactivate model for transformation service use Retrieve Model-Associations - perform gap analysis and reveal model-element equivalences Retrieve Model Elements from Model Confirm Model Element in Model
Interface Summary: Administration - the ability to manage resources in a transformation service. ● import ● metadata updates ● remove ● search/query Service use - the ability to transform a source message into a target message ● search/query ● transform ● conformance testing?
Out of scope ● model-association (map) creation, editing ● access control ● terminology (vocabulary) transformation Other HSSP services complement out of scope functions: ● CTS 2 - terminology transformations ● PASS - access control
Use Case: Opioid Prescribing Guidelines CDS A joint effort by the CDC and the ONC to develop “standardized, shareable, computable decision support artifacts using the CDC Opioid Prescribing Guideline as a model case. ”
Opioid Prescription Story Board Joe Veteran is referred by Dr. Primary to Dr. Feelgood for treatment of chronic pain. Dr. Feelgood's practice receives Joe V. records from Dr. Primary in CCD form. At the office visit, Dr. Feelgood prescribes Joe V. extended release opioids with ambulatory abuse potential. The CDS Service associated with Dr. Feelgood’s EHR queries for Joe V records, finds CCD records, and requests transform from CCD to o FHIR resources, then uses CDS Hooks service in conjuction with data in FHIR resource form, including transformed historical data. Use Case Actors Joe Veteran - clinical information leading to prescription and context for CDS Hooks Service Dr. Feelgood - clinical decision maker EHR - calls transformation service and CDS Hooks service FHIR Server - Stores information for CDS Hools Service CDS Hooks Service - executes CDS Transformation Service – tranforms CCD records into FHIR Resources
Potential Workflow Scenario 1 Patient History In CCD Transformation Service Patient Record in FHIR Resource
Potential Workflow Scenario 2 Transformation Service Patient Data In CCD Patient Data In FHIR
Key FHIR Requirements for CDS Hooks Service Medication. Request. id Medication. Request. status = active Medication. Request. intent = order Medication. Request. category = outpatient Medication. Request. authored. On Medication. Request. effective. Period. start Medication. Request. effective. Period. end Medication. Request. medication. Codeable. Concept Medication. Request. dosage. Instruction. timing. repeat. frequency Medication. Request. dosage. Instruction. timing. repeat. period. Unit Medication. Request. dosage. Instruction. dose. And. Rate. dose. Quantity Medication. Request. dosage. Instruction. dose. And. Rate. rate. Quantity Medication. Request. dosage. Instruction. max. Dose. Per. Administration Medication. Request. dispense. Request. validity. Period Medication. Request. dispense. Request. number. Of. Repeats. Allowed Medication. Request. dispense. Request. expected. Supply. Duration
Mapping Highlights of CDA to FHIR CCD Medication Activity Excerpt <substance. Administration class. Code="SBADM" mood. Code="EVN"> <template. Id root="2. 16. 840. 1. 113883. 10. 22. 4. 16" extension="2014 -06 -09"/> <id root="4 e 467 c 60 -a 173 -0135 -6 cb 6 -60 f 81 dc 2 d 82 a"/> <status. Code code="completed"/> <effective. Time xsi: type="IVL_TS"> <low value='20110519030915'/> <high null. Flavor="UNK"/> </effective. Time> <effective. Time xsi: type="PIVL_TS" institution. Specified="true" operator="A"> <period value="3" unit="d"/> </effective. Time> <repeat. Number value="3"/> <dose. Quantity value="1" unit=”patch”/> <rate. Quantity value="1"/> <consumable> FHIR Mapping dosage. Instruction. timing. repeat. frequency dosage. Instruction. timing. repeat. period dosage. Instruction. timing. repeat. unit dosage. Instruction. dose. Quantity. value dosage. Instruction. dose. Quantity. unit dispense. Request. number. Of. Repeats. Allowed
Unorthodox Mappings / Inconsistencies CCD Medication Activity Entry FHIR Mapping <entry> <substance. Administration class. Code="SBADM" mood. Code="EVN"> Medication. Request. status = active <template. Id root="2. 16. 840. 1. 113883. 10. 22. 4. 16" extension="2014 -06 -09"/> <id root="4 e 467 c 60 -a 173 -0135 -6 cb 6 -60 f 81 dc 2 d 82 a"/> Medication. Request. intent = order <status. Code code="completed"/> <effective. Time xsi: type="IVL_TS"> Medication. Request. category = outpatient? <low value='20110519030915'/> <high null. Flavor="UNK"/> <effective. Time xsi: type="PIVL_TS" institution. Specified="true" operator="A"> <period value="3" unit="d"/> </effective. Time> <repeat. Number value="3"/> mood. Code = “EVN” derived from C-CDA documentation: <dose. Quantity value="1"/> “Ambulatory medication lists generally provide a summary of use for a <rate. Quantity value=“ 1”/> given medication over time – a medication activity in event mood with the duration reflecting when the medication started and stopped. “
Looking Away from Planned Medication Activity ● “[I]t it is recommended that the Planned Medication Activity (V 2) template be used for mood. Codes other than EVN if the document type contains a section that includes Planned Medication Activity (V 2) …. ” ● However, Planned Medication Activity template does not include guidance on use of effective. Time to represent dose frequency. ● Furthermore, available samples (admittedly, synthetic) do not have structured entries in the Plan of Treatment section.
Mapping Resolution Proposals Medication. Request. status = active SET if Medication. Activity/Medication. Supply. Order/status. Code=”active” Medication. Request. intent = order SET if Medication. Activity/Medication. Supply. Order/mood. Code = “RQO” Medication. Request. category = outpatient UNRESOLVED - Should be based on Encounter. Activity. code but uncertain of availability of reference between Medication Activity and Encounter Activity to support mapping.
- Slides: 18