|
283 | 283 | {"path": "Immunization.protocolApplied.doseNumber", "method": "keep"}, // caution: non-PHI freeform string |
284 | 284 | {"path": "Immunization.protocolApplied.seriesDoses", "method": "keep"}, // caution: non-PHI freeform string |
285 | 285 |
|
| 286 | + // ** Location: https://www.hl7.org/fhir/R4/location.html ** |
| 287 | + // This is not a patient-linked resource, so we aren't as worried about PHI here. |
| 288 | + {"path": "Location.identifier.where(system='http://hl7.org/fhir/sid/us-npi')", "method": "keep"}, |
| 289 | + {"path": "Location.status", "method": "keep"}, |
| 290 | + {"path": "Location.operationalStatus", "method": "keep"}, |
| 291 | + {"path": "Location.name", "method": "keep"}, |
| 292 | + {"path": "Location.alias", "method": "keep"}, |
| 293 | + // Skip Location.description |
| 294 | + {"path": "Location.mode", "method": "keep"}, |
| 295 | + {"path": "Location.type", "method": "keep"}, |
| 296 | + // Skip Location.telecom and address |
| 297 | + {"path": "Location.physicalType", "method": "keep"}, |
| 298 | + // Skip Location.position |
| 299 | + {"path": "Location.managingOrganization", "method": "keep"}, |
| 300 | + {"path": "Location.partOf", "method": "keep"}, |
| 301 | + {"path": "Location.hoursOfOperation.daysOfWeek", "method": "keep"}, |
| 302 | + {"path": "Location.hoursOfOperation.allDay", "method": "keep"}, |
| 303 | + {"path": "Location.hoursOfOperation.openingTime", "method": "keep"}, |
| 304 | + {"path": "Location.hoursOfOperation.closingTime", "method": "keep"}, |
| 305 | + // Skip Location.availabilityExceptions and endpoint |
| 306 | + |
286 | 307 | // ** Medication: https://www.hl7.org/fhir/R4/medication.html ** |
287 | 308 | // Skip Medication.identifier |
288 | 309 | {"path": "Medication.code", "method": "keep"}, |
|
368 | 389 | {"path": "Observation.component.interpretation", "method": "keep"}, |
369 | 390 | // Skip Observation.component.referenceRange |
370 | 391 |
|
| 392 | + // ** Organization: https://www.hl7.org/fhir/R4/organization.html ** |
| 393 | + // This is not a patient-linked resource, so we aren't as worried about PHI here. |
| 394 | + {"path": "Organization.identifier.where(system='http://hl7.org/fhir/sid/us-npi')", "method": "keep"}, |
| 395 | + {"path": "Organization.active", "method": "keep"}, |
| 396 | + {"path": "Organization.type", "method": "keep"}, |
| 397 | + {"path": "Organization.name", "method": "keep"}, |
| 398 | + {"path": "Organization.alias", "method": "keep"}, |
| 399 | + // Skip Organization.telecom and address |
| 400 | + {"path": "Organization.partOf", "method": "keep"}, |
| 401 | + // Skip Organization.contact and endpoint |
| 402 | + |
371 | 403 | // ** Patient: https://www.hl7.org/fhir/R4/patient.html ** |
372 | 404 | // Skip Patient.identifier |
373 | 405 | {"path": "Patient.active", "method": "keep"}, |
|
396 | 428 | {"path": "Patient.link.other", "method": "keep"}, |
397 | 429 | {"path": "Patient.link.type", "method": "keep"}, |
398 | 430 |
|
| 431 | + // ** Practitioner: https://www.hl7.org/fhir/R4/practitioner.html ** |
| 432 | + // This is not a patient-linked resource, so we aren't as worried about PHI here. |
| 433 | + // But it's also a person, so exhibit some caution. |
| 434 | + {"path": "Practitioner.identifier.where(system='http://hl7.org/fhir/sid/us-npi')", "method": "keep"}, |
| 435 | + {"path": "Practitioner.active", "method": "keep"}, |
| 436 | + // Skip Practitioner.name, telecom, and address |
| 437 | + {"path": "Practitioner.gender", "method": "keep"}, |
| 438 | + {"path": "Practitioner.birthDate", "method": "generalize", |
| 439 | + // keep just the year for privacy (note: 90+ HIPAA grouping is done downstream in SQL |
| 440 | + "cases": {"true": "$this.toString().replaceMatches('^(?<year>\\\\d+).*', '${year}')"}}, |
| 441 | + // Skip Practitioner.photo |
| 442 | + {"path": "Practitioner.qualification.identifier", "method": "keep"}, |
| 443 | + {"path": "Practitioner.qualification.code", "method": "keep"}, |
| 444 | + {"path": "Practitioner.qualification.period", "method": "keep"}, |
| 445 | + {"path": "Practitioner.qualification.issuer", "method": "keep"}, |
| 446 | + {"path": "Practitioner.communication", "method": "keep"}, |
| 447 | + |
| 448 | + // ** PractitionerRole: https://www.hl7.org/fhir/R4/practitionerrole.html ** |
| 449 | + // This is not a patient-linked resource, so we aren't as worried about PHI here. |
| 450 | + // But it's also closely associated with a person, so exhibit some caution. |
| 451 | + {"path": "PractitionerRole.identifier.where(system='http://hl7.org/fhir/sid/us-npi')", "method": "keep"}, |
| 452 | + {"path": "PractitionerRole.active", "method": "keep"}, |
| 453 | + {"path": "PractitionerRole.period", "method": "keep"}, |
| 454 | + {"path": "PractitionerRole.practitioner", "method": "keep"}, |
| 455 | + {"path": "PractitionerRole.organization", "method": "keep"}, |
| 456 | + {"path": "PractitionerRole.code", "method": "keep"}, |
| 457 | + {"path": "PractitionerRole.specialty", "method": "keep"}, |
| 458 | + {"path": "PractitionerRole.location", "method": "keep"}, |
| 459 | + {"path": "PractitionerRole.healthcareService", "method": "keep"}, |
| 460 | + // Skip PractitionerRole.telecom |
| 461 | + {"path": "PractitionerRole.availableTime.daysOfWeek", "method": "keep"}, |
| 462 | + {"path": "PractitionerRole.availableTime.allDay", "method": "keep"}, |
| 463 | + {"path": "PractitionerRole.availableTime.availableStartTime", "method": "keep"}, |
| 464 | + {"path": "PractitionerRole.availableTime.availableEndTime", "method": "keep"}, |
| 465 | + // Skip PractitionerRole.notAvailable.description |
| 466 | + {"path": "PractitionerRole.notAvailable.during", "method": "keep"}, |
| 467 | + // Skip PractitionerRole.availabilityExceptions and endpoint |
| 468 | + |
399 | 469 | // ** Procedure: https://www.hl7.org/fhir/R4/procedure.html ** |
400 | 470 | // Skip Procedure.identifier |
401 | 471 | {"path": "Procedure.instantiatesCanonical", "method": "keep"}, |
|
0 commit comments