Mapping from HL7 to FHIR

I need your help please to understand some basic principle .
I’m looking into MessageHeader part of ADT_A01 to Bundle mapping .
There are many places where the target field is reference . For instance , from MSH-4 to [MessageHeader.sender]. If I’m not mistaken that means that value from MSH-4 is copied to entry/resource/MessageHeader/sender/reference/@value. But how come HL7 Sending Facility value can serve as a reference from one FHIR resource to another ?

The mappings indicate where the concepts go. They don’t necessarily indicate direct mappings of values. Turning MSH-4 into MessageHeader.sender could proceed in a few ways. Ideally, you’d figure out what Organization corresponded to the content of MSH-4 and transform that information into a proper RESTful reference to an Organization instance external to the Bundle (or possibly even internal to the Bundle). Failing that, you might just populate the MessageHeader.sender.identifier and/or sender.display.

I see , that what I thought . But when I look into next mapping to [MessageHeader.sender] on the same page it appears to be even more unclear .
What does it mean to map from MSH-17 to ?
country code is in Organization , not in MessageHeader. The only solution I can think of is to create contained Organization in the MessageHeader.

Could you also point me in the right directions where it might be explained in more detail ? The problem is these specs ( like messageheader) have many dead links . For instance , MSH-7 is mapped to Segment Map ​MessageHeader.#ext-timestamp# which is just a dead link, so it’s a bit hard to see where this concept actually goes .

It might be ‘contained’. It might be a distinct Organization instance within the Bundle. Which makes sense is up to the conversion tool.

After making a good progress I realize that I’m not sure about the versions:
HL7 version
mapping version
FHIR version .

I’m building ADT_A01 MAPPING based on this spec
can it be considered as normative/approved ?
If not , could you point me in the right the direction where is the correct one ?
And also which HL7 version it supports ? Because it’s a bit unclear from that page

The pages are very information dense.

The second line of the header includes “0.1.0 - STU1 Ballot” “STU1” means that the authors think it is ready for trial use, but not for serious implementation. “Ballot” means that it is out for public comment.

The text in the yellow box at the top of the page says that it is based on FHIR R4.

If you follow the link " Directory of published versions " you can see that there is no newer stable version.

I cannot find which version of HL7 V2 it is aimed at.

There is a link on the Home page:
"The source code for this Implementation Guide can be found on GitHub.
If you follow the link you can see who has worked on this and when they last updated something.

Maybe ask at Zulip