Attendees (Monday): Kathy Walsh, Hans Buitendijk, Ralf Herzog, Yanick Gaudet, Shamil Nizamov, Maidul Islam
Attendees (Thursday): Kathy Walsh, Hans Buitendijk, Yanick Gaudet,
Since we concluded a pass through all spreadsheet comments, we will adjust our priorities for the next meetings as follows:
- Monday:
- Priority 1 - Review updates to spreadsheets and text to ensure they were applied correctly. Start with Zulip questions.
- Priority 2 - New components
- Thursday
- Priority 1 - Review sample data and data validations
- Priority 2 - Review updates to spreadsheets and text to ensure they were applied correctly.
- Priority 3 - New components
- Once all updates are applied from notes and ballot reconciliation, we are ready for ballot and only will further include new efforts if they were complete.
Review Topics
- JIRAs against v2-to-FHIR
- V2-5
- See vote.
- Hans to put note in gitHub to apply.
- Micro/Reflex/Add-On/Follow-Up
- Slides
- Approved
- Will address after cleanup of all the notes.
- Extensions:
- Create a local IG extension for OBX-4 Sub Id equivalent after OO agreement.
- Create definition and forward to JD Nolen and Rob Hausam and see whether JD can do this one as his first on his own.
- Apply https://jira.hl7.org/browse/FHIR-31615 on RelatedPerson and Patient maps
- Create new JIRA for https://jira.hl7.org/browse/FHIR-33035 to FHIR US Core
- Create a local IG extension for OBX-4 Sub Id equivalent after OO agreement.
- Sample Messages
- Hans to check Robert's spreadsheet summary row 16 and look for patterns in the detailed tab related to that summary row.
- We have an issue that the base messages we have are often themselves not compliant with the base standard
- This creates extra work to fix these up before we can even test transformations to FHIR
- This will be a problem for implementations too as the incoming "real" messages coming into the transformation engine will need to be valid in order to get appropriate transformations
- Is this represented in the IG as an implementation consideration?
- This will be a problem for implementations too as the incoming "real" messages coming into the transformation engine will need to be valid in order to get appropriate transformations
- Possible v2 validation tools:
- This creates extra work to fix these up before we can even test transformations to FHIR
- Working version of the robust ADT message we are constructing
- Work ADT message Current
- Need a value in Table 0396 to reference this the TribalUS Entity code system.
- For PA need to raise the question whether the old nationality and current tribal citizenship are effectively similar enough to have one attribute that can capture both, e.g., in Spain with the Basques and Catalans, vs. US with Chinook, Navajo, etc. (higher level than villages/communities).
- Sample Message ADT^A01^ADT_A01 - 001
- Sample Message OML^O21^OML_O21
- Check out IN1-31 when set to workman's comp whether IN1-49 or IN1-10 is used.
- Start Zulip to ask whether DG1-22 Parent Diagnosis (get definition) best maps to condition-dueTo (get definition)_.
- Work ADT message Current
- Validation Tools
- Slides discussed by Robert Worden: https://confluence.hl7.org/download/attachments/20022006/Transform%20Converter.pptx?api=v2
- Publication
- Keith Boone has made some progress on automating the conversion of the spreadsheets to the build.fhir.org site
- Waiting to have an issue fixed in the build.
- Keith Boone has made some progress on automating the conversion of the spreadsheets to the build.fhir.org site
- New Components
- ADT^A04^ADT_A01
- We need to check on Zulip whether we have examples where PV1-02 on an ADT^A01 is valued "preadmit" and on an ADT^A04 is not valued as a preadmit. This may indicate that the trigger event needs to be considered for additional logic on PV1. May impact PV1-3 as well. Clarify in IG that a v2 segment always yields a new FHIR resource instance for each segment instance.
- We need to remove all comments that indicate something yields multiple entries if the v2 side already indicates that in its cardinality. Will need to update IG with that clarity. Only if multiple v2 instances should yield one FHIR resource instance will we make that comment (the exception, and has not happened yet). Otherwise, the [n] notation will still manage it.
- Check with Kathleen Connor / John Moehrke whether FHIR supports attribute level security tags as ARV does.
- ADT^A02^ADT_A02
- Compare and align with ADT_A01
- ADT^A13^ADT_A01
- Review once we have A03 to make sure there is nothing.
- ADT_A17
- Sajjad is going to validate whether it works.
- Agreed to indicate in the IG that we use message structure maps only until somebody indicates we have a use case where the event yields a separate map.
- ADT^A04^ADT_A01
- Message
- Need to map message trigger event in the message with Encounter.status for ADT messages.
- Segments
- ALL -
- Make sure where multiple care team instances are used for just the participant it uses a CareTeam.participant mapping with the right [n] is used for the additional participants.
- IN1-IN3
- IN1 is ready for FM to look at.
- IN3 has a mapping to CareTeam for IN3-21 Case Manager. Want to check with FM what resource or attribute it would likely go to considering it can repeat in some messages. Hans Buitendijk to check with FM. WAITING FOR FEEDBACK PUT ON ZULIP FOR OPINIONS
- MSH[Provenance-Source]
- MSH-3 and MSH-24 need to be mapped better.
- Ended up that MSH-3 always goes with .name, and if MSH-24 is not valued it would populate .endpoint as well.
- OBX[Observation]
- We need a OBX[Specimen] mapping to get the OBX-33 elements in the right place where Observation.specimen.id points to the correct Specimen and Specimen.identifier is populated with OBX-33.1 with .identifier.type= PLAC and OBX-33.2 and .identifier.type=FILL. WAITING FOR R5 BUILD TO BE UPDATED.
- Change OBX-18 EI[Identifier] to EI[Device] and add mapping table.
- PR1[Procedure]
- Procedure.status is required, but missing. Since there is no status on PR1, the status is unknown just based on the segment data. The message that it is used in may indicate what it is, but not unambiguously. Proposal to provide a narrative condition.
- PRT[RelatedPerson]
- Complete tehl ROL[CareTeam] map
- Do equivalent for PRT.
- Check that Table 0443 is extensible or not.
- PV1
- Move Physical Type to Encounter, not PL.
- Put into PL[Location] mapping the need to only include the leaf into the reference, and explain how to create the tree while the mapping table represents when all fields are valued to provide the standard full tree.
- Create PV1[CareTeam] mapping, probably with .participant. Check then that A17 and A06 still work for CareTeam mapping.
- RAS_O17
- Waiting for meeting with Scott Robertson
- SFT[Device]
- Waiting for Device.manufacturer to allow for a reference to Organization. This is only on DeviceDefinition, so would need to traverse to that.
- Based on FHIR-28938 - Add SoftwareSystem Device Profile TRIAGED will determine how to set Device to indicate this is about software. This is done through Device.type. Need to set mapping or provide guidance. May need to pre-adopt R5.
- SPM[Specimen]
- Need to clean up SPM-9 mapping if we want to have an extension
- We probably need to have a similar solution for SPM-4
- Agreed to create an extension. See spreadsheet.
- Need to clean up SPM-9 mapping if we want to have an extension
- ALL -
- General
- Do we need to replace attribute(Resoure.identifier) with just attribute.identifier when we only have an identifier and leave it to the receive to create a corresponding resource if needed?
- General
- Data Types
- HD/EI/EIP/CX.../
- For each of these ones, when certain components are not present the attribute or resource has not real value. What guidance should be provided to avoid this? Or should we just passe it on since that was in the v2 message to begin with.
- We will develop guidance that when certain combinations of components are not present or only present that the implementer has to consider whether to actually map the attribute or resource in play.
- CX[Identifier]
- FHIR-33066 - Identifier data type could use elements for check digits and assigning facility TRIAGED - FHIR-I
- Agreed/approved that facility should use multi-level organization approach or make an IG specific extension. Create new JIRA for OO request an IG specific extension.
- Waiting for check-digit/scheme to become standard extensions.
- FHIR-33066 - Identifier data type could use elements for check digits and assigning facility TRIAGED - FHIR-I
- DLN[Identifier]
- Create mapping table with https://www.hl7.org/fhir/identifier-registry.html
- ED[Attachment]
- Create mapping for ED.2 and ED.3 using urn:ietf:bcp:13, and recognizing that ED.2 really cannot be mapped in a standard way to mime types rather goes into an original codeable concept.
- EIP[Identifier-PlacerAssignedIdentifier]
- Needs an EIP to EI and then to the elements. Fix EIP.2 mapping for ORC-4.
- Also check ORC-8.
- MSG[MessageHeader]
- Need a vocabulary map for MSG.1
- Need a vocabulary map for MSG.3 to FHIR Message Definition uri-s (left hand filled out, right hand will be blank since we do not have message definitions yet).
- NDL[PractitionerRole]
- Clean up the status updates to mimic PL[Location]
- PL[Location]
- Updated the mappings
- Still need to do the Location Description.
- Need to follow up with InM and PA to find out the intent of PL.10. Is it the ID for the location represented by the amalgamation of all of the location elements in the PL data type? What is the meaning of "without regard" in sentence 1.
- PT[Meta]
- Would like to put on the FHIR side the v2 value/code system in the table as we are putting it in the meta tag anyway. Ask FHIR-I to decide whether to enhance meta to have at least coding or a code system, or go for an extension on the resource. Start with Zulip question.
- RI[Timing]
- Need a solution to how to map the "patterns" in table 0335 to a value set in FHIR. Submit to Vocabulary on how to handle this further, while we for now just map what we can.
- InM talked with Ted Klein on this topic on v2 tables with patterns. And have a comment associated with that to include
- RP[Attachment]
- Need to figure out if/how we can combine the type and subtype into a single viable map to a MIME type
- v2 Example from Ralf: http://LIS_IMAGE_SYSTEM/filename_01.JPG^^image^JPEG
- Example from FHIR:
<contentType value="application/pdf" />
Check with Nick Radov et al whether a simple RP.3"/"RP.4 concatenation will work here.
- SN[Ratio]
- Ask for addition/extension that a Ratio can have a comparator, although rarely used. FHIR-I. Let's start with Zulip. We'll check for an example. Could always map to a string, but that is not computable.
- TQ[MedicationRequest]
- Complete the concept map to use v2 values where FHIR does not have them.
- TQ[ServiceRequest]
- Two more comments to review. - DONE
- XAD[Address]
- Need to think about how to map XAD.1
- When the address type is either M (mailing) or SH (shipping), they are both mapped to a FHIR value of "postal" so information is lost. We need to consider if we should be using an 'original value" extension here.
- Agreed to used [x-y] notation and include the example in data type map in the Mapping Guidelines to explain its use.
- XCN[Practitioner]
- Fix the extension syntax and spell it out completely for the components.
- XCN[PractitionerRole]
- Update https://build.fhir.org/ig/HL7/v2-to-fhir/branches/master/implementation_considerations.html#edge-cases to indicate the use of the originalString, originalCode, or originalCodeableConcept extension (as appropriate) and include a hyperlink to that extension. Also, fix the break tags.
- XON[Location]
- Update the extension syntax.
- Change XON06 assigning authority to follow XCN
- XON[Organization]
- Change XON06 assigning authority to follow XCN
- Update the extension syntax.
- XPN[HumanName]
- Update the extension syntax.
- XTN[ContactPoint]
- Update the extension syntax.
- HD/EI/EIP/CX.../
Ballot Prep - IG Updates Ready To Be Applied:
- Expand gall extensions for full mapping.
- When referencing an extension, put the url in the mapping table as well on the attribute.
- Fix the references to extension-dataAbsentReason to extension-data-absent-reason and link everywhere.
- Need to be sure that there is adequate text to describe how to take a new message type and build up a map using existing segment maps (if appropriate) or create new segment maps
- Need to describe the business analysis that is necessary for implementing a new message translation
- How to provide feedback to the group
- SFT[MessageHeader]
- We do not need an SFT to MessageHeader mapping.
- Model all messages after ADT for SFT and MSH mapping.
- Open JIRAs
- FHIR-21227 - Mapping for degree - PA
- FHIR-32274 - Manufacturer allows for Organization reference for SFT[Device] manufacturer mapping. - Hans to check references
- FHIR-33007 - Aligning Appointment.serviceType and .basedOn for AIS mapping to Appointment.
- FHIR-33041 - Request OBX-11 value "in-process" to be clearly recognized in Observation.status as "registered" or have an alternative. - Discussed in OO on FHIR, waiting for vote.
- FHIR-33042 - Request OBX-11 value "appended" to be clearly recognized in Observation.status as "amended" or have an alternative. - Discussed in OO on FHIR, waiting for vote.
- FHIR-33043 - Request OBX-11 value "not asked" to be clearly recognized in Observation.status as "final" or have an alternative. - Still needs to be discussed.
- UP-217 - Provenance.agent.type "sender-application"
- FHIR-33077 - Provenance.agent.type or role "sender-application"
- FHIR-33038 - Observation needs a subID extension TRIAGED - CREATE V2-FHIR EXTENSION - PUT ON OO ON FHIR CALL - OCTOBER 26 - DISCUSSED BUT YET VOTED ON.,
- FHIR-34063 - MessageHeader needs a v2Profile extension TRIAGED - PUT ON OO ON FHIR CALL - OCTOBER 19
- FHIR-33270 - Add CodeableConcept extension for "original code" TRIAGED - FHIR-I
- APPROVED
- START TO INCLUDE THIS: HTTPS:.....EXTENSION-ORIGINALCODEABLECONCEPT
- FHIR-34194 - Add businessEvent extension SUBMITTED For OO-on-FHIR.
- FHIR-34002 - Need to be able to specify multiple specimens for a single observation TRIAGED
- - FHIR-36273MessageHeader.destination.receiver Cardinality SUBMITTED
- Reflex/Follow-Up/Add-On JIRAs
- FHIR- 36274
- Update Vocabulary Mapping guidance to the extent the following is not yet addressed. May need to come back for guidance where there are conflicts. Craig Newman
- Proposal: Include in Mapping Guidelines the following: When mapping terminology, the local implementations may have used values that are not in the HL7 standard referenced as HL7 values (less likely) or commonly used example values (more likely). Rather than inserting in every segment/data type map a mechanism for how to deal with these, the following guidance should be taken. Note that the challenges vary whether the data type in play is code, coding or Codeable Concept and whether the FHIR value set is fixed. - When FHIR data type is code and FHIR values are fixed: -- We strongly encourage the use [attribute].extension-originalCoding for those values that are not mappable - i.e., the FHIR value set is fixed and cannot change until at best a next release. Example: PV1-2 Patient class maps to Encounter.status where the FHIR value set is fixed. Any suggested mappings generally, e.g., to "unkown" need to be reviewed as for any other values another FHIR value might be better. - When data type is coding: -- - When data type is CodeableConcept -- In each CodeSystem mapping table where we know the FHIR value set is fixed, we will inlude **ALL ELSE{fixed} as the last row to raise awareness and implementers can associate their best fitting default behavior. When the FHIR value set is not fixed, we suggest that the implementation adds those values first to their FHIR side value set as a local extension. We will include **ALL ELSE{extensible} as the last row to raise awareness and implementers can assciate their best fitting default behavior. for those tables instead. NOTE THAT WE SUGGEST TO NOT VALUE ANYTHING ON THE FHIR SIDE FOR **ALL ELSE{fixed | extensible} Clarify that with All Else we have two flavors: there is an HL7 v2 value but not any mapping vs. there are other values used (validly) on the HL7 v2 side that we are not aware of. I.e., something like "if there is no mapping." Need guidance on situation where the attribute is mandatory, FHIR value set is fixed. We do need to have mappings for at least where HL7 v2 has defined entries (whether HL7 defined or user defined tables with sample entries).
- Ask Keith if Message Primary Target is blank whether the comment will still show up.
- We will remove Segment Map and Reference cell content if the segment map is still under construction.
- Review XTN mapping
- How do we populate the .system if XTN.3 is not populated?
- XTN.3 is optional in earlier versions of v2
- .system is required if .value is populated
- Can we default "other" as the .system? Or can we pick a better default (phone or email) depending which other fields are valued?
- Agreed to include conditions based on XTN.3 and XTN.4 to yield either an "email" or data absent reason "unkonwn".
- How do we populate the .system if XTN.3 is not populated?
- ORU_R01
- Add JIRA to Observation to include Specimen as a valid reference for Observation.subject.
- Add a section to the general mapping guidelines that we provide a map for everything known, but that individual implementations may not map everything. E.g., when receiving a lab result message for the official record, everything should be mapped, but if receiving it as a targeted analytics tool not everything may be relevant to be mapped.
- HL7 Segment - FHIR R4: AL1[AllergyIntolerance]
- Cleanup vocabulary naming reference.
- We need to start to put in comment in mappings where we have a cardinality mismatch where we are not aware of any use of the additional repeats in v2.
- Fix code valueset/system in
- EVN[Provenance]
- Fix typo in exemplar.
- MSH[Provenance-Source]
- Add clarifying language in 12.10 that re-use of resource instances across segments in a message where they should represent the same instance is strongly encouraged, but not something we can easily identify in the maps based on their structure. Additional example where one segment yields multiple resources that each should reference the same referenced resource, e.g., an organization from MSH-4 to one Provenance instance and from the same MSH segment to another Provenance resource should use the same Organization resource instance.
- MSH[MessageHeader]
- Need to review updates that focus MSH-25 as the real endpoint, MSH-4 as the target, and updated conditions to determine when the endpoint gets a absent reason.
- Include comment to clarify preferred v2 source for name vs. endpoint to explain the conditions. MSH-3 - 6 and MSH-24/25.
- Include comment that we do not think that MSH-6 and MSH-23 will both be present in a message. However, if they both are populated and there is a need, the implementer should create an extension. If we get feedback that many populate both after all, we will add an HL7 extension.
- Update the Language mapping table and remove the comment mark.
- Guidance
- Update n-notation guidance with 1..n and n combination using SIU as an example.
- We will add an example to this section (https://build.fhir.org/ig/HL7/v2-to-fhir/branches/master/implementation_considerations.html#example-marital-status) to clarify when there is no mapping into FHIR it is up to the implementer.
- SFT[Device]
- As soon as Device.manufacturer is updated to enable Reference(Organization), update the map with pre-adoption
- Link all primitive to primitive mappings to full maps.
- Make sure mapping/implementation guidance indicates that the implementer may change/add/remove any mappings locally to align with their implementation and context and encourage sharing what was done where that is not unique to that implementation (e.g., attributes added that were not mapped in the IG, conditions that might be more universal, assignments that could be consistently done).
From Worksessions:
- Check on MSH-3 and MSH-24, MSH-4, MSH-5/25
- Mapping to name and software seems to clash
- Source endpoint mapping table, endpoint is not always valued even though there is a destination. May need
- Check the permutations.
- Countries Concept Map is empty.
- Fix EVN[Provenance] so EVN.0 is done by MessageHeader[Provenance-Event] and sync the instance on the ADT message.
- Add a few more examples of resolutions (e.g., resolving references, duplicates, and provenance) are beyond the scope of IG.
In the CX to Identifier map we need to reference http://hl7.org/implement/standards/fhir/identifier-registry.html as a minimum list of “systems” that should map to .system rather than be treated as an organization
- Tools should map the assigning authority from CX.4
- Need to create the XPN[String] map for PID-6 so that tools can implement the mapping to the existing extension
- Need to fix extensions in XTN to be fully expressed.
- The sample messages need to have at least a state or more for DLN on PID-20. Need to consider whether we are o.k. with PID-3 and PID-20 being valued given PID-20 was deprecated.
- Doublecheck/Update the IG to clarify when mapping to another code system that the code system used in Coding and CodeableConcept should be populated to clarify using the code system's url. Section 3.1.5. in https://build.fhir.org/ig/HL7/v2-to-fhir/mapping_guidelines.html.
- Sajjad
- Check that PID-7 needs an extension for the birthTime
- Add assigning authority conversion for PID-3.4 and PID-18.4, pending updates to CX updates indicated above. System is "unkown" if not a system since it must have something.
- The ID type coding should include the code system and description for MR
- Add Mother's Maiden Name conversion for PID-6 into mother's maiden name extension.
- Check PID-10 in case you are working in US context to then use the US Core Race extension.
- Check PID-13 that it needs use internet not phone for internet.
- Check PID-16 how the version was established as it is not in the sample message.
- Check PID-22 whether intentionally or mapping wise not valued.
- Got to PID 31.