Getting started with FHIR is not a quick and easy process. You should plan on investing some time to understand the basics. Some of your fields are already clearly listed on the Welcome page
In the Administration box, you’ll see Patient.
A visit is a type of encounter in FHIR (and CDA). Encounter is not listed on the welcome page (which is unfortunate) but it can also be found on the administration page followed by the Encounter page.
From the Resource page understand the following:
A resource is an entity that:
- has a known identity ([or] a URL) by which it can be addressed
Patient - from the Patient page, notice it has type DomainResource which has type Resource so it has an id. You don’t actually see the id as a field on the patient Resource Content section 8.1.2 but it’s in the Resource “base class.”
An encounter is also a Resource so it has an ID, for your Visit ID.
An encounter has a diagnosis element which holds a list of diagnoses for the encounter. You should relate your diagnoses to encounters. Otherwise, if they are just problems or conditions, use the Condition element, shown as “Problem” in the Clinical box of the welcome page which actually links you to the Condition page. It’s a little confusing but Problem and Condition are equivalent in the context of FHIR.
Note that a diagnosis has a condition or “references” a condition. In section 8.11.3, you’ll see the diagnosis.condition data type is Reference.
The condition is a type of DomainReference which has a type “text” for a description (typically shown as display_name in C-CDA documents). Condition also has a “code” which is of type CodeableConcept which is explained on the DataTypes page in 126.96.36.199. The CodeableConcept has 2 fields, coding and text. Coding can be used for your diagnosis code (ICD-10, SNOMED CT, etc.). It includes a “system” field for the code system. There’s an example of a SNOMED CT Diagnosis CodeableConcept on section 188.8.131.52 with the fields you should use.
I would also take the time to learn about versioning a resource whereby the Meta.versionId is updated by the FHIR server whenever the resource changes. This is helpful to know for instance when you update a patient resource with new clinical or demographic data.
Hopefully that will get you started. If it seems frustrating, don’t worry. We’ve all had to go through it.