Exercise - Create data maps for Dataverse Healthcare APIs
In the previous exercises, you constructed the Dataverse tables, columns, and relationships that represent a relational version of the ServiceRequest Fast Healthcare Interoperability Resource (FHIR) resource. The exercise includes the expansion tables and multi-table lookups.
The next step is to create data maps for the new tables so that they're made available to the Dataverse Healthcare APIs, the tool for data ingestion into the Healthcare data model for Dataverse. The Dataverse Healthcare APIs is a custom API accessible from your instance that accepts FHIR bundles for data ingestion into Dataverse.
In this exercise, you create new data maps, providing the rules for ingesting FHIR bundles into your new tables.
Prerequisites
You need to meet the following prerequisites:
Microsoft Cloud for Healthcare trial with the Data integration toolkit is installed.
Sample Data is deployed in your instance.
Access to the developer tools that allow you to call the REST API endpoints.
System Administrator rights are granted for the user on a Microsoft Dataverse instance. For more information, see Microsoft Cloud for Healthcare training environment preparation.
Entity and attribute maps
The rules for transforming FHIR resources into Dataverse are included in the Data Integration Toolkit as editable records. These records map FHIR resources to Dataverse tables as Entity map records. For each Entity map, there's a series of related attribute map records that capture the individual FHIR resource element values.
The Data Integration Toolkit provides a large number of existing Entity and Attribute maps, however as the Service Request tables are new, you need to create extra maps. For more information on Entity and Attribute maps, see Manage FHIR data using data integration toolkit. For details and examples on the process to create Entity and Attribute maps, see Configure entity maps and Configure attribute maps.
Create entity maps
You can create new Entity maps for the Service Request and related expansion tables as follows:
Sign in to your Dataverse instance and open the Data Integration Toolkit application.
In the left navigation, select Map Setup > Entity Maps.
Select New from the toolbar.
In the New Update Service Entity Map page, enter the following details:
Property Value Disable No Enable Write Back to FHIR No EntityName Service Request (fhir_servicerequest) Azure FHIR Resource ServiceRequest Expand No Select Save & Close.
Select New from the toolbar.
In the New Update Service Entity Map page, fill in the following details:
Property Value Disable No Enable Write Back to FHIR No EntityName Service Request Replaces (fhir_servicerequestreplaces) Azure FHIR Resource ServiceRequest Expand Yes Parent Link Attribute Service Request (fhir_servicerequestid) Select Save & Close.
Similarly add the following entity maps by repeating steps 6 to 8.
Service Request Category
Property Value Disable No Enable Write Back to FHIR No EntityName Service Request Category (fhir_servicerequestcategory) Azure FHIR Resource ServiceRequest Expand Yes Parent Link Attribute Service Request (fhir_servicerequestid) Service Request Location Code
Property Value Disable No Enable Write Back to FHIR No EntityName Service Request Location Code (fhir_servicerequestlocationcode) Azure FHIR Resource ServiceRequest Expand Yes Parent Link Attribute Service Request (fhir_servicerequestid) Service Request Location Reference
Property Value Disable No Enable Write Back to FHIR No EntityName Service Request Location Reference (fhir_servicerequestlocationreference) Azure FHIR Resource ServiceRequest Expand Yes Parent Link Attribute Service Request (fhir_servicerequestid) Service Request Reason Code
Property Value Disable No Enable Write Back to FHIR No EntityName Service Request Reason Code (fhir_servicerequestreasoncode) Azure FHIR Resource ServiceRequest Expand Yes Parent Link Attribute Service Request (fhir_servicerequestid) Identifier
Property Value Disable No Enable Write Back to FHIR No EntityName Identifier (msemr_identifier) Azure FHIR Resource ServiceRequest Expand Yes Parent Link Attribute Parent Resource (msemr_parentresourceid) Verify that you created a new Entity map for the Service Request table and related Expansion tables.
You created all the entity maps that align the FHIR resource and its child elements with the Dataverse tables. Next you can begin adding the related Attribute maps.
Create attribute maps
In this section, you create the individual attribute maps for the new entity maps. This means creating a map for each Dataverse table column or related expansion map.
The underlying Dataverse metadata mostly drives the attribute map information collected. The available values in the form inputs are based on the related entity map and some fields are auto populated based on the selected column details. For example, you're able to select the column from a list of columns for the related entity map table and when selected, the Configuration Details section details are auto populated.
However, a critical piece of each Attribute map is the FHIR Element Map column. You provide a JSON snippet containing details on how to select the value from the FHIR JSON as it is being transformed. This JSON snippet uses JPath to selectively retrieve values from the FHIR JSON elements.
More details and examples on this syntax and other Attribute metadata settings can be found in the article Configure attribute maps: FHIR element map and examples can be found at Attribute map examples.
Service Request
Standard Attribute Maps
In the left navigation, select Map Setup > Entity Maps.
Open the entity map for fhir_servicerequest.
In the Related Attribute Maps section, select New Update Service Attribute Map from the subgrid toolbar.
In the New Update Service Attribute Map page, fill in the following details:
Property Value Disable No FHIR Required Attribute Yes Attribute Name Azure FHIR ID Action Type Copy Data FHIR Element Map { "s":"$.id" } FHIR Element Type string Select Save & Close.
Similarly add the following service attribute maps.
Property Value Disable No FHIR Required Attribute Yes Attribute Name Encounter (fhir_encounter) Action Type FK Reference FHIR Element Map {"s":"$.encounter.reference","c":{"p":"encounter","a":[{"reference":"%%%"},{"type":"%%"}]}} FHIR Element Type string Repeat these steps for the following Service Request columns. For each Attribute Map in list, assume:
Property Value Disable No Action Type Copy Data FHIR Element Type string FHIR Required Attribute Attribute Name FHIR Element Map Yes Azure FHIR Last Updated On {"s":"$.meta.lastUpdated"} Yes Azure FHIR Version {"s":"$.meta.versionId"} No Do Not Perform {"s":"$.doNotPerform"} No Authored On {"s":"$.authoredOn"} No Patient Instruction {"s":"$.patientInstruction"} No As Needed Boolean {"s":"$. asNeededBoolean"} No Performer Type No Quantity Code {"s":"$.quantityQuantity.code","c":{"p":"quantityQuantity","a":[{"value":"x"},{"comparator":"x"},{"unit":"x"},{"system":"x"},{"code":"%"}]}} No Quantity Value {"s":"$.quantityQuantity.value","c":{"p":"quantityQuantity","a":[{"value":"%"},{"comparator":"x"},{"unit":"x"},{"system":"x"},{"code":"x"}]}} No Quantity Comparator {"s":"$.quantityQuantity.comparator","c":{"p":"quantityQuantity","a":[{"value":"x"},{"comparator":"%"},{"unit":"x"},{"system":"x"},{"code":"x"}]}} No Quantity Unit {"s":"$.quantityQuantity.unit","c":{"p":"quantityQuantity","a":[{"value":"x"},{"comparator":"x"},{"unit":"%"},{"system":"x"},{"code":"x"}]}} No Quantity Uri {"s":"$.quantityQuantity.system","c":{"p":"quantityQuantity","a":[{"value":"x"},{"comparator":"x"},{"unit":"x"},{"system":"%"},{"code":"x"}]}} No Quantity Ratio Numerator Code {"s":"$.quantityRatio.numerator.code","c":{"p":"quantityRatio.numerator","a":[{"value":"x"},{"comparator":"x"},{"unit":"x"},{"system":"x"},{"code":"%"}]}} No Quantity Ratio Numerator Value {"s":"$.quantityRatio.numerator.value","c":{"p":"quantityRatio.numerator","a":[{"value":"%"},{"comparator":"x"},{"unit":"x"},{"system":"x"},{"code":"x"}]}} No Quantity Ratio Numerator Comparator {"s":"$.quantityRatio.numerator.comparator","c":{"p":"quantityRatio.numerator","a":[{"value":"x"},{"comparator":"%"},{"unit":"x"},{"system":"x"},{"code":"x"}]}} No Quantity Ratio Numerator Unit {"s":"$.quantityRatio.numerator.unit","c":{"p":"quantityRatio.numerator","a":[{"value":"x"},{"comparator":"x"},{"unit":"%"},{"system":"x"},{"code":"x"}]}} No Quantity Ratio Numerator Uri {"s":"$.quantityRatio.numerator.system","c":{"p":"quantityRatio.numerator","a":[{"value":"x"},{"comparator":"x"},{"unit":"x"},{"system":"%"},{"code":"x"}]}} No Quantity Ratio Denominator Code {"s":"$.quantityRatio.denominator.code","c":{"p":"quantityRatio.denominator","a":[{"value":"x"},{"comparator":"x"},{"unit":"x"},{"system":"x"},{"code":"%"}]}} No Quantity Ratio Denominator Value {"s":"$.quantityRatio.denominator.value","c":{"p":"quantityRatio.denominator","a":[{"value":"%"},{"comparator":"x"},{"unit":"x"},{"system":"x"},{"code":"x"}]}} No Quantity Ratio Denominator Comparator {"s":"$.quantityRatio.denominator.comparator","c":{"p":"quantityRatio.denominator","a":[{"value":"x"},{"comparator":"%"},{"unit":"x"},{"system":"x"},{"code":"x"}]}} No Quantity Ratio Denominator Unit {"s":"$.quantityRatio.denominator.unit","c":{"p":"quantityRatio.denominator","a":[{"value":"x"},{"comparator":"x"},{"unit":"%"},{"system":"x"},{"code":"x"}]}} No Quantity Ratio Denominator Uri {"s":"$.quantityRatio.denominator.system","c":{"p":"quantityRatio.denominator","a":[{"value":"x"},{"comparator":"x"},{"unit":"x"},{"system":"%"},{"code":"x"}]}} No Quantity Range Low Value {"s":"$.quantityRange.low.value","c":{"p":"quantityRange.low","a":[{"value":"%"},{"unit":"x"},{"system":"x"},{"code":"x"}]}} No Quantity Range Low Unit {"s":"$.quantityRange.low.unit","c":{"p":"quantityRange.low","a":[{"value":"x"},{"unit":"%"},{"system":"x"},{"code":"x"}]}}
Attribute maps for Lookup columns that reference Codeable
FHIR Required Attribute | Attribute Name | FHIR Element Map |
---|---|---|
No | Quantity Range Low Uri | {"s":"$.quantityRange.low.system","c":{"p":"quantityRange.low","a":[{"value":"x"},{"unit":"x"},{"system":"%"},{"code":"x"}]}} |
No | Quantity Range Low Code | {"s":"$.quantityRange.low.code","c":{"p":"quantityRange.low","a":[{"value":"x"},{"unit":"x"},{"system":"x"},{"code":"%"}]}} |
No | Quantity Range High Value | {"s":"$.quantityRange.high.value","c":{"p":"quantityRange.high","a":[{"value":"%"},{"unit":"x"},{"system":"x"},{"code":"x"}]}} |
No | Quantity Range High Unit | {"s":"$.quantityRange.high.unit","c":{"p":"quantityRange.high","a":[{"value":"x"},{"unit":"%"},{"system":"x"},{"code":"x"}]}} |
No | Quantity Range High Uri | {"s":"$.quantityRange.high.system","c":{"p":"quantityRange.high","a":[{"value":"x"},{"unit":"x"},{"system":"%"},{"code":"x"}]}} |
No | Quantity Range High Code | {"s":"$.quantityRange.high.code","c":{"p":"quantityRange.high","a":[{"value":"x"},{"unit":"x"},{"system":"x"},{"code":"%"}]}} |
Codeable Concept Attribute Maps
Concepts require an extra step to the standard Lookup maps. You need to select the related Codeable Concept Type value. This value is derived from the global Choice named Codeable Concept Types.
In the Related Attribute Maps section, select New Update Service Attribute Map from the subgrid toolbar.
In the New Update Service Attribute Map page, fill in the following details:
Property Value Disable No FHIR Required Attribute No Attribute Name As Needed Codeable Concept (fhir_asneededcodeableconcept) Action Type FK Reference FHIR Element Map {"s": "$.asNeededCodeableConcept.coding[0].code", "c": {"p": "asNeededCodeableConcept.coding[0]", "a": [{"system": "http://snomed.info/sct"}, {"code": "%"}]} } FHIR Element Type string Codeable Concept Type Service Request As Needed Select Save & Close.
Similarly add the attribute map for the following attribute map:
Performer Type
Property Value Disable No FHIR Required Attribute No Attribute Name Code (fhir_code) Action Type FK Reference FHIR Element Map {"s": "$.code.coding[0].code", "c": {"p": "code.coding[0]", "a": [{"system": "http://snomed.info/sct"}, {"code": "%"}]} } FHIR Element Type string Codeable Concept Type Procedure Code
Choice Attribute Maps
Service Request columns with data type as Choice require extra steps to set up the attribute value maps. Attribute value maps are records related to an attribute map that maps each inbound value to a corresponding choice value. For example, the Comparator data type in FHIR includes the possible values of <,<=,>=,and >, all of which are represented by a Choice value.
Once you save the new Attribute map record, you enter the related Attribute value map records. The Data Integration Toolkit created a new attribute value map record for each possible value in the choice reference by the column.
In the Related Attribute Maps section, select New Update Service Attribute Map from the subgrid toolbar.
In the New Update Service Attribute Map page, enter the following details:
Property Value Disable No FHIR Required Attribute No Attribute Name Encounter (fhir_encounter) Action Type Copy Data FHIR Element Map {"s":"$.quantityQuantity.comparator","c":{"p":"quantityQuantity","a":[{"value":"x"},{"comparator":"%"},{"unit":"x"},{"system":"x"},{"code":"x"}]}} FHIR Element Type string Select Save.
Once saved, a new set of Attribute value map records is available in the Value Maps section.
In the Value Maps section, enter the following values for each Attribute value map Attribute FHIR Value column. These values are included in the FHIR resource JSON.
Note
The Value column depends on the prefix you select when you set up your Publisher, and the labels depend on how you decide to represent the Choice label.
OptionSet Label Attribute FHIR Value < < <= <= >= >= > > Repeat these steps for the remaining Choice attribute maps.
FHIR Required Attribute Attribute Name FHIR Element Map No Quantity Ratio Numerator Comparator {"s":"$.quantityRatio.numerator.comparator","c":{"p":"quantityRatio.numerator","a":[{"value":"x"},{"comparator":"%"},{"unit":"x"},{"system":"x"},{"code":"x"}]}} OptionSet Label Attribute FHIR Value < < <= <= >= >= > > FHIR Required Attribute Attribute Name FHIR Element Map No Quantity Ratio Denominator Comparator {"s":"$.quantityRatio.denominator.comparator","c":{"p":"quantityRatio.denominator","a":[{"value":"x"},{"comparator":"%"},{"unit":"x"},{"system":"x"},{"code":"x"}]}} OptionSet Label Attribute FHIR Value < < <= <= >= >= > > FHIR Required Attribute Attribute Name FHIR Element Map No Quantity Ratio Denominator Comparator {"s":"$.quantityRatio.denominator.comparator","c":{"p":"quantityRatio.denominator","a":[{"value":"x"},{"comparator":"%"},{"unit":"x"},{"system":"x"},{"code":"x"}]}} OptionSet Label Attribute FHIR Value < < <= <= >= >= > > FHIR Required Attribute Attribute Name FHIR Element Map Yes Status {"s":"$.status"} OptionSet Label Attribute FHIR Value Draft draft Active active On hold on-hold Revoked Revoked Completed Completed Entered in error entered-in-error Unknown Unknown FHIR Required Attribute Attribute Name FHIR Element Map Yes Intent {"s":"$.intent"} OptionSet Label Attribute FHIR Value Proposal proposal Plan plan Directive directive Order order Original order original-order Reflex order reflex-order Filler order filler-order Instance order instance-order Option option FHIR Required Attribute Attribute Name FHIR Element Map No Priority {"s":"$.priority"} OptionSet Label Attribute FHIR Value Routine routine Urgent urgent ASAP asap Stat stat
Multi-table Attribute Maps
Multi-table attribute maps are configured as Lookups. Because the lookups reference multiple tables, you must set up a new Attribute map for each option. For example, the Subject multi-table lookup references Contact, Location, Device, and Group.
When you create the new Attribute map select the lookup column for Attribute Name, you need the extra step to update the Configuration Details section to specify the correct Entity Reference and FHIR Resource Reference.
In the Related Attribute Maps section, select New Update Service Attribute Map from the subgrid toolbar.
In the New Update Service Attribute Map page, enter the following details:
Property Value Disable No FHIR Required Attribute Yes Attribute Name Subject (fhir_subject) Action Type FK Reference FHIR Element Map {"s":"$.subject.reference","c":{"p":"subject","a":[{"reference":"%%%"},{"type":"%%"}]}} FHIR Element Type string Configuration Details Entity Reference contact FHIR Resource Reference Patient Select Save.
Repeat these steps to add the following multi-table lookup columns.
Subject and Device
Property Value Disable No FHIR Required Attribute Yes Attribute Name Subject (fhir_subject) Action Type FK Reference FHIR Element Map {"s":"$.subject.reference","c":{"p":"subject","a":[{"reference":"%%%"},{"type":"%%"}]}} FHIR Element Type string Configuration Details Entity Reference msemr_device FHIR Resource Reference Device Subject and Group
Property Value Disable No FHIR Required Attribute Yes Attribute Name Subject (fhir_subject) Action Type FK Reference FHIR Element Map {"s":"$.subject.reference","c":{"p":"subject","a":[{"reference":"%%%"},{"type":"%%"}]}} FHIR Element Type string Configuration Details Entity Reference msemr_group FHIR Resource Reference Group Subject and Location
Property Value Disable No FHIR Required Attribute Yes Attribute Name Subject (fhir_subject) Action Type FK Reference FHIR Element Map {"s":"$.subject.reference","c":{"p":"subject","a":[{"reference":"%%%"},{"type":"%%"}]}} FHIR Element Type string Configuration Details Entity Reference msemr_location FHIR Resource Reference Location Requester and Device
Property Value Disable No FHIR Required Attribute Yes Attribute Name Requester (fhir_requester) Action Type FK Reference FHIR Element Map {"s":"$.subject.reference","c":{"p":"subject","a":[{"reference":"%%%"},{"type":"%%"}]}} FHIR Element Type string Configuration Details Entity Reference msemr_device FHIR Resource Reference Device Requester and Account
Property Value Disable No FHIR Required Attribute Yes Attribute Name Requester (fhir_requester) Action Type FK Reference FHIR Element Map {"s":"$.subject.reference","c":{"p":"subject","a":[{"reference":"%%%"},{"type":"%%"}]}} FHIR Element Type string Configuration Details Entity Reference account FHIR Resource Reference Organization Requester and Patient
Property Value Disable No FHIR Required Attribute Yes Attribute Name Requester (fhir_requester) Action Type FK Reference FHIR Element Map {"s":"$.subject.reference","c":{"p":"subject","a":[{"reference":"%%%"},{"type":"%%"}]}} FHIR Element Type string Configuration Details Entity Reference contact FHIR Resource Reference Patient Requester and Practitioner
Property Value Disable No FHIR Required Attribute Yes Attribute Name Requester (fhir_requester) Action Type FK Reference FHIR Element Map {"s":"$.subject.reference","c":{"p":"subject","a":[{"reference":"%%%"},{"type":"%%"}]}} FHIR Element Type string Configuration Details Entity Reference contact FHIR Resource Reference Practitioner Requester and PractitionerRole
Property Value Disable No FHIR Required Attribute Yes Attribute Name Requester (fhir_requester) Action Type FK Reference FHIR Element Map {"s":"$.subject.reference","c":{"p":"subject","a":[{"reference":"%%%"},{"type":"%%"}]}} FHIR Element Type string Configuration Details Entity Reference msemr_practitionerrole FHIR Resource Reference PractitionerRole Requester and RelatedPerson
Property Value Disable No FHIR Required Attribute Yes Attribute Name Requester (fhir_requester) Action Type FK Reference FHIR Element Map {"s":"$.subject.reference","c":{"p":"subject","a":[{"reference":"%%%"},{"type":"%%"}]}} FHIR Element Type string Configuration Details Entity Reference msemr_relatedperson FHIR Resource Reference RelatedPerson
Expansion Attribute Maps
Attribute maps for Expansion tables link a FHIR resource array element to their corresponding expansion tables in Dataverse. The Attribute maps require a slightly different configuration and FHIR Element Map value. Rather than a JSON snippet, the FHIR Element Map should contain the name of the FHIR element. For example, the expansion table Service Request Category represents the FHIR element replaces:
| replaces | Σ | 0..* | Reference(ServiceRequest) | What request replaces |
When you select the Attribute Name, select Not Applicable because the map represents a relationship rather than a column on the table.
In the Related Attribute Maps section, select New Update Service Attribute Map from the subgrid toolbar.
In the New Update Service Attribute Map page, enter the following details:
Property Value Disable No FHIR Required Attribute No Attribute Name Not Applicable Action Type Expand Expansion Entity Map fhir_servicerequestcategory <-> ServiceRequest FHIR Element Map category FHIR Element Type string Configuration Details Note: these values should be auto populated and read only Entity Name fhir_servicerequestcategory Azure FHIR Resource ServiceRequest Select Save.
Repeat these steps for the following Expansion maps.
Service Request Location Code
Property Value Disable No FHIR Required Attribute No Attribute Name Not Applicable Action Type Expand Expansion Entity Map fhir_servicerequestlocationcode <-> ServiceRequest FHIR Element Map locationCode FHIR Element Type string Configuration Details Note: These values should be auto populated and read only Entity Name fhir_servicerequestlocationcode Azure FHIR Resource ServiceRequest Service Request Location Reference
Property Value Disable No FHIR Required Attribute No Attribute Name Not Applicable Action Type Expand Expansion Entity Map fhir_servicerequestlocationreference <-> ServiceRequest FHIR Element Map locationReference FHIR Element Type string Configuration Details Note: These values should be auto populated and read only Entity Name fhir_servicerequestlocationreference Azure FHIR Resource ServiceRequest Service Request Reason Code
Property Value Disable No FHIR Required Attribute No Attribute Name Not Applicable Action Type Expand Expansion Entity Map fhir_servicerequestreasoncode <-> ServiceRequest FHIR Element Map reasonCode FHIR Element Type string Configuration Details Note: These values should be auto populated and read only Entity Name fhir_servicerequestreasoncode Azure FHIR Resource ServiceRequest Service Request Replaces
Property Value Disable No FHIR Required Attribute No Attribute Name Not Applicable Action Type Expand Expansion Entity Map fhir_servicerequestreplaces <-> ServiceRequest FHIR Element Map replaces FHIR Element Type string Configuration Details Note: These values should be auto populated and read only Entity Name fhir_servicerequestreplaces Azure FHIR Resource ServiceRequest
You must create all Attribute maps for the Service Request table and fhir_servicerequest Entity map.
Next you set up the Attribute maps for the Expansion maps.
Service Request Category
In the left navigation, select Map Setup > Entity Maps.
Open the Entity map for fhir_servicerequestcategory.
In the Related Attribute Maps section, select New Update Service Attribute Map from the subgrid toolbar.
Enter the following details.
Property Value Disable No FHIR Required Attribute Yes Attribute Name Category (fhir_category) Action Type FK Reference FHIR Element Map {"s": "$.coding[0].code", "c": {"p": "coding[0]", "a": [{"system": "http://snomed.info/sct"}, {"code": "%"}]} } FHIR Element Type string Codeable Concept Type Service Request Category Codes Used in Record Matching Yes Select Save.
Service Request Location Code
In the left navigation under Map Setup, select Entity Maps.
Open the Entity map for fhir_servicerequestcategory.
In the Related Attribute Maps section, select New Update Service Attribute Map from the subgrid toolbar.
In the New Update Service Attribute Map page, fill in the following details:
Property Value Disable No FHIR Required Attribute Yes Attribute Name As Needed Codeable Concept (fhir_asneededcodeableconcept) Action Type FK Reference FHIR Element Map {"s": "$.coding[0].code", "c": {"p": "coding[0]", "a": [{"system": "http://snomed.info/sct"}, {"code": "%"}]} } FHIR Element Type string Codeable Concept Type Service Delivery Location Role Type Used in Record Matching Yes Select Save.
Service Request Location Reference
In the left navigation under Map Setup, select Entity Maps.
Open the Entity map for fhir_servicerequestlocationreference.
In the Related Attribute Maps section, select New Update Service Attribute Map from the subgrid toolbar.
In the New Update Service Attribute Map page, fill in the following details:
Property Value Disable No FHIR Required Attribute Yes Attribute Name Location (msemr_location) Action Type FK Reference FHIR Element Map {"s":"$.reference","c":{"p":"$","a":[{"reference":"%"}]}} FHIR Element Type string Used in Record Matching Yes
Service Request Reason Code
In the left navigation under Map Setup, select Entity Maps.
Open the Entity map for fhir_servicerequestreasoncode.
In the Related Attribute Maps section, select New Update Service Attribute Map from the subgrid toolbar.
In the New Update Service Attribute Map page, fill in the following details:
Property Value Disable No FHIR Required Attribute Yes Attribute Name As Needed Codeable Concept (fhir_asneededcodeableconcept) Action Type FK Reference FHIR Element Map {"s": "$.coding[0].code", "c": {"p": "coding[0]", "a": [{"system": "http://snomed.info/sct"}, {"code": "%"}]} } FHIR Element Type string Codeable Concept Type Procedure Reason Code Used in Record Matching Yes
Service Request Replaces
In the left navigation under Map Setup, select Entity Maps.
Open the Entity map for fhir_servicerequestreplaces.
In the Related Attribute Maps section, select New Update Service Attribute Map from the subgrid toolbar.
In the New Update Service Attribute Map page, fill in the following details:
Property Value Disable No FHIR Required Attribute Yes Attribute Name Location (fhir_servicerequest) Action Type FK Reference FHIR Element Map {"s":"$.reference","c":{"p":"$","a":[{"reference":"%"}]}} FHIR Element Type string Used in Record Matching Yes
Identifier
In the left navigation under Map Setup, select Entity Maps.
Open the Entity map for msemr_identifier with Azure FHIR resource selection of ServiceRequest.
In the Related Attribute Maps section, select New Update Service Attribute Map from the subgrid toolbar.
In the New Update Service Attribute Map page, fill in the following details:
Property Value Disable No FHIR Required Attribute No Attribute Name msemr_use Attribute Type Picklist FHIR Element Map {"s":"$.use"} FHIR Element Type string Used in Record Matching No Action Type Mapped Value Repeat the steps for the following Attribute maps.
Property Value Disable No FHIR Required Attribute No Attribute Name msemr_type Attribute Type Lookup FHIR Element Map {"s":"$.type.coding[0].code", "c":{"p":"type.coding[0]", "a":[{"system":"http://terminology.hl7.org/CodeSystem/v2-0203"}, {"code":"%"}]}} FHIR Element Type string Used in Record Matching No Action Type Codeable Concept Property Value Disable No FHIR Required Attribute No Attribute Name msemr_system Attribute Type String FHIR Element Map {"s":"$.system"} FHIR Element Type string Used in Record Matching No Action Type Copy Data Property Value Disable No FHIR Required Attribute Yes Attribute Name msemr_value Attribute Type String FHIR Element Map {"s":"$.value"} FHIR Element Type string Used in Record Matching Yes Action Type Copy Data Property Value Disable No FHIR Required Attribute No Attribute Name msemr_periodstart Attribute Type DateTime FHIR Element Map {"s":"$.period.start", "c":{"p":"period","a":[{"start":"%"},{"end":"x"}]}} EFHIR Element Type string Used in Record Matching No Action Type Copy Data Property Value Disable No FHIR Required Attribute No Attribute Name msemr_periodend Attribute Type DateTime FHIR Element Map {"s":"$.period.end", "c":{"p":"period","a":[{"start":"x"},{"end":"%"}]}} EFHIR Element Type string Used in Record Matching No Action Type Copy Data Property Value Disable No FHIR Required Attribute No Attribute Name msemr_assigner Attribute Type Lookup FHIR Element Map {"s":"$.assigner.reference", "c":{"p":"assigner", "a":[{"reference":"%%%"}, {"type":"%%"}]}} EFHIR Element Type string Used in Record Matching No Action Type FK Reference
Up Next
You updated the data model with the new Service Request tables and added Entity and Attribute maps to the environment. In the next exercise, you'll send sample FHIR messages to the Dataverse Healthcare APIs and test the updated data model and maps.