Page tree
Skip to end of metadata
Go to start of metadata

Track overview

Short Description

A FHIR-based API for validating the Veteran Status  and Military Service History associated with the management of Social History information in EHR and Public Health systems. This track is implementation of the Military Service History and Status FHIR Profiles developed by the VA based on the Occupational Data for Health (ODH) IG rceated by CDC NIOSH support employment history reporting. This new profiles may be used in the US to assess health risk factors based on military service and combat circumstances. 


Long Description

This track is intended to evaluate the feasibility of using Patient and Observation resources (conformant with the Military Service History and Status FHIR Profiles intended to meet the use cases in the associated analysis model and consistent with the current RESTful API for the VA Veteran Verification provided to application developers. 

The current VA API uses an ad-hoc verification operation and allows third-party systems to to retrieve the military service - including combat episodes. This track will demonstrate how this API can be provided using a standards-based approach that includes FHIR resources and terminology constraints using concepts from LOINC, SNOMED CT, and CDC ODH  - as specified in the associated Logica project intended to validate the extensions needed to represent Military Service and Combat Episodes using Observation resource similar to ODH. The current REST API is used primarily verify veteran status for benefits associated with military service (e.g., insurance coverage, discounts, education assistance, etc.). The enhanced FHIR-based API will make this API readily available for  health-related purposes: social determinants of health, risk factors for specific conditions (e.g. health disease, major depressive disorder, suicidal ideation). 

In addition to proving the feasibility of FHIR resources to provide equivalent capabilities to the current API, this project will also introduce standards-based concepts in place of local VA terminology for discharge status and separation reason as well we reusing CDC ODH concept to represent the military branch and pay grade of a Veteran.


Type

  • Test the design of a Resource/set of Resources
  • Test an Implementation Guide
  • Test a FHIR-associated specification
  • Educate on the use of a FHIR technology/IG

Submitting Work Group/Project/Accelerator/Affiliate/Implementer Group

Cross-Work Group Projects is the group responsible for this Military Service History and Status project


Track Leads

Ioana Singureanu (on behalf of Department of Veterans Affairs)

Sean Muir (on behalf of Department of Veterans Affairs)


Related tracks

2020-09 Gravity SDOH-CC Track


FHIR Version

  • Current build
  • FHIR R4

Specification(s) this track uses

Military Service History and Status FHIR Profiles

IG: http://build.fhir.org/ig/HL7/fhir-military-service/


Artifacts of focus

http://build.fhir.org/ig/HL7/fhir-military-service/


Clinical input requested (if any)


Patient input requested (if any)


Expected participants

Sean Muir, Department of Veterans Affairs

Derek Brown, Department of Veterans Affairs


Zulip stream

#military_service

https://chat.fhir.org/#narrow/stream/256718-military_service/topic/Connectathon.2025

Track Orientation

Weekly discussion at 3 pm EST

Join Microsoft Teams Meeting

+1 786-749-6285   United States, Miami (Toll)

Conference ID: 469 093 864#


Track details

System Roles


Military Service and Veteran Status API

  • Patient
    • Custom operation:  

      Veteran Status

      Operation to return the status of a veteran

  • Observation profiles to describe Military Service History and Combat History

Scenario #1: Veteran Confirmation and Verification

A Veteran is receiving treatment in the community and invokes the "$veteranStatus" operation using the Veteran's demographics (e.g. fist, last, dob, ssn). If the Veteran is verified then the client application proceed to Step 2.

Scenario Step 1 : Search the Patient resource to evaluate whether "Sam Share" is a confirmed/validated Veteran based on the VA-specific extension 

Action:

HAPI FHIR Client Code - Use the following code snippet to execute this action in your own client.

// Create a client (only needed once)
FhirContext ctx = new FhirContext();
IGenericClient client = ctx.newRestfulGenericClient("http://hapi.fhir.org/baseR4");

// Invoke the client
Bundle bundle = client.search().forResource(Patient.class)
.where(new StringClientParam("family").matches().value("Share"))
.where(new StringClientParam("given").matches().value("Sam"))
.where(new TokenClientParam("identifier").exactly().systemAndCode("urn:oid:1.1.1.1.1", "1032702"))
.prettyPrint()
.execute();

 RequestGET http://hapi.fhir.org/baseR4/Patient?family=Share&given=Sam&identifier=urn:oid:1.1.1.1.1|1032702&_pretty=true
Request Headers

Accept-Charset: utf-8
Accept: application/fhir+xml;q=1.0, application/fhir+json;q=1.0, application/xml+fhir;q=0.9, application/json+fhir;q=0.9
User-Agent: HAPI-FHIR/5.2.0-SNAPSHOT (FHIR Client; FHIR 4.0.1/R4; apache)
Accept-Encoding: gzip

 Response HTTP 200 OK
Response Headers

x-request-id: xeQWJ1xsJu7hZt4s
date: Thu, 10 Sep 2020 12:46:19 GMT
last-modified: Thu, 10 Sep 2020 12:46:19 GMT
server: nginx/1.14.0 (Ubuntu)
transfer-encoding: chunked
x-powered-by: HAPI FHIR 5.2.0-SNAPSHOT REST Server (FHIR Server; FHIR 4.0.1/R4)
connection: keep-alive
content-type: application/fhir+json;charset=utf-8

Result Body JSON bundle (4055 bytes)


 Bundle contains 1 / 1 entries

Raw Message


{
  "resourceType": "Bundle",
  "id": "023c1ffc-7de2-4661-b098-37245bcb3dff",
  "meta": {
    "lastUpdated": "2020-09-10T12:46:19.411+00:00"
  },
  "type": "searchset",
  "total": 1,
  "link": [ {
    "relation": "self",
    "url": "http://hapi.fhir.org/baseR4/Patient?_pretty=true&family=Share&given=Sam&identifier=urn%3Aoid%3A1.1.1.1.1%7C1032702"
  } ],
  "entry": [ {
    "fullUrl": "http://hapi.fhir.org/baseR4/Patient/sam-share-ssgt-veteran",
    "resource": {
      "resourceType": "Patient",
      "id": "sam-share-ssgt-veteran",
      "meta": {
        "versionId": "1",
        "lastUpdated": "2020-09-10T12:33:05.962+00:00",
        "source": "#XOxJ5p7N4MLp84f2",
        "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ]
      },
      "text": {
        "status": "generated",
        "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"/>"
      },
      "extension": [ {
        "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-veteran-status",
        "valueCode": "verified"
      }, {
        "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race",
        "extension": [ {
          "url": "ombCategory",
          "valueCoding": {
            "system": "urn:oid:2.16.840.1.113883.6.238",
            "code": "2106-3",
            "display": "White"
          }
        }, {
          "url": "detailed",
          "valueCoding": {
            "system": "urn:oid:2.16.840.1.113883.6.238",
            "code": "2036-2",
            "display": "Filipino"
          }
        }, {
          "url": "text",
          "valueString": "Mixed"
        } ]
      }, {
        "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity",
        "extension": [ {
          "url": "ombCategory",
          "valueCoding": {
            "system": "urn:oid:2.16.840.1.113883.6.238",
            "code": "2135-2",
            "display": "Hispanic or Latino"
          }
        }, {
          "url": "detailed",
          "valueCoding": {
            "system": "urn:oid:2.16.840.1.113883.6.238",
            "code": "2184-0",
            "display": "Dominican"
          }
        }, {
          "url": "text",
          "valueString": "Hispanic or Latino"
        } ]
      }, {
        "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex",
        "valueCode": "M"
      } ],
      "identifier": [ {
        "use": "usual",
        "type": {
          "coding": [ {
            "system": "http://terminology.hl7.org/CodeSystem/v2-0203",
            "code": "MR",
            "display": "VA Medical Record Number"
          } ],
          "text": "VA Medical Record Number"
        },
        "system": "urn:oid:1.1.1.1.1",
        "_system": {
          "fhir_comments": [ " VA OID for MRNs " ]
        },
        "value": "1032702"
      } ],
      "active": true,
      "name": [ {
        "family": "Share",
        "given": [ "Sam", "V." ],
        "suffix": [ "Ssgt." ],
        "period": {
          "start": "2016-12-06",
          "end": "2020-07-22"
        }
      }, {
        "family": "Share",
        "given": [ "Sam", "V." ],
        "suffix": [ "Retired Ssgt" ],
        "period": {
          "start": "2020-07-22"
        }
      } ],
      "telecom": [ {
        "system": "phone",
        "value": "555-555-5555",
        "use": "home"
      }, {
        "system": "email",
        "value": "sam.share@veterans-org.com"
      } ],
      "gender": "male",
      "birthDate": "1987-02-20",
      "address": [ {
        "line": [ "49 Pleasant Hill St" ],
        "city": "Anytowm",
        "state": "NH",
        "postalCode": "03088",
        "country": "US",
        "period": {
          "start": "2016-12-06",
          "end": "2020-07-22"
        }
      }, {
        "line": [ "183 Mountain View St" ],
        "city": "Anytown",
        "state": "NH",
        "postalCode": "03088",
        "country": "US",
        "period": {
          "start": "2020-07-22"
        }
      } ]
    },
    "search": {
      "mode": "match"
    }
  } ]


Precondition:

GET http://hapi.fhir.org/baseR4/Patient/sam-share-ssgt-veteran


Success Criteria:

Examine the value of the extension: "extension": [ { "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-veteran-status", "valueCode": "verified" }, 

If "verified" then proceed to step #2

Bonus point:


Scenario Step 2: Search the Observation resource for a list of Military Service Episodes: search by "subject" (i.e. Patient/Veteran) and by  "patient" and "code" search parameters

Action:

Client Code - Use the following code snippet to execute this action in your own client.

// Create a client (only needed once)
FhirContext ctx = new FhirContext();
IGenericClient client = ctx.newRestfulGenericClient("http://hapi.fhir.org/baseR4");

// Invoke the client
Bundle bundle = client.search().forResource(Observation.class)
.where(new TokenClientParam("code").exactly().code("bdb89d1f-f2c1-497b-ad7e-9ab8078a124b"))
.where(new ReferenceClientParam("patient").hasId("sam-share-ssgt-veteran"))
.prettyPrint()
.execute();

 RequestGET http://hapi.fhir.org/baseR4/Observation?code=bdb89d1f-f2c1-497b-ad7e-9ab8078a124b&patient=sam-share-ssgt-veteran&_pretty=true
Request Headers

Accept-Charset: utf-8
Accept: application/fhir+xml;q=1.0, application/fhir+json;q=1.0, application/xml+fhir;q=0.9, application/json+fhir;q=0.9
User-Agent: HAPI-FHIR/5.2.0-SNAPSHOT (FHIR Client; FHIR 4.0.1/R4; apache)
Accept-Encoding: gzip

 Response HTTP 200 OK
Response Headers

x-request-id: TnguHYocTUtM3Rl1
date: Thu, 10 Sep 2020 13:03:59 GMT
last-modified: Thu, 10 Sep 2020 13:03:58 GMT
server: nginx/1.14.0 (Ubuntu)
transfer-encoding: chunked
x-powered-by: HAPI FHIR 5.2.0-SNAPSHOT REST Server (FHIR Server; FHIR 4.0.1/R4)
connection: keep-alive
content-type: application/fhir+json;charset=utf-8

Result Body JSON bundle (4368 bytes)


 Bundle contains 1 / 1 entries

Raw Message


{
  "resourceType": "Bundle",
  "id": "3d60dd95-8620-4542-af97-b2fa9a19e6cc",
  "meta": {
    "lastUpdated": "2020-09-10T13:03:58.951+00:00"
  },
  "type": "searchset",
  "total": 1,
  "link": [ {
    "relation": "self",
    "url": "http://hapi.fhir.org/baseR4/Observation?_pretty=true&code=bdb89d1f-f2c1-497b-ad7e-9ab8078a124b&patient=sam-share-ssgt-veteran"
  } ],
  "entry": [ {
    "fullUrl": "http://hapi.fhir.org/baseR4/Observation/military-service-episode",
    "resource": {
      "resourceType": "Observation",
      "id": "military-service-episode",
      "meta": {
        "versionId": "1",
        "lastUpdated": "2020-09-10T12:42:36.025+00:00",
        "source": "#5DZ27OcD1FKIROE9",
        "profile": [ "http://hl7.org/fhir/militaryserviceandstatus/StructureDefinition/militaryserviceepisode" ]
      },
      "text": {
        "status": "generated",
        "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"/>"
      },
      "status": "final",
      "category": [ {
        "coding": [ {
          "system": "http://terminology.hl7.org/CodeSystem/observation-category",
          "code": "social-history",
          "display": "Social History"
        } ],
        "text": "Social History: Military Service"
      } ],
      "code": {
        "coding": [ {
          "system": "http://www.logicahealth.org/solutions/solor",
          "_system": {
            "fhir_comments": [ " http://www.logicahealth.org/solutions/solor will be replaced wtih http://loinc.org when the concept will be added to LOINC " ]
          },
          "code": "bdb89d1f-f2c1-497b-ad7e-9ab8078a124b",
          "_code": {
            "fhir_comments": [ " placeholder concept in Solor " ]
          },
          "display": "Military Service Episode"
        } ],
        "text": "Vital signs panel"
      },
      "subject": {
        "fhir_comments": [ " Referenced Veteran's Patient resource insstance " ],
        "reference": "Patient/sam-share-ssgt-veteran",
        "display": "veteran"
      },
      "effectivePeriod": {
        "fhir_comments": [ " Period of service " ],
        "start": "2016-12-06",
        "end": "2020-07-22"
      },
      "hasMember": [ {
        "fhir_comments": [ " Associated combat episodes " ],
        "reference": "Observation/combat-episode-1",
        "display": "1st compbat episode"
      }, {
        "reference": "Observation/combat-episode-2",
        "display": "2nd compbat episode"
      } ],
      "component": [ {
        "fhir_comments": [ " Military branch/industry" ],
        "code": {
          "coding": [ {
            "system": "http://loinc.org",
            "code": "86188-0",
            "display": "Industry"
          } ]
        },
        "valueCodeableConcept": {
          "coding": [ {
            "system": "http://terminology.hl7.org/CodeSystem/PHOccupationalDataForHealthODH",
            "code": "928110.000255",
            "display": "Air Force"
          } ]
        }
      }, {
        "fhir_comments": [ " Supervisory Level Pay grade " ],
        "code": {
          "coding": [ {
            "system": "http://www.logicahealth.org/solutions/solor",
            "code": "E-5",
            "display": "US Military Enlisted paygrade E-5"
          } ]
        }
      }, {
        "fhir_comments": [ " Gaps managed in http://www.logicahealth.org/solutions/solor ", " Discharge status code " ],
        "code": {
          "coding": [ {
            "system": "http://www.logicahealth.org/solutions/solor",
            "code": "79A512F77CFC4E63B9969930FC8787DB",
            "_code": {
              "fhir_comments": [ " Placeholder concept from http://build.fhir.org/ig/HL7/fhir-military-service/ValueSet-msh-DischargeStatusValueSet.html " ]
            },
            "display": "Honoably Discharged"
          } ]
        }
      }, {
        "fhir_comments": [ " Separarion Reason code: 034\tMEDAL OF HONOR RECIPIENT " ],
        "code": {
          "coding": [ {
            "system": "http://www.logicahealth.org/solutions/solor",
            "code": "034",
            "_code": {
              "fhir_comments": [ " Placeholder concept from http://build.fhir.org/ig/HL7/fhir-military-service/ValueSet-msh-SeparationReason-vs.html " ]
            },
            "display": "Medal of Honor Recipient"
          } ]
        }
      } ]
    },
    "search": {
      "mode": "match"
    }
  } ]
}


Scenario Step 3: Search the Observation resource for a list of Combat Episodes: search by "subject" (i.e. Patient/Veteran) and by  "patient" and "code" search parameters

Action:

 RequestGET http://hapi.fhir.org/baseR4/Observation?patient=sam-share-ssgt-veteran&code=4166ca15-bb96-4f7a-b968-7caab70e01b8&_pretty=true
Request Headers

Accept-Charset: utf-8
Accept: application/fhir+xml;q=1.0, application/fhir+json;q=1.0, application/xml+fhir;q=0.9, application/json+fhir;q=0.9
User-Agent: HAPI-FHIR/5.2.0-SNAPSHOT (FHIR Client; FHIR 4.0.1/R4; apache)
Accept-Encoding: gzip

 Response HTTP 200 OK
Response Headers

x-request-id: FoM14c2teQZPTigG
date: Thu, 10 Sep 2020 14:32:44 GMT
last-modified: Thu, 10 Sep 2020 14:32:44 GMT
server: nginx/1.14.0 (Ubuntu)
transfer-encoding: chunked
x-powered-by: HAPI FHIR 5.2.0-SNAPSHOT REST Server (FHIR Server; FHIR 4.0.1/R4)
connection: keep-alive
content-type: application/fhir+json;charset=utf-8

Result Body JSON bundle (6005 bytes)


 Bundle contains 2 / 2 entries

Raw Message


{
  "resourceType": "Bundle",
  "id": "811f735d-26c4-411c-9602-347c7e37e5bb",
  "meta": {
    "lastUpdated": "2020-09-10T14:32:44.654+00:00"
  },
  "type": "searchset",
  "total": 2,
  "link": [ {
    "relation": "self",
    "url": "http://hapi.fhir.org/baseR4/Observation?_pretty=true&code=4166ca15-bb96-4f7a-b968-7caab70e01b8&patient=sam-share-ssgt-veteran"
  } ],
  "entry": [ {
    "fullUrl": "http://hapi.fhir.org/baseR4/Observation/combat-episode-2",
    "resource": {
      "resourceType": "Observation",
      "id": "combat-episode-2",
      "meta": {
        "versionId": "1",
        "lastUpdated": "2020-09-10T12:36:58.427+00:00",
        "source": "#UbUeKRDrKjlcufio",
        "profile": [ "http://hl7.org/fhir/militaryserviceandstatus/StructureDefinition/combatepisode" ]
      },
      "text": {
        "status": "generated",
        "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"/>"
      },
      "status": "final",
      "category": [ {
        "coding": [ {
          "system": "http://terminology.hl7.org/CodeSystem/observation-category",
          "code": "social-history",
          "display": "Social History"
        } ],
        "text": "Social History: Military Service"
      } ],
      "code": {
        "coding": [ {
          "system": "http://www.logicahealth.org/solutions/solor",
          "_system": {
            "fhir_comments": [ " http://www.logicahealth.org/solutions/solor will be replaced wtih http://loinc.org when the concept will be added to LOINC " ]
          },
          "code": "4166ca15-bb96-4f7a-b968-7caab70e01b8",
          "_code": {
            "fhir_comments": [ " placeholder concept in Solor " ]
          },
          "display": "Combat Episode"
        } ],
        "text": "Vital signs panel"
      },
      "subject": {
        "fhir_comments": [ " Referenced Veteran's Patient resource insstance " ],
        "reference": "Patient/sam-share-ssgt-veteran",
        "display": "veteran"
      },
      "effectivePeriod": {
        "fhir_comments": [ " Period of service " ],
        "start": "2018-07-22",
        "end": "2020-07-22"
      },
      "component": [ {
        "fhir_comments": [ " Location" ],
        "code": {
          "coding": [ {
            "system": "http://loinc.org",
            "code": "86188-0",
            "display": "Combat Location"
          } ]
        },
        "valueCodeableConcept": {
          "coding": [ {
            "system": "http://hl7.org/fhir/ValueSet/iso3166-1-3",
            "code": "IRQ",
            "display": "Iraq"
          } ]
        }
      }, {
        "fhir_comments": [ " Mission Details Code " ],
        "code": {
          "coding": [ {
            "system": "http://www.logicahealth.org/solutions/solor",
            "code": "ff83dbf9-592a-4e60-a979-4e4e10c9ace3",
            "display": "Military Mission Code"
          } ]
        },
        "valueCodeableConcept": {
          "coding": [ {
            "system": "http://www.logicahealth.org/solutions/solor",
            "code": "46a15b13-b5c1-4ae8-acde-48c31f30175a",
            "display": "Enduring Freedom"
          } ]
        }
      } ]
    },
    "search": {
      "mode": "match"
    }
  }, {
    "fullUrl": "http://hapi.fhir.org/baseR4/Observation/combat-episode-1",
    "resource": {
      "resourceType": "Observation",
      "id": "combat-episode-1",
      "meta": {
        "versionId": "1",
        "lastUpdated": "2020-09-10T12:35:24.111+00:00",
        "source": "#gCSeRD2R1Usnwz05",
        "profile": [ "http://hl7.org/fhir/militaryserviceandstatus/StructureDefinition/combatepisode" ]
      },
      "text": {
        "status": "generated",
        "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"/>"
      },
      "status": "final",
      "category": [ {
        "coding": [ {
          "system": "http://terminology.hl7.org/CodeSystem/observation-category",
          "code": "social-history",
          "display": "Social History"
        } ],
        "text": "Social History: Military Service"
      } ],
      "code": {
        "coding": [ {
          "system": "http://www.logicahealth.org/solutions/solor",
          "_system": {
            "fhir_comments": [ " http://www.logicahealth.org/solutions/solor will be replaced wtih http://loinc.org when the concept will be added to LOINC " ]
          },
          "code": "4166ca15-bb96-4f7a-b968-7caab70e01b8",
          "_code": {
            "fhir_comments": [ " placeholder concept in Solor " ]
          },
          "display": "Combat Episode"
        } ],
        "text": "Vital signs panel"
      },
      "subject": {
        "fhir_comments": [ " Referenced Veteran's Patient resource insstance " ],
        "reference": "Patient/sam-share-ssgt-veteran",
        "display": "veteran"
      },
      "effectivePeriod": {
        "fhir_comments": [ " Period of service " ],
        "start": "2016-12-06",
        "end": "2018-07-22"
      },
      "component": [ {
        "fhir_comments": [ " Location" ],
        "code": {
          "coding": [ {
            "system": "http://loinc.org",
            "code": "86188-0",
            "display": "Combat Location"
          } ]
        },
        "valueCodeableConcept": {
          "coding": [ {
            "system": "http://hl7.org/fhir/ValueSet/iso3166-1-3",
            "code": "AFG",
            "display": "Afghanistan"
          } ]
        }
      }, {
        "fhir_comments": [ " Mission Details Code " ],
        "code": {
          "coding": [ {
            "system": "http://www.logicahealth.org/solutions/solor",
            "code": "ff83dbf9-592a-4e60-a979-4e4e10c9ace3",
            "display": "Military Mission Code"
          } ]
        },
        "valueCodeableConcept": {
          "coding": [ {
            "system": "http://www.logicahealth.org/solutions/solor",
            "code": "46a15b13-b5c1-4ae8-acde-48c31f30175a",
            "display": "Enduring Freedom"
          } ]
        }
      } ]
    },
    "search": {
      "mode": "match"
    }
  } ]
}

Security and Privacy Considerations

This implementation depends on an authorization framework - preferably 


  • No labels