I disagree. The data format is well defined, but how those documents interact with each other is still a jumbled mess.
There's also so much extensibility that someone implementing it could just throw away all of the default fields in a patient's record and create their own, and we're right back to a mess of records that are useless across systems without having custom handlers.
FHIR only provides a baseline starting point which covers the most common data elements. That's why for any particular use case the implementers need to get together and write a detailed Implementation Guide. The IG may include extensions for necessary data elements not covered in the standard.
The health IT domain is simply so large and complex that including every use case in a single comprehensive standard would be totally impractical.
There's also so much extensibility that someone implementing it could just throw away all of the default fields in a patient's record and create their own, and we're right back to a mess of records that are useless across systems without having custom handlers.