synthetichealth / synthea

Synthetic Patient Population Simulator
https://synthetichealth.github.io/synthea
Apache License 2.0
2.18k stars 653 forks source link

Windows Path Error when Filtering Modules #772

Open Pawel-Malinowski opened 4 years ago

Pawel-Malinowski commented 4 years ago

Hello, I'm having a hard time generating patients population using Hypertension module. I have run it many times with different size of population up to 100k but still i can't find any patient with blood pressure observations which should be present based on this module. Just in case I'm running ex."run_synthea -m hypertension -p 1000".

Can someone please point what am I doing wrong?

shabiel commented 4 years ago

Pavel,

You need to run the wellness module as well, as well as another module whose name I don't remember. It has been a while since we at OSEHRA developed the hypertension module, and I don't remember anymore. You can grep hypertension to see which modules have it.

--Sam

On Tue, Aug 25, 2020 at 7:59 AM Pawel-Malinowski notifications@github.com wrote:

Hello, I'm having a hard time generating patients population using Hypertension module. I have run it many times with different size of population up to 100k but still i can't find any patient with blood pressure observations which should be present based on this module. Just in case I'm running ex."run_synthea -m hypertension -p 1000".

Can someone please point what am I doing wrong?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

jawalonoski commented 4 years ago

A lot of the modules have interdependencies. Using the -m switch does not automatically resolve and import those dependencies (pull request welcome).

If you run ./gradlew attributes you can get a list of attributes that create those dependencies. It will be generated in output/attributes.json.

If we search for the attributes JSON file for "hypertension" we find:

 "hypertension": {
    "read": {
      "Hypertension": [
        "Included"
      ],
      "Metabolic Syndrome Disease Progression": [
        "Chance_to_Onset_Hypertension_at_Diabetes_Onset"
      ],
      "determine_risk": [
        "Determine Risk"
      ],
      "medications": [
        "Losartan Trial"
      ]
    },
    "write": {
      "Metabolic Syndrome Disease Progression": [
        "No_Hypertension",
        "No_Hypertension_With_Diabetes",
        "Onset_Hypertension",
        "Onset_Hypertension_with_Diabetes"
      ]
    },
    "example_values": [
      "false",
      "true"
    ]
  }

When you see the name "Metabolic" under the "write" attribute, that means you also have to run the metabolic syndrome modules.

So, your -m command needs to include those:

-m hypertension:metabolic* (where : is the path separator on your platform)

Pawel-Malinowski commented 4 years ago

Thank you for the quick response.

@jawalonoski Based on your suggestion I tried running "run_synthea -m hypertension;metabolic* -p 1000 " (running on windows) but unfortunately still cannot see any patients with blood pressure observations.

shabiel commented 4 years ago

It's a colon, not a semicolon.

On Tue, Aug 25, 2020 at 10:07 AM Pawel-Malinowski notifications@github.com wrote:

Thank you for the quick response.

@jawalonoski Based on your suggestion I tried running "run_synthea -m hypertension;metabolic* -p 1000 " (running on windows) but unfortunately still cannot see any patients with blood pressure observations.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

Pawel-Malinowski commented 4 years ago

@shabiel it should be semicolon on windows and colon on linux

shabiel commented 4 years ago

Okay then. I think you are missing the wellness module. Add wellness to your string.

On Tue, Aug 25, 2020 at 10:15 AM Pawel-Malinowski notifications@github.com wrote:

@shabiel it should be semicolon on windows and colon on linux

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

Pawel-Malinowski commented 4 years ago

Tried "run_synthea -m hypertension;metabolic;wellness* -p 1000" but still same result- no patients with blood pressure observations.

shabiel commented 4 years ago

star wellness star. Need the asterisks.

On Tue, Aug 25, 2020 at 10:20 AM Pawel-Malinowski notifications@github.com wrote:

Tried "run_synthea -m hypertension;metabolic*;wellness -p 1000" but still same result- no patients with blood pressure observations.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

Pawel-Malinowski commented 4 years ago

I did it with stars as you suggested. "run_synthea -m hypertension;metabolic{star};{star}wellness{star} -p 1000". (don't know why but the stars are removed from the comment) No patients with blood pressure observations.

jawalonoski commented 4 years ago

I run the command:

./run_synthea --exporter.csv.export=true -m hypertension:metabolic* -p 1000

CSV

You can ignore the exporter.csv.export=true unless you want that format. If I open output/csv/observations.csv and filter by descriptions, I find:

DATE,PATIENT,ENCOUNTER,CODE,DESCRIPTION,VALUE,UNITS,TYPE
2016-02-25T13:39:12Z,4cb131dd-56ee-b9bf-efc2-b11dba3af481,82c40514-ae83-790e-c611-655578c079ad,8480-6,Systolic Blood Pressure,145.0,mm[Hg],numeric
2016-04-25T13:39:12Z,4cb131dd-56ee-b9bf-efc2-b11dba3af481,70f31c3e-5d51-389e-9e95-9284debc212d,8462-4,Diastolic Blood Pressure,104.0,mm[Hg],numeric
2016-04-25T13:39:12Z,4cb131dd-56ee-b9bf-efc2-b11dba3af481,70f31c3e-5d51-389e-9e95-9284debc212d,8480-6,Systolic Blood Pressure,159.0,mm[Hg],numeric
2020-05-02T01:30:59Z,131951b6-a0eb-2364-f774-e8b6789ccbbf,780e8381-d267-7f30-947a-63b954e260f1,8462-4,Diastolic Blood Pressure,108.0,mm[Hg],numeric
2020-05-02T01:30:59Z,131951b6-a0eb-2364-f774-e8b6789ccbbf,780e8381-d267-7f30-947a-63b954e260f1,8480-6,Systolic Blood Pressure,145.0,mm[Hg],numeric
2020-07-01T01:30:59Z,131951b6-a0eb-2364-f774-e8b6789ccbbf,5dd67fa8-3c53-2f77-4324-e50ecd9d0d96,8462-4,Diastolic Blood Pressure,89.0,mm[Hg],numeric
2020-07-01T01:30:59Z,131951b6-a0eb-2364-f774-e8b6789ccbbf,5dd67fa8-3c53-2f77-4324-e50ecd9d0d96,8480-6,Systolic Blood Pressure,116.0,mm[Hg],numeric

FHIR

Similarly, if I look in output/fhir for "Blood Pressure" I find this (there are MANY):

    {
      "fullUrl": "urn:uuid:dd23c9d7-d70d-4a45-6cb2-f3fdec86ebf0",
      "resource": {
        "resourceType": "Observation",
        "id": "dd23c9d7-d70d-4a45-6cb2-f3fdec86ebf0",
        "status": "final",
        "category": [
          {
            "coding": [
              {
                "system": "http://terminology.hl7.org/CodeSystem/observation-category",
                "code": "vital-signs",
                "display": "vital-signs"
              }
            ]
          }
        ],
        "code": {
          "coding": [
            {
              "system": "http://loinc.org",
              "code": "85354-9",
              "display": "Blood Pressure"
            }
          ],
          "text": "Blood Pressure"
        },
        "subject": {
          "reference": "urn:uuid:0e9eeac5-97cd-5364-985a-47afa355771f"
        },
        "encounter": {
          "reference": "urn:uuid:5379155b-3b3b-f1b0-ef7c-41bc2be0cdac"
        },
        "effectiveDateTime": "2014-03-17T10:45:19-04:00",
        "issued": "2014-03-17T10:45:19.358-04:00",
        "component": [
          {
            "code": {
              "coding": [
                {
                  "system": "http://loinc.org",
                  "code": "8462-4",
                  "display": "Diastolic Blood Pressure"
                }
              ],
              "text": "Diastolic Blood Pressure"
            },
            "valueQuantity": {
              "value": 98,
              "unit": "mm[Hg]",
              "system": "http://unitsofmeasure.org",
              "code": "mm[Hg]"
            }
          },
          {
            "code": {
              "coding": [
                {
                  "system": "http://loinc.org",
                  "code": "8480-6",
                  "display": "Systolic Blood Pressure"
                }
              ],
              "text": "Systolic Blood Pressure"
            },
            "valueQuantity": {
              "value": 152,
              "unit": "mm[Hg]",
              "system": "http://unitsofmeasure.org",
              "code": "mm[Hg]"
            }
          }
        ]
      },
      "request": {
        "method": "POST",
        "url": "Observation"
      }
    },
Pawel-Malinowski commented 4 years ago

I did tried that without any success. Also I noticed that when I run it I only see hypertension module loaded, there aren't any metabolic modules loading. Shouldn't those be on the list? Anything else I can do to troubleshoot why it's not working? Additional logs? I'm running it on windows, latest from master branch. See the screenshot for reference: image

Pawel-Malinowski commented 4 years ago

I tried jar version and it behaves corectly. Loaded 3 modules and generated the data I was looking for. See screenshot for reference: image