Can someone explain FHIR extensions?
<p>I've been trying to wrap my head around authoring profiles in FHIR.  The trouble I'm having is around the use of using extensions.</p>

<p>The documentation talks about extensions as if they are simply just there to extend existing elements of the resource which a profile belongs to, this is kind of confirmed to me when using forge because I can add new elements which don't have extensions.</p>

<p>It feels very foreign to me as in our proprietary storage system, we have the equivalent of profiles, and they have properties about them (which I think are similar to elements in fhir), however a property is only designed to store one type of thing; e.g. you might have a patient profile that has the properties DOB, ethniticy, identifier, etc.  I don't really understand what profiles are for in the context of fhir, are they similar to my properties?  Can I use the to limit the datatype that a profile instance can have for a particular element?</p>

<p>Is there any better documentation than the spec?  I'm finding it really hard to get to grips with.</p>