FHIR Store provides the FHIR standard in several formats, including json
and yml
.
yml
standardWe have converted the FHIR specification available on this hl7 page (See R2 Layout tab) into the yml
format.
The folders follows the hierarchy described in the R2 Layout, and an additional folder DataTypes
retrieves the complex types detailed on this hl7 page
Note that the json
format is also available, which can be more easy for api calls. Oh, actually we already built an API just here!
The FHIR standard has a structure of a tree. We have typed each node, which can be a simple type (eg deceasedBoolean<boolean>
or birthDate<date>
). One basic type which is worth explaining is code
, which is used like this: gender<code=male|female|other|unknown>
. If no type is provided, we assume it is a string. You can also have special DataType
(eg HumanName
, ContactPoint
, Address
, see complete list) which follows the same convention (eg address<Address>
). If the node is a list, we add list::
in the typing, like in telecom<list::ContactPoint>
. Note that for the case of a list of strings we will have node<list>
.
You have 4 options to link a FHIR attribute to SQL resources, which can be combined. Have a look in the fhir-mapping
project at Identification/Individuals/Patient.yml
to see these examples used in a real context.
<OWNER>.<TABLE>.<COLUMN>
. You can put several items in a list if the information is dispatched._col
items to clean the data. For phone it is clean_phone
, etc; if none just put equal
. Usually you have 1 script for 1 col, but in the case where you have 1 script and n>1 cols, then all the cols are given as arguments to the script.ICSF.PATIENT
for Resource Patient), you specify the join to do on another table to get the info. Join has two attributes,
["<owner>.<table>.<col>=<owner>.<join_table>.<join_col>"]
.DataType
(eg HumanName
, ContactPoint
, Address
, etc), the description of each subfile will be made in the yml
file which has the same name, in a template referenced by an ID. This helps having a short Resource mapping file. We have reported several issues with the label Good first issue
which can be a good way to start! Also of course, feel free to contact us on Slack in you have trouble with the project.
If you're enthusiastic about our project, :star: it to show your support! :heart: