|
1 | 1 |
|
2 | 2 | # Integrating your data |
3 | 3 |
|
4 | | -Converting tabular data (CSV, TSV, spreadsheet, database table) into FHIR (Fast Healthcare Interoperability Resources) involves several steps to map the data in the spreadsheet to FHIR's resource structure. Here is what you need to know to get started: |
| 4 | +Converting tabular data (CSV, TSV, spreadsheet, database table) into FHIR (Fast Healthcare Interoperability Resources) involves mapping your data to FHIR's resource structure. This guide walks you through the integration process from data preparation to validation. |
5 | 5 |
|
6 | | -As you create a upload files, you can tag them with identifiers which by default will create minimal, skeleton graph. |
| 6 | +## Overview |
7 | 7 |
|
8 | | -You can retrieve that data using the [git-drs](../../tools/git-drs/index.md) command line tool, and update the metadata using [forge](../../tools/forge/index.md) to create a more complete graph representing your study. |
| 8 | +When you create and upload files, you can tag them with identifiers to establish an initial skeleton graph. You can then retrieve that data using the [git-drs](../../tools/git-drs/docs/index.md) command line tool and enhance the metadata using [forge](../../tools/forge/docs/index.md) to create a more complete graph representing your study. |
9 | 9 |
|
10 | | -You may choose to work with the data in its "native" JSON format, or convert it to a tabular format for integration. The system will re-convert tabular data back to JSON for submittal. |
| 10 | +You may work with data in its "native" JSON format or convert it to a tabular format for integration. The system automatically re-converts tabular data back to JSON for submission. |
11 | 11 |
|
12 | | -The process of integrating your data into the graph involves several steps: |
| 12 | +## Integration process |
13 | 13 |
|
14 | | -* Step 1: Identify Data and FHIR Resources |
15 | | - * Inventory tabular data: Review the spreadsheet to understand the types of data it contains (e.g., patient demographics, lab results, medications). |
16 | | - * Understand FHIR Resources: Familiarize yourself with FHIR resources relevant to the data in your spreadsheet (e.g., Patient, Observation, Specimen, etc.). |
| 14 | +The process of integrating your data into the graph involves six key steps: |
17 | 15 |
|
18 | | -* Step 2: Mapping Spreadsheet Columns to FHIR Fields |
19 | | - * Analyze Columns: Map each column in the spreadsheet to corresponding fields in FHIR resources. For instance, you may have a field called biopsy_anatomical_location with content of "Prostate needle biopsies", that would map to Specimen.collection.method and Specimen.collection.bodySite. |
20 | | - * Handle Relationships: Identify how different pieces of data relate to each other and how they map to FHIR resource relationships (e.g., linking patients to their observations). |
| 16 | +### Step 1: Identify Data and FHIR Resources |
| 17 | + |
| 18 | +Before mapping, understand what data you have and which FHIR resources it should map to. |
| 19 | + |
| 20 | +* **Inventory your tabular data**: Review your spreadsheet to understand the types of data it contains (e.g., patient demographics, lab results, medications, specimen information). |
| 21 | +* **Understand relevant FHIR resources**: Familiarize yourself with FHIR resources that match your data types (e.g., [Patient](https://hl7.org/fhir/patient.html), [Observation](https://hl7.org/fhir/observation.html), [Specimen](https://hl7.org/fhir/specimen.html), [DocumentReference](https://hl7.org/fhir/documentreference.html)). |
| 22 | + |
| 23 | +### Step 2: Map Spreadsheet Columns to FHIR Fields |
| 24 | + |
| 25 | +Create a mapping between your data columns and FHIR resource fields. |
| 26 | + |
| 27 | +* **Analyze your columns**: Systematically map each column to corresponding FHIR resource fields. For example, if you have a `biopsy_anatomical_location` field with values like "Prostate needle biopsies", map it to the appropriate FHIR Specimen fields such as `collection.method` and `collection.bodySite`. |
| 28 | +* **Handle relationships**: Identify how different data pieces relate to each other and map them to FHIR resource references (e.g., linking Patient resources to their Observation resources). |
21 | 29 |
|
22 | | -* Step 3: Data Transformation and Structure |
23 | | - * Prepare Data: Ensure data consistency and format alignment. Dates, codes, and identifiers should comply with FHIR standards. |
24 | | - * Normalize Data: Split the spreadsheet data into FHIR-compliant resources. |
| 30 | +### Step 3: Transform and Structure Your Data |
| 31 | + |
| 32 | +Prepare your data to comply with FHIR standards. |
| 33 | + |
| 34 | +* **Ensure consistency**: Validate data formats, especially dates (ISO 8601 format), codes (use appropriate code systems), and identifiers. Remove duplicates and address missing values. |
| 35 | +* **Normalize into resources**: Split your spreadsheet data into separate FHIR resources. For example, separate patient demographics into Patient resources and test results into Observation resources. |
| 36 | + |
| 37 | +### Step 4: Use FHIR Tooling and Validation |
25 | 38 |
|
26 | | -* Step 4: Utilize provided FHIR Tooling or Libraries |
27 | | - * FHIR Tooling: Use `forge meta` and associated libraries to support data conversion and validation. |
28 | | - * Validation: Use `forge validate` to validate the transformed data against FHIR specifications to ensure compliance and accuracy. |
| 39 | +Leverage provided tools to convert and validate your data. |
29 | 40 |
|
30 | | -* Step 5: Import into FHIR-Compatible System |
31 | | - * Load Data: Use `git commit` and `git push` to manage your local data state. |
32 | | - * Testing and Verification: Ensure your data appears correctly in the portal and analysis tools after a successful push. |
| 41 | +* **Convert your data**: Use `forge meta` to transform your data into FHIR-compliant JSON format. |
| 42 | +* **Validate compliance**: Use `forge validate` to check that your transformed data conforms to FHIR specifications. This catches errors before submission and ensures your data is valid. |
33 | 43 |
|
34 | | -* Step 6: Iterate and Refine |
35 | | - * Review and Refine: Check for any discrepancies or issues during the import process. Refine the conversion process as needed. |
36 | | - * Feedback Loop: Gather feedback from users or stakeholders to improve the mapping and conversion process. |
| 44 | +### Step 5: Commit and Deploy Your Data |
| 45 | + |
| 46 | +Submit your validated data to the system. |
| 47 | + |
| 48 | +* **Version and commit**: Use `git commit` to track your changes with descriptive messages. |
| 49 | +* **Deploy**: Use `git push` to submit your data. Verify that your data appears correctly in the portal and analysis tools after deployment. |
| 50 | + |
| 51 | +### Step 6: Iterate and Improve |
| 52 | + |
| 53 | +Refine your data based on feedback and validation results. |
| 54 | + |
| 55 | +* **Review and validate**: Check for discrepancies or issues in how your data appears in the system. Review user feedback. |
| 56 | +* **Refine mappings**: Make adjustments to your data transformations and FHIR mappings as needed to improve accuracy and completeness. |
37 | 57 |
|
38 | 58 |
|
39 | 59 | ## Ontologies |
@@ -72,41 +92,48 @@ The mapping process typically involves several steps: |
72 | 92 |
|
73 | 93 | ## Identifiers |
74 | 94 |
|
75 | | -Identifiers in FHIR references typically include the following components: [see more](https://hl7.org/fhir/datatypes.html#Identifier) |
| 95 | +[Identifiers in FHIR](https://hl7.org/fhir/datatypes.html#Identifier) are strings (typically numeric or alphanumeric) that uniquely identify an object or entity within a system. They are essential for connecting resources within FHIR to external systems and maintaining data integrity across platforms. |
76 | 96 |
|
77 | | -> A string, typically numeric or alphanumeric, that is associated with a single object or entity within a given system. Typically, identifiers are used to connect content in resources to external content available in other frameworks or protocols. |
| 97 | +Identifiers have two key components: |
78 | 98 |
|
79 | | -System: Indicates the system or namespace to which the identifier belongs. By default the namespace is `http://calypr-public.ohsu.edu/<project-id>`. |
| 99 | +* **System**: The namespace or system to which the identifier belongs. The default namespace is `http://calypr-public.ohsu.edu/<project-id>`. This ensures your identifiers don't conflict with identifiers from other systems. |
| 100 | +* **Value**: The actual identifier string (e.g., a subject ID like "SUBJ-001" or a specimen ID like "SPEC-12345"). |
80 | 101 |
|
81 | | -Value: The actual value of the identifier within the specified system. For instance, a lab controlled subject identifier or a specimen identifier. |
| 102 | +**Example**: A patient identifier might be represented as: |
| 103 | +- System: `http://calypr-public.ohsu.edu/study-123` |
| 104 | +- Value: `PAT-00542` |
82 | 105 |
|
83 | 106 |
|
84 | 107 |
|
85 | 108 | ## References |
86 | 109 |
|
87 | | -By using identifiers in references, FHIR ensures that data can be accurately linked, retrieved, and interpreted across different systems and contexts within the healthcare domain, promoting interoperability and consistency in data exchange. [see more](https://hl7.org/fhir/references.html) |
| 110 | +By using [identifiers in references](https://hl7.org/fhir/references.html), FHIR ensures that data can be accurately linked, retrieved, and interpreted across different systems and contexts within the healthcare domain, promoting interoperability and consistency in data exchange. |
88 | 111 |
|
89 | 112 | > Many of the defined elements in a resource are references to other resources. Using these references, the resources combine to build a web of information about healthcare. |
90 | 113 |
|
91 | 114 |
|
92 | 115 | ## Key resources |
93 | 116 |
|
94 | 117 | ### ResearchStudy |
95 | | -> A scientific study of nature that sometimes includes processes involved in health and disease. [see more](https://hl7.org/fhir/researchstudy.html) |
| 118 | +A [scientific study](https://hl7.org/fhir/researchstudy.html) of nature that sometimes includes processes involved in health and disease. |
96 | 119 |
|
97 | 120 | ### ResearchSubject |
98 | | -> A ResearchSubject is a participant or object which is the recipient of investigative activities in a research study. [see more](https://hl7.org/fhir/researchsubject.html) |
| 121 | +A [ResearchSubject](https://hl7.org/fhir/researchsubject.html) is a participant or object which is the recipient of investigative activities in a research study. |
99 | 122 |
|
100 | 123 |
|
101 | 124 | ### Patient |
102 | | -> Demographics and other administrative information about an individual or animal receiving care or other health-related services. [see more](https://hl7.org/fhir/patient.html) |
| 125 | +A [Patient](https://hl7.org/fhir/patient.html) connects to Demographics and other administrative information about an individual or animal receiving care or other health-related services. |
103 | 126 |
|
104 | 127 | ### Specimen |
105 | 128 |
|
106 | | -> A sample to be used for analysis. [see more](https://hl7.org/fhir/specimen.html) |
| 129 | +A [Specimen](https://hl7.org/fhir/specimen.html) represents a sample collected during a healthcare event and used for analysis or testing. It includes information about the sample type, collection method, and processing. |
107 | 130 |
|
108 | 131 | ### DocumentReference |
109 | | -> A reference to a document of any kind for any purpose. [see more](https://hl7.org/fhir/documentreference.html) |
| 132 | +A [DocumentReference](https://hl7.org/fhir/documentreference.html) is a reference to a document of any kind for any purpose. |
| 133 | + |
| 134 | + |
| 135 | +## Next steps |
110 | 136 |
|
| 137 | +With your data integrated into FHIR format, you can now manage and enhance your metadata. See the [data management section](managing-metadata.md) for detailed guidance on creating, updating, and maintaining your metadata. |
111 | 138 |
|
112 | | -See the [data management section](managing-metadata.md) for more information on how to create and upload metadata. |
| 139 | +For more information on ontologies and how SNOMED CT codes enhance your data, see the [Ontologies](#ontologies) section above. |
0 commit comments