Skip to content

Instantly share code, notes, and snippets.

@p2
Last active August 27, 2017 19:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save p2/d347e76ad90a70f45139 to your computer and use it in GitHub Desktop.
Save p2/d347e76ad90a70f45139 to your computer and use it in GitHub Desktop.
🔥FHIR Condition with mutation Observation example

🔥FHIR DSTU-2 data representing sample patient 1's cancer diagnosis: IDC diagnosis with 3 tumor mutation tests, 2 of them positive.

FHIR Version

The current official FHIR version is DSTU-1. There is a new DSTU-2 ballot version for May 2015 that introduces some nice data model changes to be expected for DSTU-2. I propose using this ballot version for our pilot.

Files

These are the resources used to represent patient 1's IDC diagnosis. Refer to our Data Models Overview for details; I'll explain some of the data in these examples:

p1.json

The Patient resource. I did not know the name of the patient, to be filled in accordingly. address is not currently used, but will be displayed if available and may become important in the future for trial screening purposes. The photo would be nice-to-have.

c1.json

The Condition resource describing the IDC diagnosis. code uses SNOMED-CT, code.text is arbitrary and can be the same as code.coding.display. The condition has an additional location element, in case that information is available. category is a bonus and not needed.

o1.1.json

The first of 3 Observation resources specifies the Her2Neu mutation status of c1 as a boolean outcome. It has a modifierExtension as a SMART FHIR extension:

http://fhir-registry.smarthealthit.org/StructureDefinition/gene-expression-in

This specifies that the observation describes a gene expression in the referenced condition. code uses HGNC. We're using method in this case to show that the measurement was determined with FISH; coding system TBD, not needed by the app. The result is simply "positive" or "negative", which we could put in a string but we probably want to use a coded value, as shown in valueCodeableConcept.

o1.2.json & o1.3.json

Two Observation resources specifying ER and PgR mutation status of c1 as a percent value. Same base layout as o1.1, with two differences:

  • The value is now a percent value in valueQuantity
  • There is an interpretation element telling us whether the percent value means a positive or negative outcome. o1.3 also has a referenceRange that we may want to specify, but don't need to if interpretation is present.
{
"id": "p1",
"name": [{
"family": ["..."],
"given": ["..."]
}],
"gender": "female",
"birthDate": "1963-02-02",
"address": [{
"use": "home",
"line": ["One Park Plaza"],
"city": "Nashville",
"postalCode": "37203",
"state": "TN",
"country": "USA"
}],
"photo": {
"contentType": "image/jpeg",
"url": "Binary/image-id-for-photo-of-p1"
}
}
{
"id": "c1",
"patient": {
"reference": "Patient/p1",
"display": "Patient Name"
},
"onsetDateTime": "2013-04-18",
"code": {
"coding": [{
"system": "http://snomed.info/sct",
"code": "408643008",
"display": "Infiltrating duct carcinoma of breast"
}],
"text": "IDC"
},
"location": [{
"siteCodeableConcept": {
"coding": [{
"system": "http://snomed.info/sct",
"code": "181134008",
"display": "Entire upper outer quadrant of breast"
}]
}
}],
"clinicalStatus": "confirmed",
"category": {
"coding": [{
"system": "http://snomed.info/sct",
"code": "39154008",
"display": "Clinical diagnosis"
}]
}
}
{
"id": "o1.1",
"subject": {
"reference": "Patient/p1",
"display": "Patient p1"
},
"modifierExtension": [{
"url": "http://fhir-registry.smarthealthit.org/StructureDefinition/gene-expression-in",
"valueReference": {
"reference": "Condition/c1",
"display": "Patient p1's IDC diagnosis"
}
}],
"code": {
"coding": [{
"system": "http://www.genenames.org",
"code": "HGNC:3430",
"display": "erb-b2 receptor tyrosine kinase 2"
}],
"text": "Her2Neu"
},
"valueString": "Inconclusive | Negative | Equivocal | Positive",
"interpretation": {
"coding": [{
"system": "http://hl7.org/fhir/v2/0078",
"code": "POS | NEG | IND",
"display": "Positive | Negative | Indeterminate"
}]
},
"method": {
"coding": [{
"system": "",
"code": ""
}],
"display": "FISH"
},
"status": "final",
"reliability": "ok"
}
{
"id": "o1.2",
"subject": {
"reference": "Patient/p1",
"display": "Patient p1"
},
"modifierExtension": [{
"url": "http://fhir-registry.smarthealthit.org/StructureDefinition/gene-expression-in",
"valueReference": {
"reference": "Condition/c1",
"display": "Patient p1's IDC diagnosis"
}
}],
"code": {
"coding": [{
"system": "http://www.genenames.org",
"code": "HGNC:3467",
"display": "estrogen receptor 1"
}],
"text": "ER Pct"
},
"valueQuantity": {
"value": 60,
"units": "%",
"system": "http://unitsofmeasure.org",
"code": "%"
},
"interpretation": {
"coding": [{
"system": "http://hl7.org/fhir/v2/0078",
"code": "POS | NEG",
"display": "Positive | Negative"
}]
},
"status": "final",
"reliability": "ok"
}
{
"id": "o1.2",
"subject": {
"reference": "Patient/p1",
"display": "Patient p1"
},
"modifierExtension": [{
"url": "http://fhir-registry.smarthealthit.org/StructureDefinition/gene-expression-in",
"valueReference": {
"reference": "Condition/c1",
"display": "Patient p1's IDC diagnosis"
}
}],
"code": {
"coding": [{
"system": "http://www.genenames.org",
"code": "HGNC:8910",
"display": "progesterone receptor"
}],
"text": "PR Pct"
},
"valueQuantity": {
"value": 13,
"units": "%",
"system": "http://unitsofmeasure.org",
"code": "%"
},
"referenceRange": [{
"high": {
"comparator": ">=",
"value": 10,
"units": "%",
"system": "http://unitsofmeasure.org",
"code": "%"
}
}],
"interpretation": {
"coding": [{
"system": "http://hl7.org/fhir/v2/0078",
"code": "POS | NEG",
"display": "Positive | Negative"
}]
},
"status": "final",
"reliability": "ok"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment